Electromag1 Circuits électroniques et Picaxes

Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier.
Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer.
Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens).
Les pages  seront ajoutées ou modifiées petit à petit.
Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater.
Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr .  Tout message reçoit une réponse
Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche
Pour laisser un message, allez dans le "LIVRE D'OR"
Bonne visite
 
 

Différentes façons de commander

des afficheurs sept segments


Pour faire un affichage sur plusieurs afficheurs leds, il existe différentes méthodes avec des avantages et des inconvénients.
Il ne sera question que des méthodes utilisant un µC, picaxe, ou autre.
Page concernant les drivers MAX7919
Page concernant les drivers TM1637

Il y a les deux familles: anodes communes ou cathodes communes certains drivers imposent l'une au l'autre.
Les 7 segments sont désignés unanimenent pas des lettres de a à g :


 
 
 
1- Méthode utilisant uniquement un µC:
 
Dans cette méthode, le µC fait tout le travail, commutation des segments et multiplexage des afficheurs.

Les 8 segments, point décimal compris, occupent 8 broches du µC, et une broche par afficheur multiplexé
 
 
 

Un morceau de code (non testé) pour afficher les chiffres 3 et 5 sur deux digits, nommés digit1 et digit2
Pour plus d'explication, voir cette page  et les suivantes, éventuellement.
 
#picaxe 20M2
#no_data
dirsB=%11111111
symbol digit1=C.1
symbol digit2=C.2
    do
        b0=3
        lookup b0,(254,48,109,121,51,91,95,112,255,123),b1
        low digit2
        pinsB = b1        
        high digit1
        b0=5
        lookup b0,(254,48,109,121,51,91,95,112,255,123),b1
        low digit1
        pinsB = b1        
        high digit2
    loop
 
Avantages:
Il n'y a pas besoin de driver
La description du caractère est faite segment par segment et codée sur un octet, on peut afficher tous les caractères possibles avec un afficheur 7 segments
Inconvénients:
Méthode gourmande en I/O µC, 8 pour les segments et 1 par digit. Soit 12 pour un affichage de 4 digits.
Comme pour toutes les méthodes où le multiplexage est sur l'alimentation des afficheurs, pour N afficheurs, le temps d'allumage de chaque digits est, au mieux de 1/N. La luminosité de chaque digit est divisée par N. Cette perte de luminosité pourrait être compensée par une augmentation de courant, mais les sorties des µC son limitées (à 20mA max pour un picaxe et 90mA au total).
Les afficheurs ne peuvent être alimentés qu'en 5V

2 - Méthode utiliant un µC avec ampli de courant
Pour palier les limitations de la méthode précédente, on peut ajouter un ampli de courant sur les sorties du µC.
L'UDN2981 est adapté au problème, il comporte 8 amplis darlington compatibles TTL (0 à 5V) datasheet
Ce composant se trouve facilement sur eBay à très faible cout.
La résistance de limitation de courant R est à calculer en fonction de la tension (Vcc) d'alimentation de l'afficheur du Vf et du courant nécessaire pour l'allumage des segments, voir la datasheet de l'afficheur concerné.

 
 
 
 

2 - Méthode utilisant un driver type CD4511

Le driver a une table de conversion BCD - chiffres et une architecture à trois étages. datasheet

La table de caractères ne donne que les chiffres de 0 à 9
Chaque étage à une fonction et une commande:
Latch : c'est le "verrou", une mémoire de l'entrée DCB (DO,D1,D2,D3), rafraichie par une impulsion sur LE
LatchEnable (LE) = H . La fonction mémoire n'est pas utilisée, le code DCB ne fait que traverser.
Decoder: Table de conversion. Avec la commande BL, l'affichage est "Blank", c'est à dire noir, éteint.
Driver: Etage d'alimentation des LEDS, avec la commande LT, LightTest, tous les segments s'allument.


 

Avantages:
On a gagné une table de conversion des caractères;
On a moins de broches µC utilisées.
Inconvénients:
On ne peut afficher que des chiffres (sauf pour le 74LS47)
Le point décimal doit être géré indépendamment (1 broche µC, ou autre)
Si les entrées sont en TTL 5 V, les sorties le sont aussi, les afficheurs sont en 5V
La commutation se fait encore par l'alimentation, mêmes problèmes que la méthode précédente
 

3- Méthode utilisant un driver type CD4511 plus un ULN2003

La famille des ULN, ULN2003 ou ULN2803 regroupent 7 ou 8 amplis. Les ULN XX03 sont compatibles TTL:
En particulier, pour un ULN2803, les 8 entrées sont en 5V et les sorties montent jusqu'à 50V pour un courant max de 500mA.
Plus faciles d'emploi que des transistors, il servent d'interfaces entre µC et CD4511, alimentés en 12V,(18Vmax), les CD4511 peuvent alors piloter de grands afficheurs dont les segments comportent plusieurs leds en série et demande des tensions plus élevées ou des rubans de leds en 12V.

 
Avantages:
La possibilité de piloter des afficheurs comportant plusieurs leds par segments et demandant des tensions d'alimentation élevées.
Sans être un problème, les uln inversent le signal BCD, il faut en tenir compte dans le programme.
Inconvénients:
Ce sont les mêmes que pour les méthodes précédentes, le multiplexage des alimentations fait perdre d'autant plus de luminosité qu'il y a d'afficheurs.
 

4- Méthode utilisant le registre latch du CD4511

Le CD4511 possède un registre mémoire, lorsque la broche LE est au niveau bas (0v), les entrées BCD sont prisent en compte et mémorisées pendant le niveau haut mais si cette broche reste au niveau bas, il n'y a pas de fonction mémoire.
En envoyant une brève impulsion 0v au bon moment, les entrées présentes pendant cette impulsion sont mémorisées jusqu'à l'impulsion de raffraichissement suivante. 

 

Une alternative au CD4511 est le CD4543, qui permet d'utiliser des afficheur cathodes communes ou anodes communes, suivant le niveau de sa broche "phase". Il suffit de remplacer sur l'afficheur, le 0v des cathodes par le +V des anodes.

Avantage:
Grace à la mémorisation de l'affichage, le digit reste allumé tout le temps du cycle de rafraichissement, aucun scintillement possible, la luninosité est constante à 100%, quelquesoit le nombre d'afficheurs et la vitesse de raffraichisement de l'affichage.
Inconvénients:
Il faut un décodeur CD4511 par afficheur (vu le prix de ce composant, c'est pas trop grave). On peut par ex. se fabriquer un petit module à accoler sur afficheur, avec un connecteur à 5 broches. Sur une "carte mère", un connecteur par afficheur, les entrées BCD des afficheurs sont toutes en parallèles, Le multiplexage des alimentations des autres méthodes est remplacé par une impulsion de quelques µs sur l'entré LE du digit à modifier.
 

5- Méthode utilisant un CD4543 et un uln2003 par digit

Si ce qui précède ne suffit pas, en voici une autre, alimentant des segments de 50V pour un courant de 500mA.
(Voir les limitations en fonction du nombre de canaux utilisées , page 6 datasheet 2803)
Les décodeurs restent en 5V, mais les sorties sont amplifiées en tension et courant par un uln dédié à chaque segments.
Les uln sont des amplificateurs à collecteurs ouverts, ils ne fournissent pas la tension positive. Cette tension vient de l'afficheur, qui doit donc être à Anodes Communes.
Un niveau haut en sortie du décodeur donne un niveau bas en sortie de l'uln et le segment s'allume.
Grace à l'inverseur uln, un CD4511 convient également.
Les segments peuvent aussi être constitués de morceaux de rubans de leds 12V : Voir cet exemple.
 




 




 



Créer un site
Créer un site