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