Dernière mise à jour :
25/05/2025
Présentation
Cette
télécommande
a été dévelopée pour traiter des ordres de télécommande à
destination ou provenant d'équipements
audiovisuels, par le biais d'un réseau local Ethernet.
Dotée de plusieurs entrées logiques
(boutons-poussoirs), de plusieurs entrées analogiques (potentiomètres)
et de plusieurs entrées/sorties logiques à usage général (GPIO), elle
est destinée à être raccordée à un réseau Ethernet local (LAN)
en passant
par un
commutateur (switch). Cette télécommande 016b est une version plus
évoluée de ma
télécommande
016.
Schéma
Le schéma repose sur un PIC 32MX575F512H associé à
plusieurs circuits d'interface (Ethernet, RS232-TTL/USB,
RS422/RS485).
Schéma avec adaptateur
Ethernet ENC28J60, d'autres adaptateurs Ethernet peuvent être utilisés
Deux liaisons série "RS" sont prévues : Tx2/Rx2 et Tx5/Rx5. La
liaison série Tx2/Rx2 du PIC est dédiée aux interfaces
RS422 et
RS485, tandis que la liaison
série Tx5/Rx5 du même PIC est utilisée pour le suivi des
actions
(log-historique). Cette dernière fait appel à un convertisseur
RS232-TTL/USB (adaptateur CH340) pour simplifier la liaison avec un
ordinateur.
Fonctionnement général
Le
PIC est constament en attente de commandes utilisateur locales
(boutons-poussoirs) ou de commandes véhiculées par le réseau Ethernet.
Dans le premier cas, il délivre des trames de commande TCP ou UDP. Dans
le second
cas, il active des sorties GPIO via un expandeur de port MCP23S17 ou
envoie des ordres par Ethernet. Les
ordres émis sur le réseau Ethernet sont au
format TCP ou UDP et encapsulent des ordres construits sur le protocole
TSL5.0. Les ordres reçus peuvent véhiculer des commandes au format
ASCII ou hexa, là aussi éventuellement construits sur le protocole
TSL5.0.
Commandes utilisateur manuelle
Les
commandes utilisateur manuelles sont au nombre de 8 pour les voies
logiques et de
8 pour les voies analogiques. Ce nombre de voies d'entrées peut être
réduits dans le cas où une journalisation des évènements est
requise (ajout d'une
horloge RTC non volatile et d'une mémoire flash externe non visibles
sur le schéma général montré précédement).
Interface Ethernet
Le microcontrôleur
PIC32MX utilisé ici ne comporte pas de module
Ethernet interne, raison pour laquelle un
circuit
d'interface Ethernet externe a été ajouté. Le dialogue entre
le module Ethernet et le microcontrôleur
se fait en SPI. La télécommande a été conçue pour pouvoir travailler
avec les modules encodeurs Ethernet suivants :
- ENC28J60 (Nota
1)
- ENC624J600
- W5100 ou W5500
- LAN9250 ou LAN9252
Nota 1
: le contrôleur Ethernet ENC28J60 ne dispose
pas d'une adresse MAC enregistrée, contrairement aux
autres encodeurs Ethernet.
Remarque
: le choix d'un PIC comportant en interne un module Ethernet (par
exemple PIC32MX675F512L ou PIC18F97J60) n'était pas souhaité par le
demandeur qui préférait pouvoir changer facilement
de module Ethernet en cas de nécessité. Tous les modules Ethernet sont
implantés sur un PCB enfichable au format Mikrobus de Mikroe, exception
faite du module
Ethernet à base de ENC624J600 qui lui est doté d'un plus grand nombre
de connecteurs pour permettre un accès aux données en mode parallèle.
Interface série RS232-TTL/USB
Module faisant usage d'un convertisseur RS232-TTL/USB de type
CH340. Cette interface étant principalement utilisée pour le journal de
bord (log/historique des actions), le module d'horloge temps réel (RTC)
du PIC est mis à contribution pour l'horodatage des événements (base de
temps traditionnelle de 32,768 kHz avec quartz d'horloger).
Interfaces série RS422/RS485
Module faisant usage de circuits d'interface ligne de type
MAX485/MAX487 pour les deux liaisons différentielles RS422 et RS485
(une seule des deux liaisons pouvant être active).
Configuration (paramètres utilisateurs)
La configuration des paramètres de liaison
(vitesse de transfert pour les liaisons RSxxx, adresse IP, masque
réseau, passerelle et ports
TCP/UDP pour la liaison Ethernet) peut être assurée de deux manières :
soit par la liaison série Tx5/Rx5, soit par une interface serveur WEB embarquée.
Journalisation (historique des événements)
La
sauvegarde de l'historique des événements est assuré par une mémoire
externe SPI de 1Mb type 25AA1024. Les événements sont "codés" pour une
simple question de place. Le "décodage" est réalisé par un logiciel
externe tournant sur PC.
Alimentation
L'alimentation requise par cette télécommande est de 3V3.
La tension d'alimentation fournie sur place étant
de 12V, un circuit de régulation a été prévu. La
consommation
globale est au maximum de 200 mA, le plus gros consommateur étant ici
le module Ethernet. La dissipation de
puissance du régulateur de
tension est proche de 2 W, ce qui justifie l'emploi
d'un dissipateur thermique.
Prototype
Réalisé conformément au PCB visible plus loin. J'avoue que le soudage du PIC32 au format CMS m'a donné un peu de fil à retordre.
L'interfaçage Ethernet peut ici être confiée à un module à base de
ENC28J60, ENC624J600, W5100, W5500, LAN9250 ou LAN9252. Sur
les photos ci-devant, c'est un module ENC624J600 qui est en action. Les
photos qui suivent montre les quatres modules compatibles avec la
télécommande (sous réserve bien sûr que le logiciel du PIC soit adapté en conséquence).
Le module le plus à gauche visible sur la première photo ci-devant est le seul à ne pas
être proposé au format "Mikrobus" de
la société Mikroe, c'est aussi le seul à ne pas "déborder" de la carte
principale. Il possède 4 rangées de 11 points de connexion
pour une manipulation des données possible en mode parallèle -
ici seuls quatres points sont utilisés pour la liaison SPI avec le
microcontrôleur.
Le module le plus à droite est doté de deux ports/PHY (EtherCAT LAN9252).
Circuit imprimé (PCB)
Circuit prototype
réalisé en double
face.
Circuit actuellement testé avec succès avec les encodeurs Ethernet
ENC28J60 et ENC624J600.
Logiciel du PIC
Logiciel de test
terminé et fonctionnel.
Télécommande
016b - PIC32MX575F512H - 24/05/2025
Pro - Logiciel non
disponible en libre accès.
Historique
25/05/2025
- Première mise à disposition.