Contrôle du moteur CC avec Arduino
Un moteur à courant continu est l'un des types de moteurs largement utilisés. Il est livré avec deux pistes, un positif et un deuxième négatif. Si nous connectons ces deux fils avec une batterie ou une source d'alimentation, le moteur commencera à tourner; Cependant, si nous inversons la polarité du moteur terminal commencera à tourner dans la direction opposée.
En utilisant Arduino, nous pouvons contrôler la vitesse et la direction du moteur de manière plus flexible. Pour contrôler le moteur avec Arduino, nous utilisons un module de pilote de moteur. Un module de pilote de moteur est un circuit externe qui peut interfacer un arduino avec l'un des moteurs à courant continu.
Ici, nous utiliserons le LN293d Module du conducteur du moteur IC pour contrôler une direction et une vitesse du moteur à courant continu. LN293D est un module de pilote moteur à 16 broches qui peut contrôler deux moteurs CC simultanément. Il peut conduire un moteur avec un courant jusqu'à 600 mA par canal et la plage de tension commence à partir de 4.5 jusqu'à 36V (à la broche 8). En utilisant ce module de pilote, nous pouvons contrôler plusieurs moteurs CC à petite taille.
Schéma
Pour contrôler le moteur CC, concevez le circuit selon le schéma mentionné. Connectez les broches 2 et 7 du conducteur IC avec la broche numérique D10 et D9 d'Arduino Uno respectivement. À l'aide d'épingles numériques, nous contrôlerons la direction et la vitesse de notre moteur. Les broches 1 et 8 reçoivent une logique de haut niveau en utilisant une tension de niveau logique Arduino 5V. Le moteur CC est connecté aux broches 3 et 6 du module de conducteur. Les broches 4 et 5 sont courtes en raison de la masse commune dans le module du conducteur du moteur.
En utilisant les broches 9 et 10, nous pouvons contrôler la direction du moteur. Lorsque la broche 10 est élevée et que la broche 9 est faible, le moteur tourne dans une direction et pour tourner dans la direction opposée.
Schémas
Code
const int dcMotorsIgnal1 = 9; / * broche 9 pour la première entrée du moteur * /
const int dcMotorsIgnal2 = 10; / * broche 10 pour la deuxième entrée du moteur * /
void setup()
PinMode (dcMotorsIgnal1, sortie); / * Initialisez la broche DCMOTORSIgnal1 comme sortie * /
PinMode (dcMotorsIgnal2, sortie); / * Initialisez la broche DCMOTORSIgnal2 comme sortie * /
VOID LOOP ()
dans le sens horaire (200); / * tourner dans le sens horaire * /
retard (1000); / * retard de 1 seconde * /
dans le sens antihoraire (200); / * tourner dans le sens des aiguilles d'une montre * /
retard (1000); / * retard pour 1 seconde * /
void dans le sens horaire (int rotationalspeed) / * Cette fonction entraînera et tournera le moteur dans le sens horaire * /
Analogwrite (dcMoTorsIgnal1, RotationalSpeed); / * régler la vitesse du moteur * /
Analogwrite (dcMotorsIgnal2, bas); / * Arrêtez la broche de moteur dcMotorSignal2 * /
void dans le sens antihoraire (int RotationalSpeed) / * La fonction entraînera et tournera le moteur dans le sens inverse dans le sens antihoraire * /
analogwrite (dcMotorsIgnal1, bas); / * Arrêtez la broche de moteur DCMOTORSIGNAL1 * /
Analogwrite (dcMotorsIgnal2, RotationalSpeed); / * régler la vitesse du moteur * /
Ici, dans le code ci-dessus, nous initialisons deux broches numériques pour le contrôle du moteur CC. La broche numérique 9 est définie comme entrée pour la première broche et D10 est définie comme entrée pour la deuxième broche du moteur CC. Ensuite en utilisant le pinceau fonction Nous initialisons ces deux broches numériques en sortie.
Dans le boucle Section du code Deux fonctions nommées dans le sens horaire et anti-horaire sont initialisées avec une vitesse de rotation de 200. Après cela, en utilisant deux fonctions vides dans le sens horaire et anti-horaire, nous modifions la direction de la rotation du moteur en réglant les broches 9 et 10 comme bas et haut.
Pourquoi nous avons utilisé le module de pilote moteur avec Arduino?
Les conducteurs de moteur peuvent prendre un signal de courant faible d'un arduino ou de tout autre microcontrôleur et de l'augmenter en un signal de courant élevé qui peut conduire facilement n'importe quel moteur à courant continu. Normalement, Arduino et d'autres microcontrôleurs fonctionnent sur un courant faible tout en alimentant les moteurs CC, ils nécessitent une entrée constante de courant élevé qu'Arduino ne peut pas fournir. Arduino peut nous fournir un maximum de 40 mm de courant par broche qui n'est qu'une fraction de ce dont un moteur à courant continu a besoin pour fonctionner. Les modules de pilote de moteur comme L293D peuvent contrôler deux moteurs et fournir aux utilisateurs la main libre pour contrôler la vitesse et la direction en fonction de leur facilité.
Note: Bien que l'utilisation de plusieurs moteurs avec Arduino, il est recommandé d'utiliser une alimentation séparée externe pour les moteurs à courant continu ainsi que le module de conducteur du moteur car Arduino ne peut pas retenir le courant plus que 20 mA Et normalement les moteurs prennent le courant beaucoup plus que cela. Un autre problème est pistolet, Les moteurs pas à pas ont des composants magnétiques; Ils continueront à créer de l'électricité même lorsque l'alimentation est coupée, ce qui peut entraîner une tension négative suffisante qui peut endommager la carte Arduino. Ainsi, en bref, un conducteur de moteur et une alimentation séparée sont nécessaires pour exécuter un moteur CC.
Conclusion
DC Motors est un composant important pour concevoir des projets de robotique basés sur Arduino. Utilisation des moteurs à courant continu Arduino peut contrôler le mouvement et la direction des périphériques de projet. Pour contrôler en douceur ces moteurs, nous avons besoin d'un module de pilote qui non seulement enregistre la carte Arduino à partir de pointes de courant extrême, mais donne également un contrôle complet à l'utilisateur. Cet article vous guidera pour concevoir et interface des moteurs CC dans n'importe quel projet Arduino.