Digicode " Une clef électronique à clavier "



Sûre et fiable, cette clef électronique à clavier trouvera ses applications dans la commande de systèmes d’alarme, de portes à ouverture électrique, de portails motorisés, etc. Le code (à 6 chiffres), se compose sur un petit clavier matricé. Le reste, est confié à un nouveau microcontrôleur Microchip qui, à lui tout seul, gère toutes les fonctions et assure la commande d’un relais en sortie.

L’accès à votre bureau ou à votre maison est, bien entendu, limité à quelques personnes dûment autorisées. Il en est de même pour l’activation ou la désactivation des alarmes qui protègent ces lieux. En général, des clefs sont remises à ces personnes. Les clefs, toutefois, ont de nombreux inconvénients. Elles se perdent, s’oublient, peuvent être reproduites par n’importe qui… Remplacer une serrure à clef par une serrure électronique à clavier est solution efficace et sûre. C’est la raison d’être du système que nous vous proposons dans ces pages.
Ce projet peut s’avérer utile pour de nombreuses applications.
Nous traitons en fait d’un système somme toute assez traditionnel.
Pourtant, la nouveauté est dans la simplicité du circuit, (un seul circuit intégré) et dans la réalisation mécanique résolue avec un clavier à touches souples, petit et fiable.
L’unique circuit intégré utilisé est le nouveau microcontrôleur de Microchip PIC12C 674*, un petit boîtier de huit broches contenant un CPU RISC (Reduced Instruction Set CPU) avec une architecture 8 bits, 2 kbits de mémoire de programme (pour des instructions sur 14 bits !) 128 K x 8 bits de RAM et 16 octets d’EEPROM destinés, dans notre cas, à la mémorisation du code.
Entre autres particularités de ce circuit, signalons l’oscillateur interne à 4 MHz programmable, qui évite le quartz externe et son réseau de compensation.
Cela dit, passons immédiatement
au circuit proposé dans ces pages, en nous reportant au schéma électrique de la figure 1.
Vous noterez une structure simple, où le composant principal n’est autre que le microcontrôleur U1.
Ce dernier doit gérer et donc lire le clavier matricé afin de détecter la fermeture des différentes touches qui le composent puis, suivant la saisie, procéder aux actions appropriées.
En outre, il s’occupe de la procédure d’apprentissage du code de la clef, que vous pouvez introduire par l’intermédiaire de la fermeture de l’interrupteur S1 tout en appuyant la touche 5 durant les deux secondes qui suivent la mise en service de la platine.

* Vous trouverez la notice technique complète du PIC12CE674 sur ce lien PIC12CE674

En détail, les choses se passent de la façon suivante :

Le programme
Dès l’application de la tension d’alimentation entre les points + et –Val, le microcontrôleur effectue une remise à zéro et commence à exécuter le programme mémorisé après avoir initialisé les I/O (entrées/sor ties). Les broches 2, 7, 6, 4 sont des entrées, les broches 3 et 5 sont des sorties. En premier lieu, le microcontrôleur teste le niveau logique sur la broche 4, qui est équivalent à la situation de S1.

Rôle de S1 à la mise sous tension
Si S1 est fermé, le programme exécute la routine d’effacement de la mémoire EEPROM. Celle-ci élimine le code précédent et le remplace par défaut par le code 1, 2, 3, 4, 5, 6. Pour le valider, il convient d’ouvrir S1 (broche 4 de U1 au niveau logique 1), d’éteindre et de rallumer le dispositif.
Si S1 est ouver t, le programme se place dans une boucle d’attente de 2 secondes (allumage fixe de la LED rouge) durant laquelle il est possible de rentrer dans la phase de programmation d’un nouveau code simplement en appuyant sur la touche 5.
En procédant ainsi, la routine de mémorisation est activée (clignotement rapide de LD1), le microcontrôleur attend que soient composés sur le clavier les 6 chiffres formant le nouveau code puis envoie 2 impulsions de niveau haut sur la broche 3. Ces deux impulsions ont pour effet de faire clignoter autant de fois la LED LD1 indiquant ainsi à l’utilisateur que le nouveau code est bien mémorisé.
Si, durant les deux premières secondes, la touche 5 n’a pas été activée, le programme se déroule normalement. Ce programme est celui où le microcontrôleur attend simplement que soit composé le bon code d’accès. A la suite de quoi, le relais de sortie est activé durant environ deux secondes.

Le schéma électrique

Figure 1 : Schéma électrique de la clef électronique.

Dans le détail, notez que si le code à 6 chiffres composé dans son ordre exact est identique à celui mémorisé, le microcontrôleur fait passer sa broche 5 au niveau haut pendant 2 secondes.
Ce niveau haut polarise la base du transistor T1, ce dernier passe en saturation et alimente la bobine du petit relais RL1. Les contacts de celui-ci sont disponibles sur le bornier afin de permettre de relier les appareils de votre choix (serrure électrique, alarme, machine, ordinateur, etc.). Il faut se rappeler que le pouvoir de coupure de ce relais est de 1 ampère sous 250 volts. Si la puissance à commuter était plus importante, il faudra utiliser ce relais pour commander un relais de puissance.

Le clavier : 3 entrées pour gérer 9 touches
Il est intéressant de noter le mode particulier de lecture du clavier utilisé dans cette application. Principalement parce que les microcontrôleurs de la série PIC16CE67x ne disposent pas de suffisamment d’entrées sorties pour adopter la classique méthode de scrutation de lignes et colonnes. En pratique les claviers 9 touches disposent au moins de 6 fils (3 pour les lignes, 3 pour les colonnes) or, nous avons utilisé seulement 3 broches du microcontrôleur U1.
Comme vous pouvez le voir sur le schéma de principe, seules les lignes R1, R2, et R3 du clavier sont reliées à U1. Les trois autres (C1, C2 et C3) sont respectivement reliées à la masse par l’intermédiaire du condensateur C1 et des résistances R1, R2 et R3. En procédant de la sorte, la lecture n’est pas effectuée par une scrutation, mais par le relevé de la durée de l’impulsion attribuée à chaque colonne.
En fait le condensateur C1, initialement chargé, fait en sorte que si une touche est pressée, une impulsion de niveau bas soit produite sur la ligne concernée (par exemple pour 1, 2, 3, sur la première, pour 4, 5, 6 sur la seconde et 7, 8, 9 sur la dernière).
Les valeurs des résistances R2, R3 et R4 sont très différentes, les constantes de temps attribuées à chaque colonne sont donc différentes également et par là même facilement reconnaissables par le logiciel.
Ainsi, si une impulsion est reçue sur la première ligne, le microcontrôleur peut savoir si elle vient de l’intersection de la première colonne (touche 1), de la seconde colonne (touche 2) ou de la troisième colonne (touche 3). Le même raisonnement s’applique pour les deux autres lignes.
L’ensemble du circuit fonctionne avec une tension continue comprise entre 10 et 15 volts à appliquer aux contacts Val.
La diode D1 protège le montage contre les éventuelles inversions de polarité. Le régulateur U2 permet d’obtenir la tension de 5 volts par faitement stabilisée nécessaire au microcontrôleur.

Figure 2 : Schéma d’implantation de la clef électronique.

Figure 3 : Dessin du circuit imprimé à l’échelle 1.



Liste des composants
R1 = 560 Ω
R2 = 2,2 kΩ
R3 = 1,5 kΩ
R4 = 100 Ω
R5 = 47 kΩ
R6 = 4,7 kΩ
R7 = 47 kΩ
C1 = 100nF multicouche
C2 = 220 μF 25 V électrolytique
C3 = 100nF multicouche
C4 = 220 μF 25 V électrolytique
U1 = PIC12CE674 programmé (MF305)
U2 = Régulateur 78L05
D1 = Diode 1N4007
D2 = Diode 1N4007
S1 = Inter pour ci
T1 = Transistor NPN BC547B
RL1 = Relais miniature 12 V (voir texte)

Divers :
1 Clavier 9 touches (TST09)
1 Support 2 x 4 broches
2 Barette sécable 9 broches
1 Bornier 3 sorties
1 Bornier 2 sorties
1 Circuit imprimé (S305)

Sauf spécification contraire, toutes les résistances sont des 1/4 W à 5 %.

Le microcontrôleur PIC12C674
Ce nouveau composant Microchip est extrêmement intéressant car, à la différence du fameux PIC12C508, il dispose en interne de 16 octets de mémoire de données EEPROM.
Issus d’une nouvelle famille de PIC, celui que nous avons utilisé est un des nouveau-nés de Microchip, réalisé suivant une architecture RISC à 8 bits (le jeu d’instructions se compose de 35 instructions). Il est pourvu d’un générateur interne d’horloge fonctionnant jusqu’à 10 MHz, d’un compteur/ timer à 8 bits utilisable comme diviseur de fréquence jusqu’à 1/64, d’un convertisseur A/D (analogique/ numérique), lui aussi à 8 bits, avec la possibilité d’être relié à une des lignes d’entrées sorties.
La mémoire de programme est une Flash-EPROM de 2 048 mots de 14 bits (au lieu des 8 habituels) pour pouvoir contenir des programmes écrits en PicBasic. Il y a ensuite 128 bytes (le bytes est un mot de "n" bits, 14 dans ce cas) de RAM et 16 octets d’EEPROM.
Le registre des I/O (entrées/sorties) compte 6 lignes externes, qui sont :
GP0 (broche 7), GP1 (6), GP2 (5), GP3 (4), GP4 (3) et GP5 (2) en plus de deux autres internes dépourvues de connexions avec l’extérieur. Ces dernières servent pour le dialogue entre le CPU et l’EEPROM qui a la particularité d’être un bus I2C réalisé dans le circuit lui même. Les lignes SCL et SDA sont respectivement GP7 et GP6.
Notez que les lignes I/O GP0, GP1 et GP3 peuvent avoir des résistances de pull-up (mise au niveau haut) interne, pouvant êtres insérées par logiciel.
GP3 peut servir en programmation de remise à zéro (MCRL au zéro logique) ou de Vpp (tension de programmation) au niveau haut.

Figure 4 : Schéma synoptique interne du PIC12C674.

Figure 5 : Brochage du PIC12C674.

Figure 6 : Organigramme du programme.

Pour gérer cette clef à clavier, nous utilisons un seul microcontrôleur programmé de façon à lire les touches, vérifier ou mémoriser les chiffres introduits, activer les signalisations et commander un relais. L’organigramme permet de comprendre le fonctionnement du programme.
En pratique, à la mise en service et après l’initialisation des entrées sorties, c’est l’état de la broche 4 qui est vérifié, pour voir si l’interrupteur S1 est fermé ou ouvert.
Dans le premier cas, la mémoire EEPROM de 16 octets est effacée et le code par défaut 1, 2, 3, 4, 5, 6 est mis en place.
Ensuite, c’est la touche 5 qui est vérifiée. Si elle a été appuyée, le programme appelle une sous-routine d’apprentissage et de mémorisation, avec laquelle l’utilisateur peut introduire son propre code à 6 chiffres.
Dans le cas contraire, le système entre dans le mode de fonctionnement normal, il attend en boucle que soit appuyée une des touches 1 à 9.
Il faut noter que le programme teste une seule fois l’interrupteur S1 et peut entrer en apprentissage/mémorisation du code seulement 2 secondes après la mise en service. En fait la boucle du programme regarde seulement la comparaison des codes.
Ainsi, si vous voulez reprogrammer le code, il faut éteindre l’appareil et le rallumer.

Réalisation pratique
Après la description du schéma électrique, passons à la construction de la clef à clavier.
La première chose à faire est de préparer le circuit imprimé. Il suffit pour cela de photocopier sur une feuille de calque ou de mylar transparent le tracé du circuit imprimé représenté à l’échelle 1 dans la revue. Insolez aux ultraviolets, révélez et gravez la plaque au perchlorure de fer.
Après gravure, percez la plaque à l’aide d’un foret de 0,8 mm, agrandissez les trous à 1 mm pour les composants plus importants (relais, borniers, diodes D1, D2).
Le montage des composants peut commencer. Insérez tout d’abord les résistances, les diodes au silicium et le support pour le circuit intégré. Orientez le repère-détrompeur du support vers S1. Installez le trantransistor T1 et le régulateur U2 (78L05), en les orientant comme cela est indiqué sur le plan d’implantation des composants.
Le côté arrondi de U2 vers C2, le côté arrondi de T1 vers R7. Montez le relais miniature RL1 (type ITT-MZ 12 v ou équivalent) et les borniers permettant d’alimenter le circuit et de le relier à l’appareil à commander.
Pour terminer, il faut monter deux rangées de 5 picots mâles au pas de 2,54 mm à l’emplacement du circuit marqué "clavier". Cette double rangée de picots sert à insérer le connecteur du clavier matricé. Dans ces picots, il a été prévu également la liaison à la petite LED incluse dans le clavier.
Dans tous les cas, il faut utiliser un clavier à trois lignes et trois colonnes. Si vous utilisez un clavier différent de celui que nous vous proposons, pour ne pas vous tromper dans les connexions, identifiez au préalable les différents contacts en vous aidant de la documentation fournie par le vendeur ou en repérant les différents contacts à l’aide d’un ohmmètre.
Lorsque tous les composants sont soudés, vous pouvez insérer le microcontrôleur programmé dans sont support en faisant attention à son orientation.
Maintenant, la clef est prête à l’emploi, tout au moins pour un premier essai.
Alimentez la platine avec une alimentation capable de délivrer 10 à 15 volts sous 70 à 80 milliampères en appliquant le positif sur + Val et le négatif sur – (masse).
Dès la mise sous tension, la LED rouge s’allume et s’éteint après 2 secondes.
La première opération qu’il convient d’effectuer, est de débrancher l’alimentation, et de fermer l’interrupteur S1.
Remettre sous tension, afin d’effacer la mémoire EEPROM et avoir accès au code mémorisé par défaut.
La LED rouge s’allume et si ensuite aucune opération n’est effectuée durant 2 secondes, la clef est opérationnelle. Pour vérifier sont fonctionnement, il suffit de composer le code par défaut chargé par le programme dans l’EEPROM. Composez donc le code 1, 2, 3, 4, 5, 6. Vous devez voir la LED rouge s’allumer et entendre le relais se coller, puis se décoller après 2 secondes.
Essayez de remplacer le code par défaut avec un code de votre choix en procédant comme nous l’avons expliqué précédemment dans le paragraphe "Rôle de S1".



Notre serrure électronique est réalisée sur un petit circuit imprimé de 6,5 x 4 centimètres.
Le clavier à touches souples est relié à la platine par un câble en nappe imprimé sur mylar.
Le clavier est du type matricé avec trois lignes et trois colonnes. Il mesure 4 x 5 centimètres, il est étanche et les touches présentent un effet tactile.
Après avoir terminé le montage, vous pouvez installer le système à l’endroit qui vous paraîtra le plus adapté à votre usage.
La fixation du clavier ne présente pas de difficultés particulières, celui-ci étant autocollant, il suffit de retirer la pellicule de protection et de le coller sur le suppor t souhaité (coffret ou directement sur l’appareil à commander).
Commentaires



Font Size
+
16
-
lines height
+
2
-