Electronique > Réalisations > Clé électronique 001

Dernière mise à jour : 06/05/2012

Présentation

Ce montage permet de limiter l'accès à un système, au moyen d'une clé matérielle unique et plutôt difficile à pirater.

cle_001_pcb_3d_a

Il génère une impulsion de commande si la bonne clé matérielle (constituée de trois résistances fixes) est insérée au bon endroit. Il s'agit d'un système super simple à base de PIC 12F675, qui pourrait sans difficulté particulière être converti en montage sans composant programmable, mais au prix d'une complication exponentielle (je ne sais pas si ça se dit, mais le terme "exponentielle", avec un peu de chance, vous fera aussi peur qu'à moi).

Schéma

Essayez donc de faire plus simple pour des fonctions identiques...

cle_001

Mémorisation et reconnaissance clé physique
Au repos, c'est à dire quand aucune clé physique n'est insérée, les trois entrées analogiques AN0 à AN2 du IC sont portées à un potentiel nul via les résistances de rappel R1 à R3 reliées à la masse (pull-down), toutes de 10 kO. Quand on insère la clé, les trois résistances RK1 à RK3 forment un pont diviseur avec les résistances R1 à R3 (RK1 avec R1, RK2 avec R2 et RK3 avec R3), et la tension présente sur les trois entrées AN0 à AN2 s'en trouve modifiée puisqu'elle devient positive, de valeur comprise entre 0 V et +5 V. Bien sûr, on ne va pas s'arranger pour disposer d'une tension de 0 V. Quoique... c'est un code comme un autre. Imaginons que la résistance RK1 fait 10 kO. Dans ce cas, les deux résistances RK1 et R1 forment un pont diviseur par 2 (on néglige la résistance d'entrée du PIC, et je sais, c'est pas bien, mais comme on le verra plus loin on s'en fiche vraiment royalement). La tension en AN0 est donc de 5 V divisé par deux, soit +2,5 V. Voilà une première tension "codée". Si on adopte pour les deux autres entrées des tensions différentes (résistances RK2 et RK3 différentes de 10 kO), imaginez le nombre de combinaisons possibles... Vous avez compris le principe, il suffit de prendre trois résistances de valeurs différentes et de préférence comprises entre 100 ohms et 100 kO pour constituer votre code à trois valeurs.
Pour ce qui est de la reconnaissance de la clé, rien de plus simple. Il suffit de l'insérer et d'appuyer pendant une seconde sur le bouton poussoir SW1. Le PIC lit les tensions actuelles et les mémorise pour comparaison ultérieure... tout simplement ! Vous pouvez de la sorte changer le code quand vous voulez, sans vous causer de gros mal de tête. Bien entendu, le poussoir SW1 devra être aussi bien caché que le circuit principal.

Indication sonore "code" OK ou mauvais
En fonctionnement nominal, le PIC effectue en permanence une mesure des tensions présentes sur les trois entrées AN0 à AN2. Trois cas de figure peuvent se présenter :
Les bips sonores sont créés le plus simplement du monde en faisant alterner de manière régulière l'état logique de la broche GP5 du PIC (méthode décrite à la page Example de code MikroPascal - Production sonore).

Sortie principale
La sortie principale Out est de type TTL, 5 V sous 20 mA maxi. Ce qui est amplement suffisant pour piloter un relais via un petit transistor type 2N2222 ou BC108. Tel que le code est écrit et compilé, la sortie est active pendant une seconde à partir du moment où la bonne clé est insérée dans le connecteur J1. Si vous souhaitez disposer d'une sortie qui reste active tant que la clé est insérée, il vous suffit de modifier le code source fourni.

Alimentation
Il est très important que l'alimentation soit parfaitement régulée. Peu importe si elle fait 4,5 V ou 5,2 V, l'important est que ça ne bouge pas trop. Un régulateur de tension style 78L05 (boîtier TO92 plastique, version 100 mA) convient parfaitement, sa tension d'entrée devra être comprise entre +8 V et +15 V.
Ne pas utiliser de piles ni d'accus !

Prototype

Réalisé par Vincent.

cle_001_proto_vx_001a cle_001_proto_vx_001b

LED verte allumée si clé OK, LED rouge allumée dans le cas contraire.

Logiciel du PIC

Fichier binaire compilé (*.hex) et fichiers de code source (MikroPascal Pro V5.30) inclus dans l'archive zip que voici :
Clé électronique 001 - 12F675 - (06/05/2012)
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Réalisé en simple face, un seul trou de fixation suffira (notez qu'on a la place pour en mettre deux côte à côte si on préfère travailler par paire).

cle_001_pcb_composants

Typon aux formats PDF, EPS et Bitmap 600 dpi

Historique

06/05/2012
- Ajout d'un délai de 100 ms entre la sauvegarde d'une nouvelle clé et son rappel. Sans ce délai, la nouvelle clé était bien enregistrée en EEProm mais n'était rappelée qu'à la suite d'un arrêt / marche.
22/04/2012
- Correction erreurs dans formules écrites (merci Vincent).
- Ajout photos proto Vincent.
01/04/2012
- Première mise à disposition.