Electronique > Réalisations > Interfaces > Interface Ethernet 001

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.

interface_ethernet_001

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).

mikroe_eth_click_001a

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).

interface_ethernet_001_navig_001a  interface_ethernet_001_navig_001b

Côté matériel, c'est comme je vous le disais : simplifié au maximum !
 
interface_ethernet_001_proto_001a interface_ethernet_001_proto_001b

Remarques

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