[LinuxFocus-icon]
Castellano Chinese Deutsch English Français Nederlands

Ce document est disponible en: English  Français  

[Photo de l'auteur]
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

[Illustration]

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.
[circuit]

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:




Site Web maintenu par l´équipe d´édition LinuxFocus
© Guido Socher
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
Translation information:
en --> -- : Guido Socher (homepage)
en --> fr: Jean-Etienne Poirrier (homepage)

2006-08-15, generated by lfparser version 2.54