vendredi 15 décembre 2017

Contrôle de deux moteurs avec L9110S et Arduino

Lorsque vient le temps de contrôler un ou deux moteurs à courant continu au moyen d'une carte Arduino, les pilotes les plus fréquemment utilisés sont probablement le L293D et le L298N.   À cause de son faible prix, un module basé sur le L9110S peut toutefois constituer une alternative très intéressante.

Vous pouvez facilement acheter trois modules L9110S pour le prix d'un seul module L298N.  Puisqu'ils comportent deux circuits intégrés L9110S, ces petits modules peuvent piloter deux moteurs à courant continu, ou un moteur pas à pas.

Contrairement au L293D et au L298N, le  L9110S ne comporte pas d'entrées distinctes pour l'alimentation des moteurs et celle du circuit intégré: une seule alimentation (située entre 2,5 V et 12 V) sert à alimenter à la fois le circuit intégré et les moteurs, avec un courant maximal de 800 mA.  On remarquera également l'absence de broches "enable":  afin de pouvoir modifier la vitesse de rotation d'un moteur dans les deux sens de rotation, vous devrez donc utiliser deux sorties PWM de votre microcontrôleur.


Circuit

Le module L9110S comporte 6 entrées (broches mâles) et 4 sorties (borniers à vis).

Nous connectons le module de la façon suivante:

Broche B -IA du L9110S: broche 3 de l'Arduino
Broche B -IB du L9110S: broche 9 de l'Arduino
Broche GND du L9110S: broche GND de l'Arduino et borne négative de l'alimentation des moteurs
Broche VCC du L9110S: borne positive de l'alimentation des moteurs (2,5 V à 12 V)
Broche A - IA du L9110S: broche 10 de l'Arduino
Broche A - IB du L9110S: broche 11 de l'Arduino

Chaque moteur est branché à un bornier à vis.



Sketch

Pour faire tourner le moteur "A" dans une direction, on soumet l'entrée A - IA à un signal PWM, pendant que l'entrée A - IB est à une tension nulle.  La vitesse de rotation du moteur dépend du rapport cyclique du signal PWM.

Pour faire tourner le moteur dans l'autre sens, c'est le contraire:  l'entrée A - IA est soumise à une tension nulle, et l'entre A - IB est soumise à un signal PWM dont le rapport cyclique déterminera la vitesse de rotation.

Le sketch de démonstration ci-dessous fait tourner les moteurs dans les deux sens, avec différentes vitesses de rotation.





Yves Pelletier   (TwitterFacebook)

Aucun commentaire:

Enregistrer un commentaire