Dernière mise à jour :
02/05/2008
Présentation
La réalisation qui suit a été
développée à la demande d'un facteur d'orgues, qui
souhaitait un système de commandes manuelles
"prépositionnables avant envoi" pour un ensemble de douze
moteurs électriques (deux groupes de six moteurs). Le
système décrit ici dipose de six entrées de type
"bascule" prenant en compte l'appui sur des boutons poussoir de
"préchargement", et est donc destiné à être
réalisé en deux exemplaire pour l'application d'origine.
Chaque appui sur un des six boutons poussoir d'entrée se traduit
par le changement d'état (On / Off) de l'entrée
concernée : un appui pour activer, un nouvel appui pour
désactiver. Un septième bouton poussoir permet de valider
le choix des entrées et de commander les moteurs au travers
d'interfaces spécifiques alimentées en 24V. J'ai choisi
de réaliser l'interface en technologie TTL, mais elle aurait
très bien pû l'être en technologie CMOS (il aurait
sans doute fallu prendre plus de précautions au niveau cablage
pour éviter d'éventuels déclanchements
intempestifs liés à la mise en route des moteurs).
Synoptique
Le synoptique qui suit montre le système dans sa
globalité.
Les boutons poussoir SW1 à SW6 perrmettent d'activer de
façon séparée chaque moteur, mais ces commandes ne
sont prises en compte que lors de l'appui sur le bouton poussoir SW0 de
validation / chargement. Afin de connaitre à tout instant
l'état des présélections, un voyant (une led)
accompagne chaque bouton poussoir d'entrée. Si par exemple la
led d'entrée D2 est allumée, celà signifie que la
sortie N°2 qui active le moteur 2, sera activée lors de
l'appui sur le poussoir de validation SW0.
L'alimentation +24V utilisée pour les cartes d'interface moteurs
est utilisée pour alimenter l'interface d'entrée,
après abaissement de la tension à +5V.
Exemple de fonctionnement
- A la mise sous tension, toutes les leds D1 à D6 sont
éteintes, et tous les moteurs sont arrêtés.
- Vous appuyez sur SW2 : la led D2 s'allume mais le moteur 2 reste au
repos.
- Vous appuyez sur SW6 : la led D6 s'allume mais le moteur 6 reste au
repos. La led D2 est toujours allumée.
- Vous appuyez sur SW0 (validation) : les moteurs 2 et 6 se mettent en
route, les autres restent éteints.
- Vous appuyez sur SW2 : la led D2 s'éteint mais le moteur 2
continue de tourner (en plus du moteur 6).
- Vous appuyez sur SW3 : la led D3 s'allume mais le moteur 3 reste au
repos.
- Vous appuyez sur SW4 : la led D4 s'allume mais le moteur 4 reste au
repos.
- Vous appuyez sur SW0 (validation) : le moteur 2 s'arrête, le 6
reste en fonctionement, et les moteurs 3 et 4 se mettent en route.
- Vous appuyez sur SW3 : la led D3 s'éteint mais les moteurs 3,
4 et 6 continuent de tourner.
- Vous appuyez sur SW4 : la led D4 s'éteint mais les moteurs 3,
4 et 6 continuent de tourner.
- Vous appuyez sur SW6 : la led D6 s'éteint mais les moteurs 3,
4 et 6 continuent de tourner.
- Vous appuyez sur SW0 (validation) : tous les moteurs s'arrêtent.
Schéma
Il peut bien entendu sembler complexe, mais il est basé sur de
la logique cablée. Pour des raisons de temps, la mise en oeuvre
d'un PIC, qui aurait considérablement simplifié la
réalisation, n'a pas été retenue.
La complexité n'est vraiment qu'apparente, car globalement, on
retrouve des sections identiques pour chaque entrée. Le plus
simple est d'analyser le fonctionnement d'une voie, sachant qu'il est
le même pour les cinq autres.
Fonctionnement d'une entrée de sélection
Prenons l'exemple de l'entrée 1, construite autour de la bascule
D U2:A (une moitié d'un SN7474). A la mise sous tension, cette
bascule est mise à zéro par le biais de la cellule R3 /
C2 qui est commune au six entrées. Cela signifie que la sortie Q
(borne 5) est à l'état bas et que la sortie Q barre
(borne 6) est à l'état haut. La led D1 est éteinte
car son anode est reliée au +5V au travers de la
résistance de limitation de courant R2, et il lui faut un
état logique bas sur sa cathode pour qu'elle s'allume. La
bascule D U2:A est montée en diviseur de fréquence par
deux, ce qui signifie que les sorties Q et Q barre change d'état
à chaque fois que l'entrée CLK passe à
l'état logique haut. Cet état logique haut est obtenu
lorsque l'on appuie sur le bouton poussoir SW1, ou plus
précisement quand on le relache. Les deux composants C1 et R1
permettent d'absorber les rebonds mécaniques inhérent
à tout interrupteur ou poussoir simple, et garanti que la
bascule sera à l'état que l'on souhaite lui donner. Si
vous souhaitez que la bascule change d'état au moment où
on apuie sur le bouton poussoir et non au moment où on le
relache, il suffit d'inverser R1 et C1, et de placer le bouton poussoir
en parallèle sur C1, donc avec une de ses pattes reliée
au +5V. Ici, le moment du changement d'état de la bascule n'a
aucune importance puisque l'état de la sortie n'est prise en
compte que l'ors de l'appui sur le poussoir de validation
générale.
Validation de l'ensemble des entrées
Afin de ne prendre en compte l'état logique de l'ensemble des
entrées qu'en une seule étape, il est fait usage d'un
ensemble de verrous, un pour chaque entrée. Ces verrous sont
intégrés dans un boitier unique qui est ici U1, un
SN74273. Ses entrées et ses sorties sont disponibles de
façon individuelle, mais leur activation est commune, et se fait
via l'entrée CLK, sur un front montant (passage de l'état
bas à l'état haut de l'entrée). Si l'entrée
CLK de ce circuit est à l'état bas, les changements
d'état présentés sur les entrées ne se
répercutent pas sur les sorties. En revanche, les changements
d'état présentés sur les entrées se
répercutent sur les sorties si l'entrée CLK est à
l'état haut. Ce rôle est donc donné au poussoir de
validation général SW0. La commande de validation
simultannée de deux cartes six voies peut se faire au moyen de
cet unique bouton poussoir : il suffit de relier le point commun bouton
poussoir / R14 sur l'entrée CLK de l'autre interface six voies.
Section de "puissance"
Afin de rendre universel l'étage de sortie, j'ai opté
pour des petits relais dont la commande bobine s'effectue sous +5 V.
Ces relais sont commandés au travers de transistors darlington
intégrés dans un circuit intégré
très répendu qui est le ULN2803, spécialement
conçu pour ce genre d'application. Le schéma montre des
relais qui ne sont dotés que d'un seul contact NO (Normalement
Ouvert), mais d'autres types de relais peuvent bien entendu être
employés, si vos besoins sont différents (ici, il s'agit
de transmettre un +24V à des cartes de commande moteur, sous un
courant de 10 mA). Une led est cablée sur chaque sortie (D8
à D13), après le contact du relais qui distribue le +24
V, afin de visualiser son état et donc l'activation de la
commande moteur. Cette led n'est pas cablée côté
commande car elle peut ainsi mettre rapidement en évidence un
problème au n'iveau d'un relais deffectueux.
Alimentation
L'alimentation de l'interface doit se faire en +5 V, et une tension de
+24 V est déjà disponible. Un régulateur de
tension de type LM7805 est donc chargé de l'affaire. Il faut
veiller à placer ce régulateur sur un radiateur de
dimensions convenables, car si le courant globalement consommé
n'est pas très élevé (environ 100 mA avec tous les
relais activés), la chute de tension qu'il présente entre
son entrée et sa sortie est tout de même proche de 20 V,
ce qui occasionne une dissipation de puissance de l'ordre de 2 W au
maximum. Afin de limiter les risques d'un échauffement excessif
et d'une réduction de la fiabilité de l'ensemble, ce
régulateur ne convient que pour une carte six voies.