Electronique > Réalisations > Télécommandes > Télécommande 009 [Pro]

Dernière mise à jour : 08/04/2018

Présentation

Cette télécommande joue deux rôles : télécommande de fonction (logique) et déport d'informations de niveaux audio (analogique). Elle est composée de deux appareils A et B reliés entre eux par une liaison bidirectionnelle qui peut atteindre plusieurs dizaines de mètres, même en environnement perturbé (parasité). Elle permet les opérations suivantes, de manière simultanée :
La liaison entre les deux appareils A et B s'effectue en différentiel (RS422 ou RS485) avec deux câbles symétrique (type DMX), ou avec un câble à quatre conducteurs (deux paires) ou encore avec un câble réseau style CAT5 (solution que j'ai retenue).

Schéma

Les deux appareils A et B sont construits autour de microcontrôleurs PIC 18F46K22.

telecommande_009
Schéma incomplet

Tel que le schéma le représente ici, la liaison entre les deux appareils A et B s'effectue avec un câble Ethernet croisé.

Fonctionnement général
Les deux appareil A et B peuvent simultanément émettre et recevoir des données dont la source est analogique ou numérique. La transmission (numérique dans tous les cas) est bidirectionnelle. Chaque appareil effectue en permanence les tâches suivantes :
Le type de traitement dépend bien sûr  des données reçues. Les données analogiques sont affichée sous forme de vumètre "simplifié" (-18 dB à +6 dB), et les données numériques sont reportées sur des lignes de sortie du PIC récepteur (GPIO). Seul l'appareil A envoie des états numériques, et seul l'appareil B traite et "répercute" ces données numériques.

Vumètres (valeurs analogiques)
Les tensions analogiques sont transmises de l'appareil A vers l'appareil B et de l'appareil B vers l'appareil A sous forme "linéaire" et sont converties en dBu dans l'appareil récepteur. L'affichage de chaque niveau s'effectue sur une échelle de 8 LED.

telecommande_009_vu_preview_001a

Afin de disposer d'une échelle exploitable à peu de frais et sur une échelle de 8 LED, j'ai décidé d'aligner la valeur 0 dB sur une tension continue de +2,5 V (la LED "0 dB" s'allume quand la tension atteint +2,5 V à l'entrée du PIC). Ainsi, la tension maximale de +5 V tolérée sur les entrées analogiques des PIC correspond à +6 dBu. Cela peut sembler peu rigoureux, mais cette façon de faire répond à un besoin "simple et fonctionnel", qui en compensation ne réclame qu'un simple alignement de niveau dans l'étage de détection audio. Il y a bien sûr moyen de faire plus précis et plus "normalisé", comme dans mon vumètre 017. Il serait ainsi tout à fait possible d'adopter une échelle de 16 LED pour chaque canal audio, en limitant le nombre de voies à afficher à 4 (4 voies mono ou 2 voies stéréo). L'affichage des niveaux audio peut se faire en mode point ou en mode ruban :

telecommande_009_vu_preview_002a
telecommande_009_vu_preview_002b

GPIO (commandes numériques)
Les commandes numériques acquises par l'appareil A peuvent prendre une forme physique quelconque : bouton-poussoir, interrupteur, fader-start, sortie GPIO d'un appareil existant... Les sorties numériques de l'appareil B qui réceptionne les données les restituent au format TTL. Les sorties peuvent être rendues flottantes (boucles sèches) en pilotant des optocoupleurs ou des relais via une interface adéquate (avec ULN2803, par exemple). Les commandes numériques sont de type fugitives : les sorties de l'appareil B sont actives quand les entrées correspondantes sur l'appareil A sont actives. Il serait bien sûr possible de modifier ce comportement pour bénéficier d'un mode "bascule".

Transmission des données
La vitesse de transmission des données est fixée à 250 kbps (250000 bauds), ce qui convient sans problème à un câble de plusieurs dizaines de mètres entre les deux appareils A et B. Les valeurs acquises sont transmises toutes les 50 ms, dans un sens comme dans l'autre, ce qui permet un rafraichissement des valeurs à un rythme de 20 fois par seconde. Cela est amplement suffisant pour les données vumètres et numériques de commande dont il est question ici. 
Remarques : les tensions analogiques acquises par le CAN de chaque PIC sont transmises dans leur forme numérisée d'origine (quantification sur 10 bits, 1024 valeurs possibles). Pour cette application, j'aurais pu me contenter d'envoyer une valeur codée sur 8 bits seulement (256 valeurs) mais j'avais envisagé dès le début de pouvoir transmettre des valeurs codées sur 16 bits.

Affichage des données
C'était le point le plus "délicat" d'un point de vue gestion du temps partagé. L'affichage est en effet multiplexé, et il ne fallait pas que les opérations non liées à l'affichage (réception et traitement des données, acquisition et envoi des données) puissent rendre instable l'éclairage des LED. Avec la méthode que j'ai adoptée, toutes les rangées de LED s'allument toujours pendant une même durée, ce qui évite tout scintillement aléatoire gênant. Les opérations "gourmandes" sont réparties dans le temps, entre chaque cycle d'affichage qui s'effectue à 500Hz (toutes les 2 ms). Chaque (groupe de LED) "clignote" ainsi à une fréquence de 55 Hz.

Alimentation
L'alimentation secteur est située côté appareil B, et délivre deux tensions stabilisées : une de +12 V et une de +5 V. La tension de +12 V est transmise à l'appareil A via les deux conducteurs 7 et 8 du câble réseau, et est ensuite abaissée localement à +5 V pour alimenter le PIC. Cette solution facilite l'installation de l'appareil A, qui n'a pas besoin d'une source secteur de son côté. Ce n'est pas du vrai PoE (Power over Ethernet) mais comme il s'agit d'une application spécifique, on peut se le permettre. La consommation, qui est de l'ordre de 30 mA pour chacun des deux circuits, ne provoque pas une perte élevée de tension dans le câble réseau.

Evolutions possibles

En ajoutant des multiplexeurs et des expandeurs de port au PIC, les possibilités du système peuvent être étendues :
Mais pour l'instant c'est le PIC qui fait tout, et ce qu'il fait tout seul est déjà pas mal ;-)

Circuit imprimé

Non réalisé.

Logiciel des PIC

Le code disponible ici en libre téléchargement est une version limitée à 1 voie analogique (dans les deux sens) et 2 voies numériques. Pour la version pro complète ou pour une demande d'évolution, me contacter.
Télécommande 009 - 18F46K22 - LE - 08/04/2018
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Historique

08/04/2018
- Première mise à disposition.