Vous n'êtes pas seuls dans l'Univers !
/
Le projet permet d’afficher des messages lisibles grâce à une double colonne de sept LED.
Ces LED sont disposées à intervalles réguliers, avec une colonne de LED rouges et une autre de vertes.
L’allumage et l’extinction de ces diodes produit, par déplacement, l’apparition des messages.
En effet, à partir d’une certaine vitesse de déplacement, l'œil humain ne suit plus et perçoit le message, alors qu’en réalité, à chaque instant, une seule colonne de LED est active.
Le rôle de la partie électronique est donc de commander cette double colonne de diodes pour produire l’affichage voulu.
Information :
Ce projet a servi de sujet de T.P.E. - Travaux Personnels Encadrés, en classe de première.
Il n'utilise pas de microcontrôleur, mais uniquement de la logique câblée.
Des mémoires de type « RAM », à accès parallèle, permettent de compléter le dispositif.
Le système se compose de trois ensembles : le clavier qui permet d’entrer les données, la partie électronique et son alimentation qui traitent ces données, et les deux colonnes de LED ultra lumineuses rouges et vertes. Le fonctionnement de chacun de ces ensembles va être détaillé ci-après.
Version 1 - 2007
1) Le clavier
Comme la solution de l’interfaçage avec un clavier d’ordinateur a dû être abandonnée, il a fallu réaliser un clavier spécifique au projet. Il est composé d’une série de 37 boutons-poussoirs classiques qui correspondent aux caractères alphanumériques. Il comprend également trois commandes spéciales qui sont : le bouton « FIN message », un bouton de sélection de la couleur et un bouton RàZ de remise à zéro. Un bus de dix conducteurs permet la communication avec la partie électronique.
Le bouton « FIN message » insère un caractère spécial qui sera reconnu lors de la reproduction du message. Ceci provoquera immédiatement la reproduction du message depuis le début. Cette fonction permet de reboucler le message sur lui-même à l’infini.
Le bouton « couleur » est un interrupteur miniature à enclenchement. La position enclenchée correspond à la couleur rouge sélectionnée et à l’apparition du potentiel de l’alimentation sur la ligne « COUL » du bus (1 logique). Lorsqu’il n’est pas enclenché, le vert est sélectionné (0 logique).
Un dernier poussoir permet la sélection d’un caractère spécial comme les signes de ponctuation par exemple. Pour saisir un caractère de ce type, il faut maintenir le bouton et appuyer sur la touche alphanumérique correspondante.
Le bouton « remise à zéro », quant à lui, permet de corriger le message lors de la saisie, s’il a été mal entré.
Ces trois boutons sont reliés d’un côté directement au potentiel d’alimentation, et de l’autre côté à leur fil respectif du bus.
Les touches alphanumériques transmettent un signal binaire sur six fils du bus, et bien sûr chaque touche a sa propre combinaison. Par exemple l’appui sur le « A » transmet un zéro logique sur les cinq premiers fils et un un logique sur le dernier conducteur. L’adresse binaire reçue par l’électronique est donc « 000001 ». Le premier conducteur correspond au bit de poids fort, tandis que le dernier conducteur achemine le bit de poids faible. Pour générer le signal binaire à partir de l’appui d’une touche, un réseau de diodes a été utilisé (type 1N4148). Ainsi le bouton « O » qui transmet le signal « 001111 » est relié -comme tous les autres- au potentiel d’alimentation et à quatre diodes anti-retour qui renvoient ce potentiel sur les quatre premières lignes binaires. Les lignes non reliées au potentiel de l’alimentation sont considérées comme des zéros logiques.
Le bouton « caractère spécial » force le bit de poids fort à 1 quand une touche alphanumérique est sollicitée. Cela permet de pouvoir saisir les adresses binaires correspondant aux caractères spéciaux suivant le 9. D’un point de vue électronique, cinq diodes rassemblent les signaux des cinq premières lignes d’adresses. Un un logique est donc présent à ce point du clavier dès que l’on appuie une touche. Ce signal arrive au bouton « caractère spécial », qui le réinjecte dans la dernière ligne d’adresse lorsqu’il est appuyé. Ainsi le bit de poids fort est mis à 1.
2) L’ensemble électronique
Cette partie est la plus conséquente. Elle est basée sur l’utilisation de deux mémoires à accès parallèles et de deux circuits intégrés renfermant chacun deux compteurs binaires synchrones 4 bits. Une partie utilisant des portes logiques, des condensateurs, des résistances et des transistors assure la gestion de l’ensemble. L’alimentation est architecturée autour d’un régulateur de tension 5 Volt.
Les références des composants évoqués ci-dessus seront indiquées par la suite.
a) L’alimentation
La source de courant du projet est fournie par une pile rechargeable de 9 Volt. Il est néanmoins possible de l’alimenter en 12 Volt continus, par exemple avec la tension d’un allume-cigare. Le courant ainsi délivré est filtré par les condensateurs C1 et C2, tandis que la diode D1 montée en inverse assure une protection en cas d’erreur de branchements. Cette tension qui bénéficie d’un premier filtrage arrive au régulateur L7805. Ce dernier délivre 5 Volt à partir d’une tension d’alimentation comprise entre 9V et 15V. Un second filtrage est opéré sur cette tension régulée : C4 permet de fournir de l’énergie en cas de baisse de tension, dû par exemple à l’allumage des sept LED simultanément. Tous les circuits intégrés sont alimentés par cette tension de 5 Volt. Il est à noter que la tension fournie par la source d’alimentation est envoyée directement au clavier.
b) Les mémoires
Le circuit intègre deux mémoires RAM à accès parallèle. La première, MEM1, sert à mémoriser le message à reproduire en tant que tel. Cela signifie que ce sont les adresses binaires de chaque caractère qui y sont mémorisés, accompagnées de leur bit renseignant sur leur couleur.
La seconde mémoire, MEM2, contient la table de caractères. C’est elle qui permet, à partir des adresses binaires, de générer un caractère en activant les LEDs correspondantes, en fonction du temps. Les mémoires utilisées possèdent, comme toute mémoire RAM à accès parallèle :
- Des entrées d’adresse (ici 11) permettant de sélectionner une zone de la mémoire
- Des entrées/sorties de données (ici 8) permettant d’écrire ou de lire dans la mémoire
- Des entrées de contrôle (ici 3) permettant de choisir le mode de fonctionnement de la puce mémoire : lecture/écriture, désactivation des sorties, désactivation de la puce
- Deux broches réservées à l’alimentation (ici le 0V et le +5V).
Mémoire « message »
La puce mémoire contenant le message voit ses entrées/sorties reliées aux six lignes d’adresses provenant du clavier, au fil transmettant l’information « COUL » et à celui transmettant le signal « FIN message ». Il faut préciser que des résistances de 1KΩ sont insérées entre les lignes provenant du clavier et les entrées/sorties de la mémoire. Leur but est de ramener la tension transmise par le clavier à 5V afin de ne pas détériorer la mémoire. Si une entrée/sortie ne reçoit pas le potentiel de l’alimentation du à l’appui d’une touche, elle est ramenée au 0V par l’intermédiaire d’une des huit résistances de 10KΩ. Chaque broche E/S reçoit donc 0V (ligne du bus clavier correspondante sans potentiel) ou 5V (ligne du bus au potentiel de l’alimentation).
Les huit premières entrées d’adressage sont commandées par deux compteurs binaires synchrones 4 bits, A et B, tandis que les trois autres restantes sont inutilisées et donc reliées au 0V. Il y a huit lignes d’adressage utilisées, ce qui permet de mémoriser jusqu’à 2 puissance 8, soit 256 caractères (256 octets). Ce nombre est largement suffisant pour cette application.
Il y a également trois entrées de contrôle de la mémoire. L’entrée /CE qui permet d’activer la puce, est reliée au 0V car elle est active sur niveau bas. Ainsi la puce est en permanence sélectionnée. L’entrée /OE qui place les sorties en haute impédance lorsqu’elle est à 1, est elle aussi reliée en permanence au 0V. Enfin, l’entrée la plus importante pour cette réalisation est l’entrée /WE. Cette entrée, essentielle à toute puce mémoire, permet de provoquer la mémorisation des données présentes sur les huit entrées/sorties. Pour la mémoire utilisée ici, ce phénomène de mémorisation se produit quand /WE est à niveau bas. Si /WE reçoit un niveau haut, la puce est en mode lecture et pour une certaine adresse binaire, la puce transmet les données correspondantes.
La broche /WE est contrôlée par la partie logique du projet. Il en est de même pour l’entrée d’horloge /CPa du compteur binaire A contenu dans le circuit intégré 4520. Le compteur B, contenu dans le même boîtier, est bouclé sur le compteur A grâce à la liaison /CPb et Q3a. L’entrée d’horloge CPa active sur front montant du compteur A est commandée par une broche de la table de caractères, comme cela sera expliqué par la suite. Enfin, il faut signaler que les entrées de remise à zéro des deux compteurs sont reliées entre elles et à la partie logique.
Mémoire « Table de caractères »
Cette mémoire possède les mêmes caractéristiques que la mémoire « message » mais elle est en plus dotée d’une pile de sauvegarde et d’un circuit d’économie d’énergie. Cela lui permet donc d’être plus facilement programmable qu’une mémoire FLASH car elle se comporte comme une RAM avec sauvegarde en cas de coupure de l’alimentation.
Elle possède aussi 11 entrées d’adresse dont les deux dernières, A9 et A10 sont inutilisées et donc reliées au 0V. Les six entrées allant de A3 jusqu’à A8 servent à sélectionner un caractère dans la table de caractère. Elles sont en fait reliées directement aux entrées/sorties de la mémoire « Message » qui peut donc indiquer à la table de caractères ce qui doit être affiché. Les trois premières entrées, A0, A1 et A2 sont utilisées pour déterminer la COLONNE du caractère sélectionné dans la mémoire. Il y a 8 combinaisons possibles pour ces entrées, ce qui permet d’avoir des caractères s’étalant sur 8 colonnes au maximum. Le fonctionnement est donc le suivant : un caractère est demandé par la mémoire « Message » qui transmet l’adresse correspondante aux entrées A3~A8 de la table de caractères. Le compteur binaire C fait défiler les adresses des colonnes de ce caractère sur les entrées A0~A2. Sur les sorties de la mémoire « Table de caractères » on récupère des zéro et des un logiques. Lorsqu’une sortie est à un, la LED qui s’y rattache s’allume. Un zéro provoque son extinction.
Pour que chaque caractère puisse avoir une largeur adaptée, il a fallu recourir à une astuce. On remarque que les entrées/sorties de la mémoire sont au nombre de 8, mais que seules 7 sorties sont utilisées pour piloter les LED. La dernière sortie est donc utilisée ici comme signal « FIN du caractère ». Lorsqu’un caractère est en cours de reproduction, cette 8è sortie présente un zéro logique. Quand la reproduction d’un caractère est terminée, elle transmet un niveau haut. Ce signal provoque la remise à zéro du compteur C, qui fait défiler les adresses des colonnes du caractère. Il incrémente également le compteur A, ce qui provoque l’apparition de l’adresse binaire correspondant au caractère suivant.
Comme indiqué sur le schéma, des résistances de protections sont insérées entre les broches de la mémoire MEM2 et les anodes des LED.
Leurs valeurs ohmiques se déterminent connaissant la tension de fonctionnement Vf des LED, leur intensité de fonctionnement et la tension V apparaissant sur les broches de la puce MEM2.
Pour déterminer la valeur de Rp on applique la loi d'Ohm, et on trouve :
Rp = (V - Vf) / If
Ici, on considère que V vaut 5V.
En consultant les données fabricant, pour les LED vertes utilisées par ce projet, on trouve : Vf = 2,5V et If = 20mA
Pour les LED rouges utilisées par ce projet : Vf=2V et If=40mA.
Comme l'anode d'une LED rouge est reliée à l'anode de la LED verte correspondante, il faut choisir la valeur de Rp la plus grande des deux pour être sûr d'avoir un fonctionnement normal des LED. On a pris comme valeur 220Ω afin de garantir une protection maximale.
c) Partie en logique câblée
Cette partie de l’ensemble électronique contient tout ce qui est nécessaire pour contrôler les mémoires, les compteurs et les couleurs des LED.
De plus, des éléments tels qu’un buzzer et une LED bicolore ont étés rajoutés.
Le buzzer émet un signal acoustique lorsqu’un caractère est saisi. Il faut donc lui joindre un circuit oscillateur.
La LED bicolore renseigne sur la couleur d’un caractère lors de la saisie.
Elle peut s’illuminer en rouge ou en vert et possède aussi son circuit de commande.
1) Monostables
Les
monostables présents sur le projet servent à
provoquer le passage
bref à un niveau bas de l’entrée /WE de
la mémoire contenant le
message et l’incrémentation du compteur A. Cela
permet de saisir
un message dans cette mémoire, une adresse après
l’autre. Ce
processus de mise en mémoire puis
d’incrémentation du compteur se
déclenche dès qu’une touche
alphanumérique est appuyée. Le
système sait qu’une touche est
sollicitée grâce à six diodes
dont les anodes sont reliées aux lignes A0 à A5
du connecteur du
clavier. Leurs cathodes sont rassemblées et
reliées, via une
résistance R2, de 1kΩ, à
l’entrée de déclenchement du premier
monostable. Une autre résistance R1, de 10kΩ,
ramène cette entrée
au 0V lorsque aucune touche n’est appuyée. Ce
premier monostable,
de type non redéclenchable, s’active quand un
front montant est
appliqué sur son entrée, grâce
à l’inverseur U3A. Sa sortie est
reliée à la broche /WE de la mémoire
« message ». On
récupère sur cette sortie un bref niveau bas qui
entraîne la
mémorisation des données binaires correspondant
à la touche
appuyée au clavier. Enfin, il faut noter que ces monostables
ont
aussi un rôle anti-rebond afin de filtrer les signaux
transmis par
les poussoirs du clavier.
Le
temps T pendant lequel la sortie est à niveau bas est
donné par la
relation :
T≈0.69
x R x C
R et C sont les valeurs de la résistance (en Ohm) et du
condensateur (en Farad) déterminant la temporisation.
Ici,
on souhaite avoir une temporisation de 0.1seconde au maximum, afin
que la procédure d’enregistrement des
données soit rapide. En
appliquant la relation précédente avec une
résistance de 10kΩ et
un condensateur de 10µF, on obtient T≈ 0.07 sec, ce
qui est
compatible avec les caractéristiques requises.
La
suite de la procédure d’enregistrement
d’un caractère se
caractérise par l’incrémentation du
compteur A qui sert à
l’adressage de la mémoire message. Cette
incrémentation est
assurée par le second élément
monostable. Son entrée de
déclenchement est reliée à la sortie
du premier monostable et est
active sur front montant du fait de l’inverseur U3C. La
sortie, qui
présente un niveau bas pendant moins de 0.1 seconde,
commande la
broche d’horloge /CPa du compteur A.
2) Générateur de signal acoustique
Comme
cela a déjà été
indiqué, le projet est pourvu d’un buzzer qui
génère un signal lorsqu’un
caractère est saisi au clavier et mis
en mémoire. Ce signal joue un rôle de confirmation
pour
l’utilisateur. Lorsqu’il est émis, on
peut être certain que le
clavier est correctement raccordé au dispositif et que le
bouton-poussoir a été appuyé une fois.
Si jamais deux signaux se
font entendre pour un appui, cela signifie que la touche a
été mal
appuyée. A ce moment-la, on peut corriger à
l’aide du bouton
« Remise à
zéro ». De plus, l’absence de
signal
indique que la pile est trop faible, car ce signal n’est
généré
qu’à partir d’une certaine tension de
seuil à l’alimentation.
Cet
oscillateur est réalisé grâce
à un astable contenant une porte
NON-ET et un inverseur. L’avantage est que l’on
dispose d’une
entrée de commande qui, lorsqu’elle est soumise
à un niveau haut,
permet l’oscillation. Les composants déterminant
la fréquence
sont la résistance R1 et le condensateur C1. Le but de cet
oscillateur est de produire un son caractérisé
par une fréquence
audible avoisinant les 1000 Hz. La fréquence
d’oscillation d’un
tel montage est donnée par :
f=1/(0.65.R.C)
En
considérant que la valeur du condensateur C1 sera
fixée, un simple
calcul permet de déterminer la valeur de la
résistance R1 pour
obtenir la fréquence voulue. Avec les composants
utilisés ici, la
fréquence de l’oscillateur avoisine les 1500Hz. Le
rôle du
transistor Q1 est de fournir un courant suffisant au buzzer, sans
perturber l’oscillateur.
C’est le circuit des
monostables qui commande l’entrée de commande.
3) Oscillateur principal avec circuit de Marche/Arrêt
Pour fournir un signal d’horloge au système, un
circuit astable
faisant appel à une porte NON-ET et un inverseur logique a
été mis
à contribution. Cet oscillateur permet d’assurer
le défilement
des caractères composant le message. Il est pourvu
d’une
résistance variable AJ1 qui permet d’influer sur
la fréquence
d’oscillation, et donc d’agir sur la largeur
apparente des
caractères lors de l’affichage. Ce signal
d’horloge incrémente
le compteur C qui fait défiler un caractère
colonne après colonne.
Rappelons que le passage au caractère suivant se fait
grâce au
signal « FIN
caractère » transmis par la table de
caractères. La résistance R4 de 1kΩ sert de
résistance « seuil »
pour le réglage de la fréquence. Pour
déterminer la fréquence on
utilise la même relation que pour le
générateur de signal
acoustique.
Ceci permet de dire que la fréquence minimale de cet
oscillateur
avoisine les 150Hz quand on a la résistance maximale de
101kΩ, et
dépasse les 15kHz pour la valeur maximale de la
résistance, soit 1
kΩ.
Comme cet astable conditionne le fonctionnement du projet, il a fallu
y rajouter un dispositif de commande qui est
déclenché par
l’utilisateur grâce à un poussoir. Pour
ce faire, il a fallu
faire appel au dernier compteur binaire contenu dans le second
circuit CD4520. Il est utilisé simplement en tant que
diviseur par
deux de fréquence. On peut alors parler de comportement
similaire à
une bascule T : la sortie change d’état
à chaque front
montant présenté sur
l’entrée. Ceci permet
d’éviter d’avoir
à rajouter un circuit intégré, qui
prend de la place et nécessite
une alimentation, pour obtenir le même fonctionnement. Pour
compléter ce dispositif, la cellule R1 et C1
réalise un circuit
anti-rebond afin d’éviter que la sortie ne change
d’état à
chaque rebond lors de l’appui du poussoir
Marche/Arrêt.
Les compteurs A et B, contenus dans le même circuit
intégré,
servent à adresser la mémoire contenant le
message. Afin de
synchroniser l’affichage avec le déplacement, ils
sont remis à
zéro par le signal transmis par un
« balancier » qui
détecte l’arrivée en fin de position
lorsque le système est
agité manuellement. Ces compteurs sont aussi remis
à zéro par le
signal « FIN message » transmis
par la mémoire contenant
le message. Toutefois, cette remise à zéro par
« FIN
message » ne doit s’effectuer
qu’à la condition que le
message soit en cours de reproduction, d’où la
porte ET réalisée
avec deux NON-ET. En effet lors de l’insertion du signal
« FIN
message » lors de la saisie au clavier, on provoque
la mise à
un de l’entrée FIN_Mess qui, si
elle était directement
reliée aux entrées de remise à
zéro des compteurs A et B,
provoquerait leur réinitialisation
prématurément, avant que
l’ordre « FIN
message » n’aie pu s’enregistrer.
L’appui sur le bouton de Marche/Arrêt provoque
également la
remise à zéro des trois compteurs A, B et C afin
de préparer
l’enregistrement d’un message suivant et
d’éviter le blocage
du compteur C sur une adresse de colonne d’un
caractère, ce qui
provoquerait l’allumage permanent des LED. Enfin, le compteur
C
est aussi remis à zéro si la ligne
« FIN_Caract » passe
à 1. Il faut rappeler que cette ligne est
contrôlée par la
dernière sortie de la table de caractères.
Le balancier transmet son signal sur la
ligne « Bal »,
la sortie CPc incrémente le compteur C sur front montant,
MRa_b
remet les compteurs A et B à zéro tandis que MRc
réinitialise C.
4) Circuit de contrôle de la LED bicolore
Pour faciliter la programmation d’un message, le système est pourvu d’une diode électroluminescente bicolore à cathode commune. Elle peut s’illuminer en vert ou en rouge et renseigne sur la couleur du caractère saisi. Durant la reproduction du message, cette LED s’éteint, pour ne pas perturber l’affichage. Le circuit gérant ceci est très simple car il ne fait appel qu’à deux transistors, tous deux de type PNP. Pour étudier son fonctionnement, il y a trois cas.
Cas 1 : Système arrêté et bouton « COULEUR » du clavier enclenché
Le fait que le système ne reproduise pas de message impose qu’un zéro logique soit présent sur la base de Q2, via la résistance R5.
Ce transistor voit son collecteur relié
à la cathode commune
de la LED bicolore et son émetteur est relié au
0V. On considère
que Q2 se sature et que la cathode commune est alors reliée
au 0V.
Comme
le bouton « COULEUR » est
enclenché, la ligne
« COUL »
est au potentiel de la pile, et la LED s’allume en ROUGE car
elle
est reliée au +9V via la résistance de protection
R2.
Dans
le même temps, le transistor Q1 est bloqué, la
différence de
potentiel entre l’anode et la cathode de la LED verte est
quasi-nulle et celle-ci ne brille pas.
La
broche I/O7 de la mémoire message est soumise à
un 1
logique.
Cas 2 : Système arrêté et bouton « COULEUR » relâché
L’interprétation pour Q2 est la même que
précédemment et on
considère que la LED bicolore voit sa cathode
reliée au 0V.
Le bouton « COULEUR »
n’étant pas appuyé, la ligne
« COUL » est portée au
0V par la résistance R6. La LED
rouge ne peut donc pas s’allumer mais la base du transistor
Q1 est
aussi reliée au 0V ce qui provoque l’apparition du
+5V sur son
émetteur étant donné que son
collecteur est relié au +5V. La LED
verte peut donc s’allumer.
En parallèle, la broche I/O7 de la mémoire
« Message »
voit un zéro logique du fait de la résistance R4.
Cas 3 : Système reproduisant un message
Comme le système reproduit un message, la ligne Q0d présente un état haut. Cela se répercute sur la base de Q2 qui devient bloqué. La LED bicolore n’ayant plus sa cathode reliée au 0V demeure éteinte.
5) Gestion des couleurs et des interruptions des LED
Les LEDs ultra lumineuses permettant de générer
les caractères
sont organisées en deux colonnes de sept LED : une rouge et
une verte. Par sélection d’une de ces colonnes, le
caractère
reproduit sera vert ou rouge. Comme les LED rouges sont
légèrement
espacées des vertes, il n’a pas
été retenu de permettre aux deux
colonnes d’être actives en même temps,
pour afficher du jaune.
Afin d’avoir un affichage correct des lettres, il a fallu
ajouter
un circuit permettant d’interrompre l’allumage des
LED brièvement durant la reproduction du message, et ce pour
chaque
colonne d’un caractère.
Le système permettant de contrôler la
sélection d'une colonne de
LED se base sur l'alimentation ou la coupure de l'alimentation de
leurs cathodes. Les LED rouges ont leurs cathodes reliées
entre
elles et au collecteur du transistor Q1. Si ce dernier est
saturé,
on peut considérer que les cathodes sont reliées
au 0V et que les
LED rouges peuvent être allumées. Le principe est
identique pour
les LED vertes, contrôlées par Q2. Il est
à rappeler que les
anodes de chacune des LED sont reliées aux sorties de la
table de
caractères.
Pour déterminer quelle colonne doit être
activée, seules deux
portes NON-ET ont été employées,
formant un circuit logique
correspondant à l'effet désiré. Ce
circuit logique commande les
deux transistors PNP Q1 et Q2. Le signal Q0c, qui provient du
compteur C, sert de signal d'interruption et contrôle
l'entrée
« INT » du circuit logique de
gestion de la couleur.
Lorsqu'il est à niveau haut, les LED sont obligatoirement
éteintes.
Quand au signal « COUL », il
provient de la mémoire
message et renseigne sur la couleur du caractère
à reproduire.
Commentaires (1)
zadok78
Le samedi 26 novembre 2011 à 22:55
Super ton site!
Ajouter un commentaire