Electronique > Réalisations > Télécommandes > Télécommande 016b - Pro 

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.
 
telecommande_016b_pcb_3d_front
 
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). 
   
telecommande_016b
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 :
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.
   
telecommande_016b_proto_rm_001a telecommande_016b_proto_rm_001b telecommande_016b_proto_rm_001c 
 
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).
 
telecommande_016b_proto_rm_001f telecommande_016b_proto_rm_001e  
 
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.

telecommande_016b_pcb_components_top

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.