Root » Serveurs » Chauffage » Multiplex
Commande du chauffage central par ordinateur
Multiplexage des signaux de mesure avec le K8055
Multiplex
Le K8055 de Velleman est idéal comme interface entre un ordinateur et le monde extérieur, de par sa connection USB. Malheureusement, cette carte n'a que 2 entrées analogiques. Une carte ne permet donc que de lire deux températures, ce qui est trop peu.
-

-

K8055

Supposons que nous devons controler 5 locaux, cela fait donc 5 mesures de température +la température de la chaudière +la température extérieure (donc 8 valeurs à numériser alors que la carte n'a que deux entrées). Sans multiplexage, nous avons besoin de 4 cartes d'interface (4 est d'ailleurs le maximum de cartes qui peuvent être commandées par un ordinateur: la carte n'a que 2 bits pour la sélection d'adresse).

Nous devons commander les 5 vannes (ou groupes de vannes), le bruleur de la chaudière et le circulateur (3 vitesses, donc deux sorties). Nos 8 sorties binaires sont donc pleinement utilisées.

Mais nous allons maintenant utiliser les deux sorties analogiques en mode binaire (0 ou 255) pour commander un multiplexeur. Les deux sorties peuvent avoir 4 états: 00, 01, 10 et 11. Comme multiplexeur, nous utilisons un "quad bilateral switch" 4066, qu'on met ici à la sauce multiplex. A l'origine, le 4066 se compose de 4 interrupteurs simples indépendants.

Transformation du binaire en décimal avec un 4028

Un signal purement binaire ne suffit pas pour commander nos interrupteurs. Un 4028 vient à la rescousse. Il transforme le signal purement binaire (2 bits, 4 valeurs) en une commande de 4 interrupteurs, avec un seul interrupteur fermé par position binaire.

Notre circuit permet de multiplexer 8 signaux à mesurer vers 2 convertisseurs A/D. Il est possible de multiplexer 16 signaux si on dispose d'une sortie (mais cela n'est pas possible dans cet exemple où toutes les sorties sont déjà prises).

4028 commande deux 4066

Nous utilisons la partie bleue centrale du 4028. Nous branchons les deux sorties du K8055 à l'entrée du 4028 et à la sortie nous avons à chaque fois une seule ligne active, qui va commander l'interrupteur correspondant. Nous branchons les 4 sorties du 4028 aux 4 entrées de commutation des deux 4066.

4066 utilisé comme multiplexeur

Le 4066 n'a pas été construit comme multiplexeur, mais il est idéal pour cette utilisation. La résistance en condition ouverte est supérieure à 10MΩ et en condition fermée elle est inférieure à 100Ω. L'erreur que le 4066 produit (quelques millivolts) est inférieure au seul de détection du convertisseur A/D (qui est de plus de 15mV).

En cas d'utilisation d'une boucle de courant (kit Velleman 8067): il faut placer la résistance de boucle à l'entrée du 4066 (donc une résistance par boucle) et non à l'entrée du convertisseur (donc pas à la sortie du 4066). Le courant de boucle ne peut pas circuler dans le 4066 qui a une résistance "ON" plus élevée que celle d'un vrai interrupteur. De plus certains circuits (et en particulier les boucles de mesure 4-20mA) ne peuvent pas être interrompus, car ils utilisent le courant de boucle pour effectuer la mesure. Après une coupure, il faut un temps de stabilisation avant que la mesure ne soit correcte.

Dans notre cas de figure, on n'utilise que la partie bleue du schéma: deux multiplexeurs 4066 (un pour chaque convertisseur A/D). Nous n'utilisons que la moitié du 4028 (les entrées qui ne servent pas sont mises à la masse). Les 4 lignes de sortie du 4028 vont en parallèle aux deux 4066.

Ce système permet de multiplexer 8 entrées et les connecte à l'entrée du convertisseur A/D correspondant.

Encore plus!

Il est possible de numériser jusqu'à 16 entrées analogiques en utilisant une sortie supplémentaire du K8055. Nous utilisons maintenant toute la partie bleue de la table de vérité du 4028 (bleu et bleu clair). Nous utilisons deux multiplexeurs 4066 supplémentaires et pratiquement tout le 4028. Prévoir plus de 16 entrées n'est pas recommandé. C'est plus un problème de logiciel qu'un problème de commutation, car nous travaillons en basse fréquence (une numérisation par seconde) et basse précision (256 bits).

Le logiciel doit mettre la bonne combinaison binaire en sortie, attendre 100ms, et puis lire la valeur des deux convertisseurs. On peut aller jusqu'à deux mesures par seconde, ce qui fait que nos 16 entrées sont numérisées en 8 secondes.

Plusieurs cartes K8055

On peut utiliser jusqu'à 4 cartes K8055, ce qui nous fait en tout 64 entrées analogiques. Pour cela il ne faut utiliser que 3 sorties binaires en tout, car les sorties d'un K8055 qui peut tirer 100mA n'a aucune peine à commander 4 4028. Nous utilisons ici 4 cartes multiplex identiques commandées en parallèle.

Avec 4 interfaces K8055, il est probable que nous avons suffisamment de sorties binaires. Au lieu d'utiliser un 4028, on peut utiliser les 8 sorties binaires pour commander directement les multiplexeurs (le 4028 n'est alors plus nécessaire). Le signal de multiplexage ne peut avoir qu'une seule ligne active à tout momment.

Ce système fait fort penser aux adresses hardware utilisées au début des micro-ordinateurs. L'exécution d'une fonction hardware spécifique (par exemple faire sauter la tête l'un lecteur de diskettes d'une piste) se faisait en plaçant un code particulier sur le bus d'adresse.

Arduino

Le kit Arduino a 6 entrées analogiques (ce qui devrait suffire pour les petites installations), mais manque d'entrées/sorties binaires. Ce problème est résolu en utilisant non pas un 4028 (convertisseur CMOS BCD - numérique) mais un 4099 (convertisseur CMOS BCD - numérique avec latch). Ce circuit garde la valeur des ports en mémoire après l'opération d'écriture.

Le kit Arduino est décrit plus en détail ici.

Publicités - Reklame

-