Dernière mise à jour : 24/07/2011
Présentation
Ce séquenceur permet de mettre sous tension jusqu'à huit équipements
différents au bout d'un temps déterminé par l'utilisateur.

Le délai de
mise sous tension de chaque appareil peut être ajusté individuellement entre 100 ms et 1
heure par pas de 100 ms. On peut ainsi décider par exemple qu'à partir
du moment où le séquenceur lui-même est mis sous tension, il va
s'écouler une seconde avant qu'un premier équipement ne soit
mis sous tension, puis 1,5 seconde avant qu'un second équipement ne le
soit, et qu'enfin un troisième équipement ne soit mis sous tension
qu'au bout de 2,7 secondes. Bien entendu on n'est pas obligé d'utiliser
toutes les sorties. Le circuit est basé sur un PIC bon marché
associé à quelques boutons poussoirs et à un afficheur LCD. Pour une
utilisation fixe - dont les délais de démarrage sont toujours les mêmes
- on pourrait sans problème envisager une version sans bouton poussoir
ni affichage LCD. Mais dans ce cas bien sûr le système ne serait plus
aussi "autonome".
Avertissements
Des petites limitations qui je pense ne posent pas de gros soucis mais
qu'il me faut mentionner. Si vous les découvriez de vous-même sans que
je ne vous en ai parlé, vous penseriez à un produit trop mal fini pour
être sérieux...
- La précision au niveau timing (délais) spécifié par
l'utilisateur est bonne mais pas parfaite. Si vous spécifiez
un temps de retard de 5,00 secondes, le délai réel sera de 5,02
secondes soit un décalage de 20 ms. Il faut bien laisser au PIC le
temps de s'initialiser, ce décalage de 20 ms est constant et se fait
sentir quelque soit le retard adopté. La notion de pas de réglage de
100 ms doit être intégrée avec ce petit détail, surtout si les retards
spécifiés restent de faible valeur (20 ms de décalage pour un délai de
200 ms présente une erreur de 10% alors que 20 ms de décalage pour un
délai de 2 s présente une erreur de 1%). Bien sûr je pourrais fort bien
compenser ce délai de façon logicielle en adoptant une base de temps
principale de 1 ms ou 10 ms au lieu du rythme actuel de 100 ms. Mais
entre nous...
- La précision horaire absolue dépend de la base de temps
principale, qui elle-même est conditionnée par la précision de
l'horloge mise en oeuvre. Ici on utilise l'horloge interne de 8 MHz du
PIC qui est spécifiée avec une précision de 1%. On peut mieux faire et
utiliser un quatrz externe de 8 MHz, ce point sera abordé plus loin.
- Petite limitation au niveau de l'affichage du temps écoulé
quand on est passé par les menus de réglage pour spécifier les délais
désirés pour chaque sortie : quand on sort du menu de réglage et qu'on
revient à l'affichage du temps écoulé, ce dernier n'est plus bon. Le
reflet de l'état des sortie est quant à lui correct dans tous les cas.
Je n'ai pas (encore) pris le temps de régler ce petit problème, qui
reste somme toute assez mineur puisqu'il n'apparaît que durant la phase
de réglage. En utilisation normale (établie) l'affichage du temps
écoulé est correct.
Schéma
Le montage est basé sur un PIC de type 16F886 (prix environ 3 euros)
dont on exploite l'oscillateur interne 8 MHz.

L'affichage LCD permet de voir en un coup d'oeil deux types
d'informations en
même temps :
- sur la première ligne de l'écran, affichage du temps écoulé
en secondes depuis le démarrage du séquenceur;
- sur la seconde ligne de l'écran, affichage
des sorties qui
sont désactivées (affichage "0-") ou activées
(affichage "1-"). Le texte
"1-1-1-0-0-0-0-0" indique ainsi que les trois premières
sorties (Out1
à Out3) sont activées et que les cinq autres (Out4 à Out8) ne le sont
pas.
Principe général de fonctionnement
Une
horloge interne cadencée à 10 Hz - obtenue par interruption du Timer1
toutes les 100 ms
-
incrémente un compteur qui est une simple variable de type word. A
chaque
incrément de cette variable, une comparaison de valeur est effectuée
avec le délai
spécifié pour chaque sortie. Si le délai spécifié pour une sortie est
atteint, la sortie correspondante est activée.
Choix de l'horloge de référence
On
utilise ici l'horloge interne de 8 MHz du PIC (donnée avec une
précision de 1% par Microchip, le fabricant du PIC) car cela suffira
dans bien des cas. Si toutefois on a besoin d'une plus grande
précision, rien n'empêchera d'ajouter un quartz entre les pattes OSC1
et OSC2 du PIC, qui comme vous pouvez le constater sont restées
libres... Dans ce cas bien sûr il conviendra de programmer le
PIC en tenant compte de cette nouvelle configuration
d'horloge.
Réglage des délais
Il s'effectue de façon indépendante pour chaque sortie
de puissance, via quelques boutons poussoirs et l'écran LCD.
Pour entrer dans le menu de réglage du délai à spécifier pour chaque
sortie, il suffit de suivre la procédure suivante :
1 - Appuyer sur le bouton Next (accès réglage pour sortie Out1
ou suivante) ou Prev (accès réglage pour sortie Out8 ou précédente) pour sélectionner la sortie désirée.
2 -
Utiliser les boutons Inc ou Dec pour respectivement
augmenter ou diminuer le temps de retard à l'allumage de la sortie
concernée. Si le bouton SW1/Fast est relâché, l'incrément ou décrément
de valeur se fait par pas de 100 ms. Si le bouton SW1/Fast est
enfoncé, l'incrément ou décrément de valeur se fait par pas de 5 s.
3 -
Appuyer autant de fois que nécessaire sur le bouton Next ou Prev pour
revenir à l'affichage "nominal" du temps écoulé et de l'état en cours
des sorties. Cela est requis pour la prise en compte (sauvegarde) des
nouvelles valeurs.
Alimentation
Une tension de +12 V est requise pour les relais
et une tension de +5 V est requise pour le PIC. Entre les deux, un
petit régulateur de tension 5 V de type 78L05 assure la compatibilité.

Le régulateur de tension 78L05 (boîtier plastique TO92) suffit car
même quand toutes les sorties sont activées, le courant total drainé
par le PIC reste très faible, en tout cas largement inférieur à 100 mA.
Le plus gros de la consommation se fait au niveau du 12 V et donc avant
le régulateur, et dépend de la consommation réelle des relais : plus
leur bobine présente une résistance ohmique faible et plus leur
consommation est importante. Prenons par exemple un relais standard 12
V dont la résistance ohmique de la bobine est de 160 ohms : ce type de
relais consomme environ 75 mA. S'il est seul ça va mais s'il y en a
huit à activer, ça porte l'ensemble à 600 mA. Il faut juste y penser
pour correctement dimensionner l'alimentation.
Remarques diverse
- La ligne Reset du PIC (RE3/MCLR/VPP en broche 1) est câblée
ici directement au +5 V, la configuration des "fusibles" du PIC
spécifiant (dans le logiciel proposé en téléchargement) que cette broche doit être utilisée en tant que broche de
reset. Si vous souhaitez l'utiliser de façon manuelle avec un bouton
poussoir additionnel, il convient d'ajouter une résistance de 10 kO et
un condensateur de 220 nF en plus du bouton poussoir, selon câblage
suivant : résistance entre broche 1 du PIC et +5 V alim,
bouton poussoir
entre broche 1 du PIC et masse, et condensateur en parallèle
sur le
bouton poussoir.
Interface de sortie
Afin
de rendre le système vraiment universel, les commandes arrêt / marche
de chaque appareil sont réalisées par des relais "de puissance"
eux-même pilotés par un réseau de transistors darlington contenus dans
un ULN2803.

Tiens,
j'ai mis des diodes en parallèle sur chaque relais. Saviez-vous que
dans le cas présent elles sont inutiles car il y en a déjà qui sont
intégrées dans le circuit de commande ULN2803 ? Bref, je les laisse sur
le schéma mais vous n'avez pas besoin de les câbler. Voyons voir... un
lot de 10 diodes 1N4007 coûtant 0,50 euros, l'économie réalisée est de...
Logiciel du PIC
L'archive zip dont le lien suit contient le source complet (MikroPascal
Pro
V5.0) et le fichier binaire compilé (*.hex).
Séquenceur
004 - 16F886 - (24/07/2011)
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é. Vue 3D uniquement proposée pour aperçu des composants utilisés.