Dernière mise à jour :
01/01/2012
Article non terminé, volontairement non
référencé dans les sommaires du
site
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 à 64;
- le numéro de la figure (étape) dans le programme en cours, de 1 à 63 (ou de 1 à 31, voir texte).
Le
coeur du montage est un PIC de type 16F88 qui ne réclame pas beaucoup
d'autres composants 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
Pour
le moment, ce chenillard ne possède qu'une taille mémoire limitée de
256 octets (mémoire interne du 16F88), divisée en 8 programmes de 31
pas chacun (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
octets). Je prévois à terme d'ajouter une mémoire EEProm
externe d'au moins 4 KO (style 24C32) afin d'augmenter les
capacités du circuit. En l'absence de mémoire additionnelle, tout
numéro de programme supérieur à 8 et tout numéro de pas
(étape) supérieur à 31 ne sont pas permis. Avec la mémoire
externe, on aura droit à 64 programmes de 64 pas chacun. En résumé :
- Sans mémoire externe : 8 programmes de 31 pas chacun (mémoire interne 256 octets)
- Avec mémoire externe 4 KO : 64 programmes de 63 pas chacun (mémoire externe 4096 octets)
Quand
les fonctions de lecture / écriture dans la mémoire externe seront opérationnelles, on
pourra aussi bien utiliser les espaces mémoire interne que externe. Je
ne sais pas encore si l'organisation des figures en mémoire interne
restera de [8 x 31] ou si elle évoluera en [4 x 63] en présence de
mémoire externe. Une patte libre du PIC pourrait fort bien être mise à
profit pour effectuer la sélection entre les deux possibilités. Je
verrai ça le moment venu.
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 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"
ou "programmes successifs".
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 au moins une seconde sur le poussoir Mode jusqu'à ce que le
numéro de programme clignote (le clignotement signale que le système
est entré en mode programmation).
- 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.
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 appuyé au moins pendant deux secondes et ce pendant que
le système est en mode programmation. En mode normal, le bouton Clear
est totalement inopérant et c'est tant mieux vu qu'il 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". Dans ce mode le même
programme tourne en boucle, et le changement de programme se fait par
les poussoirs Prog+ et Prog-.
- appui bref : passage en mode "Normal
/ programmes successifs". Dans ce mode, les programmes se succèdent
automatiquement les uns au autres.
- appui bref : passage en mode
"Orgue lumineux". 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 : retour en mode "Normal / programme unique".
Un
appui long (d'au moins deux secondes) sur le poussoir Mode permet
d'entrer en mode programmation. Un appui bref permet de sortir du mode
programmation.
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 et sur certaines 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 ce qui est de 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 toujours 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, mais c'est loin
d'être du luxe quand on doit faire vite.
Schéma
Le montage est basé sur un PIC de type 16F88 et de quelques circuits intégrés CMOS courants et bon marché.
Coeur du montage
L'intelligence du système repose sur un petit microcontrôleur de type PIC 16F88. 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.
Oscillateur du PIC
Le schéma montre
l'utilisation d'un quartz, et c'est tant mieux car il est requis. On exploite en effet le mode d'oscillateur externe.
Analyse des poussoirs enfoncés
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é A1 sur le schéma. Cette tension, qui est voisine de 0 V au
repos, prend une valeur pouvant aller d'un peu plus de +50 mV à un peu
moins de +5 V selon le bouton poussoir enfoncé. 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 car le
convertisseur A/N du PIC est de type 10 bits. Valeur numérique qui 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 une
nouvelle fois la tension présente sur l'entrée analogique après un
délais de 100 ms, 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 cette façon de faire ne permet
pas d'appuyer simultanément sur plusieurs boutons poussoir ou pour être
plus précis si on le fait le résultat peut être aléatoire. Mais cela 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).
Vitesse de défilement des figures
Le réglage de la vitesse de
défilement se fait via un potentiomètre classique. Cependant, ce
dernier ne fait pas varier la fréquence de l'oscillateur de base du
PIC, qui reste constante à tout instant. Le potentiomètre est monté en
diviseur de tension et fournit une tension continue comprise entre 0 V
et +5 V (à très peu de chose près). Cette tension mesurable au point marqué A2 sur le schéma est appliquée à une
des entrées analogiques 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 valeur
numérique est élevée et plus le déroulement 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éitérée toutes les 100 ms, ce qui me semble bien suffisant
pour réagir assez vite aux mouvements de l'opérateur. Si cela s'avérait
insuffisant, on pourrait tout à fait doubler ou tripler la cadence des
échantillonnages.
Affichage numérique
Il
se fait au moyen de 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 63. 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é.
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.
Extensions prévues ?
Je prévois d'utiliser les entrée/sortie RB2/RX et
RB5/TX pour permettre le raccord à un logiciel tournant sur PC. Pourquoi pas
ProgSeq... Mais chaque chose en son temps, rendons déjà opérationnelles les fonctions de base et après on verra.
Logiciel du PIC
Sera disponible une fois le projet terminé.
Circuit imprimé
Non réalisé.
Historique
xx/xx/xxxx