par Guido Socher (homepage)
L´auteur:
Guido apprécie Linux parce qu'il est un vraiment bon système pour
développer son propre matériel.
Traduit en Français par:
Jean-Etienne Poirrier (homepage)
Sommaire:
|
Une alimentation numérique CC -- partie 3: contrôle des commandes depuis le PC
Résumé:
Ceci est la troisième partie d'une série sur l'alimentation numérique. Vous
pourriez vouloir lire la première
partie ainsi que la seconde
partie.
Un kit avec la carte et les différentes pièces pour cet article est
disponible sur
shop.tuxgraphics.org.
_________________ _________________ _________________
|
Introduction
Le circuit d'alimentation et le logiciel décrits dans les deux derniers
articles (parties I et II) représentaient une alimentation électrique autonome
qui pouvait être utilisée avec quelques boutons poussoirs sur le devant.
Dans cet article, je vais ajouter des fonctionnalités qui sont, d'habitude,
seulement disponibles dans les appareils haut de gamme et très coûteux :
vous allez pouvoir non seulement contrôler l'alimentation électrique
localement avec les boutons poussoir mais aussi via des commandes, à partir
de votre ordinateur.
Tout ceci est possible avec seulement des mises à jour du logiciel puisque
le matériel était déjà prêt pour cette fonctionnalité de "contrôle à
distance".
Afin de contrôler à distance l'alimentation électrique via des commandes,
nous utiliserons de nouveau la communication I2C (voyez aussi Un thermomètre numérique ou parlez I2C à
votre microcontrôleur Atmel). La communication I2C est un peu lente
mais, de toutes façons, nous n'envoyons pas de longues commandes. Une
commande pour définir le voltage peut être, par exemple, aussi courte que
"u=12". Cela est toujours lisible et compréhensible pour un humain et
seulement quelques octets de long.
Le logiciel qui effectue le pilotage à distance a maintenant été porté pour
Linux, Windows, Mac OS X et Solaris. Il est même probablement aisé de
porter ce code à d'autres systèmes d'exploitations.
Comment cela fonctionne ?
I2C est un protocole sur un bus à deux fils. Une ligne sur le bus transporte
le signal d'horloge (SCL) et l'autre, le signal de données (SDA). Là réside
le grand avantage : vous ne devez pas avoir un signal d'horloge précis et
synchrone. La synchronisation n'est pas si important pour I2C ; ainsi, il
est très facile d'implémenter un simple programme dans l'espace utilisateur
(sans module spécial dans le noyau). Comme interface physique, nous
utilisons de nouveau les lignes de contrôle d'un modem rs232. L'utilisation
de l'USB est aussi possible via un convertisseur USB vers série. Les
nouveaux Macs d'Apple n'ont, par exemple, pas de port rs232 mais, puisque
I2C n'est pas sensible à la synchronisation, il est possible d'utiliser des
câbles adaptateur comme le Prolific PL-2303 (il y a des liens vers des
adaptatateurs USB dans le logiciel de cet article, dans le fichier
other_OS/macOSX/README.txt ; voyez les fichiers à télécharger à la fin de
cet article).
Le programme qui envoie des commandes à notre alimentation électrique DC est
un simple programme en ligne de commande appelé i2ctalk. Il est disponible
sous forme de code source et de binaire compilé pour Linux, Solaris, Mac OSX
et Windows. Vous pouvez l'utiliser comme ceci :
Commandes I2C pour l'alimentation électrique DC:
================================================
# defini Imax a 0.20A :
i2ctalk i=20
# recoit la valeur actuelle de I :
i2ctalk i
# stocke les parametres actuels :
i2ctalk s
# defini Umax a 2.1V:
i2ctalk u=21
# recoit la valeur actuelle du voltage :
i2ctalk u
Vous pouvez améliorer le programme et construire une application graphique
amusante, si vous le souhaitez. J'ai juste essayé de la garder aussi simple
que possible pour rendre le tout facile à comprendre
La partie électrique
Les niveaux de voltage sur l'interface physique rs232 sont de +/- 10V. Le
atmega8 travaille avec 0-5V. On pourrait utiliser une Z-diode pour limiter
les niveaux de voltage mais il s'avère que cela n'est pas réellement
nécessaire. Le atmega8 a déjà, en interne, une protection contre les sous-
et sur-voltages. Nous devons juste être sûrs que le courant est assez bas
pour ne pas "brûler" cette protection. Tout ce qui est nécessaire, du point
de vue matériel, ce sont deux résistances 4.7K. Très facile, très
commode.
J'ai décidé qu'une isolation électrique (via opto-couples) vers le PC n'est
pas nécessaire pour moi (vous pouvez les ajouter si vous le souhaitez). Cela
a, cependant, quelques implications pour des cas spéciaux et vous devez
tenir compte de ces limitations. La plupart des ordinateurs de bureau (et
certains ordinateurs portables) possèdent leur lignes GND (0V) connectée à
la terre. Cela signifie que l'alimentation électrique DC n'est plus libre de
terre sur la sortie lorsqu'elle est connectée au PC. Cela est du au fait que
la GND du PC est connectée au GND de notre alimentation électrique
Dans la plupart des cas, ce n'est pas un problème. Cependant, vous devez
être prudent si le circuit auquel vous connecter l'alimentation électrique
possède également une connexion à la terre. De manière spécifique, le
circuit ne doit pas avoir de connexion directe à la terre sur la ligne que
vous avez l'intention de connecter à la sortie positive de votre
alimentation électrique. Cela causerait un court-circuit via la terre de
votre PC. Cela peut, par exemple, se passer si vous placez en cascade deux
alimentations électriques de manière à avoir des voltages positif et
négatif. En d'autres mots, vous ne pouvez pas utiliser la fonctionnalité de
contrôle à distance si vous envisagez de placer en cascade plusieurs
alimentations électriques.
Conclusion
Il n'y a pas grand chose de plus à dire ici. Le but principal de cet article
est de rendre disponible un nouveau logiciel. Le fichier tar est appelé
digitaldcpower-0.4.X. J'utiliserai le "X" pour des corrections. La
technologie, la communication I2C, n'est pas neuve et a déjà été utilisée
pour le thermomètre digital.
Moi-même ainsi que plusieurs autres personnes ont utilisé cette alimentation
électrique depuis plusieurs mois sans aucun problème. Il est très strié,
facile à utiliser et j'apprécie beaucoup de travailler avec.
Références / Téléchargements
Talkback form for this article
Every article has its own talkback page. On this page you can submit a comment or look at comments from other readers:
2006-08-15, generated by lfparser version 2.54