Une télécommande FM KeeLoq 2 canaux sur 433,92 MHz

Il s’agit de la première télécommande* en modulation de fréquence disponible sur le marché. Contrairement aux systèmes en AM, cette technologie garantit une immunité très élevée aux perturbations et elle est, par conséquent, tout à fait adaptée à des dispositifs devant travailler dans le voisinage des ensembles industriels, des tours hertziennes et autres pylônes à très haute tension, etc. Codifiée avec HCS301 de Microchip, sa sortie est monostable ou bistable.





Les dispositifs pour la commande à distance par voie hertzienne publiés jusqu’alors dans notre blog se différenciaient, certes, entre eux par la fréquence de travail, la codification, la puissance, etc. mais ils avaient tous un point commun : la modulation d’amplitude (AM). L’émetteur module une porteuse HF en faisant varier son amplitude et, par conséquent, sa puissance irradiée, analogiquement avec les états logiques émis et le récepteur démodule ce qu’il reçoit en éliminant la partie HF et en conservant seulement l’enveloppe.

Les systèmes de télécommande l’ont utilisée pour deux raisons : les circuits AM sont faciles à construire et sont peu encombrants mais, surtout, ils sont bon marché. Les dimensions sont un facteur déterminant lorsqu’on doit réaliser un émetteur, par exemple, au format porte-clés. Même discours pour le récepteur. Il faut ajouter à cela la moindre complexité des montages radio en AM. En effet, le récepteur peut être réduit à un seul transistor associé à une self et quelques résistances et condensateurs. Cela s’appelle une super-réaction, un seul élément actif associé à un circuit antirésonant peut amplifier la HF et démoduler l’AM.



* Nous avons réservé le terme “radiocommande“ pour désigner les commandes à distance couvrant de quelques dizaines de mètres à plusieurs kilomètres et mettant en oeuvre un émetteur puissant, contenu dans un boîtier qui, normalement, ne peut servir de porte-clés !

Le terme “télécommande“, lui, s’applique aux commandes à distance couvrant de quelques mètres à quelques dizaines de mètres et impliquant, comme émetteur, un petit boîtier du même type que ceux utilisés pour l’ouverture des portes de votre automobile.


Mais cela ne signifie pas que les télécommandes doivent toutes fonctionner ainsi. En effet, pour telle ou telle application où la complexité, l’encombrement et le coût n’ont peu ou pas d’importance, on adopte parfois aussi la modulation de fréquence (FM).

Dans ce mode, l’émetteur produit une porteuse HF dont la fréquence varie dans une certaine latitude (appelée delta F ou excursion de fréquence), en dessus et en dessous de la valeur de repos (F0, fréquence centrale ou centre du canal). Le récepteur, lui, démodule au moyen d’un circuit accordé à déphasage, restituant une tension d’autant plus élevée que l’excursion de fréquence de la porteuse synthétisée est plus grande.

Sans trop entrer dans les détails nous pouvons dire que la FM offre de meilleurs résultats, surtout en termes d’immunité aux perturbations radioélectriques irradiées par les commutations des dispositifs électromécaniques et électroniques, mais aussi en ce qui concerne les interférences dues à l’électricité statique de l’atmosphère.

La raison essentielle en est la suivante : la démodulation AM est obtenue au moyen d’une simple diode HF, redressant la porteuse captée par le circuit accordé et amplifiée par l’étage d’entrée. On recueille ainsi les impulsions à travers un condensateur de dimensions adéquates et on obtient un signal reproduisant le signal modulant émis. Il est important de comprendre qu’avec les impulsions recueillies en redressant la porteuse, les éventuelles charges atmosphériques ou pics émis par la commutation des moteurs, des triacs, des inductances élevées et autres impulsions électriques dont la longueur d’onde et la puissance sont telles qu’elles peuvent interférer avec le récepteur, passent aussi dans le détecteur-démodulateur AM.

Dans le cas des télécommandes et des dispositifs pour la communication numérique sans fil, la sensibilité aux perturbations impulsionnelles est au détriment de l’intelligibilité des signaux, quand l’amplitude des interférences est comparable à celle de la porteuse captée par l’antenne réceptrice. En effet, la superposition des impulsions indésirables rend difficile l’opération de décodification ou, du moins, le travail du dispositif devant identifier les informations à l’arrivée.

Pour une même puissance et pour la même codification, une télécommande ou un système de communication de données modulés en AM auront une portée utile plus faible que ceux modulés en FM.

A puissance et fréquence égales, le système en AM sera moins lisible pour la même distance.











Notre montage

L’emploi de la FM est donc conseillé, sinon indispensable, pour certaines applications. C’est pourquoi nous avons jugé intéressant de vous proposer une télécommande fonctionnant en FM : cet article vous en décrit le montage. L’opportunité nous en a été offerte par la récente disponibilité de modules hybrides AUREL consacrés à cet usage. Il s’agit d’un nouvel émetteur bicanal de 0,5 mW avec porteuse à 433,92 MHz modulée en fréquence (FM) et d’un récepteur SMD avec brochage SIL (“Single-in-line”), prévu pour un montage sur circuit imprimé.

Ce RX dispose d’un étage d’accord de type superhétérodyne, avec filtre SAW, accordé sur 433,92 MHz, à conversion de fréquence avec FI (fréquence intermédiaire) de 10,7 MHz. Comme l’émetteur (qui est un produit complet prêt à être installé dans un boîtier plastique au format porte-clés) est codifié avec le codeur Microchip HCS301, l’étage de décodification du récepteur comporte un microcontrôleur capable de déchiffrer l’algorithme KeeLoq sur lequel est basé tout le fonctionnement du codeur.

Le résultat de ce mariage est un système de télécommande en mesure de couvrir une distance théoriquement triple de celle qu’aurait couvert un système fonctionnant en AM, tous les autres paramètres étant égaux par ailleurs. Notre télécommande FM est à code variable (“rolling-code”) donc, de ce fait, pratiquement inviolable, ni clonable, ni répétable et disposant de plusieurs milliards de combinaisons possibles.

Voyons pourquoi. C’est un peu compliqué, alors si vous nous croyez sur parole et que ces détails vous paraissent secondaires, passez directement au paragraphe suivant.



La codification KeeLoq

Le signal émis est codifié au moyen d’une puce Microchip HCS301 utilisant un algorithme particulier, le KeeLoq.

Ce même algorithme doit être installé dans le microcontrôleur utilisé comme décodeur du récepteur.

Chaque émission produit un flux de 66 bits, 28 fixes, 32 variables et 6 transmettant les informations pour la resynchronisation du récepteur et celles concernant la touche pressée du TX.

Quand le codeur est activé et que le récepteur capte son signal, l’algorithme KeeLoq installé dans le microcontrôleur décodeur se prépare à déchiffrer le code de l’émission suivante.

Ainsi, quand le TX émet, il sait déjà à quel code il doit s’attendre.

Le système admet une certaine tolérance (marge d’erreur) : 16 tentatives peuvent être faites pour que le codeur soit reconnu.

Après 16 tentatives inefficaces, il faut resynchroniser manuellement télécommande et récepteur car ce dernier ne répond plus.

Il y a encore une possibilité : si on émet deux fois de suite, dans l’aire de couverture de la télécommande, le décodeur se resynchronise automatiquement sur le codeur.

Bien sûr, à condition que l’émetteur soit l’un de ceux précédemment mémorisés, sinon cela ne marche pas ! Les informations pour la resynchronisation sont contenues dans les 6 derniers bits des flux produits par le HCS301 et communiquent, justement, le pas actuel. Les 4 premiers bits donnent l’état du compteur de synchronisme (2 à la puissance 4 cela fait justement 16 pas) alors que les deux derniers donnent des informations sur la touche pressée.

Si tout cela est clair, voyons maintenant comment sont produits les codes, c’est-à-dire quelle est la matrice qui les crée et qu’est-ce qui permet de coupler un TX et un RX.

Le code fixe, c’est-à-dire les 28 premiers bits de chaque flux, doit être programmé de l’extérieur au moyen d’une broche spécifique du HCS301. Les 32 bits variables sont produits en combinant, selon un algorithme non linéaire, le code fixe (les fameux 28 bits) avec une clé de cryptographie de 64 bits, univoque pour chaque codeur. Pour le garantir, le constructeur écrit en usine un “Manufacturer Code” de 64 bits pour caractériser chaque puce. Ce code peut cependant être modifié dans le but de créer des séries personnalisées de codeurs.

Il ne faut pas confondre la clé de cryptographie avec le “Manufacturer Code” car ce sont deux choses tout à fait différentes : la clé de cryptographie, toujours prête et à la disposition de l’algorithme, n’est programmée ni en usine ni par l’OEM, mais elle est produite automatiquement par le HCS301 quand on lui introduit le code fixe de 28 bits.

Forts de ces notions, vous pouvez enfin saisir ce qui se passe dans un système de commande à distance fondé sur le HCS301. Supposons que nous émettions avec un TX portable et voyons ce qui se passe dans le microcontrôleur décodeur : ce dernier lit le flux arrivant et le déchiffre en utilisant la même clé cryptée que celle utilisée en émission. Celle-ci est récupérée localement sur la base du code à 28 bits mémorisé par le microcontrôleur pendant la phase d’auto-apprentissage, indispensable pour qu’un TX puisse accéder à la commande.

La clé est synthétisée de la même manière que pour le codeur, en appliquant l’algorithme KeeLoq : le code de base et le “Manufacturer Code” se combinent. Ce dernier est écrit dans le logiciel du microcontrôleur de l’OEM, c’est-à-dire le producteur de la télécommande.

On trouve auprès de nos annonceurs les émetteurs (TX) et les microcontrôleurs (RX) déjà appairés, c’est-à-dire que l’on peut associer : le PIC du RX a déjà acquis la mémorisation du “Manufacturer Code” du HCS301 du TX auquel il sera couplé. Cela garantit l’interprétation correcte des données pendant la phase d’auto-apprentissage, sans quoi elles ne pourraient pas être reconnues.



Le schéma électrique

Maintenant que nous avons éclairci (du moins nous l’espérons !) la méthode de codification, voyons comment est faite notre télécommande en analysant tout d’abord l’unité émettrice (voir figure 3), essentiellement constituée d’un micro-émetteur de poche opérant à 433,92 MHz en FM, doté de deux touches poussoirs, chacune allumant le TX et activant une entrée du codeur HCS301 intégré. Le module hybride émetteur se trouve tout fait, monobloc, prêt à utiliser : c’est pourquoi nous n’en donnons ici que l’organigramme.

Le récepteur est plus remarquable et plus complexe : aussi en donnons-nous le schéma (figure 1) ainsi que l’organigramme du module hybride AUREL constituant sa partie HF (figure 4). Il se compose, outre l’étage radiorécepteur hybride que l’on vient d’évoquer, d’un microcontrôleur s’occupant de déchiffrer les codes et de commander les relais de sortie, d’une mémoire contenant les codes appris et d’une alimentation stabilisée des plus simples qui, à partir d’une tension d’entrée (12 Vcc typique), fournit le 5 V servant à faire fonctionner l’ensemble du circuit, relais exclus.

Le radiorécepteur (module hybride AUREL RX-4M50FM60SF) contient un étage d’entrée composé d’un amplificateur HF et d’un filtre SAW accordé sur 433,92 MHz. L’étage d’accord est de type à conversion de fréquence et il est suivi d’un démodulateur à quadrature (recueillant l’onde carrée modulante).

Comme ses cousins les modules hybrides récepteurs AM, ce module FM (qui partage avec eux le brochage) présente deux sorties de prélèvement du signal : la broche 13 fournit la composante démodulée, la 14 restitue le signal traité par le comparateur interne. C’est cette dernière qu’utilise notre application puisque nous devons traiter des données numériques et qu’il est commode d’avoir des impulsions à fronts de montée et de descente bien définis.

Le schéma électrique indique que la broche 14 est reliée à la 10 (RA1) du microcontrôleur : c’est la ligne le long de laquelle transitent les données à élaborer. Chaque fois qu’on actionne l’émetteur dans l’aire de couverture de la télécommande, l’antenne réceptrice capte la porteuse modulée en FM, le module hybride U2, accordé sur la fréquence de cette porteuse, en extrait le flux de données et le passe au microcontrôleur EM307 (U4). Dès que celui-ci détecte la commutation sur sa broche 10, il déclenche la routine de décodification comportant les actions suivantes :

a) vérification sommaire du format des données ;

b) application de l’algorithme KeeLoq ;

c) synthèse des clés de cryptographie ;

d) extraction du code fixe et comparaison avec ceux, déjà appris, présents dans l’EEPROM externe.

Cette dernière est une mémoire sérielle 93LC46 (U3), gérée par les broches 11 et 12 du PIC. En elle sont écrits les codes de 28 bits extraits des flux en phase d’auto-apprentissage.

Puisque nous l’avons évoqué, définissons une fois pour toutes l’attribution des émetteurs habilités à la commande du récepteur. Disons d’abord que le système prévoit de lui associer au maximum 10 TX dont les codes seront mémorisés, justement, dans l’EEPROM sérielle U3. Quand ces codes seront acquis, lorsqu’on voudra ajouter un nouvel émetteur, il faudra effacer la mémoire et procéder de nouveau à l’acquisition de la totalité, toujours dans la limite de 10.

La procédure commence avec la fermeture du cavalier J1 lorsque le circuit est éteint : ceci parce que le logiciel du microcontrôleur lit la broche active (broche 1) quand on établit l’alimentation.

A la mise sous tension du circuit, la LED rouge (LD3) s’allume. On peut alors procéder de deux manières : en laissant J1 fermé pendant plus de 8 secondes, le microcontrôleur efface le contenu de l’EEPROM externe (l’effacement est confirmé par l’extinction de la LED) ; si nous l’ouvrons avant, il entre en phase d’auto-apprentissage (non signalée).

Pour coupler un émetteur, il suffit de presser l’un ou l’autre de ses deux poussoirs dans l’aire de couverture de la télécommande. La réception du train d’impulsions est signalée par un éclair de LD3. A ce moment, l’opération est terminée et si l’on presse une seconde fois le poussoir du TX, on obtient l’excitation du relais. Pendant une phase d’auto-apprentissage, le récepteur ne peut s’associer qu’à un seul TX à la fois. Par conséquent, pour en associer d’autres, il faut couper l’alimentation du circuit et la remettre après avoir fermé J1, en ayant l’habileté, une fois le circuit de nouveau alimenté, d’ouvrir J1 avant que 8 secondes ne se soient écoulées.

Dans toutes les situations, quand le récepteur capte un train d’impulsions, la LED clignote : si le TX est un de ceux mémorisés, le relais est excité ; dans le cas contraire, il ne se passe rien.

Notez que lorsqu’un TX est associé, ses deux canaux sont actifs indépendamment de la touche poussoir avec laquelle l’opération a été accomplie. En d’autres termes, si, pour associer un TX, on actionne la touche gauche, en usage normal, l’une ou l’autre touche est également efficace.

A ce propos, voyons rapidement le fonctionnement de la platine avec un TX habilité : quand on émet, si le flux est du bon format, le code fixe extrait est égal à un de ceux présents dans l’EEPROM et le code variable est constitué d’une combinaison parmi les 16 admises par la tolérance de synchronisme. Le logiciel conserve les deux derniers bits et commande les sorties en fonction de leur état. Pour être plus précis, si la combinaison correspond à l’activation de l’entrée 1 du HCS301, le PIC met au niveau logique haut (1) sa broche 6, sature T1 et fait coller RL1. Si, en revanche, le contenu exprime l’activation de l’entrée 2, le microcontrôleur commande RL2 par sa broche RB1.

Qu’est-ce qui décide du comportement des relais, et par conséquent des deux sorties ? Ce sont les micro-interrupteurs DS1, bien sûr (figure 5) ! Celui qui est relié à la broche 8 du microcontrôleur concerne le premier canal (RL1) ; l’autre (broche 9) gère le second (RL2). Pour les deux, le micro-interrupteur ouvert implique le mode bistable ; fermé le mode monostable. Dans le premier cas, la réception de chaque commande inverse l’état du relais correspondant par rapport à l’état actuel ; dans le second, le code valide provoque l’excitation du relais pendant environ 1 seconde suivie de sa relaxation, même si la touche de l’émetteur est maintenue appuyée.



Figure 1 : Schéma électrique du récepteur FM de télécommande.



Figure 2 : Photo d’un des prototypes du récepteur laissant apparaître le brin d’antenne, un simple morceau de fil de cuivre quart d’onde, soit environ 17 cm.



Caractéristiques techniques de l’émetteur





PAR .......................... 0,5 mW

Fréquence .................. ± 25 kHz

Fréquence travail ............ 433,92 MHz

Codification ................. HCS301

Alimentation ................. 12 Vcc

Consommation ................. 10 mA


Figure 3 : L’émetteur de télécommande TX-2CFM433.



Caractéristiques techniques du récepteur







Alimentation ............................... 5 Vcc

Consommation ............................... 6 mA

Fréquence travail .......................... 433,92 MHz

Sensibilité HF ............................. –111 dBm

BP HF à –3 dB .............................. 600 kHz

BP FI à –3 dB .............................. 70 kHz

Onde carrée en sortie ...................... 2 kHz

Emissions HF indésirables à l’antenne ...... < –80 dBm

Temps de montée ............................ < 0,2 s

Température travail ........................ –20 à +80 °C


Figure 4 : Le récepteur RX-4M50FM60SF.



La sensibilité élevée de réception (–111 dBm) et la modulation de fréquence (FM) permettent à ce couple TX/RX de travailler en milieu fortement perturbé sans problème. La portée pratique est notablement supérieure à celle d’un système de même puissance travaillant en AM.



Figure 5 : Paramétrage des micro-interrupteurs.



Les deux micro-interrupteurs utilisés par le circuit permettent de choisir le mode de fonctionnement des deux relais (bistable ou monostable). Le micro-interrupteur DS1/1 contrôle le fonctionnement du premier relais ; DS1/2 agit sur le second canal. Pour obtenir le fonctionnement monostable, le micro-interrupteur correspondant doit être placé sur ON . Avec le micro-interrupteur sur OFF, on obtient le fonctionnement bistable.



Figure 6 : Schéma d’implantation des composants du récepteur de télécommande.



Figure 7 : Photo d’un des prototypes du récepteur de télécommande.



Figure 8 : Dessin, à l’échelle 1, du circuit imprimé du récepteur de télécommande.



Liste des composants

R1 = 10 kΩ

R2 = 10 kΩ

R3 = 10 kΩ

R4 = 10 kΩ

R5 = 10 kΩ

R6 = 1 kΩ

R7 = 10 kΩ

R8 = 47 kΩ

R9 = 1 kΩ

R10 = 10 kΩ

R11 = 47 kΩ

R12 = 10 kΩ

R13 = 1 kΩ

C1 = 100 nF multicouche

C2 = 220 μF 16 V électrolytique

C3 = 220 μF 25 V électrolytique

C4 = 10 pF céramique

D1 = Diodes 1N4007

D2 = Diodes 1N4007

D3 = Diodes 1N4007

LD1 = LED verte 5 mm

LD2 = LED verte 5 mm

LD3 = LED rouge 5 mm

U1 = Régulateur 7805

U2 = Module hybride AUREL RX-4M50FM60SF

U3 = Mémoire 93LC46

U4 = μContrôleur EM307

DS1 = Dip-switchs 2 micro-interrupteurs

RL1 = relais min. 12 V 1 RT

RL2 = relais min. 12 V 1 RT

J1 = Strip 2 picots + cavalier

T1 = NPN BC547

T2 = NPN BC547



Divers :

1 Support 2 x 4 broches

1 Support 2 x 9 broches

4 Borniers 2 pôles





Figure 9 : Modalités d’utilisation.

Utilisation normale

J1 = ouvert DS1/1 = ON ou OFF DS1/2 = ON ou OFF (ON = monostable OFF = bistable)

La LED LD3 clignote toujours quand le récepteur détecte une émission d’un TX mais le relais ne s’excite pas si le code du TX n’est pas parmi ceux mémorisés.



Mémorisation TX

J1 = fermé et rouvert avant 8 secondes DS1/1 = X DS1/2 = X

Eteindre et rallumer le récepteur avec J1 fermé, rouvrir J1 avant 8 secondes et presser une touche du TX. Le code du TX est immédiatement mémorisé et à la seconde pression le relais correspondant est activé. Pour mémoriser un autre TX il faut éteindre et rallumer le récepteur et répéter la procédure. Il est possible de mémoriser au maximum 10 émetteurs.



Effacement TX

J1 = fermé DS1/1 = X DS1/2 = X

Eteindre et rallumer l’émetteur avec J1 fermé et attendre au moins 8 secondes.

La LED LD3, initialement allumée, s’éteint après 8 secondes, signalant ainsi que les codes sont effacés.







La réalisation pratique

Il faut tout d’abord se procurer ou fabriquer le circuit imprimé du récepteur (le seul, au demeurant, puisque l’émetteur est disponible tout monté, réglé et prêt à être couplé à son récepteur) dont la figure 8 donne le dessin à l’échelle 1.

Quand celui-ci est gravé et percé, vous pouvez commencer à insérer les composants (voir figures 6 et 7) en commençant par les plus bas de profil (résistances, diodes : attention à leur polarité, c’est-à-dire l’orientation de leur bague par rapport au circuit imprimé), poursuivez avec les transistors (orientez correctement le méplat de leur boîtier plastique), les LED (méplats dans la bonne direction), les supports de circuits intégrés (repère-détrompeur en U dans le bon sens), les 3 borniers et les relais : ils doivent être de type miniature, avec les sorties d’enroulements voisines et non opposées. Pensez à respecter la polarité des deux condensateurs électrolytiques. Le régulateur de tension U1 7805 est monté debout sans dissipateur : orientez-le, partie métallique tournée vers l’extérieur du circuit imprimé.

Quand les soudures sont terminées, insérez le microcontrôleur U4 EM307, déjà programmé en usine, dans son support (c’est le plus grand, 2 X 9 broches). Faites de même pour l’EEPROM U3 93LC46 (2 X 4 broches). Là encore, respectez bien l’orientation du repère-détrompeur en U.

Le système est maintenant prêt pour les essais. Pour alimenter le récepteur il faut une source, stabilisée si possible (c’est mieux), donnant une tension entre 12 et 15 Vcc sous 100 mA au moins, à connecter aux points + et – POWER.

Avant de brancher l’alimentation, il faut procéder à l’effacement de l’EEPROM, étant donné que, très probablement, elle contient des données aléatoires. Pour cela, fermez le cavalier J1 et alimentez la platine. Vérifiez que la LED rouge s’allume et qu’elle s’éteint après 8 secondes. La mémoire est alors effacée et vous pouvez commencer l’auto-apprentissage.

1 commentaires:

  1. Bonjour, je voudrais réaliser ce montage, j'ai trouvé tous les composants suaf le PIC EM307; C'est quel PIC exactement que vous utilisé?

    RépondreSupprimer

Related Posts Plugin for WordPress, Blogger...