Electronique > Réalisations > Interfaces > Interface commandes 001

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

interface_commandes_001_syno

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.

interface_commandes_001

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.