Un système TX / RX infrarouge à deux canaux

Ce système de contrôle à distance infrarouge compact pourra être utilisé à l’intérieur ou à l’extérieur pour couvrir des distances jusqu’à 15 mètres. L’émetteur est configurable pour commander jusqu’à huit récepteurs différents. La logique d’intervention des sorties, fonctionnant selon le principe d’auto-apprentissage des codes, est entièrement programmable.



Les télécommandes à infrarouges sont les plus simples car, codeur et décodeur mis à part, l’émetteur se limite à un transistor pilotant une ou plusieurs LED émettrices et le récepteur est constitué essentiellement d’une photodiode sensible aux infrarouges. Les techniques de codage/décodage mises en oeuvre sont par contre les plus modernes. L’utilité universelle d’un tel ensemble émetteur/récepteur de télécommande à deux canaux n’échappant à personne, commençons tout de suite sa description. L’émetteur, on le voit, tient dans un classique boîtier porte-clés et le récepteur, à peine deux fois plus encombrant, pourra se loger facilement là où vous en aurez besoin. Bien sûr, aucun obstacle ne devra s’interposer entre les deux LED IR d’émission et la photodiode de réception, moyennant quoi vous pouvez compter sur une portée de quinze mètres.

Les schémas électriques
L’émetteur
Celui de l’émetteur (voir figure 1) est fort simple : un microcontrôleur interfacé avec les deux touches et un transistor pilotant les deux LED IR. Le PIC est utilisé en factotum : il gère les touches grâce auxquelles l’usager envoie les commandes sur chacun des deux canaux, il produit les signaux codés correspondants puis les envoie au dispositif d’émission optique qui les adresse via l’éther au récepteur distant. Les codes sont au nombre de deux, un par canal : si on presse la touche 1 (SW1) on change l’état du relais RY1 du récepteur et si on presse la touche 2 (SW2) on affecte RY2 (par défaut). Le microcontrôleur ne se limite d’ailleurs pas à cela : le programme résident a en effet été écrit pour permettre à l’usager d’agir, avec un seul émetteur, sur (jusqu’à) huit récepteurs bicanaux. En d’autres termes, le micro de l’émetteur a en mémoire huit bases de codage (paires de codes) pouvant être appelées par une procédure très simple utilisant les deux touches servant à envoyer les commandes normales : en changeant (deux par deux puisqu’il y a deux canaux) les codes de l’émetteur suivant cette procédure simple, on peut commander successivement et séparément les (jusqu’à) huit récepteurs.
Le circuit est normalement au repos et, si aucune touche n’est pressée, il ne consomme aucun courant. Si l’on presse SW1 ou SW2 on met le micro sous tension et on sélectionne les deux codes mémorisés. ZD1 fournit le 5 V au PIC12F629 (huit broches) déjà programmé en usine. La pression d’une touche déclenche l’émission d’un flux de données codées dont les impulsions TTL sortent par la ligne GP2 pour polariser à travers R2 et LD3 la base de T1 (comme c’est un NPN, il se sature à chaque niveau logique haut et alimente avec le courant sortant de son collecteur les deux LED IR LD1 et LD2). Ces LED IR sont en série et non en parallèle pour limiter la consommation de courant. La troisième LED émet une lumière visible et s’allume à la pression d’une touche afin que l’usager sache que l’émission a bien lieu.
Le microcontrôleur de l’émetteur permet, on vient de le voir, de produire huit paires de codes différentes de façon à pouvoir le coupler à huit récepteurs qu’il commandera tour à tour par simple changement de paire de codes.
Mais comment fait le TX pour gérer toutes ces paires de canaux ? C’est simple : il charge une paire de codes à la fois au moyen d’une procédure consistant à presser et à maintenir pressées les deux touches en même temps (voir le dernier paragraphe de la figure 10).

Figure 1 : Schéma électrique de l’émetteur infrarouge à deux canaux.

Figure 2a : Schéma d’implantation des composants de l’émetteur infrarouge à deux canaux.

Figure 2b : Dessin, à l’échelle 1, du circuit imprimé de l’émetteur infrarouge à deux canaux.

Figure 3 : Photo d’un des prototypes de la platine de l’émetteur infrarouge à deux canaux.

Liste des composants de l'émetteur
R1 .... 470 Ω
R2 .... 470 Ω
R3 .... 47 Ω
R4 .... 33 kΩ
R5 .... 33 kΩ
R6 .... 33 kΩ
R7 .... 100 kΩ
R8 .... 100 kΩ
R9 .... 100 kΩ
C1 .... 100 nF multicouche
IC1 ... PIC12F629-EV162
D1 .... 1N4148
D2 .... 1N4148
ZD1 ... zener 5,1 V 1/2 W
LD1 ... LED IR (L-934F3BT)
LD2 ... LED IR (L-934F3BT)
LD3 ... LED 3 mm rouge
T1 .... BC639
SW1 ... micropoussoir
SW2 ... micropoussoir

Divers :
1 support 2 x 4
1 paire de contacts pour pile
1 boîtier plastique porte-clés


Le récepteur
Le schéma électrique du récepteur (voir figure 4) met en évidence l’utilisation d’un second PIC12F629 déjà programmé en usine employé comme décodeur : son programme résident comporte une routine spécifique capable de déchiffrer le code produit par l’émetteur. On ne voit en outre que quelques composants périphériques : le module IRx1 captant les rayons infrarouges, les deux relais permettant de contrôler les appareils utilisateurs et le régulateur VR1 produisant le 5 V stabilisé à partir de l’entrée 12 Vcc. Chaque fois que l’on pointe un émetteur vers le récepteur (la sensibilité du détecteur IR est telle cependant qu’un alignement n’est pas obligatoire : une réflexion sur un mur clair peut suffire à l’obtention de l’effet désiré) la photodiode comprise dans le module capte le signal numérique et augmente son courant de polarisation inverse à chaque pic d’émission.
Le circuit interne amplifie les variations et les met en quadrature pour obtenir les niveaux logiques qu’il peut alors acheminer vers la ligne GP3 du micro.
Après l’initialisation des E/S, le logiciel du PIC attend en boucle un changement de la condition logique de sa broche 4 : quand il se produit, c’est que le module a reçu une onde IR modulée et la subroutine de décodage peut alors commencer à analyser le signal (vérifiant d’abord qu’il a le bon format puis, en cas d’issue positive, le comparant à ceux mémorisés dans la “flash” EPROM lors de l’auto-apprentissage ou, s’il ne l’a pas, abandonnant la procédure et retournant à la phase d’attente d’une nouvelle commutation sur GP3).
La comparaison des codes prévoit avant tout la vérification de la partie fixe, soit la paire de codes évoquée plus haut à propos de l’émetteur : ceci parce que le récepteur doit tout de suite savoir si la commande reçue provient du TX auquel il est associé ou non (si non il abandonne la procédure). Si la compatibilité avec la partie fixe du code est confirmée, le micro analyse la partie variable et la compare avec celles mémorisées : si la correspondance est avérée pour au moins l’une d’elles, il met au niveau logique haut la sortie correspondant au canal concerné, en fonction du mode programmé par l’usager. Les sorties peuvent en effet travailler en impulsionnel ou en niveau (ce qui peut être choisi au moyen de la télécommande après couplage du TX et du RX. Voir figure 10, là encore, mais premier paragraphe cette fois).
En impulsionnel chaque comparaison du code avec issue positive détermine un niveau logique haut d’une seconde environ sur la ligne de sortie concernée : par exemple, si la commande reçue est celle du premier canal, GP0 passe au niveau logique 1 (5 V) et y reste une seconde, temps suffisant pour que T1, saturé, maintienne excité RY1. Si, en revanche, c’est le second canal quI est concerné, l’impulsion part de la ligne GP1 pour atteindre la base de T2 dont le collecteur alimente et excite RY2 pendant la même durée.
LD2 et LD3 en série avec bases des deux BJT jouent le rôle de témoins lumineux de fonctionnement car elles s’allument quand la sortie du PIC auquel elles sont reliées est au niveau logique 1, ce qui sature les transistors et donc indique l’état des relais. La troisième LED est utilisée par le micro différemment selon qu’il fonctionne comme décodeur ou qu’il est en phase d’autoapprentissage : dans le premier cas elle clignote lorsqu’elle reconnaît un code valide impliquant une commande de RY1 ou RY2, dans le second elle confirme l’exécution des diverses opérations (mode d’activation des sorties, couplages du TX avec les RX). Quant à la ligne GP5, elle est paramétrée comme entrée car elle sert au micro pour lire l’état du poussoir de programmation SW1 : à tout moment quand on presse ce dernier le logiciel suspend le mode décodeur et passe aux modes évoqués ci-dessus. N’oubliez pas que la pression sur l’une des touches de l’émetteur ne produit qu’un seul envoi de données : par exemple, si l’on veut faire apprendre le code d’un canal du TX, le récepteur retourne en mode normal après avoir mémorisé ce code et produit la signalisation correspondante.
Il va de soi que si l’on veut coupler les deux touches d’un émetteur il faut presser SW1, émettre, attendre la confirmation, puis presser à nouveau SW1 et continuer. Même chose pour le paramétrage du mode bistable/impulsionnel des sorties.
Si l’on presse et maintient pressée la touche alors qu’on applique l’alimentation aux points 12 Vcc, on provoque la remise à zéro de la mémoire et l’élimination de tous les codes éventuellement mémorisés. Le micro réinitialise les paramètres entrés, les deux sorties fonctionnant alors en monostable et répondant aux canaux 1 et 2 (ce que LD1 confirme par cinq éclairs rapides).
Quant à la programmation du récepteur, pour qu’il puisse recevoir une commande et actionner le relais, le dispositif doit avant tout posséder en mémoire les codes correspondant à ceux produits par l’émetteur. Ces codes sont auto-appris en pressant SW1 autant de fois que nécessaire pour que la LED du canal à configurer s’éclaire en lumière fixe. Par exemple, pour l’auto-apprentissage du premier canal, il faut presser la touche autant de fois que nécessaire pour allumer en fixe LD2 (le relais se déclenche en même temps) : il suffit alors de pointer l’émetteur vers le module du récepteur et de presser la touche à laquelle on souhaite faire correspondre le relais correspondant à LD2 (RY1). Le signal étant reçu et le code appris, la LED s’éteint, RY1 se relaxe et LD1 lance un éclair de confirmation. Même chose pour le second canal : presser sur SW1 pour faire s’allumer LD3 (et déclencher RY2) et pointer le TX vers le module du RX, puis presser la touche à laquelle on veut faire correspondre le canal 2 et un éclair de LD1 confirmera la réussite de l’opération (LD3 s’éteindra et RY2 se relaxera). Il est bien sûr possible de changer à tout moment la correspondance entre les touches de l’émetteur et les relais du récepteur : pour cela il suffit de presser le SW1 de ce dernier et de procéder à un nouveau couplage (voir figure 10, paragraphes 2 et 3).
Le mode de fonctionnement des relais peut être paramétré individuellement en impulsionnel ou en niveau : ceci grâce à SW1 encore. Maintenez-le pressé pendant une émission : à la première émission le canal correspondant à la touche pressée passe du mode impulsionnel au mode bistable (confirmation par LD1 qui émet deux éclairs), puis une autre pression sur cette même touche et on repasse au mode impulsionnel (confirmation par un seul éclair de LD1).
Donc, à chaque tentative de modification on inverse le mode d’activation du relais (voir figure 10, paragraphe 1).

Figure 4 : Schéma électrique du récepteur infrarouge à deux canaux.

Figure 5a : Schéma d’implantation des composants du récepteur infrarouge à deux canaux.

Figure 5b : Dessin, à l’échelle 1, du circuit imprimé du récepteur infrarouge à deux canaux.

Figure 6 : Photo d’un des prototypes de la platine du récepteur infrarouge à deux canaux.

Liste des composants du récepteur
R1 .... 560 Ω
R2 .... 560 Ω
R3 .... 560 Ω
R4 .... 47 kΩ
R5 .... 47 kΩ
R6 .... 47 kΩ
R7 .... 47 kΩ
C1 .... 100 μF 25 V électrolytique
C2 .... 100 nF multicouche
C3 .... 100 nF multicouche
IC1 ... PIC12F629-EV161
VR1 ... 7805
D1 .... 1N4007
D2 .... 1N4148
D3 .... 1N4148
LD1 ... LED 3 mm rouge
LD2 ... LED 3 mm rouge
LD3 ... LED 3 mm rouge
T1 .... BC547
T2 .... BC547
IRx1 .. IR38DM
SW1 ... micropoussoir
RY1 ... relais 12 Vcc miniature
RY2 ... relais 12 Vcc miniature
Toutes les résistances sont des 1/4 W 5 %

Divers :
1 support 2 x 4
3 borniers à 2 pôles


La réalisation pratique
La réalisation pratique de ce système émetteur/récepteur IR ne comporte aucune difficulté particulière.
Deux platines, bien sûr, une pour le très petit émetteur et une guère plus grande pour le récepteur : les deux circuits imprimés sont des simple face, les figures 2b (TX) et 5b (RX) en donnent les dessins à l’échelle 1. Insérez et soudez tous les composants en commençant par les deux supports de PIC (un par platine) et en terminant par les contacts de pile (TX) et les borniers d’entrée et de sorties (RX), pour cela aidez-vous respectivement des figures 2a et 3 et 5a et 6.
Installez ensuite la petite platine émettrice (avec sa pile) dans son minuscule boîtier plastique porte-clés (photo de début d’article) et la platine du récepteur à l’intérieur de l’appareil à commander, dans un boîtier mural ou dans un boîtier plastique propre de dimensions adéquates à placer près du dispositif à contrôler. Le récepteur est à alimenter en 12 Vcc (courant entre 150 et 200 mA) et ses deux sorties, configurées à votre convenance ou laissées telles quelles (par défaut) sont à relier aux appareils à commander.
Attention : le module récepteur ne doit pas être éclairé directement par une lumière (par exemple un lustre ou un spot) sous peine de diminuer notablement la portée du système.

Figure 7 : Connexions et signalisation.

1) LED de signalisation sortie 2.
2) LED de signalisation sortie 1.
3) LED de signalisation porteuse IR.
4) Module récepteur infrarouge IR38DM.
5) Poussoir de programmation.
6) Bornier d’alimentation.
7) Bornier sortie canal 1.
8) Bornier sortie canal 2.


Figure 8 : Brochage de deux des circuits intégrés utilisés. À gauche, le PIC12F629 et à droite le IR38DM.

Figure 9 : Contrôle des charges de puissance.

Les relais du récepteur sont utilisés comme de simples interrupteurs et donc, sur les borniers correspondants, arrivent exclusivement les contacts NO (normalement ouvert) et C (commun) : vous pouvez par conséquent les utiliser pour ouvrir ou fermer des circuits d’alimentation de lampes, moteurs électriques, circuits électriques et électroniques, enroulement de relais, ou d’éventuels servorelais, mais pas pour la commutation. Pour tous les emplois, les limites sont celles des composants utilisés : comme nous avons choisi des relais 3 A sous 120 VAC, le récepteur peut gérer des charges basse tension (jusqu’à 120 VCC ou CA) consommant jusqu’à 3 A. Si la charge à contrôler fonctionne sous une tension plus élevée (secteur 230 V par exemple) ou consomme davantage, il est nécessaire de monter un servorelais dont les caractéristiques seront adaptées à vos besoins. Le schéma est celui d’un circuit de puissance simple utilisant un servorelais en mesure de contrôler des charges secteur 230 V.

Figure 10 : Paramétrage du TX et du RX.

L’émetteur et le récepteur ont bien sûr des codes par défaut qui se correspondent !
Par conséquent, si on presse la touche 1 du TX porte-clés, on active le canal 1 du RX (pratique, non ?) et de même avec la touche 2 pour le canal 2. Dans les deux cas le système fonctionne en mode impulsionnel (la sortie du récepteur reste activée tant que la touche du TX reste appuyée). Pour modifier ce fonctionnement, il faut procéder comme suit :
Fonctionnement impulsionnel ou bistable
Pour modifier le mode de fonctionnement du premier canal, pressez et maintenez pressé le poussoir de programmation du récepteur puis pressez une ou plusieurs fois la première touche de l’émetteur. À chaque pression sur cette touche LD1 clignote une fois puis deux, puis encore une fois et ainsi de suite. Relâchez le poussoir de programmation dès que la LED a clignoté une fois : le canal correspondant fonctionnera de manière impulsionnelle ; si vous le relâchez après deux clignotements, il fonctionnera en mode bistable. Le second canal sera réglé de la même façon.
Appendre un code différent
Les émetteurs peuvent produire des codes différents de celui par défaut (voir ci après comment modifier le code de l’émetteur) afin de permettre à plusieurs systèmes de travailler dans un même lieu. Pour apprendre des codes différents, il est nécessaire de procéder comme suit : pressez plusieurs fois le poussoir de programmation jusqu’à ce que la LED du canal qui vous intéresse s’allume. Avec le poussoir PROG relâché et la LED allumée, pressez brièvement la touche du canal de l’émetteur : LD1 clignote, brièvement elle aussi, confirmant la mémorisation du code et tout de suite après les LED reviennent au repos. Pour vérifier que le code a été appris correctement, il suffit de presser la touche de l’émetteur.
Le second canal sera réglé, si nécessaire, de la même façon.
Retour aux paramètres par défaut
Si vous voulez revenir au fonctionnement et aux codes par défaut, il suffit de couper l’alimentation du circuit, de presser le poussoir de programmation et de rétablir l’alimentation du récepteur : après quelques instants LD1 clignote cinq fois pour signifier le retour aux conditions de départ (dites “par défaut”)
Modification des codes de l’émetteur
Chaque émetteur est en mesure de produire seize codes différents attribués deux par deux aux deux touches du TX. Par défaut, le code 1 est donné à la touche 1 et le code 2 à la touche 2, mais il est possible, par exemple, de leur donner les codes 5 et 6 ou bien 13 et 14 et ainsi de suite. Pour changer les codes de l’émetteur, il suffit de presser et maintenir pressées en même temps les deux touches : après cinq secondes environ la LD3 du TX commence à clignoter rapidement avec des pauses d’environ 1,5 seconde. Chaque série d’éclairs correspond au numéro d’ordre de la paire de codes : quand on relâche les deux touches après la première série d’éclairs on leur attribue les codes 1 et 2 ; après la deuxième série d’éclairs on leur attribue les codes 3 et 4 jusqu’à la dernière série d’éclairs (codes 15 et 16 attribués).
Commentaires



Font Size
+
16
-
lines height
+
2
-