Un contrôleur LAN / Internet à 16 entrées et 16 sorties numériques

Système idéal pour toutes les applications de contrôle à distance permettant de vérifier, à partir d’un navigateur quelconque, l’état d’un grand nombre d’entrées et sorties numériques afin de pouvoir gérer de nombreux appareils.



L’appareil présenté ici permet de gérer, avec extension possible, jusqu’à seize entrées et autant de sorties.
Les sorties à relais permettent de désactiver le dispositif à contrôler ou d’inhiber certaines fonctions. Ce montage utilise encore une fois le module Site Player couplé à un microcontrôleur ordinaire : le tout est gérable à distance sans logiciel particulier puisque la page HTML de contrôle réside directement dans le module SitePlayer et peut être visualisée à travers un quelconque navigateur (Internet Explorer, Netscape, etc.).
Pendant la mise au point du programme résident, nous avons prévu la possibilité de visualiser la page “web” sur un Palm avec connexion GSM / GPRS, autrement dit, nous avons compressé les dimensions de la page de façon à pouvoir la visualiser même sur l’écran d’un XDA (les essais ont été faits avec un Qteck 2020 muni de Microsoft Mobile 2003 pour Pocket PC et d’Internet Explorer). Il suffi t d’activer la connexion GPRS et de lancer ce programme pour avoir à l’écran la page et la signalisation des entrées et des sorties actives : si l’on touche l’écran avec le stylo, à partir de n’importe quel point du globe, on peut modifier les paramètres du système en activant l’un des seize relais disponibles. Le SitePlayer étant un serveur “web”, il permet une interactivité totale avec le microcontrôleur : il échange avec lui les choix effectués par l’usager et visualise les éventuels paramètres que ce dernier entre. La vitesse de transmission du module étant de 10 Mbits/s, la LAN à laquelle on va le relier doit bien sûr pouvoir la supporter.
Attention, pour voir correctement la page du SitePlayer, il est nécessaire de bien confi gurer le réseau local et de vous assurer que l’adresse du PC local sur lequel vous cherchez à visualiser la page a bien comme adresse 192.168.0.x. Si ce n’est pas le cas (et si vous avez confi guré un SUBNET MASK 255.255.255.0) la page ne sera pas visualisée (il vous faudra d’abord confi gurer correctement l’ordinateur).
Graphiquement la page visualisée par le navigateur se divise en deux sections principales. La première comprend seize poussoirs pour l’activation et la désactivation des relais, avec LED de signalisation permettant de savoir tout de suite si le relais est excité (rouge) ou relaxé (vert). La seconde concerne les seize entrées numériques pour lesquelles les LED indiquent si l’entrée est à la masse (rouge) ou si le bornier est ouvert (vert). Dans la partie inférieure de la page, on trouve en outre un lien renvoyant à la section de confi guration de l’IP (CONFIG IP ADDRESS) : dans cette page, il est possible d’insérer la nouvelle adresse à attribuer au module et de sauvegarder les paramètres en pressant la touche SUBMIT puis, dans le circuit, P1.
Si on regarde le schéma électrique, on est tout de suite étonné de voir qu’il manque les entrées à contrôler et les relais avec lesquels effectuer les contrôles.
On a, par contre, une ligne I2C-bus pour gérer les périphériques externes qui disposent des ressources nécessaires. Nous avons utilisé deux platines ET473 pour la gestion des relais et autant de platines ET488 pour le contrôle des entrées numériques. Le premier de ces appareils dispose de huit sorties à relais, chacune dotée de sa LED de signalisation d’état et de huit borniers enfi chables où se trouve le commun, le contact NO et le contact NC. La seconde est une platine à huit entrées numériques munie d’autant de borniers enfi chables à deux pôles. Une extrémité du bornier va à la masse du circuit et l’autre est lue continuellement par un PCF8574A. Si ce dernier est fermé (c’est-à-dire mis à la masse), la LED sur le panneau de contrôle du navigateur devient rouge, sinon elle reste verte.
Le SitePlayer interroge le microcontrôleur sur l’état de ces entrées seulement quand la page est chargée : il est donc conseillé de la mettre à jour manuellement en pressant la touche F5 du clavier de l’ordinateur pour vérifi er l’état des entrées à ce moment précis. L’appareil peut gérer deux platines de sortie et deux d’entrée pour seize I/O : des cavaliers permettent d’éviter les confl its entre périphériques, comme le montre la fi gure 4.
En particulier, pour pouvoir activer les relais de la platine ET473 en pressant les poussoirs 1 à 8 de la page “web”, tous les cavaliers doivent être fermés et, pour attribuer les relais d’une platine aux poussoirs 9 à 16, le premier cavalier (J1) doit rester ouvert. Mêmes remarques pour les platines d’entrée.
Enfi n, théoriquement, en modifi ant le programme résidant dans le microcontrôleur et le module SitePlayer, on pourrait gérer un nombre encore plus important de périphériques : seize I/O ce n’est cependant déjà pas mal !

Le schéma électrique
Toutes les fonctions logiques de notre appareil sont dues au Site Player et au microcontrôleur PIC16F84. Le premier s’occupe de l’interfaçage graphique avec l’usager et le réseau LAN, le second contrôle les périphériques d’I/O et gère le module SP1. Pour la liaison à la LAN le circuit dispose d’un connecteur RJ45 avec un blindage métallique et un fi ltre lequel, avec les condensateurs externes, limite les parasites éventuels et ne laisse passer que les signaux numériques. La liaison au microcontrôleur se fait à travers les lignes TX et RX correspondant aux broches 8 et 7. À travers cette liaison sérielle, les deux dispositifs s’échangent des informations sur l’état des entrées et sur le paramétrage à attribuer aux sorties. La vitesse de transmission est de 9 600 bits/s. Cette ligne est aussi mise à profi t pour les informations de programmation à distance de l’IP du SitePlayer. Le PIC utilise les ports RB4, RB5, RB6, RB7 pour la connexion I2C-bus avec les périphériques ET473 et ET488. En particulier, les lignes SDA1 et SCL1 sont utilisées pour contrôler les périphériques des relais et les lignes SDA2 et SCL2 gèrent ceux des entrées.
L’étage d’alimentation comprend un régulateur 7805 et des condensateurs de fi ltrage en entrée et en sortie.
La tension d’alimentation doit être de 12 V, que le connecteur RJ45 plastique (ne pas le confondre avec celui de la LAN) achemine vers les périphériques. La présence de cette tension est signalée par l’allumage de LD1. LD2 s’allume quand la connexion LAN est présente et LD3 est gérée directement par le microcontrôleur (elle clignote dans les cas suivants : à la première mise sous tension du circuit, quand l’adresse IP par défaut est réinitialisée et quand, en fonctionnement normal, P1 est pressé pour confi rmer le changement d’adresse).

Figure 1 : Schéma électrique du contrôleur LAN / Internet.

Figure 2a : Schéma d’implantation des composants du contrôleur LAN / Internet.

Figure 2b : Dessin, à l’échelle 1, du circuit imprimé du contrôleur LAN / Internet.

Figure 3 : Photo d’un des prototypes de la platine du contrôleur LAN / Internet.

Liste des composants
R1 .... 10 kΩ
R2 .... 470 Ω
R3 .... 4,7 kΩ
R4 .... 4,7 kΩ
R5 .... 470 Ω
C1 .... condensateur 10 nF 1 kV
C2 .... condensateur 10 nF 1 kV
C3 .... condensateur 10 nF 1 kV
C4 .... condensateur 10 nF 1 kV
C5 .... 220 μF 35 V électrolytique
C6 .... 100 nF multicouche
C7 .... 220 μF 35 V électrolytique
C8 .... 100 nF multicouche
C9 .... 100 nF multicouche
C10 ... 10 pF céramique
C11 ... 10 pF céramique
D1 .... 1N4007
LD1 ... LED 3 mm verte
LD2 ... LED 3 mm rouge
LD3 ... LED 3 mm jaune
U1 .... module SitePlayer 8200-SP1
U2 .... PIC16F84A-EF539
U3 .... 7805
Q1 .... quartz 4 MHz
P1 .... micropoussoir

Divers :
1 ...... connecteur RJ45
1 ...... connecteur LF1S022
1 ...... support 2 x 9
2 ...... barrette mâle 9 pôles
1 ...... prise d’alimentation
1 ...... boîtier Teko Coffer2
Sauf spécifi cation contraire, toutes les résistances sont des 1/4 W à 5 %.


Le programme résidant dans le PIC
Comme d’habitude, pour des raisons évidentes de place, nous publions le “listing” du programme résident (“fi rmware”) sur le site Internet de la revue : les plus habiles pourront le modifi er, par exemple pour pouvoir gérer un plus grand nombre d’I/O. Ce programme, écrit en Basic, est compilé avec le compilateur PIC BASIC PRO de MicroEngineering Labs. Vues sa simplicité et ses dimensions réduites, le logiciel a été chargé dans un simple PIC16F84A travaillant à une fréquence d’horloge de 4 MHz (contrôlée par quartz). Après la défi nition des variables, les constantes OUT1, OUT2, IN1 et IN2, contenant l’adresse des quatre périphériques de IN / OUT, ou mieux des PCF8574A présents dans les périphériques, sont déclarées.
On notera qu’avec l’instruction EEPROM 1,[192,168,0,250] est défi nie (au moment de la programmation du microcontrôleur) l’adresse IP par défaut du système. Le programme proprement dit commence par la routine START et la première opération effectuée est de réinitialiser le relais des périphériques I2C-bus. Ensuite, l’état de P1 (appelé dans le programme IPDEFAULT) est demandé : s’il est pressé, l’adresse par défaut est réinitialisée. Le microcontrôleur teste cycliquement la pression du poussoir de façon à lire à partir du SitePlayer la nouvelle IP, éventuellement insérée au moyen de la page CONFIG IP ADDRESS.
Ensuite, à travers la routine SENDREADREQUEST, il demande au SitePlayer si la page a subi des modifi cations de la part de l’usager et il actionne les relais comme demandé. De plus, il interroge séquentiellement les deux périphériques d’entrées et écrit l’état des entrées dans le mémoire du module SP1 de telle façon qu’il puisse mettre à jour correctement sa page quand cela lui est demandé.

La réalisation pratique
Le circuit tient sur un circuit imprimé dont la fi gure 2b donne le dessin àl’échelle 1. Quand vous l’avez devant vous, montez-y tous les composants dans un certain ordre (en ayant constamment sous les yeux les fi gures 2a et 3 et la liste des composants).
Le module SitePlayer est un petit circuit imprimé s’insérant dans une double rangée de barrettes femelles soudées sur la platine principale. Le PIC et le module (dûment programmés) seront installés dans leurs supports respectifs à la toute fi n. Notre prototype a été logé dans un petit boîtier plastique Teko Coffer2 (après avoir découpé les angles de la platine pour laisser passer les entretoises plastiques du boîtier) : par un petit côté sort le connecteur RJ45 à relier au périphérique, par le grand côté l’autre connecteur LF1S022 à relier au LAN et la prise jack d’alimentation (sous le grand côté opposé affl eurent les trois LED).
Le circuit ne pourra être utilisé que lorsque vous aurez réalisé les périphériques de sortie et d’entrée (ET473 et ET488, comme le montre la fi gure 4) : ils seront alors connectés en cascade et adressés comme on l’a dit plus haut.


ENTRÉES 1 à 8



ENTRÉES 9 à 16



SORTIES 1 à 8



SORTIES 9 à 16


Afi n de pouvoir être couplées au circuit, les périphériques doivent être dûment adressés. Ceux de sortie (ET473) comme cours d’entrée (ET488) sont dotés de trois cavaliers de confi guration. Le système est en mesure de gérer jusqu’à seize entrées et seize sorties, soit deux périphériques à relais et deux périphériques d’entrées. En particulier, pour pouvoir activer les relais de la platine ET473 en pressant les poussoirs 1 à 8 de la page “web”, tous les cavaliers doivent être fermés. Pour attribuer les relais de la seconde platine aux poussoirs 9 à 16 le premier cavalier (J1) doit être laissé ouvert. Même chose pour les platines à huit entrées : les entrées 1 à 8 ont toutes leurs cavaliers fermés et les entrées 9 à 16 sont reconductibles à la platine ayant J1 comme seul cavalier ouvert. Toutes ces interfaces disposent de connecteurs RJ45 passants, pour une liaison entre elles et pour la connexion au circuit de base. Le câble à utiliser doit être direct et il ne doit pas dépasser deux mètres de long. Il n’est pas nécessaire de monter les quatre périphériques garantissant seize IN et seize OUT : si votre application en réclame un nombre inférieur, il est possible de n’utiliser que les périphériques strictement nécessaires. La connexion à la LAN de l’appareil se fait en utilisant le connecteur fi ltré LF1S022 et un câble direct si le dispositif doit être relié à un “hub”, ou croisé si on souhaite contrôler le circuit directement par ordinateur.
Dans tous les cas, le réseau doit être en mesure de supporter une connexion à 10 Mo. Une prise d’alimentation à positif central est prévue : lui appliquer une tension de 12 Vdc pour une consommation d’au moins 500 mA.

Figure 4 : Le paramétrage et les liaisons des périphériques.

Pour que le circuit puisse être accessible à travers un navigateur, il est nécessaire de lui attribuer une adresse IP valide pour le distinguer au sein du réseau. Par exemple, si l’on veut que le circuit travaille à l’intérieur d’un réseau local LAN, il faut entrer une adresse IP du type 192.168.0.x qui ne soit pas déjà utilisée par un PC ou autre dispositif.
Le circuit dispose d’une IP par défaut (correspondant à 192.168.0.250) pouvant être entrée en suivant la procédure suivante : à la mise sous tension maintenir P1 pressé pour quelques secondes jusqu’à ce que LD3 clignote. Le système a alors son IP par défaut et il est possible d’y accéder par le navigateur en indiquant l’adresse 192.168.0.250. Dans le cas où cette IP serait déjà utilisée par un autre dispositif relié à la LAN cet accès serait problématique : il faudrait alors modifi er l’IP du circuit. Déconnectez temporairement l’autre dispositif muni de l’IP 192.168.0.250, connectez-vous par le navigateur au circuit et entrez dans la section de confi guration de l’IP (lien “Confi g IP Address”), insérez l’adresse choisie (elle doit être propre au circuit) et pressez “Submit”.
Pour rendre opérationnelles les modifications effectuées, pressez P1 : la nouvelle adresse IP est donnée. Reconnectez le dispositif débranché et essayez d’accéder au circuit en spécifi ant la nouvelle IP. Précisons enfi n que pour accéder de l’intérieur de la LAN au contrôleur “input / output”, il faut spécifi er l’IP interne de celui-ci (192.168.0.x) et inversement pour y accéder de l’extérieur pas besoin de spécifi er son IP mais celle de l’interface externe du routeur faisant le pont entre la LAN et l’Internet. Ce sera ensuite au routeur d’adresser les demandes à notre appareil.

Figure 5 : Entrer l’adresse IP du circuit.

Les essais
L’appareil est doté d’une IP par défaut (192.168.0.250) compatible avec la plupart des LAN.
Si toutefois votre PC utilisait une adresse différente, il faudrait la modifi er, comme le montre la fi gure 5.
Bien sûr, le microcontrôleur sauvegarde la nouvelle adresse et, en cas de coupure de courant, la confi guration par défaut ne revient pas. Pour que la page soit visible, non seulement à l’intérieur de la LAN mais aussi sur l’Internet, il faut agir sur le paramétrage du routeur de la LAN : en fait vous devez effectuer un réadressage du port 80 (“web”) de telle façon que l’IP interne de l’appareil soit visible quand on demande l’IP publique du routeur.
Ainsi la page pourra être réclamée à partir du réseau et de n’importe quel ordinateur relié à l’Internet simplement en tapant l’adresse IP du routeur.
Pour accéder à la page de contrôle, il est possible d’utiliser aussi un XDA avec connexion GPRS et IE pour Pocket PC, comme le montre la figure 6.
Pour vérifier l’exécution des diverses commandes vous devez, après avoir paramétré les cavaliers comme le montre la figure 4, relier les périphériques au système. À partir de la page visualisée par le navigateur vous pouvez presser le poussoir d’une sortie et vous verrez tout de suite s’allumer la LED du périphérique sélectionné.
Commentaires



Font Size
+
16
-
lines height
+
2
-