Introduction :
Un micro contrôleur est incapable de fournir le courant nécessaire à un moteur, s'est pourquoi il faut toujours un étage de puissance avant les moteurs.
Il en existe plusieurs sortes, avec relais, avec transistor.
Pont en H
Les ponts en H permettent de faire tourner un moteur dans les 2 sens, sans avoir une électronique compliquée.

Le bit enable permet de mettre le moteur sous tension, ou de le laisser a vide, si on utilise un PWM on peux faire varier facilement la puissance du moteur. Attention la vitesse du moteur n’est pas linéaire à la puissance fournie (voir couple résistif)
Les diodes s'appellent diode de roue libre, elles servent a protéger les transistor des moteurs lors de la commutation (voir la réaction des circuit inductif)
Les bits IN1 et IN2 permettent de gérer le sens du moteur.
Sens 1:
Il faut que Enable=1 et IN1 = 0 (T2 passant),IN2 = 1 (T3 passant)

Sens 2:
Il faut que Enable=1 et IN1 = 1 (T1 passant),IN2 = 0 (T4 passant)

Se qui fait la table de vérité suivante :
| Enable |
IN1 |
IN2 |
Moteur |
| 0 |
x |
x |
Roue libre |
| 1 |
0 |
0 |
FRAIN |
| 1 |
0 |
1 |
Sens 1 |
| 1 |
1 |
0 |
Sens 2 |
| 1 |
1 |
1 |
FRAIN |
Les circuits
Il existe beaucoup de circuit dans le commerce, comme les fribotte ont recensé un certain nombre, je ne décrirais que ceux que j'utilise.
Le L293 est un circuit très intéressant, 2 pont en H dans le boîtier, il existe plusieurs version, mais je vous conseille le L293D car il possède des diode intégré, mais il ne peux commander que 2 moteurs de 600 mA , contre 1 A pour le L293.
Typon a partir du L293D
Le L298 permet de contrôler aussi 2 moteurs, de 2 A chacun , mais malheureusement le format n’est pas du DIP, et il ne possède pas de version avec diode intégré, il ne faudra pas les oublier sous peine d'avoir un pont en H jetable!
Utilisation d'un pont en H avec un micro controleur
Pour cette partie, s'est très simple, IN1 a IN4 , je les connecte sur quelques pin. ( #define IN1 pin_B3 est très utile, je vous invite a utiliser les define ...), et les EN , je vous invite a les placer sur les modules PWM.
Exemple de programme pour contrôler un moteur:
#define ST 0 //Stop
#define stop 0
#define st 0
#define av 1 //avance
#define ar 2 //arriére
void motg(char direction ,unsigned char puissance)
{
//partie direction
switch(direction)
{
case ST://STOP
output_high(IN1);
output_high(IN2);
// puissance=100;//arret totale
break;
case av://avant
output_high(IN1);
output_low(IN2);
break;
case ar://arriére
output_high(IN2);
output_low(IN1);
break;
}
//partie puissance
ccp_1=puissance;
}
Voici ma partie puissance, dans mon programme je programme en réfléchissant le moins possible, j'utilise : motg(av,100); s'est simple et efficace.
Avec des relais
Le systéme de relais, n'est pas celui qui permet le meilleur rendement , mais permet de réalisé une isolation galvanique.
Personnellement j'utilise jamais cette structure.
Ses avantages
Isolation galvanique
Ses inconvénients
On a besoin d'une interface de puissance entre le micro contrôleur et le relais , car il faut de la puissance pour le faire commuter.
On ne peux pas faire varier son rapport cyclique (pwm) car les relais commutent pas très vite.
Consommation importante.
Prend de la place
Plus cher que les ponts en H
Le schéma

Si le relais sens est excité le moteur change de sens.
Si le relais ON/OFF est excité le moteur tourne, si il ne l'ai pas , le moteur n'as pas d'énergie.
Avec un servo moteur:

Les servo moteur sont des systèmes complet : moteur + interface de puissance.
Ils sont composé de 3 fils un noir , un rouge et un orange
Le noir et rouge pour l'alimentation ( généralement compris entre 4 et 6 v, attention cette alimentation serviras pour alimenter les moteurs , donc il faut prévoir une alimentation correcte ... )
Et un orange pour la donnée , elle est transmise via un PWM
Plus d'information sur l'article: Pic et servo
Les servo moteurs peuvent être modifié pour faire un moteur a courant continu .
Plus d'information sur l'article Transformer un servo-moteur en moteur à courant continu
Matthieu
|