Une radiocommande 32 canaux pilotée par PC

Publié par MountasserBillah On 08:42


L'automatisation et les contrôles automatiques sont toujours plus nombreux au point d'être devenus indispensables à notre confort. Si, par le passé, ils étaient exclusivement réservés à certaines industries, aujourd'hui, ils sont présents dans tous les champs d'activité et ont même atteint les particuliers.
Ainsi, nous avons vu apparaître ces dernières années les premières centrales de commande de portails, les alarmes, les serrures électriques commandées et une multitude d'autres automatismes…

Pour entrer dans le troisième millénaire, malgré le peu de mois qui nous séparent de l'an 2 000, nous avons pensé vous proposer la radiocommande du futur. Elle est constituée d'un transmetteur radio piloté par un PC et permet de gérer 32 récepteurs indépendants. Chaque récepteur peut réaliser une fonction même sans la présence d'un opérateur et tout cela en restant tranquillement assis devant l'écran de votre PC.
La carte d'émission, à relier au PC, que nous allons vous décrire à présent est malgré tout très simple. Afin de pouvoir coupler notre émetteur à des récepteurs standards facilement réalisables par l'amateur nous avons utilisé, pour le codage des canaux, le très répandu MM53200 de National Semiconductor ou de l'un de ses équivalents UM3750, UM3758, UM86409.
L'interface peut facilement être gérée par une simple routine en QBASIC présentée dans les lignes suivantes ou par un programme en VISUAL BASIC comme celui que nous avons réalisé pour vous.
Dans ce dernier cas, il suffit de pointer avec la souris un des 32 boutons et de cliquer pour activer ou désactiver la charge correspondante (figure 1). Vous pourrez aussi assigner un nom (lumière 1, chambre 3, etc.) à chaque canal, déterminer son mode de fonctionnement (impulsion ou bistable) et visualiser toutes ces informations à l'écran. L'interface décrite dans ces pages est la plate-forme de départ à l'élaboration de systèmes capables de tout commander ou presque. Mais voyons tout cela en détail en analysant le schéma électrique qui met en évidence la structure de l'interface.

Figure 1 : Après avoir installé notre logiciel sur le PC, il est créé un groupe nommé WinTX : Si l'on clique sur cette icône nous ouvrons l'écran de commande, sur lequel apparaissent les 32 boutons virtuels. Chacun d'eux est muni d'une petite case comportant l'inscription « bistable ». Un clic de la souris sur l'une de ces cases, permet de définir le mode de fonctionnement pour chaque canal (bistable ou non). En mode de fonctionnement impulsionnel, la transmission radio est activée tant que l'on tient le bouton virtuel appuyé.

Etude du schéma
Figure 2 : Schéma électrique de la radiocommande 32 canaux.

Comme vous pouvez le voir sur le schéma électrique, U1 le codeur UM86409 (ou autres cités plus avant) a ses premières pattes (1 à 6) connectées à un dip-switch binaire et ses 6 autres (7 à 12) connectées à la sortie de trois doubles optocoupleurs. Ces trois derniers réalisent une isolation galvanique avec l'ordinateur par l'intermédiaire desquels il est possible de recevoir les niveaux logiques correctement inversés issus du port parallèle du PC. Un quatrième optocoupleur (FC1) sert à activer la transmission.
Le composant utilisé pour la transmission des signaux codés émis sur l'air, grâce à une antenne accordée, est le module AUREL TX433 SAWBoost.
Ce module, muni d'un oscillateur à quartz, peu délivrer 400 MW sur une charge de 50 ohms.
Son entrée, compatible TTL (broche 2 de U3), directement reliée à la sortie des données du codeur (broche 17 de U1) est pilotée par ce dernier. L'activation du module U3 est réalisée par le relais RL1 piloté par le transistor T1 lui-même commandé par la ligne D0 du port parallèle du PC à travers l'optocoupleur FC1.
Notre émetteur fonctionne de la façon suivante : Avant tout, il reçoit le codage des 6 derniers bits via l'ordinateur puis il attend l'ordre de départ de ce dernier.
Lorsque ce signal arrive, il active la section HF et émet le signal radio modulé, vers les récepteurs.
Le circuit intégré U1 est le coeur du dispositif et il est câblé pour fonctionner en codeur (patte 15 reliée au + 5 volts). Les 6 premiers bits de codage sont fixés par le dip-switch DS1 et peuvent, de ce fait, être prépositionnés sur 64 combinaisons au gré de l'utilisateur. Ce n'est certainement pas le « top » de la sécurité mais cela suffit largement pour ce type d'application.
Il est à noter que U1 est toujours activé et, donc, continue à générer les trains d'impulsions contenant le code déterminé par les 12 bits d'entrée. Le signal ainsi codé est transmis de la patte de sortie 17 à la patte 2 du module HF U3, lequel est normalement au repos et s'active seulement quand il reçoit le signal d'activation du port parallèle.
Pour adresser les diverses charges, et ainsi les récepteurs, nous avons pensé à utiliser les pattes de codage 7 à 11 qui permettent alors de piloter 32 canaux.
Ces 5 bits sont pilotés par le logiciel disponible dans le PC, à travers les lignes D1, D2, D3, D4, D5 qui gèrent les optocoupleurs et, avec les sorties de ces derniers, les pattes du UM86409.
Quand un optocoupleur est conducteur (1 logique sur la ligne data), sa sortie est au niveau bas ainsi que le bit de codage du circuit UM86409 et inversement.
Un niveau bas sur l'optocoupleur donne un niveau haut sur le codeur. Vous trouverez les adresses des canaux dans un tableau présent dans cet article. Référez-vous au niveau logique du codeur ainsi qu'au niveau des lignes de données du port parallèle.
Pour l'instant, sachez que le premier canal correspond à la combinaison 000000 sur le bus du PC, le second à 000001. Le 1 à droite est le bit de poids faible, le 0 de gauche celui de poids fort qui correspond au bit 12 du codeur.
Chaque fois qu'un bouton virtuel du panneau de Windows est activé sur les sorties D1 à D6 nous retrouvons le code binaire du canal correspondant à ce bouton.
Un niveau 1, sur la ligne D0, fait passer en conduction le phototransistor de FC1 et force au niveau bas sa patte 5.
A travers la résistance R3, le transistor T1 se sature, son collecteur alimente alors la bobine du relais dont les contacts vont permettre d'alimenter le module hybride U3. Ce dernier a sur, son entrée (broche 2), le signal produit en permanence par le UM86409
(broche 17 de U1) et va le transmettre sur 433,92 MHz par l'antenne (broche 11). Cet état est visualisé par l'illumination de la led LD1 mise sous tension par R5. La transmission cesse dès que le bouton virtuel est relâché.
L'alimentation peut être continue ou alternative car un pont redresseur PT1 a été prévu sur l'entrée (V.AL). La tension est filtrée par C1 puis régulée à 5 V par U2 (7805) afin d'alimenter le codeur U1 qui doit piloter l'entrée numérique de l'hybride avec des niveaux TTL.
La bobine de RL1 est, par contre alimentée, en 12 V.
Notez, enfin, le filtre sur la patte 15 de U3 formé par la bobine L1 (self de choc de type VK200) et les condensateurs C6 et C7. Ce filtre évite à la haute fréquence de se propager sur la ligne positive ce qui pourrait causer des perturbations dans la logique de codage.

Le programme de gestion
Après avoir décrit la partie hard, il nous reste à voir la partie soft développée pour contrôler notre transmetteur à partir du PC.
Le logiciel est réalisé en Visual Basic et s'installe facilement à partir du setup de la première des trois disquettes fournie dans le kit ou disponibles ou séparément.
Le coeur du programme est la routine de transmission des données réalisée en langage C contenant le peu de lignes qui servent à interpréter une valeur et à la convertir dans en un format adapté, capable de piloter la platine d'émission.
L'installation du programme sous Windows crée un groupe de démarrage appelé WinTX. En cliquant sur cette icône, vous pourrez lancer le programme et voir alors l'écran de commande visualisant les 32 poussoirs virtuels.
Sous chacun de ces boutons, se trouve une case où est inscrit « bistable ». Si l'on clique, à l'aide de la souris, sur cette case, il est possible d'imposer le mode de fonctionnement souhaité : bistable ou par impulsion.
Le fait de cliquer sur bistable permet de faire fonctionner le système de façon à ce qu'un clic de souris sur le bouton concerné commande le canal pointé et que sa sortie correspondante reste active jusqu'à ce qu'un autre clic de souris sur le même bouton permette de retrouver l'état initial. L'état actif est visualisé par la coloration différente du bouton concerné afin de connaître à tout instant l'état dans lequel se trouve la sortie concernée. Attention, cette indication n’est que théorique car le récepteur n’envoie aucune information à l’émetteur.
A l'inverse, si la case bistable n'est pas active, le mode de fonctionnement par impulsion est retenu : un clic maintenu sur le bouton active la sortie, au relâchement du bouton de la souris le relais retrouve son état initial. Pour sortir du programme, il suffit, dans le menu en haut à droite, de cliquer sur la croix ou d'appuyer sur « Alt + F4 ».

Vue sur les optocoupleurs, le dip-switch et U1.

Gros plan sur le dip-switch et U1.

Caractéristiques techniques résumées
des différentes prestations du système radiocommandé basé sur une transmission assistée par ordinateur.


Fréquence de travail……………………………………………433,92 MHz
Puissance HF sur 50 ohms…………………………………400 MW
Portée avec récepteur RF290A/433……………400 m
Nombre de canaux ……………………………………………………32
Combinaison de sécurité……………………………………64
Tension d'alimentation CC ……………………………12 à 16 volts
Tension d'alimentation AC ……………………………9 à 12 volts
Courant absorbé (typique) ……………………………300 mA
Sortie utilisée ………………………………………………………parallèle Centronics DB25 Fem.
Logiciel sous Windows 95/98

Les récepteurs à utiliser

Notre dispositif est en mesure de fonctionner avec des récepteurs classiques codés à base de MM53200, UM86409, UM3750 qu'ils soient monocanal ou bicanaux. Il suffit que leur fréquence de fonctionnement soit en 433,92 MHz.

Les connexions du module Aurel TX SAW-Boost

1 = Masse;
2 = Entrée des données (0/5 V);
4,5,7,9 = Masse;
11 = Sortie antenne ;
12 = Masse ;
13 = Masse ;
15 = Vcc (12/18 V).

Comment configurer les canaux
table de vérité bien précise, illustrée ci-dessous. Aidez-vous de ce tableau pour configurer correctement les dip-switchs. Il reste entendu que, sur l’émetteur comme sur les récepteurs, les six premiers bits (pin 1 à pin 6) doivent être configurés de la même manière car ils forment le code de base et ce sont les six autres bits (pin 7 à pin 12) qui permettent de sélectionner un récepteur. De toute manière, pour éviter les confusions et faciliter les opérations, rappelez-vous la simple règle suivante : chaque adresse de canal correspond à son numéro décimal diminué d’une unité, exprimé en binaire avec le bit 7 du décodeur (et du codeur) représentant le poids faible (LSB) et le bit 12 le poids fort (MSB).

Tableau 1.

Comment coder les récepteurs
Pour positionner les 6 inters du dip-switch (7 à 12) qui distinguent les 32 canaux, il est conseillé de consulter ce tableau et de sélectionner les inters des récepteurs en fonction du numéro de canal souhaité.

Tableau 2.

Figure 3 : Brochage de l'UM86409.

Réalisation pratique
Après avoir analysé le programme, nous pouvons passer à la description de la construction. Vous trouverez dans ces pages le dessin à l'échelle 1/1 du circuit imprimé simple face que vous pourrez réaliser par la méthode habituelle de l'insolation (le circuit imprimé est fourni dans le kit).
En possession du circuit gravée et percée, nous allons procéder à l'implantation des composants. Commencez par la mise en place des composants les plus petits (résistances, diodes en respectant le sens). Positionnez ensuite les supports de circuits intégrés comme il est indiqué sur le schéma d'implantation. Soudez le dip-switch à 6 inters (le 1 doit correspondre à la patte 1 du codeur UM86409). Soudez ensuite les condensateurs en restant attentif aux sens des chimiques polarisés.
Montez la self L1, le pont redresseur PT1 (attention à la polarité + et –) et le transistor T1 dont la partie plate doit être dirigée vers U1. Insérer le régulateur U2 (78L05) en boîtier TO92 qui est positionné sa partie plate dirigée vers C3 et C4. Soudez enfin le relais miniature et le module hybride TX SAWBoost de façon à ce que la patte 1 soit située du côté du trou de fixation du circuit imprimé. Terminez le tout par le montage du connecteur DB25 femelle (25 points coudés à souder sur carte).
Pour l'alimentation, nous vous conseillons de souder une prise alimentation adaptée au bloc secteur que vous allez utiliser.
Après vérification des soudures afin de déceler d'éventuels courts-circuits ou autres petites imperfections de soudage, il faut insérer les différents circuits intégrés dans leur support respectif en respectant leur sens indiqué par une encoche ou un point-détrompeur.
Cette phase étant terminée, il faut positionner les 6 interrupteurs du dip-switch (correspondant aux 6 premiers bits de codage) dans la même position que les dip-switchs des différents récepteurs.
Un mot au sujet des récepteurs qui ne sont pas décrits dans cet article : vous pouvez utiliser n'importe quel récepteur fonctionnant sur la fréquence de 433,92 MHz et dont le système de décodage utilise un des trois circuits intégrés cités précédemment. Pour être utilisables, les 6 premiers bits de codage sont positionnés de la même façon que ceux de la carte de transmission (DS1). Les six autres bits sont codés de façon à identifier les canaux de 1 à 32 (voir tableau 1 de codage).
En exemple, prenons le codage du canal 1, il faut positionner les 6 switchs des bits 7, 8, 9, 10, 11, 12 : à 111111 ce qui équivaut à tenir ouvert tous les interrupteurs du septième au douzième, etc. (voir tableau 2).
Pour alimenter le système, il faut une alimentation capable de fournir 12 à 16 volts en courant continu ou 10 à 12 volts en courant alternatif sous une intensité de 300 à 400 milliampères.
Avant de mettre le montage sous tension, il faut relier une antenne au point « ANT » (sinon le module hybride débitera dans le vide et risquera d'être irrémédiablement détérioré) en préférant un modèle accordé de type fouet avec un plan de masse. Utiliser du câble blindé pour la liaison de l'antenne à la platine de transmission (un morceau de coaxial 52 ohms de diamètre 3 mm ou à défaut 5 mm fera parfaitement l'affaire). La tresse du câble doit être reliée au plan de masse de l'antenne et au négatif du circuit imprimé alors que l'âme doit être reliée au plot « ANT » et au brin rayonnant.
Il faut aussi vous procurer un câble de liaison (DB25 mâle / DB25 mâle) pour raccorder le port parallèle du PC au connecteur DB25 du transmetteur.

Figure 4 : Plan d'implantation des composants.

Figure 5 : Circuit imprimé à l'échelle 1/1.

Liste des composants
R1 : 680 Ω
R2 : 100 kΩ
R3 : 15 kΩ
R4 : 47 kΩ
R5 : 1 kΩ
R6 : 220 kΩ
R7 : 4,7 kΩ
R8 : 680 Ω
R9 : 680 Ω
R10 : 680 Ω
R11 : 680 Ω
R12 : 680 Ω
R13 : 680 Ω
C1 : 470 μF/25 V chimique
C2 : 100 μF/25 V chimique
C3 : 100 nF céramique
C4 : 100 μF/25 V chimique
C5 : 100 pF céramique
C6 : 470 μF/25 V chimique
C7 : 100 nF céramique
D1 : diode 1N4007
LD1 : LED rouge 5 mm
U1 : circuit intégré UM86409 ;
MM53200; UM3750
U2 : régulateur 78L05
U3 : module
TX433 SAW-Boost Aurel
FC1 : optocoupleur 4N25
FC2 : optocoupleur CNY74-2
FC3 : optocoupleur CNY74-2
FC4 : optocoupleur CNY74-2
T1 : transistor BC557B
RL1 : relais 12 V miniature
L1 : self de choc VK200
ANT : antenne accordée 433,92 MHz
PT1 : pont 1 A
DS1: dip-switch 6 inters

Divers :
Supports CI 8 broches
Supports CI 6 broches
Support CI 18 broches
Connecteur 25 broches femelle
coudé à souder sur carte
Connecteur d'alimentation
à souder sur carte

Vue du prototype terminé
Remarquez le module Aurel monté verticalement, ses composants tournés vers l'extérieur.


La routine en Basic
Il est intéressant de savoir comment l'ordinateur élabore les ordres donnés et il est surprenant de comprendre qu'en réalité cela est réalisé avec un petit programme de quelques lignes écrit en Basic. La routine prend une valeur (variable TX) et contrôle avant tout si elle est comprise entre 0 et 32, dans le cas contraire elle retourne au début sans effectuer aucune opération. Pour comprendre comment est gérée la donnée, il est utile de la considérer comme un nombre binaire car la carte de commande est pilotée par les simples bits de la sortie parallèle, précisément par D0 qui active ou désactive l'émetteur et par D1, D2, D3, D4, D5 qui sont les cinq bits qui identifient le canal à contrôler.


Le bit 0 contrôle l'étage d'émission : à 0 il l'éteint et à 1 il l'active. Les bits 1 à 5 contiennent, quant à eux, le code binaire du canal à activer. Il est facile de comprendre que la valeur de la variable TX doit être gérée de façon à ce qu’elle indique exclusivement le canal à contrôler sans s'occuper de gérer la mise en service ou l'arrêt du transmetteur.
En pratique, la routine doit recevoir un 0 pour désactiver le transmetteur ou un numéro compris entre 1 et 32 pour commuter le canal désiré.
Voyons comment faire : si la variable TX est égale à 0, il suffit de l’envoyer à la sortie parallèle ; cela se fait par l’instruction « OUT &378, tx » dans laquelle « 378 » est l'adresse hexadécimale de la sortie LPT1 (sortie présente dans tous les PC pour l'imprimante) et « tx », après la virgule, est la donnée à écrire sur le bus de données. Le 0 revient à avoir les 8 bits au niveau bas, de même que D0 ; c'est pour cela que le transmetteur est inactif. Si, par contre, la valeur est supérieure à 0 et inférieure ou égale à 32 il faut déplacer le bit vers la gauche de manière à reporter la valeur binaire de « tx » à partir du bit 1 au lieu du bit 0.
Cherchons à éclaircir le tout à l'aide d'un exemple : supposons que l'on veuille activer le canal 14. La première opération à accomplir est de réduire de 1 le numéro du canal car l'on sait que « tx » varie entre 1 et 32 (0 sert pour activer le transmetteur) et l'indicateur de canal va de 0 à 31. Ainsi, notre « tx » devient 13 (en binaire = 00001101).
Il faut ensuite envoyer la donnée au codeur/décodeur en maintenant le transmetteur éteint (si on envoie la donnée en même temps que l'activation de l'émetteur nous pouvons rencontrer des problèmes de synchronisation) et successivement activer l'émetteur en maintenant les données sur le codeur/décodeur.
Pour réaliser ces opérations, la routine procède à la multiplication par 2 de la variable « tx ». Ainsi, les bits sont déplacés vers la gauche (13 x 2 = 26 = 00011010), le bit le moins significatif est toujours maintenu à 0. A ce moment, ayant envoyé à travers la sortie parallèle les données du codeur, il ne reste rien d'autre à faire que d'activer le bit 0 (le transmetteur) tout en conservant les données inchangées.
Pour faire cela, il suffit d'ajouter 1 à la valeur envoyée précédemment (26 + 1 = 27 = 00011011). Il est important de noter que, dans le petit programme proposé, le transmetteur demeure actif jusqu'à la commande suivante.
C'est à vous de gérer le signal comme impulsion plus ou moins longue en fonction de vos besoins.

REM*****************************************
REM *** RADIO-COMMANDE 32 CH AVEC UN PC ***
REM *** FILE : TXPC.BAS DATE : 9/10/9 ***
REM *** © FUTURA ELECTTRONICA - MI ***
REM*****************************************
Début :
REM Entrée du canal à contrôler
INPUT "Transmetteur (1-32; 0 éteint TX)"; tx
PRINT
REM Contrôle la validité des données
IF tx < 0 OR tx > 32 THEN GOTO début
IF tx = 0 THEN
REM Si 0 extinction du transmetteur
OUT &H378, tx
ELSE
REM Sinon commutation du canal concerné
tx=tx-1
OUT &H378, tx * 2
OUT &H378, (tx * 2)+1
END IF
REM Retour au début
GOTO début
REM*****************************************


Retour à l'informatique
Maintenant que tout est connecté, placez la disquette n° 1 dans le lecteur, tapez A : setup et laissez-vous guider.
L'installation du programme ayant été réalisée, lancez-le. Quand vous utilisez WinTX il faut se rappeler que la case à cocher « bistable » sert à colorer le bouton virtuel en jaune et non à activer un récepteur. Il faut, pour cela, cliquer sur le bouton lui-même ; à ce moment-là, le voyant s'allume et, lors d'un autre clic, il s'éteint (en mode bistable).
Pour indiquer une fonction nominative à chacun des 32 boutons, il faut cliquer dessus avec le bouton droit de la souris ; il apparaît alors un rectangle au centre de l'écran dans lequel vous pouvez écrire la désignation du bouton.
Exemple : garage, parc, jardin, chambre, etc. Par défaut, les canaux sont nommés Ch1, Ch2, …, Ch32. Votre système et maintenant opérationnel.

Dernier conseil
Comme le système utilise le port parallèle de votre PC (et à moins que vous n'affectiez un PC spécial à votre radiocommande 32 canaux !) il paraît évident que vous allez vouloir, en plus (exigeants avec ça !), continuer à utiliser votre imprimante ou votre scanner.
Nous vous conseillons donc de faire l'acquisition d'un boîtier de commutation (Data-Switch 25 points) à 2 ou 3 entrées afin de pouvoir utiliser tous vos périphériques sans connecter et déconnecter en permanence. Reliez alors la sortie du boîtier au port LPT1 de votre PC et chaque périphérique sur une de ses entrées commutables.

Une fois le montage terminé, il est conseillé d'enfermer la carte d'émission dans un coffret plastique aux dimensions adaptées.

0 commentaires

Enregistrer un commentaire