Electronique > Réalisations > Selecteur 006b

Dernière mise à jour : 18/12/2016

Présentation

Le présent sélecteur de source permet de sélectionner une voie parmi 16 :
- soit par le biais de 16 boutons-poussoirs déportés et reliés au système par un simple câble à deux conducteurs,
- soit par le biais d'un unique potentiomètre ordinaire.
Il met en oeuvre un PIC de type 18F45K22, composant programmable peu coûteux. L'appui sur un bouton est mémorisé, c'est à dire que la sélection de la sortie reste la même une fois qu'on a appuyé puis relâché le bouton. La voie sélectionnée est affichée sous forme numérique avec deux afficheurs 7 segments classiques. Ce montage est une version évoluée de mon sélecteur 006 avec PIC 12F675.

Schéma

Le schéma représente la fonction de commande avec les boutons-poussoirs déportés ou avec le potentiomètre.

selecteur_006b

Principe de fonctionnement
Le principe consiste à lire en boucle une tension continue via une des entrées analogiques du PIC 18F45K22, et à activer la sortie qui correspond à la tension mesurée. Un LM3914 surboosté, en quelque sorte. L'activation d'une nouvelle sortie est toujours précédée de la désactivation préalable de l'entrée qui était sélectionnée (principe du "break before make").

Sélection par bouton-poussoir
Cavalier JP1 positionné côté connecteur J2' (lui-même raccordé à J2 et ses boutons-poussoirs)
Au repos, c'est à dire quand aucun bouton-poussoir n'est pressé, la tension continue appliquée à l'entrée AN0 du PIC (broche 2) est de +5 V, grâce à la résistance R17 reliée au pôle plus de l'alimentation. Quand un bouton-poussoir est enfoncé, la tension appliquée à l'entrée AN0 chûte, et prend une valeur comprise entre 0,27 V (appui sur SW16) et 4,18 V (appui sur SW1). Entre ces deux extrêmes, plusieurs valeurs de tension sont possibles, qui dépendent de la valeur données aux résistances R1 à R16 associées à chaque poussoir. Ainsi, en fonction de la tension lue, le programme interne au PIC sait quel bouton poussoir a été enfoncé. Les valeurs de la tension obtenue en fonction du poussoir enfoncé, et avec les valeurs données ici aux résistances R1 à R17, sont les suivantes (elles peuvent bien sûr légèrement varier en fonction de la tolérance des composants utilisés) :

SW1 => 4,18 V
SW2 => 4,01 V
SW3 => 3.83 V
SW4 => 3.65 V
SW5 => 3.45 V
SW6 => 3,22 V
SW7 => 3,00 V
SW8 => 2,75 V
SW9 => 2.47 V
SW10 => 2,16 V 
SW11 => 1,83 V
SW12 => 1,50 V
SW13 => 1,18 V
SW14 => 0,86 V
SW15 => 0.56 V
SW16 => 0.27 V

Si quelque chose cloche dans la sélection des voies, la première chose à vérifier est la valeur de ces tensions. La lecture de la tension d'entrée est effectuée en boucle, avec une périodicité voisine de 30 ms, et il faut que trois valeurs identiques ou très proches les unes des autres soient lues successivement pour que le sélecteur considère cela comme une demande réelle et non comme un parasite. La prise en compte d'une commande prend donc approximativement 100 ms (un dizième de seconde), ce qui permet une réactivité tout à fait convenable.
Remarque : si la distance qui séparer les boutons-poussoirs du circuit de commande dépasse 50 cm, il est conseillé d'utiliser un câble blindé pour relier J2 à J2'. Ca tombe bien, un des deux fils de liaison est relié à la masse...

Sélection par potentiomètre
Cavalier JP1 positionné côté potentiomètre RV1
Dans ce cas les boutons-poussoirs et connecteurs J2/J2' peuvent être omis. Les résistances "talon" R18 et R18' permettent de faire travailler le potentiomètre sur une plage "convenable". Contrairement au mode avec boutons-poussoirs, lasortie sélectionnée lors de la mise sous tension est celle qui correspond à la position du curseur de RV1.

Affichage de la voie sélectionnée
Comme à part lire la tension continue présente sur l'entrée RA0 le microcontrôleur ne faisait pas grand chose, je me suis dit qu'on pourrait le solliciter un peu plus. C'est chose faite avec l'utilisation d'un timer et de routines d'interruptions, qui permettent d'afficher en clair et sur deux chiffres, selon le principe du multiplexage, la valeur de la voie sélectionnée.

Interface de sortie
Le circuit présenté ici possède des sorties logiques TTl et n'est doté d'aucune interface de sortie. Vous devez en ajouter une qui dépend de l'application envisagée. Il peut s'agir de vulgaires transistors, de relais ou d'optotriacs, voir les quelques exemples disponibles sur ce site dont les liens sont donnés en page Interfaces. Il peut aussi s'agir de commutateurs analogiques tels que CD4066 ou autres du genre.

Logiciel du PIC

Fichier compilé prêt à l'emploi et code source enregistré avec délicatesse dans l'archive zip suivante :
Selecteur 006b - 18F45K22 - 18/12/2016
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

18/12/2016
- Première mise à disposition.