Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  

Nouvelles:

Le Forum est maintenant chiffré (préambule https). Bien sûr, des liens externes insérés dans les sujets vont demeurer inchangés. Mais la composition des pages du Forum est désormais sécurisée. Si des problèmes d'affichage surviennent, veillez à vider votre cache pour ce site.

Auteur Sujet: 7 segments cathode commune sur 4 pins  (Lu 3692 fois)

Tarharnak

  • Jr. Member
  • **
  • Messages: 61
    • Voir le profil
    • Restaurant Jeux de Pots
7 segments cathode commune sur 4 pins
« le: Avril 20, 2020, 06:08:45 pm »

Bonjour,

Je réalise un projet ou je vais avoir besoin de 3x7segments pilotés en multiplex par 74HC390 et CD4511BE.

J'ai en stock des SC08-11 qui feront parfaitement l'affaire





Seulement je constate que la cathode commune sort sur 4 pin.

Ma question : Dois-je les relier entre eux ou en prendre un au hasard ?
IP archivée

Yffig

  • Invité
Re : 7 segments cathode commune sur 4 pins
« Réponse #1 le: Avril 20, 2020, 07:18:21 pm »

Bonsoir Tarharnak,

Il te suffit de voir avec un Ω-mètre si les pins 3-5-11-16 sont reliées entre elles ou isolées les unes des autres... Tu auras alors la réponse à  ta question.
Bonne soirée

Yffig
IP archivée

Tarharnak

  • Jr. Member
  • **
  • Messages: 61
    • Voir le profil
    • Restaurant Jeux de Pots
Re : 7 segments cathode commune sur 4 pins
« Réponse #2 le: Avril 20, 2020, 09:16:47 pm »

Oui en effet reliées (0.6 Ω).

Merci de l'information, c'est vrais qu'avec réflexion la méthode de l'Ωhme-mètre semble évidente, cela dit, bien loin d’être acquise pour ma pars, en voici la preuve...

Sinon à  titre de curiosité, quelle est la raison de proposer plusieurs pins non isolés ?
IP archivée

Yffig

  • Invité
Re : 7 segments cathode commune sur 4 pins
« Réponse #3 le: Avril 21, 2020, 07:39:16 am »

Bonjour Tarharnak,

Oui, j'ai failli te répondre que c'était évident qu'elles étaient reliées entre elles, sinon il y en aurait eu 8 (comme les 8 LEDs de l'afficheur) mais comme c'est un afficheur à  cathodes communes => une seule sortie aurait bien sûr suffi.
Et je me suis alors posé la même question que toi: "pourquoi 4 ?" et j'ai pensé que ce fait pouvait provoquer une certaine confusion, d'où ta question d'hier, j'ai pensé te donner la réponse directement hier soir, et je me suis dit..."voyons s'il va se demander pourquoi 4 alors?"...
Tu pourras remarquer que ces 4 sorties sont chacune dans un "quadrant" de l'afficheur, cela va tout simplement te permettre sur ton PCB de choisir la pin "cathode commune" qui convient le mieux au tracé de tes pistes. Et alors "pourquoi ne pas avoir utilisé aussi les pins 7-8-15 comme cathode ? Là , je pense que c'est une question de connexions internes des 8 segments vers les pins de sortie qui ne peuvent se croiser (car un seul plan de connexion en interne).

PS: à  ma connaissance le mot "pin" lorsqu'il est utilisé en français, est féminin (comme la pinoche).

Bonne journée

Yffig
IP archivée

Tarharnak

  • Jr. Member
  • **
  • Messages: 61
    • Voir le profil
    • Restaurant Jeux de Pots
Re : 7 segments cathode commune sur 4 pins
« Réponse #4 le: Avril 23, 2020, 01:11:31 pm »

Très bien effectivement je ne savais pas si pin étais au masculin ou féminin c'est bon à  savoir, merci aussi pour les informations pour les cathodes.

En revanche j'ai une autre question. Mon projet en parler un petit peu, plus consiste à  créer un système d’affichage d'informations que je placerai sur le volant de mon karting, qui va me donner grâce à  divers capteurs la vitesse, la température moteur, le rapport de vitesse engagé et plein d'autres informations.

Les afficheur 7 segments  au nombre de 3 serviront afficher la vitesse en km/h.

L'utilisation de ce dispositif se faisant en plein jour, j'ai besoin d'avoir une luminosité importante pour garantir une visibilité claire.

Les afficheur 7 segments sont multiplexés, je constate que j'ai une perte en luminosité relativement importante (visuellement 30 à  40 % d’après moi) par rapport à  un caractère qui serait afficher seul (sans multiplexage).

D'après moi, cela vient de la latence entre les périodes d'affichage. Après plusieurs essais, je constate que 5 ms entre chaque afficheurs est le mieux. A partir de 6 ms je commence à  voir un scintillement et en dessous de 4 ms je perd en luminosité.

Comment remédier à  cela ? Dois-je faire passer plus de courant dans les segment ? A oscilloscope je mesure de 2,4 à  2,8 V sur les différents segments (soit, si je ne me trompe, 12 à  14 mA). Sur la datasheet c'est 20 mA d'après ce que je comprend.





Mes fonction au cas où cela serait nécéssaire :

void segment(int seg) // envoyer un état bas pour mettre la pin du digit concerné en "mode cathode"
{
        digitalWrite(D1, 1);
        digitalWrite(D2, 1);
        digitalWrite(D3, 1);
       
        switch(seg)
        {
                case 1: digitalWrite(D1, 0); break;
                case 2: digitalWrite(D2, 0); break;
                case 3: digitalWrite(D3, 0); break;
        }
}

//*****************************************************
   
void chiffre(char num)  // envoi au 74HC390 du chiffre à  envoyer au CD4511BE
{
        digitalWrite(D_reset, HIGH);   // reset
        digitalWrite(D_reset, LOW);

               
        for(int i = 0 ; i < num; i++)
        {
                digitalWrite(D_impulsion, HIGH);  // puis impulsion correspondant au chiffre
                digitalWrite(D_impulsion, LOW); 
        }
}

//*****************************************************
void affichage(int data)
{
     
        unsigned char Ce = int ((data/100)%10); //définition du chiffre des centaines
        unsigned char Di = int ((data/10)%10); //définition du chiffre des dizaines
        unsigned char Un = int (data%10); //définition du chiffre des unités
   
         
        if (Ce != 0)
        {
                chiffre(Ce, Un);
                segment(1);
                delay(5);
        }
   
        if (data >=10)
        {
                chiffre(Di, Ce);
                segment(2);
                delay(5);
        }
   
        chiffre(Un, Di);
        segment(3);
        delay(5);
}
IP archivée

Yffig

  • Invité
Re : 7 segments cathode commune sur 4 pins
« Réponse #5 le: Avril 23, 2020, 01:36:49 pm »

Bonjour Tarharnak,

Selon la DS des afficheurs tu peux monter le courant par Led jusqu'à  25mA max... essaie 20 mA pour voir.

Sinon, il te faudrait, par exemple, et ce n'est sans doute pas la seule possibilité, supprimer le multiplexage des afficheurs... ce qui veut dire modifier sensiblement ton circuit d'affichage:
- enregistrer successivement dans des latches 4 bits chaque valeur BCD, par ex dans des 74HC74
- alimenter ensuite les afficheurs en même temps pendant la même durée (= 3x celle que tu as en multiplexage) ce qui t'oblige à  avoir 3x décodeurs 4511...
Bon AM
Yffig
IP archivée

Tarharnak

  • Jr. Member
  • **
  • Messages: 61
    • Voir le profil
    • Restaurant Jeux de Pots
Re : 7 segments cathode commune sur 4 pins
« Réponse #6 le: Avril 27, 2020, 08:39:08 am »

Bonjour,

J'ai fait plusieurs essais avec davantage de courant des les led, mais ce n'est pas sensiblement mieux lorsque je suis en plein jour.
Je vais donc comme tu le suggère, supprimer le multiplexage.

Pour le moment je ne maîtrise pas beaucoup certains composant et j'ai en stock les composants que j'ai présenté précédemment.

Pour ce faire je vais m'inspirer de ce que tu m'as dit avec plusieurs des CD4511BE.

Même si c'est un karting à  vitesses (6 rapports) il est peu probable que je dépasse les 200 km/h. Par conséquent l'afficheur du chiffre des centaines sera branché sur les segments B et C, pilotés par un état bas en entrée du microcontrôleur. Pour les deux autres afficheurs je vais mettre un 74HC390 (étant donné que j'ai de quoi programmer deux caractères avec un) puis un CD4511BE pour chaque chiffre.

Merci Yffig
IP archivée

Yffig

  • Invité
Re : 7 segments cathode commune sur 4 pins
« Réponse #7 le: Avril 27, 2020, 07:49:26 pm »

Bonsoir Tarharnak

Dans une solution sans multiplexage, je pense qu'il te faudra mémoriser chaque 1/2 octet BCD entre deux mesures (unités et dizaines puisque tu vas utiliser un seul bit pour les centaines). Une solution classique consisterait à  utiliser 2 blocs de 4 bascules D (chaque bloc disposant d'une horloge commune aux 4 bascules D).
Je n'ai pas regardé ton code (c'est pas my cup of tea...) mais je ne comprends pas pourquoi tu as besoin de faire compter une décade deux fois (unités puis dizaines) alors que ton 390 comporte 2 décades ? Il suffirait, si j'ai correctement compris le principe de ta sortie d'affichage série via un seul bit, d'envoyer à  ta double décade le nombre de pulses adéquat, et à  la fin du comptage,  tu validerais la mémorisation des 2 digits qui resteraient ainsi stables jusqu'à  la mesure suivante, non ? Si c'est ce principe que tu utilises, un simple registre à  décalage 8 bits (Serial In, Parallel Outs) pourrait suffire, ce serait plus rapide (8 pulses de clock plutôt que jusqu'à  9+9 (voire 99) et tu pourrais assez facilement te passer de mémorisation par des latches (c'est le registre à  décalage qui le ferait). J'ai bien retenu que tu as fait avec ce que tu avais sous la main, mais c'est parfois loin d'être optimal...
Un petit chronogramme, même dessiné à  la main en mode brouillon, pourrait nous éclairer sur le principe que tu utilises parce que j'ai le sentiment que ton manque de luminosité provient du principe que tu utilises plutôt que du multiplexage lui même, je peux me tromper bien sûr).

Bonne soirée

Yffig
« Modifié: Avril 27, 2020, 07:51:46 pm par Yffig »
IP archivée

Tarharnak

  • Jr. Member
  • **
  • Messages: 61
    • Voir le profil
    • Restaurant Jeux de Pots
Re : Re : 7 segments cathode commune sur 4 pins
« Réponse #8 le: Mai 04, 2020, 02:58:50 pm »

...alors que ton 390 comporte 2 décades ? Il suffirait, si j'ai correctement compris le principe de ta sortie d'affichage série via un seul bit, d'envoyer à  ta double décade le nombre de pulses adéquat, et à  la fin du comptage,  tu validerais la mémorisation des 2 digits qui resteraient ainsi stables jusqu'à  la mesure suivante, non ?

En effet c'est ainsi que je vais procéder. Voici le schéma :



En revanche je ne comprends pas tout à  fait quand tu dis :

un simple registre à  décalage 8 bits (Serial In, Parallel Outs) pourrait suffire, ce serait plus rapide (8 pulses de clock plutôt que jusqu'à  9+9 (voire 99)
 

J'ai déjà  utilisé des registres à  décalage, par ailleurs, il y en a un qui fait partie du projet : il affiche sur une série de LED les tours moteur.

Mais je pêche avec la compréhension du nombre de pulses CLK comme tu me le décrit
IP archivée

Yffig

  • Invité
Re : 7 segments cathode commune sur 4 pins
« Réponse #9 le: Mai 04, 2020, 03:28:16 pm »

Bonjour Tarharnak,

C'est très bien comme tu l'as fait dans cette nouvelle version, juste que pendant le comptage des 2 décades, tu affiches furtivement le contenu de chaque compteur mais ça peut très bien te convenir.
Quand je dis :
9+9 pulses: c'est parce que, au max, tu vas faire compter chaque décade successivement jusqu'à  9 via tes 2x2 fils (ClkA et Rst). C'est ainsi que tu l'as fait (ton µC est forcément séquentiel, c'est pas un FPGA...)
99 pulses : c'est si, tu n'avais pas pu utiliser 4 fils mais seulement 2 : alors les décades auraient été en série et auraient dû, au max compter jusqu'à  99 sur les 2 digits => tu aurais dû envoyer juqu'à  99 pulses ClkA.

Sinon, est ce que maintenant sans multiplexage, c'est assez lumineux ?

Nota: il existe des circuits et des plaquettes pour moins de 2 € pour réaliser rapidos ce que tu as fait, par ex:
- soit à  base de MAX 7219, 8 afficheurs 7 segments
- soit à  base de TM1638 , 8 afficheurs aussi, 8 LEDS et une matrice de 8 boutons poussoirs
Tu trouveras tout ça facilement sur AliExpress et les datasheets sur le Net.

Have fun !

Yffig

« Modifié: Mai 04, 2020, 06:51:39 pm par Yffig »
IP archivée

Tarharnak

  • Jr. Member
  • **
  • Messages: 61
    • Voir le profil
    • Restaurant Jeux de Pots
Re : 7 segments cathode commune sur 4 pins
« Réponse #10 le: Mai 04, 2020, 05:40:00 pm »

Merci Yffig, je comprends mieux ce que tu voulais dire.

Concernant la luminosité, c'est effectivement mieux, il y a une différence cependant quand le soleil bat son plein, ce n'est pas encore suffisant. Mais je ne met pas ça sur le compte des LEDs des afficheurs. En effet ces derniers ont une surface gris clair mat (cf photo). Pour augmenter le contraste j’hésite entre deux solutions : Colorer le fond en foncé en détourant les segments mais il faut minutieux pour un résultat net ou alors appliquer un filtre vert (je rappel que mes afficheurs sont vert) avec un plastique transparent.


 
Citer
Nota: il existe des circuits et des plaquettes...

C'est vrai mais cela ne remplace pas (même si on les prend plus de temps) le plaisir de la faire soit même. :) A titre d'exemple : j'ai sur ce projet une horloge en temps réel et bien plutôt que de mettre une plaquette tout simplement, j'ai prévu un DS1302 avec son quarzt 32.768 et la pile 2032 néanmoins pour ce cas précis j'ai aussi prévu sur les piste du PCB un emplacement où en cas de problème, je pourrais y insérer un module RTC tout près.

IP archivée