Electronique > Réalisations > Télécommandes > Télécommande 007

Dernière mise à jour : 13/08/2017

Présentation

Cette télécommande permet de mettre en ou hors fonction entre 1 et 10 équipements à distance (dans un même bâtiment) en se servant du réseau EDF comme support de transmission.

telecommande_007_pcb_3d_a

Le principe consiste à envoyer des ordres de commandes sur les lignes du secteur, c'est à dire superposés à la tension 230 Vac. Ces commandes sont constituées d'impulsions de fréquence élevée (150 kHz) délivrées sous formes de petits paquets (chaque paquet correspond à un bit de données) eux-mêmes délivrés à une vitesse modeste (1200 bits par seconde). Les données de commande peuvent circuler librement dans un même bâtiment, mais sont bloquées par le compteur EDF et ne peuvent aller au-delà.

Avertissements

Ce montage est relié sur le secteur EDF. 

Principe général

Le système est composé d'un émetteur et d'un récepteur, distants l'un de l'autre mais reliés sur un même réseau de distribution électrique 230 V (dans une même habitation).

telecommande_007_syno

L'émetteur comporte un générateur HF (Haute Fréquence) qui délivre un signal "porteuse" de 150 kHz découpé (hâché) par un signal BF (Basse Fréquence) composé d'un train de bits, à la vitesse de 1200 bauds (1200 bits par seconde). Ce train contient les informations de commande qui sont de simples valeurs numériques comprises entre 1 et 255 (codage série "standard" 8 bits data, parité paire).
Le récepteur effectue un filtrage rigoureux pour séparer (extraire) les signaux de télécommande (quelques dizaines ou centaines de mV, 150 kHz) de la tension du secteur (230 Veff / 50 Hz). Comme on peut aisément l'imaginer, une très bonne séparation de ces deux signaux très différents (en amplitude et en fréquence) est requise. Et comme on travaille sur les lignes du secteur 230 V, on ne peut pas faire n'importe quoi avec n'importe quel type de composant !

Autre support de transmission que les fils du secteur ?
Il est tout à fait possible d'utiliser un lien de transmission autre que le secteur 230 V, par exemple une ligne bifilaire ou une liaison optique (infrarouge ou laser visible). Comme les signaux transmis sont de nature alternative, le lien peut aussi bénéficier d'une isolation galvanique par optocoupleur ou transformateur, ce dernier devant bien sûr pouvoir fonctionner à la vitesse du signal "porteuse" de 150 kHz.

Schéma(s)

L'ensemble est scindé en deux schémas, un pour l'émetteur et l'autre pour le récepteur, chacun avec sa propre alimentation.

Emetteur
Le donneur d'ordres est basé sur un PIC 16F628A, qui élabore en même temps un signal "porteuse" à 150 kHz et les signaux de commande qui découperont cette porteuse.

telecommande_007_tx

La porteuse de 150 kHz (ligne libellée PWM sur le schéma) est élaborée par le module CCP/PWM du PIC, et les signaux de commande (ligne libellée Tx) sont construits avec le module UART du même PIC. La pression d'un des boutons-poussoirs active l'émission de la porteuse et la découpe selon un rythme qui dépend de la touche enfoncée. Le fait de disposer de deux sorties distinctes "PWM 150 kHz" et "Tx Data" alors que le PIC pourrait tout à fait délivrer un signal unique "tout en un" (sur une seule broche de sortie) a été dicté par deux idées :
- pouvoir vérifier le fonctionnement de la partie codage/décodage des données sans passer par le signal porteuse 150 kHz (sortie Tx de l'émetteur reliée directement à l'entrée Rx du récepteur). Utile pour la mise au point.
- ouverture plus large vers l'expérimentation d'autres circuits HF ;-)

Le principe de fonctionnement de la télécommande est des plus simples :

Les données émises répondent aux critères suivants :
Exemples :
Valeurs simples à vérifier, le cas échéant ;-)

Lecture clavier
La lecture des touches du clavier de commande se fait de façon multiplexée (scan), les touches sont analysées à tour de rôle. Si le logiciel détecte qu'une touche est enfoncée, alors seulement il entame une procédure de vérification :
- si la touche enfoncée ne l'était pas au précédent scan, alors le logiciel ne fait rien
- si la touche enfoncée l'était déjà au précédent scan, alors le logiciel avance d'un pas dans la procédure d'envoi de la commande
Il faut donc deux résultats de scan identiques pour considérer qu'il y a bien demande d'action, c'est un anti-rebond logiciel.
Afin d'éviter tout dommage du port A du PIC en cas d'appui simultané sur plusieurs touches, chaque bouton-poussoir possède sa propre diode "anti-retour" câblée en série avec lui (cathode vers le port A via l'interrupteur associé, et anode vers le port B).

Section HF - Superposition des données de télécommande au réseau 230 V
Les données PWM 150 kHz sont transmises sur le réseau secteur via le transistor Q101, la résistance R103 et les deux condensateurs C106 et C107. Pour que les signaux alternatifs parviennent du transistor au réseau 230 V, il faut que Q101 "suive" les signaux PWM mais seulement quand des données de commande doivent être transmises. C'est là qu'interviennent les deux diodes D106 et D107. Au repos (aucune touche pressée), la sortie Tx est à l'état logique haut, ce qui entraîne la conduction permanente de Q101, et du coup il n'y a aucun signal HF envoyé sur le réseau. Quand une touche est pressée, la sortie Tx présente un ou plusieurs états logiques bas durant la période d'émission du code de commande. Cela permet au signal PWM de piloter le transistor Q101 qui s'en donne alors à coeur joie pour transmettre son signal amplifié sur le réseau secteur. Si on retire la diode D106, alors le signal HF est émis en permanence (utile à savoir lors de la mise au point). Les condensateurs C106 et C107 sont raccordés en permanence au secteur, ce qui justifie leur classe X2 (impératif).

Récepteur
La tâche du récepteur est double, son étage "réception des données" doit :
- réduire au maximum l'amplitude du signal 230 V 50 Hz qui est présent en permanence, tout en amplifiant le signal de 150 kHz provenant de l'émetteur (signal dont l'amplitude peut varier dans de grandes proportions, et généralement fort affaibli).
- extraire l'information "basse fréquence" de modulation de la porteuse 150 kHz (données à 1200 bauds) pour la "décoder".

telecommande_007_rx

Section HF - Récupération des signaux HF de télécommande
La première action du récepteur est de séparer le 230 V / 50 Hz et les données HF transmise par l'émetteur, action réalisée avec plusieurs filtres. Une fois les données HF de télécommande récupérées, il faut en extraire les informations utiles (code émis à la vitesse de 1200 bauds). Mais avant d'en arriver là, causons d'abord un peu des filtres, fréquences et amplitudes.
Prenons comme hypothèse que le signal HF de 150 kHz possède une amplitude de 500 mV crête à crête. Pour pouvoir l'exploiter (en extraire les données utiles), il nous faut l'amplifier dans un rapport d'au moins 10 fois (+20 dB). L'amplification est confiée à un AOP qui doit présenter un produit gain-bande asssez élevé (minimum 2 MHz), inutile de songer à utiliser un LM741. En même temps, la tension secteur 230 V, qui est ici considérée comme "parasite", doit posséder une amplitude au moins 100 fois moindre que celle du signal HF. L'atténuation nécessaire est de 1 million de fois (-120 dB), mais pas seulement à la fréquence de 50 Hz car il faut aussi tenir compte des harmoniques (100 Hz, 150 Hz, 200 Hz, etc). Cette tâche qui peut sembler "énorme" n'est finalement pas si ardue, car l'espace fréquentiel qui sépare les zones 50 Hz et 150 kHz est ample. Cela permet d'utiliser de simples filtres passifs de type passe-haut (ou coupe-bas) dont la fréquence de coupure est située autour de 100 kHz. En procédant ainsi, le signal sera très fortement atténué à 50 Hz, même avec des filtres à pente légère (de 6 dB/octave). Ici, on parvient à une atténuation suffisament élevée pour que le résidu de 50 Hz soit noyé dans le bruit et donc plus mesurable (l'atténuation peut être estimée à environ 180 dB à 50 Hz et environ 140 dB à 200 Hz).

Traitement du signal HF récupéré
Une fois débarrassé du secteur 230 V / 50 Hz, on dispose d'un signal de 150 kHz hâché au rythme du "code" de la télécommande. Le récepteur doit transformer les trains d'impulsions 150 kHz reçus en données utiles, exploitables par le PIC. La encore nous faisons appel à du filtrage, où l'on doit désormais conserver les ordres émis à faible vitesse (1200 bauds) tout en atténuant le plus possible le signal porteuse de 150 kHz. Pour cela, on procède à un redressement du signal alternatif suivi d'un filtrage passe-bas (coupe-haut), comme on le fait avec une alimentation secteur linéaire (pont de diodes et condensateur en sortie d'un transformateur abaisseur de tension). Le signal résultant du redressement et du filtrage est ensuite confié à un comparateur de tension, dont la sortie délivre alors des signaux logiques "propres". Malheureusement à ce stade, notre signal n'est pas entièrement débarrassé de sa porteuse 150 kHz, il en reste un petit résidu. Bien que ce résidu soit d'amplitude modeste, il peut causer des changements d'états logiques indésirables qui risquent de perturber la logique de décodage du PIC. C'est pourquoi le comparateur de tension est câblé en comparateur avec hystérésis, qui permet de disposer de seuils haut et bas de valeurs différentes. Cet hystérésis est ici de 0,4 V environ, ce qui suffit pour "masquer" le résidu de porteuse. En clair, le signal en sortie du comparateur de tension avec hystérésis est propre et apte à être envoyé à l'entrée du module UART du PIC qui en assurera le décodage.

Beaucoup de théorie, mais par rapport au schéma ?
Le signal HF est prélevé sur le réseau 230 V grâce aux deux condensateurs C206 et C207, impérativement de classe X2 car reliés en permanence au secteur, associés à la résistance R201. Ces trois composants forment un premier filtre, de type passe-haut (coupe-bas). A ce stade, la tension résiduelle de 50 Hz ne dépend que de la valeur de R201, qui dans tous les cas doit être faible (grand maximum 220 ohms). Le signal présent aux bornes de R201 est ainsi composé d'une sinus 50 Hz de quelques volts d'amplitude, et du signal HF de télécommande (quand ce dernier est transmis, cela va de soi). Un second filtre passe-haut composé de C208/R202 et C209/R203 atténue encore plus le signal 50 Hz, tout en n'atténuant très peu le signal utile à 150 kHz. Les deux diodes D205 et D206 écrêtent les signaux dont l'amplitude dépasse environ 1 Vpp. Notez au passage l'usage d'une diode Schottky en inverse et d'une diode signal silicium classique en direct. Le signal éventuellement ecrêté est ensuite amplifié dans un rapport de 10, par l'AOP U203. S'ensuit un redressement du signal amplifié, par les diodes D207 et D208, C212 assurant l'intégration des alternances positives résultantes (fréquence 300 kHz). A ce stade, nous disposons d'un signal qui se rapproche du signal "code" délivré en sortie Tx du PIC de la télécommande, mais avec encore trop d'imperfections. Le comparateur de tension U204 se charge de nettoyer tout ça, en fournissant un signal "code" parfait et correctement reconnu par le PIC qui n'attend que lui. Le reste n'est que du logiciel.

Remarque : le récepteur ne prend en compte un ordre de commande que s'il a reçu deux fois de suite le même message.

Quelques "relevés" de simulation
Le graphe suivant donne une idée de l'allure et de l'amplitude des signaux, en différents points du montage.

telecommande_007_graphe_001a

Remarque : pour disposer de traces séparées (non superposées) dans le graphe, j'ai ajouté un offset de tension continu pour chacune d'elles (dans le graphe lui-même, pas dans le schéma du circuit). L'amplitude des traces est respectée, mais pas leur position verticale. Par exemple, j'ai ajouté +10 Vdc à la trace TP4 (en violet), une valeur affichée de +10 V correspond donc à une valeur réelle de 0 V, et une valeur affichée de +14 V correspond à une valeur réelle de +4 V.

Conseil / rappel : la validation du fonctionnement des logiciels émetteur et récepteur peut être effectuée sans raccordement au réseau secteur. Il suffit d'alimenter les PIC émetteur et récepteur sous une tension de +5 Vdc, et de relier directement la sortie Tx du PIC émetteur à l'entrée Rx du PIC récepteur.

Relevés avec ensemble raccordé au secteur
Amplitude notée en Vdc = tension continue
Amplitude notée en Vpp = tension alternative crête-à-crête (peak-peak)

Surtout, n'oubliez pas que l'ensemble est raccordé au secteur !!!

Circuit imprimé

Non réalisé. Vue 3D uniquement pour aperçu général.

Logiciel des PIC

Les fichiers binaires compilés (*.hex) sont disponibles dans l'archive suivante.
Télécommande 007 - PIC 16F628A - 13/08/2017
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Historique

13/08/2017
- Première mise à disposition.