Avant
propos :
Le
développement à grande
échelle des systèmes d'automatisation
de toutes sortes à fait apparaître
dans les foyers, au bureau et dans les
lieux publics des
petites centrales destinées
à la commande de toutes sortes
d'appareils électriques. L'attrait de ces dispositifs est en
constante augmentation chez le particulier
mais rares sont ceux dans le commerce
à proposer une interconnexion
de type
USB.
La présente interface vient combler
ce vide à partir d'une solution
peu onéreuse et à
réaliser soi-même.
Composée
de 8
entrées,
1
sortie PWM
et de
16 sorties
indépendantes à
collecteur ouvert,
cette carte permet de contrôler
de relais, des leds, des triacs, des moteurs
et de tout autre dispositif électrique
commandé à partir d'un
ordinateur. Vous pouvez également suivre l'évolution des états logiques présents sur
les 8 entrées de l'interface en
y connectant de nombreux
circuits logiques, capteurs tout ou rien, micro-switchs, opto-coupleur, etc...
Un logiciel
de gestion très simple écrit
en Bordand
Delphi
est disponible en téléchargement
accompagné de
son code source.
Les commandes sont extrêmement
simples à maitriser grâce
à l'usage d'une DLL
(Dynamic
Link Library)
spécifiquement dédiée
à la communication USB (mcHID.dll).
Enfin, les sorties S1
à S16 de
l'interface sont destinées à
drainer des
courants importants,
c'est la raison pour laquelle nous avons
préféré ne pas
avoir recours à une auto-alimentation
de l'interface au moyen du bus USB.
En effet, le bus USB peut drainer en
théorie 500mA maxi.
Ainsi,
l'alimentation de la platine sera fournie
par une source de tension externe de
votre choix, tel qu'un adaptateur secteur
du commerce...
Caractéristiques
de l'interface USB :
Alimentation de la platine comprise
entre +8V
et
+20V
DC. La
platine
n'est pas auto-alimentée
par le port USB. Une alimentation
externe est
indispensable à son fonctionnement.
16
sorties
à collecteur ouvert indépendantes
pouvant piloter une charge alimentée
jusqu'à +50V.
Les sorties peuvent être pilotées
en mode impulsionnel
ou bistable (toggle).
1
sortie PWM (précision sur 8 bits) pour une fréquence du signal de 15kHz avec variation du rapport cyclique de 0% à 100%.
8
entrées numériques 0 / 5V avec pull-up ou pull-down configurable par
cavalier.
Contrôle de l'interface via le
PC par
liaison USB.
Port USB : câble compatible USB 2.0 ou 1.1.
Configuration minimale : CPU Pentium 4 avec port USB.
OS conseillés 8,
Seven, Vista et XP.
Présentation
de l'interface USB
:
Aspect
général de la platine
:
L'alimentation
:
La
partie alimentation est classique. Nous
retrouvons l'embase d'alimentation J3,
suivie d'un condensateur de filtrage
et se terminant par un régulateur
de tension. Tout cet ensemble participe à
la section alimentation de la platine.
L'alimentation
peut s'effectuer indifféremment
depuis l'embase coudée ou bien
encore, depuis les deux picots tulipes
référencés également
J3.
Les
16 sorties à collecteur ouvert
:
Toutes
regroupées sur le même
plan, les sorties sont référencées
de S1 à S16. La connexion physique
avec l'extérieur s'opère
au moyen de picots tulipes.
La
commande de puissance :
L'étage
de puissance est assurée par
deux ULN2803
composés de
8 transistors Darlington à collecteur
ouvert.
La
logique de contrôle :
L'oscillateur
du PIC18F2550 bat à 8MHz,
fréquence définie par
le quartz
X1épaulé
par la paire de condensateurs classiques.
Si vous utilisez comme sur la photo
un résonnateur 8MHz à
3 broches, il ne faudra pas monter dans
ce cas les condensateurs céramiques
C6 et C7. Dans
la pratique le microcontrôleur
U1 travaille à
48MHz,
fréquence générée
en interne par le biais d'une PLL
et d'un
diviseur de fréquence
à partir du 8MHz fournit par
le quartz. Ces
48MHz
sont des multiples rond de la vitesse
du bus USB.
Un
microcontrôleur 18F2550
prend en charge l'intégralité
du fonctionnement du montage.
L'expenseur
de bus :
Notre
microcontrôleur U1 ne disposant
pas assez d'entrées et sorties,
nous avons eu recours à un expenseur
de bus PCF8574P
du constructeur Philips afin
d'accroitre le nombre de sorties à
un total de 16. Les
8 nouvelles sorties disponibles en sortie
de l'expenseur de bus sont par la suite
bufférisées
au moyen d'U3, un ULN2803.
Ainsi, toutes les sorties S1
à
S16
disposent des mêmes caractéristiques
électriques.
Les
8 entrées en logique 5V
:
Les
8 entrées sont référencées de
E1 à E8. La connexion physique
avec l'extérieur s'opère
au moyen de picots tulipes, comme ci-dessous
:
Les
8 entrées disposent de 8 pull-up
ou 8
pull-down à configurer par
l'utilisateur au moyen du cavalier SW1.
Selon la position occupée par
SW1, 8 résistances de 47kohms
intégrées dans le réseau
RP1 sont reliées soit au +5V,
soit à la masse.
Cavalier
en pull-up Cavalier
en pull-down
La
sortie PWM :
Cette
sortie délivre un signal rectangulaire
de fréquence fixe 15kHz. En
revanche, son rapport
cyclique est variable de 0% à
100%. Vous pouvez ainsi utiliser cette
sortie afin de faire varier la vitesse
de rotation d'un moteur, l'intensité
lumineuse d'une ampoule basse tension,
etc...
Présentation
du logiciel de gestion de l'interface
PC :
Afin
de piloter la platine, un petit programme écrit en Borland
Delphi est disponible en téléchargement
au chapitre
[
Utilisation
].
Le
logiciel est compatible avec Seven,
Vista et XP et n'a pas été testé
sous les OS antérieurs.
En
plus du fichier exécutable, vous
trouverez le code source du programme
afin de vous aider dans l'écriture
de votre propre logiciel sous différentes
langages: Delphi, Visual Basic,,
C++, etc...
Aspect
du logiciel permettant d'actionner toutes les
commandes possibles de l'interface.
Exemples
de câblage des sorties S1 à
S16
de la platine :
Loin
d'être complet, voici quelques
exemples de câblages vous permettant à partir des différentes
sorties S1 à S16 de piloter
des
relais, des leds ou bien encore une
ampoule 230V via un opto-triac.
Les
sorties sont commandées depuis
le PC que ce soit en mode ON
ou OFF
ou
bien encore en mode bistable
(toogle) à partir de l'interface
graphique du logiciel comme ci-dessous
:
Connexion
de 3 relais 1RT - 12V sur les sorties
S3, S6 et S15 :
Dans
cet exemple, la tension d'alimentation +V
a été choisie a +12V. L'interface
est alimentée également
par la même tension +12V à
partir du connecteur d'alimentation
J3.
Puisque
la tension +V
est différente de la tension
de fonctionnement interne de l'interface +5V,
J6
est laissé libre comme ci-dessous
:
Nous
connectons 3
relais
1RT - 12V sur les sorties S3,
S6
et S15.
Il
est inutile d'ajouter des diodes de
roue libre en parallèle avec
les bobines des différents relais
car ces dernières sont intégrées
dans les deux circuits ULN2803.
Connexion
de 3 leds sur les sorties S3, S7,
S10 et S14 :
Dans
cet exemple, nous alimentons nos leds
à partir de la tension de fonctionnement
en
+5V
délivrée en interne par la platine.
De la sorte, afin de relier le
+5V
au
+V,
il nous suffit de court-circuiter les
deux picots de J6
comme
ci-dessous :
Connexion
d'une ampoule 230V sur la sortie S12 :
Dans
ce nouvel exemple, nous utilisons comme
précédemment la tension
+5V
interne de la platine pour alimenter
les sorties +V.
Ainsi, nous court-circuitons les
deux picots de
J6
comme ci-dessous :
La
sortie
S12 est
connectée à la cathode
de la led intégrée à
l'opto-triac de manière à
piloter l'ampoule sous 230V comme ci-après
:
Cliquez
sur l'image ci-dessus pour l'agrandir
Exemples
de câblage des entrées
numériques E1 à E8
de la platine :
Les
entrées sont conçues pour
fonctionner entre
0V et
5V
et sont au nombre de
8.
Sur
le plan logiciel, l'interface
scanne simultanément
les entrées toutes les 5ms
et renvoie au PC
la valeur décimale de
l'octet
présent
sur ces 8
entrées.
Connexion
de boutons poussoirs et de micro-switchs
:
Dans le cadre de cet exemple, nous avons placé le
cavalier SW1 en configuration pull-up afin de disposer des
résistances de rappels au +5V sur l'ensemble des 8
entrées.
Une pression sur les boutons poussoirs 1 à 4 nous
permet de modifier le quartet de poids
fort appliqué à ces entrées. Idem pour
les micro-switchs placés sur le quartet
de poids faible.
Le logiciel vous affiche au format décimal la valeur
de l'octet présent sur l'entrée J4 (composée des 8 entrées)
comme ci-dessous :
Connexion
de boutons poussoirs et d'un circuit
logique TTL :
Nous plaçons le cavalier SW1 sur le mode
pull-down afin de disposer des résistances de rappels à la masse sur l'ensemble
des 8 entrées.
Un compteur binaire en technologie TTL
(7490) est placé sur le quartet de
poids faible. Quatre
boutons poussoirs reliés au +5V nous permettent de changer le quartet de poids fort.
Connexion avec
isolation optique ;
Dans le cadre de cet exemple, nous avons placé le
cavalier SW1 en configuration pull-up afin de disposer des
résistances de rappels au +5V sur l'ensemble des 8
entrées. Ce mode est nécessaire pour la polarisation du
transistor NPN intégré à l'opto-coupleur TIL111.
Le
signal logique est envoyé sur l'entrée
E1 de l'interface. Une led permet de
visualiser l'état logique 0
ou 5V appliqué sur le bornier
deux plots.
Pour des états logiques en 0 / 12V appliqués
sur le bornier deux plots, remplacez la résistance de 470 ohms par une
résistance de 2,2k.
Exemples
de câblage pour la sortie PWM référencée
J5 :
La
sortie
PWM
est directement reliée à
la broche RC2 du microcontrôleur
U1. Il faudra veiller à ne pas
surcharger cette sortie sous peine d'endommager
irréversiblement la sortie RC2.
Connexion d'une
led dont on fait varier l'intensité
lumineuse :
Sur
le plan matériel, la led est
pilotée via un transistor tampon
de type BC337
ou
équivalent. Sur
le plan logiciel, un bouton de réglage
vous permet de
modifier le rapport cyclique
du signal de sortie entre
0%
et 100%
pour une fréquence constante
de 15kHz.
Lorsque le rapport cyclique est proche
de 0%,
la led est faiblement
allumée.
Inversement, lorsqu'on s'approche de
100%,
la led est plus fortement
allumée.
Le logiciel vous permet de
modifier le réglage associé à
la sortie PWM.
Connexion d'un
moteur à courant continu dont
on fait varier la vitesse de rotation
:
Un MOS-FET de puissance est chargé de faire varier la vitesse de
rotation d'un moteur à courant continu en jouant sur le rapport cyclique
du signal délivré par l'interface au niveau de la sortie PWM.
Notez qu'il est parfaitement possible de remplacer le
moteur par une ampoule ou par un ventilateur de PC (12V ou 24V) , etc... Il faudra
toutefois penser à modifier la tension de service du condensateur de 220µF en
fonction de la tension d'alimentation +V.
|