Dernière mise à jour :
07/04/2024
Présentation
Ce chenillard est de type programmable, vous pouvez
spécifier les figures lumineuses que vous voulez voir défiler les unes
après les autres.
Il est doté d'afficheurs LED sept segments permettant
de
connaître à tout instant :
- le numéro du programme en cours, de 1 à 8 (de 1 à 64 avec extension mémoire, détails dans le texte);
- le numéro de la figure (étape) dans le programme en cours, de 1 à 31
(ou de 1 à 63 avec extension mémoire).
Le
coeur du montage est un PIC de type 16F1827 qui réclame peu de composants annexes autour de lui. Les
sorties se font sous 230 Vac au travers d'une interface de puissance
pourvue d'optocoupleurs, assurant ainsi une excellente isolation entre
la partie puissance et la partie commande. Cette interface de
puissance peut être troquée contre une interface plus simple à
transistors si les lampes à commander sont de type basse tension et
basse puissance.
Avertissements
Logiciel
du PIC mis à disposition en l'état, pas testé en profondeur (système
simulé avec succès, mais pas de prototype physique).
Mode de fonctionnement
Avant
d'entrer dans le vif de la partie technique, voici les
fonctions principales de la machine, qui est dotée de 16 boutons
poussoirs et de deux afficheurs numériques 2 digits pour assurer l'ensemble des
commandes et réglages.
Déroulement des programmes
Lors
de la mise sous tension, le chenillard charge le programme N° 1 et se
place en son début (étape N° 1). Puis il se place en mode
"prêt à
jouer". L'appui sur le poussoir Run active le défilement des spots
selon les figures programmées et sauvées en mémoire par l'utilisateur.
Si lors d'une séquence en cours on appuie sur le bouton Mode, les
programmes se succèdent les uns aux autres après que chacun ait déroulé
son cycle complet (programmes successifs). Dans le cas contraire, le
même programme tourne en boucle (programme unique). L'appui sur les
boutons Prog+ ou Prog- incrémente ou décrémente le numéro de programme
en cours de déroulement, que le système soit en mode "programme unique" (affichage "rO" pour "
Run One")
ou "programmes successifs" (affichage "rA" pour "
Run All").
Un
nouvel appui sur le poussoir Run arrête le déroulement du programme en
cours. Run pour arrêter... ça me rappelle quelque chose...
Programmation des figures lumineuses
La programmation des figures se fait selon la procédure suivante. Le
chenillard doit être en mode arrêt.
-
Appuyer autant de fois qu'il le faut et au moins une seconde sur le
poussoir Mode jusqu'à ce l'afficheur Programme affiche "Pr" et
clignote (le clignotement signale que le système
a accepté le changement de mode).
- Choisir le programme à modifier avec les boutons Prog+ et Prog-.
- Se déplacer dans les étapes du programme en cours avec les boutons
Step+ et Step-.
-
Pour chaque étape (step) du programme, définir les lampes à allumer ou
à éteindre avec les boutons L1 à L8. Les poussoirs L1 à L8 agissent en
bascule, un appui allume la lampe correspondante et un nouvel appui
l'éteint.
- Lorsque la dernière étape du programme en cours est
atteinte, appuyer sur le bouton Save. Cette action a deux rôles.
Premièrement le programme complet est sauvé en mémoire EEProm et reste
ainsi conservé même après coupure complète d'alimentation, et d'autre
part il indique au logiciel de séquencement combien d'étapes (de
figures) le
programme comporte. Ce point est important à retenir, car si vous
souhaitez modifier l'état des lampes à une étape située avant la
dernière dans le programme en cours, il faudra impérativement se
déplacer jusqu'à la dernière avant d'appuyer sur Save.
Effacement complet d'un programme
Il
est parfois plus simple d'effacer complètement un programme et de le
redéfinir à partir de zéro. Ceci est possible grâce au bouton Clear,
qui doit être pressé pendant que
le système est en mode programmation. En mode normal, le bouton Clear
désactive toutes les sorties, mais cet état n'est pas sauvegardé en mémoire (le
programme est toujours présent dans la mémoire du PIC ou dans la mémoire externe). C'est tant mieux, car le
bouton Clear se trouve juste à
côté du bouton Run.
Modes de fonctionnement
Le bouton Mode permet de passer d'un mode de fonctionnement à un autre,
selon le plan suivant :
-
au démarrage, mode "Normal / programme unique" (rO). Dans ce mode, le même
programme tourne en boucle (après activation par le bouton Run) et le changement de programme se fait par
les poussoirs Prog+ et Prog-.
- appui bref : passage en mode "Normal
/ programmes successifs" (rA). Dans ce mode, les programmes se succèdent
automatiquement les uns au autres.
- appui bref : passage en mode
"Manuel / Orgue lumineux" (MA). Dans ce mode, les sorties ne sont plus activées par
les programmes enregistrés, mais le sont manuellement par appui direct
sur les poussoirs L1 à L8.
- appui bref : passage en mode "Programmation" (Pr). C'est le seul mode
où la sauvegarde des modifications apportées est possible.
- appui bref : retour en mode "Normal / programme unique" (rO).
Boutons lumineux ou normaux ?
Si
le
panneau de contrôle du chenillard risque d'être placé à un endroit peu
éclairé, je conseille l'emploi de boutons lumineux pour les fonctions
Mode, Prog+, Prog-, Run et pour les huit boutons L1 à L8. Pour les
autre boutons, uniquement utilisés en mode programmation, cela me
semblerait du luxe. Vous pouvez aussi ajouter au boitier un petit
flexible (col de cygne) avec une petite lampe d'éclairage au bout (une
LED haute luminosité peut suffire),
comme cela se fait pour certaines platines disque ou
consoles de mixage.
Pourquoi tant de boutons poussoirs et pourquoi des afficheurs
LEDs ?
La
programmation des figures et l'accès aux diverses fonctions
pourraient se faire avec seulement quatre voire même seulement deux
boutons poussoirs. Mais pour ce genre d'application, je préfère
nettement disposer d'accès directs pour une souplesse d'emploi accrue.
Pour la section affichage, j'aurais pû utiliser un
afficheur LCD au lieu de quatre afficheurs LED sept segments. Mais je
trouve cela trop limite pour un usage dans un milieu pas très
bien éclairé, et où de surcroit il faut pouvoir lire vite et de loin.
C'est un peu comme les lecteurs CD pour discothèque ou pour radios :
les boutons de commande sont d'une taille imposante, c'est loin
d'être du luxe quand on doit faire vite.
Schéma
Le montage d'origine (2010) était basé sur un PIC 16F88. Le
montage le plus récent (2024) s'appuie sur un PIC 16F1827. A ce PIC
s'ajoutent quelques circuits intégrés CMOS courants et bon marché
(registres à décalage CD4094 et octuple darlington ULN2803), et
en option une mémoire externe pour augmenter le nombre de programmes
que l'utilisateur peut agencer et sauvegarder.
Coeur du montage
L'intelligence du système repose sur un petit microcontrôleur de type
PIC 16F1827. C'est lui qui se charge :
- des commandes et modifications utilisateur (programmation des figures
lumineuses),
- de l'affichage des numéros de programme et figure en cours,
- de la commande des sorties.
Capacité mémoire
Le nombre de programmes et le nombre de pas pour chaque programme
dépend de la présence ou non d'une mémoire externe raccordée au PIC. A
la mise sous tension, le logiciel du PIC cherche une mémoire externe.
Si aucune mémoire externe n'est détectée, c'est la (petite) mémoire
interne du PIC qui est utilisée.
- Sans mémoire
externe : 8 programmes de 31 pas chacun (mémoire interne du PIC de
256 octets)
- Avec mémoire
externe : 99 programmes de 63 pas chacun
(mémoire externe 16 Ko / 128 Kb de type 24AA128)
Un octet est réservé pour chaque programme pour stocker sa
longueur réelle, ce qui explique que l'on ne dispose pas de 32
pas (ou de 64 pas) par programme.
Oscillateur du PIC
Pas de quartz externe (totalement inutile ici), on exploite le mode oscillateur interne.
Analyse et reconnaissance du bouton-poussoir pressé
Les
seizes boutons poussoir peuvent sembler curieusement agencés pour ceux
qui ne connaissent pas la technique employée. Ils sont en effet reliés
sur un diviseur
résistif de tension
multiple qui fournit plusieurs tensions continues fixes, chaque
poussoir faisant le lien vers un point donné du diviseur. Selon le
poussoir enfoncé, on retrouve donc une tension différente au point
marqué A0 sur le schéma. Cette tension, qui est voisine de 0 V au
repos, prend une valeur pouvant aller d'un peu plus de +100 mV à un peu
moins de +5 V selon le bouton pressé. Appliquée à l'entrée
analogique AN0 du PIC, cette
tension continue est échantillonnée et convertie par le convertisseur
A/N intégré en une valeur numérique comprise entre 0 et 1023
(convertisseur A/N du PIC de type 10 bits). Cette valeur
numérique est
ensuite interprétée par le logiciel du PIC, qui sait quoi faire en
fonction de la valeur lue. Pour plus de sécurité, le logiciel lit deux
fois de suite la tension présente sur l'entrée analogique avec un
temps de 100 ms entre les deux mesures, quand la valeur lue est non
nulle. La seconde valeur
lue est comparée à la première et n'est acceptée que si elle ne diffère
que de quelques mV, ce qui permet de s'affranchir de parasites
de
toutes sortes.
Remarquez que ce type de câblage ne permet
pas d'appuyer simultanément sur plusieurs boutons-poussoir. Pour être
plus précis, presser en même temps plusieurs boutons-poussoirs
conduirait immanquablement à un comportement aléatoire. Cette
contrainte ne
constitue pas un défaut dans notre cas et présente même l'avantage
indéniable de n'utiliser qu'une seule ligne d'entrée du PIC.
En
mode matricé, il aurait fallu huit lignes d'entrée/sortie pour les 16
poussoirs (quatre rangées et quatre colonnes). Une économie de 7
fils sur 8, c'est plutôt bien !
Vitesse de défilement des figures
Le réglage de la vitesse de
défilement se fait via un potentiomètre classique. Celui-ci ne fait pas varier la fréquence de l'oscillateur de base du
PIC, qui reste constante à tout instant. Le potentiomètre qui est monté en
diviseur de tension fournit une tension comprise entre 0 V
et +5 V. Cette tension mesurable au point
marqué A1 sur le schéma est appliquée à une seconde entrée analogique du PIC (AN1) pour être convertie en numérique
(N).
La valeur numérique obtenue après conversion est comprise entre 0 et
1023 et est utilisée pour
définir la vitesse de défilement des séquences. Plus la tension relevée en A1 est élevée et plus la valeur
numérique est élevée et plus le déroulement des séquences lumineuses se fait de façon rapide (on
aurait pû faire l'inverse).
La mesure de la position du potentiomètre
(ou plus précisement de la tension continue appliquée sur l'entrée AN1
du PIC) est répétée 1000 fois par seconde, ce qui me semble suffisant
pour réagir au doigt et à l'oeil du plus excité des opérateurs.
Affichage numérique
Il
est assuré par quatre
afficheurs
LED
sept segments groupés deux par deux. Chaque groupe de deux permettent
d'afficher un nombre compris entre 0 et 99 mais qu'on limite ici à une
plage comprise entre 1 et 8 (programme) ou entre 1 et 31 (étape dans le programme). Au démarrage du système, le
programme n°1 est chargé et est placé en première position (étape N°1).
L'ensemble des données à afficher et l'état des sorties à commander
tiennent sur cinq octets (5 x 8 soit 40 bits en tout) : deux
octets pour l'affichage du numéro de programme, deux octets pour
l'affichage du numéro de pas (étape) et un octet pour l'état des huit
sorties. Ces cinq octets sont transmis de façon sérielle depuis le PIC
vers les cinq registres à décalage CD4094. Un registre par octet, ça
tombe très bien tout ça. Les registres se chargent de faire la
conversion série / parallèle des données transmises en série, et le
tour est joué.
Extension possible ?
Et avec 16 voies de sortie au lieu de 8, c'est possible ?
Très probablement...
Interface de puissance
Le
schéma qui suit correspond au sous-ensemble marqué INT. PUISSANCE sur
le schéma général. Il met en oeuvre ce qu'il faut pour commander des
ampoules fonctionnant en 230 V alternatif, selon le classique couple
optotriac / triac.
L'étage
de sortie est assez classique pour celui qui connait déjà les
optocoupleurs ou phototriacs et les triacs, le nombre de composants est
limité au strict minimum. Une LED est montée en série avec chaque
optotriac, les huit LED qu'on trouve au final sont celles qui sont
déportées sur la face avant et qui permettent à tout instant de
visualiser les sorties qui sont actives.
Logiciel du PIC
Fichier compilé (hex) disponible dans l'archive suivante :
Chenillard 018 - PIC 16F1827 - (06/04/2024)
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
07/04/2024
- Ajout fonction enregistrement programme en mémoire externe.
- Changement du type de la mémoire externe : 24AA128 (en production) en remplacement de la 24C32 (obsolète).
31/03/2024
- Reprise en main du système. Eh oui, 14 ans après !
- Remplacement du PIC 16F88 par un 16F1827.
- Mise à disposition du logiciel du PIC (programme en l'état, pas vérifié à fond).
xx/xx/2010
- Premiers pas... avec un résultat pas convainquant et pour cette raison jamais publié.