Dernière mise à jour :
08/09/2013
Présentation
Cette interface Ethernet permet de piloter huit appareils
différents (télécommande) et de récupérer quatre valeurs analogiques et
quatre valeurs logiques (télésurveillance) à distance, via un simple
navigateur Internet. Le montage fait appel à un microcontrôleur
PIC 18F45K22 (moins de 4 euros) associé à un contrôleur Ethernet
ENC28J60. Pour la partie
matérielle de la section Internet, j'ai utilisé un module
Eth_Click fabriqué par MikroElektronika, équipé du ENC28J60 et du
connecteur RJ45 (module au standard Mikrobus, 23 euros).
L'ensemble est alimenté
sous une tension de 3,3 V.
Avertissement
Ce
projet n'a pas été réalisé pour un besoin particulier, mais pour
montrer qu'il est facile de mettre sur pied un montage
piloté à distance par une liaison Ethernet. Le fichier compilé fourni
ici ne fait rien d'autre que ce qui a été prévu au départ, à savoir
piloter huit appareils différents et recueillir des valeurs
analogiques (issues du CAN) et logiques (état de broches d'entrées). Le code source n'est pas disponible pour des questions de
droits (il est inclus dans mon
livre PIC et MikroPascal).
L'intérêt du fichier *.hex mis à votre disposition ? Faire vos premiers
pas avec un code qui fonctionne, après vous être procuré un PIC
18F45K22 et un contrôleur Ethernet ENC28J60. Si vous arrivez à établir
le dialogue entre votre proto / montage et un navigateur Internet (voir
copie d'écran au paragraphe Prototype), alors vous pourrez en
toute quiétude vous attaquer à votre propre code logiciel (une fois que la partie matérielle
a été validée, un mauvais fonctionnement ne pourra venir que du
code).
Schéma
Deux circuits intégrés pour une liaison Ethernet
fonctionnelle, ça fait beaucoup, je sais. Il existe des PIC avec
contrôleur Ethernet intégré, je sais.
Ce sont les deux seules choses que je sais, à ma connaissance.
Si on excepte le quartz 8 MHz et les deux condensateurs qui lui
sont associés, la partie
inférieure du schéma avec le circuit ENC28J60 et le connecteur RJ45 est
une copie de l'électronique du module Eth_Click visible sur la photo
qui suit (le schéma complet du module est disponible sur le site
Internet du fabricant).
Avec ce genre de module tout fait, il ne reste plus grand chose à
câbler ensuite autour du PIC. Bien sûr, cela dépend de ce qu'on veut
piloter ou surveiller. Mais pour la partie Ethernet à proprement
parler, vous avez compris que l'effort à fournir est à la portée de
tous. Bien sûr, dès que j'en aurai le temps, je m'essayerai aux PIC
avec contrôleur Ethernet intégré.
Utilisation des entrées
Les
quatre entrées analogiques A_In1 à A_In3 (RA0/AN0 à RA3/AN3) peuvent
accueillir
n'importe quelle source de tension comprise entre 0 V et +3,3 V. Pour
mes tests j'ai utilisé de simples potentiomètres dont les extrémités
étaient reliées à la masse et au +3,3 V, il va de soi qu'on peut
appliquer n'importe quelle tension correspondant à une grandeur
physique (température, courant, pression, etc). Le tout est
de s'assurer que les tensions appliquées sur les entrées n'excèdent pas
3,3 V car sinon le PIC risque de ne pas aimer.
Utilisation des sorties
Les
huit sorties D_Out1 à D_Out8 (RD0 à RD7) sont de type logique TTL et
délivrent
donc des signaux
électriques qui sont soit 0 V, soit +3,3 V, sous un courant maximal de
20
mA par sortie. Les sorties sont en théorie capables de débiter 25 mA
(sous 5 V),
mais le PIC ne supporte pas un courant total supérieur à 200 mA
(information
donnée dans sa feuille de caractéristique) et puis après tout mince, 15
mA c'est déjà beaucoup et ça me semble amplement suffisant pour
commander une interface de puissance. Le tout est de ne pas chercher à
attaquer directement la base d'un transistor 2N3055.
Alimentation
L'alimentation requise pour l'ensemble du circuit est de +3,3 V (il me
semble l'avoir déjà dit), optez pour un régulateur de
tension capable
de débiter au moins 200 mA. Pourquoi 3,3 V ? Cette tension est imposée
par le module ETH_Click, heureusement que le PIC fonctionne encore à
cette tension. Si vous ne le saviez pas, vous auriez tout comme moi
jeté un coup d'oeil à sa feuille de caractéristiques (
Datasheet).
Prototype
Prototype testé avec ma
platine de développement EasyPic7 et le module ETH_Click de
MikroElektronika. La page WEB ouverte dans le navigateur Firefox qu'on
voit sur la copie d'écran ci-après est élaborée de façon
dynamique par le PIC (adresse IP = 192.168.20.61).
Côté matériel, c'est comme je vous le disais : simplifié au maximum !
Remarques- Pour accéder
au PIC (programmé avec mon code) via le port Ethernet (adresse IP
fixe 192.168.20.61, pas de DHCP), le plan d'adressage IP de votre
ordinateur doit correspondre (192.168.xxx.xxx).
- Le
PIC 18F45K22 peut convenir pour des "petits" besoins mais si votre code
a beaucoup de choses à afficher et à traiter, il vous faudra
probablement envisager un microcontrôleur avec une plus
grande quantité de mémoire.
Logiciel du PIC
Le fichier binaire compilé *.hex à flasher dans le
PIC est disponible dans l'archive zip
ci-après. MikroPascal V5.3
utilisé pour le développement et la
compilation.
Interface
Ethernet 001 - 18F45K22 - (08/09/2013)
Pour ce projet, code
source MikroPascal non disponible.
Si vous souhaitez
recevoir par la poste un PIC
préprogrammé et prêt à utiliser, merci de
consulter la page
PIC
- Sources.
Circuit imprimé
Non réalisé.
Historique
08/09/2013
- Première mise à disposition