Un projet unique qui consiste de commander un ascenseur par un clavier sans microcontrôleur et sans programmation
MATERIEL UTILISE
- un clavier 16 entres
- deux afficheurs 7 segments code BCD
- 10 portes ou à 8 entrés
- 10 portes AND à 2 entrés
- 10 bascules RS
- un generateur pattern
- codeur 10 entres 4 sorties
- comparateur de deux nombres 4 bits
- compteur 4 bits modulo 16
- decodeur 10 sorties
- moteur simple DC
- deux relais
- deux transistors BC547
- baragraphe à 10 leds
Pour commencer l'explication du projet il faut avoir une bonne introduction sur les claviers; tout clavier est composé par des boutons poussoirs arrangés en lignes et colonnes exemple: 3 ligne / 3 colonne, l'intersection entre une ligne et une colonne correspond à un bouton.
L'image du claviers peut étre remplacé par ce schéma:
Géneralement les claviers sont connectés par les microcontroleurs ; des circuit intégrés complexes qui gere le fonctionnement dne es claviers à l'aide d'un programme, mais ce projet nécessite que des cxircuits simple comme les portes logiques et un générateur patterne qui peut etre remplace par un registre à decalage.
L'information qu'on veut introduire dans le
registre est présentée à l'entrée de la première bascule. Lors d'une impulsion
d'horloge, le bit d'information est introduit dans le registre, et l'ensemble
des autres bits sont décalés. Le bit qui était mémorisé dans la dernière
bascule est perdu s'il n'est pas stocké ou réinséré dans la structure d'une
manière quelconque.
A chaque instant t un seul etat haut est presente parmis les quatres entrés
Un génerateur patterne remplace ce registre
A chaque instant le generateur patterne envoie les informations des quatres sorties, les carreaux sont coché de cette facon pour avoir un decalage un par un celon un instant t qui depond de la frequence de dfilement.
La fréquence Clock est paramétré à 20 Hz ou un instant de 50ms et le trigger correspond à la frequence de repetition qui oit etre divisé par 4 à 5 Hz et un instant qui est multiplié par 4 c'est à dire de 200 ms
L'orsque le microcontroleur est connecté par un clavier, celui-ci envoie des états haut sur les entrés du clavier A,B,C et D comme le montre ce tableau:
instant
|
A
|
B
|
C
|
D
|
t1
|
1
|
0
|
0
|
0
|
t2
|
0
|
1
|
0
|
0
|
t3
|
0
|
0
|
1
|
0
|
t4
|
0
|
0
|
0
|
1
|
puis le cycle se repete toujours.
Le microcontroleur recoit les information par les lignes 1,2, et 3, mais comment le microcontroleur connait' il le bouton actionné par l'utilisateur?
L'orsque le signal est envoyé au clavier et recu par une des lignes au meme instant, on peut déterminer le bouton selectionné; si le signal est envoyé par B et recu par la ligne 2 au meme instant alors le microcontroleur peut détecter que le bouton 5 est actionné.
Dans ce projet il n'y a pas de microcontroleur, l'idée consiste à introduire des portes AND ; par exemple
pour detecter des nombres de 0 à 9, il faut connecter 10 portes de la meme facon
mais le signal recu sur le point 5 est d'une duree de quelque ms, pour cela il faut la connecter à une bascule RS
Rappelons qu'un tel signal meme de duré faible se transforme à un signal fixe sur la sortie Q
pour detecter des nombres de 0 à 9, il faut connecter 10 bascules de la meme facon. La sortie Q barre est negligeable.
Le point R5 envoie un siganl meme de duré faible vers R pour resetter la bascule c'est à dire annuler le nombre 5. L'annulation du nombre 5 ce fait en actionnant un des autres boutons de 0,1,2,3,4,6,7,8 et 9.
c'est à dire que si l'utilisateur a appuyer su le bouton 5 puis sur le nombre 8, le nombre 5 sera annule et le nombre 8 est pris en compte
malheureusement il n'ya pas de porte OU à 9 entrés d'ou on a introduit le circuit suivant qui abouti à la meme resultat
pour résumer bien le projet ; si l'utilisateur appuie sur le bouton 0 , la sortie D0 est active
si l'utilisateur appuie sur le bouton 0 , la sortie D0 est active
si l'utilisateur appuie sur le bouton 1 , la sortie D1 est active
si l'utilisateur appuie sur le bouton 2 , la sortie D2 est active
si l'utilisateur appuie sur le bouton 3 , la sortie D3 est active
si l'utilisateur appuie sur le bouton 4 , la sortie D4 est active
si l'utilisateur appuie sur le bouton 5 , la sortie D5 est active
si l'utilisateur appuie sur le bouton 6 , la sortie D6 est active
si l'utilisateur appuie sur le bouton 7 , la sortie D7 est active
si l'utilisateur appuie sur le bouton 8 , la sortie D8 est active
si l'utilisateur appuie sur le bouton 9 , la sortie D9 est active
Pour afficher le nombre selectioné dans un afficheur il faut un code BCD pour cela on a introduit l'encoder 10 vers 4
Le circuit 4510 est un compteur / décompteur modulo 16, on peut afficher les nombres à l'aide un afficheur 7 segments par les sorties Q0,Q1 ,Q2 et Q3
le but du projet est de faire démarrer le compteur si le nombre actionné par l'utilisateur est superieur au nombre actuel dans le compteur et de faire démarrer le décompteur si le nombre actionné par l'utilisateur est inferieur au nombre actuel dans le compteur pour cela on a utilisé le comparateur 4063
Les entrés du code sélectionné par l'utilisateur sont de A0 à A3
Les entrés du code BCD actuel du compteur sont de B0 à B3
La sortie QA>B est relié au entré U/D barre du compteur, si l'utilisateur choisi un nombre 9,le compteur démarre de 0 à 9 et l'orsque les deux nombres sont égaux le comparateur envoie un signal à partir du point QA=B vers CI entré du compteur pour l'arréter.
Pour afficher les états du compteur sur un baragraphe il faut introduire le circuit 4028 qui est un décodeur 4 vers 10
schema du moteur DC
Le moteur utilise est un simple moteur DC; moteur à courant continu.
Pour changer le sens d'un moteur DC il faut inverser le plus et le moins
voici des exemples de branchement
Dans ce projet on a introduit des relais de pour l'inversion du sens du moteur
si les deux bornes du moteur sont branchés au + ,le moteur ne tournes pas
L'orsque les deux transistors sont bloqués les relais ne sont pas exités, les deux bornes du moteur sont connectés au plus et le moteur ne tourne pas
Etat
|
A0
|
A1
|
moteur
|
1
|
0
|
0
|
arret
|
2
|
0
|
1
|
Sens horaire
|
3
|
1
|
0
|
Sens antihoraire
|
4
|
1
|
1
|
arret
|
Pour avoir la première etat il faut Q0 et Q1 = 0
Pour avoir la deuxième etat il faut Q0=1 et Q1 = 0
Pour avoir la troisième etat il faut Q0=0 et Q1 = 1
et pour la dernière etat Q0=Q1=0
L'idée consiste à faire monter ou descendre l’ascenseur automatiquement selon la demande de l'utilisateur et la position de l’ascenseur.
Au démarrage du système l’ascenseur est au niveau 0, l'afficheur A est à 0 et l'afficheur B est à 0
et la sortie CI du comparateur est active.
Cette sortie est relié a la première entré D0 d'un codeur 8 vers 3, les sorties Q0 et Q1 sont à 0
Rappelons que si l'utilisateur choisi un nombre exemple 9,le compteur démarre de 0 à 9, a cette periode la sortie QA>B du comparateur est à 1, celui-ci est reliée à l'entrée UP et D1 du codeur, ce qui fait passer la sortie Q0 à 1 et démarre le moteur dans le sens monté et l'orsque les deux nombres sont égaux le comparateur envoie un signal à partir du point QA=B vers CI entré du compteur pour l'arréter.
si l'utilisateur choisi un nombre inferieur à 9 exemple 4 ,le compteur démarre de 9 à 4, a cette periode la sortie QA<B du comparateur est à 1, celui-ci est reliée à l'entrée UD et D2 du codeur, ce qui fait passer la sortie Q1 à 1 et démarre le moteur dans le sens descente et l'orsque les deux nombres sont égaux le comparateur envoie un signal à partir du point QA=B vers CI entré du compteur pour l'arréter. L'idée consiste à faire monter ou descendre l’ascenseur automatiquement selon la demande de l'utilisateur et la position de l’ascenseur.
Au démarrage du système l’ascenseur est au niveau 0, l'afficheur A est à 0 et l'afficheur B est à 0
et la sortie CI du comparateur est active.
Cette sortie est relié a la première entré D0 d'un codeur 8 vers 3, les sorties Q0 et Q1 sont à 0
Rappelons que si l'utilisateur choisi un nombre exemple 9,le compteur démarre de 0 à 9, a cette periode la sortie QA>B du comparateur est à 1, celui-ci est reliée à l'entrée UP et D1 du codeur, ce qui fait passer la sortie Q0 à 1 et démarre le moteur dans le sens monté et l'orsque les deux nombres sont égaux le comparateur envoie un signal à partir du point QA=B vers CI entré du compteur pour l'arréter.
aprés avoir terminer ce schema voici un video du test de fonctionnement:
0 Commentaires