IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

MAX6958 8 LEDs + 4 digits


Sujet :

Embarqué

  1. #21
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour Pierre

    Tu n'es pas flou dans tes explications.

    Pour le commentaire de la dernière ligne, c'est la valeur 0x01 qu'il faudrait écrire (en respectant le fait qu'un bit sans importance est écrit à 0), même si 0x03 va aussi. l'important c'est de mettre le bit D0 à 1 pour sortir du mode stand-by (toutes les LED y compris celles des digits éteintes) du MAX et d'avoir le D5 à 0. Ce registre a encore le bit D1 en lecture uniquement qui renseigne si c'est un MAX6958 ou un MAX6959 (donc en écriture c'est un X), et le bit D5 qui écrit à 1 remets l'état des Digits et des Led à l'état par défaut.

    Honnêtement là maintenant je ne sais pas pourquoi cela ne marche toujours pas.
    Soit c'est une erreur de code que je n'arrive pas à voir, soit c'est un problème matériel. Pour définir le quel c'est, il faut retirer les LED et faire tourner le code qui les contrôles. Si dans ce cas les digits s'affichent correctement alors c'est un problème matériel, sinon c'est un problème de code.

    Pour le problème matériel, le datasheet n'indique aucune tension de LED minimal, sauf que si il en a une, les LED classiques (1.6V) sont plus basse que celle des digits 7 segments (2.0 et plus). C'est solvable au moyen de résistances.
    Pour un problème de code, c'est que en écrivant dans le registre 0x24, il y a modification d'un autre, pourquoi? Il faudra attendre les collègues plus calés sur l'I2C des MCP que moi...

    Delias

  2. #22
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    Merci à toi pour ton retour. Alors dorénavant je pense avoir soulevé mon problème final, je m'explique :
    Avec 0x01 à la derniere ligne, les digits fonctionnent correctement, mais pas les LEDs. Notons que les digits fonctionnent uniquement si je met une valeur d'initialisation pour les LEDs à 0 ! si je met une autre valeur, alors plus rien ne fonctionne (digit et leds). DOnc au final aucune led ne s'allume..
    Apres avoir vérifié tout mes branchements de tout mon montage, je ne vois qu'un problème de matériel (MAX 6958 et pas 6959) ou une erreur dans ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void leds8(int8_t j)
    {
        UCB1CTL1 |= UCTR + UCTXSTT;             // I2C TX, start condition
        __delay_cycles(100);
        UCB1TXBUF = 0x24;                       //address of 8 leds
        __delay_cycles(100);
        UCB1TXBUF = j;
        __delay_cycles(100);
        UCB1CTL1 |= UCTXSTP;
        __delay_cycles(100);                    // I2C stop condition
        while (UCB1CTL1 & UCTXSTP);             // Ensure stop condition got sent
    }
    Cela est censé allumé les LEDs.. cependant aucune ne s'allume..

    Je continue de chercher..

    Au passage, une petite photo du montage... bien sympathique (initialisation de l'ecran vert à 3 et à 2 pour le rouge. LEDs à 0
    Nom : IMG_3702.JPG
Affichages : 499
Taille : 399,1 Ko

  3. #23
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 187
    Points : 11 568
    Points
    11 568
    Par défaut
    Salut,
    Envoi un vrai schéma, complet avec tout dessus.
    Je voudrais regarder le câblage de tes LED (exemple SEG3 et SEG7) car je ne comprends pas celui que tu as envoyé peu avant.

    A défaut un truc comme ça (uniquement avec les LED en violet)
    Nom : Capture47.PNG
Affichages : 717
Taille : 55,9 Ko
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  4. #24
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour

    Encore une fois: Fait un programme qui foire par exemple avec leds8(0x55);. Si j'ai bien compris autant les Led que les Chiffres s'éteignent.
    Retire le Bargraphe et relance le programme, est-ce que les chiffres restent éteints? Si oui, je sèche, si non j'ai quelques idées encore en stock.

    [Edit] pas vu le message de Vincent avant de poster, suivre ses idées également.

    Delias

  5. #25
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    Merci à vous pour votre réactivité

    J'ai essayé de retirer le bar graphe, cela reste éteint, même si les digits s'allume une micro seconde puis s'éteignent (je n'ai même pas le temps de voir ce qu'ils affichent juste une lumière)

    J'essaie de vous faire un schéma propre

    Bien à vous

  6. #26
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bon soit le code pour l'envoi des commandes I2C n'est pas bon, mais bizarre que cela fonctionnent pour les autres adresses que celle des LED (0x24)

    Soit au vu du plat de nouille, la sortie SEG9/IRQ est en court-circuit sur la masse (ou un DIGx/SEGx).

    Refait ton câblage, en minimisant le nombre de fils utilisés, tu as beaucoup trop de lignes des plaques d'essais qui ne servent qu'a connecter des fils entre eux.

    Delias

  7. #27
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    Schéma :
    Nom : 7-segment-led-display.png
Affichages : 527
Taille : 9,7 Ko

  8. #28
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Refait ton câblage

    Sur la photo la sortie SEG9 qui ne devrait être connectée que au baragraphe l'est également aux digits (fil noir-gris ou noir-rose puis pont bleu sur les digits de couleur rouge et fil orange puis grand pont jaune sur les digits verts. A chaque fois c'est patte en bas à droite de chaque digit qui est raccordée).
    Tu as au moins une erreur de câblage sur SEG9, inutile d'aller plus loin.

    Delias

  9. #29
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    Effectivement !! bien vu, mercii, je corrige cela de suite...
    tu as l'oeil..

  10. #30
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 187
    Points : 11 568
    Points
    11 568
    Par défaut
    Relis également toutes les cathodes des LED au GND global car moi lorsque je lis ça, j'ai un gros doute sur l'allumage possible des LED telles qu'elles sont câblées ici.

    Nom : Capture48.PNG
Affichages : 409
Taille : 17,0 Ko
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  11. #31
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    J'ai l'oeil, mais pas tant que cela, les pattes en question c'est le point décimal, donc relié à SEG9 c'est juste. Sauf que c'est soit le point décimal, soit les Led extérieurs, pas les deux.

    Vincent, je ne suis pas d'accord avec toi, Oui les pattes sont en l'air quand elles ne sont pas utilisées, sinon elles sont en sortie de courant quand elles agissent en tant que anode allumée (fonction SEG) et tire le courant à la masse quand elle agissent en tant que cathode commune (fonction DIGx). Les leds sont alimentées entre une patte en SEGx (source courant régulée) et une en DIGx (sink courant)

    Le circuit gère les Leds comme les segments 8 et 9 des digits. Le nom du MAX: 4-Digit, 9-Segment LED Driver...

    Delias

  12. #32
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    Je tiens à tous vous remercier !!! grâce à vous désormais cela fonctionne

    Merci vraiment..

    Je vais publier un schéma propre et final pour les branchements au cas oú cela intéresse quelqu'un

    Bien á vous, et encore merci pour votre aide précieuse... mon erreure était en faite une erreure de branchement, sans oublier la difficulté que j'avais à comprendre comment configurer les LEDs et les digits en même temps

  13. #33
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    Effectivement les points déciamaux étaient branchés et il ne fallait pas... sans oublier les divers branchements que j'avais sur SEG9..

  14. #34
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    J'ai parlé trop vite... ça ne fonctionne que quand ça a le temps...

    Des que je demande à allumer toutes les leds en même temps tout mon montage se coupe.. et dans pleins de cas c'est comme ça..

    Je ne comprends pas ce qui cloche

  15. #35
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour Pierre

    Apparemment le MAX a une protection de surcharge. (Au vu de sa réaction quand la broche SEG9 était connectée à autre chose que ce qu'il fallait).
    Et d'après le calcul indiqué dans le datasheet, il peut y avoir 3V d'écart au maximum entre la tension d'alimentation et la tension des Led. Hors avec les vertes, et le baragraphe je ne suis pas certain que la tension de Led soit égale à 2V. Connais-tu la tension (Vf) des LED que tu utilises (toutes les led, y compris celles des digits) :
    1: Essaye déjà de diviser par 2 l'intensité lumineuse: 0x1f au lieu de 0x3f, puis passer à 3/4: 0x2f.
    2: Diminue la tension d'alimentation du MAX, si tu en as la possibilité. Mais c'est une mauvaise idée de l'alimenter sur le 3.3V du board du MCP, le régulateur ne tiendra probablement pas le courant (9x23mA + 7mA).

    Et il manque aussi le condensateur céramique de 100nano sur les bornes d'alimentation du MAX, additionné d'un 10uF électrolytique car sur plaque d'essais on est loin de l'alimentation. Pour une fois cela est même demandé dans le datasheet, et ce circuit en a plus besoin qu'un simple circuit logique au vu des courants commutés (23mA nominal par Led)

    Delias

  16. #36
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    Bonjour à tous,
    et merci Delias,

    J'ai essayé de baisser l'intensité lumineuse comme tu me l'a proposé.
    Lorsque je la baisse plus rien ne fonctionne même lorsque les LEDs sont éteintes et que seule les digits sont allumés.
    J'ai également essayé de brancher le max sur la prise 3V3 du MSP430F5529, mais la tension d'allimentation semble trop faible et le MAX ne fonctionne pas..

    J'ai jeté un coup d'oeil aux datasheet des composants que j'utilise :

    - Pour le bargraph (8 LEDs branchées sur les 10 disponible) ; Vf=2.2V et If=20mA
    - Pour les digits : Vfmax=2.4V (Vftypical=1.9V) et If=30mA (sachant que j'en ai 2)

    J'ai également un KeyPad de branché sur le MSP :
    Power supply minimum : 10mA et 500mV

    Serait-il intéressant de brancher des résistances avant les LEDs par exemple ?

    Bien à vous, Pierre

  17. #37
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    Je n'avais pas vu la partie de ton message préconisant l'utilisation des condensateurs. Je vais essayé d'en trouver et de les ajouter, je vous tiens au courant des résultats obtenus..

    Bien à vous, Pierre

  18. #38
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 52
    Points : 4
    Points
    4
    Par défaut
    Delias, merci et surtout félicitations...
    Le condensateur est ce qu'il manquait !!!
    Cela semble bien fonctionner, et pour l'instant j'ai seulement branché un condensateur 10uF électrolytique, dois je tout de même ajouter l'autre ?
    Si tout fonctionne correctement je vous fais un schéma du montage propre !

    Bien á toi

  19. #39
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour Pierre

    Bon alors ce n'était pas la limitation de puissance. C'est la 1er fois que je vois un circuit qui déconne vraiment à cause de l'absence des condensateurs. En général c'est plus insidieux, avec un dysfonctionnement partiel, de temps à autre.

    Oui tu mets les deux! Le céramique doit être aux bornes du MAX. Sur plaque d'essais, il sera directement au dessus du CI, chaque patte plantée dans le trou voisin de la patte d'alimentation correspondante du CI. Quand à l’électrolytique, il est plutôt sur l'arrivée de l'alimentation sur la plaque. Pareil sur un PCB.

    Delias

Discussions similaires

  1. [Débutant creation de composant] Créer une LED numérique
    Par C_Marteau dans le forum C++Builder
    Réponses: 8
    Dernier message: 14/06/2005, 21h23
  2. [RegExp] digit ET lettre
    Par denisC dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/05/2005, 09h29
  3. Réponses: 4
    Dernier message: 06/05/2005, 13h37
  4. [TP]Créer une animation leds clavier
    Par Thomas748 dans le forum Turbo Pascal
    Réponses: 16
    Dernier message: 27/11/2004, 20h18
  5. comment faire un compteru digital?
    Par Zorgz dans le forum MFC
    Réponses: 5
    Dernier message: 13/01/2004, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo