Contrôler un moteur à courant continu avec arduino
Pour contrôler le sens de rotation d’un moteur à courant continu, sans intervertir les fils, vous pouvez utiliser un circuit appelé “pont en H”. Un pont en H est un circuit électronique qui peut entraîner le moteur dans les deux sens. Les ponts en H sont utilisés dans de nombreuses applications différentes. L’une des applications les plus courantes est la commande de moteurs dans les robots. On l’appelle un pont en H car il utilise quatre transistors connectés de telle sorte que le schéma ressemble à un “H”.
Nous utiliserons ici le circuit intégré L298 H-Bridge. Le L298 peut contrôler la vitesse et la direction des moteurs CC et des moteurs pas à pas, et peut contrôler deux moteurs simultanément. Son courant nominal est de 2A pour chaque moteur. À ces courants, cependant, vous devrez utiliser des dissipateurs thermiques.
Le schéma ci-dessus montre comment connecter le CI L298 pour contrôler deux moteurs. Il y a trois broches d’entrée pour chaque moteur, Input1 (IN1), Input2 (IN2), et Enable1 (EN1) pour le moteur 1 et Input3, Input4, et Enable2 pour le moteur 2.
Arduino l293d dc motor controller
Programmer un balayage continu de 0 à 180º dans un servo. Activez et désactivez le balayage en appuyant sur un bouton. Par exemple, l’activation d’un essuie-glace. Faites trois vitesses de balayage, chaque pression augmente la vitesse et la quatrième l’arrête.
Contrôlez la position du servo comme dans l’exercice “Déplacer le servo” mais au lieu de le faire avec un potentiomètre, faites-le depuis le port série en envoyant l’angle auquel il doit aller. Le moniteur série demande la position et envoie une valeur entre 0 et 180.
Un IMU (Inertial Measurement Unit) est un dispositif capable de mesurer la force (accélération) et la vitesse. Il se compose généralement d’un accéléromètre et d’un gyroscope. Par conséquent, un IMU ne mesure pas les angles, du moins pas directement, cela nécessite certains calculs.
L’accéléromètre mesure l’accélération. L’accélération peut être exprimée en 3 axes : X, Y et Z, les trois dimensions de l’espace. Par exemple, si vous déplacez l’IMU vers le haut, l’axe Z affichera une certaine valeur. S’il est en avant, il marquera l’axe des X, et ainsi de suite. La gravité de la Terre a une accélération d’environ 9,8 m/s², perpendiculairement au sol bien sûr. Ainsi, l’IMU détecte également l’accélération de la gravité terrestre. Grâce à la gravité terrestre, les relevés de l’accéléromètre peuvent être utilisés pour déterminer l’angle d’inclinaison par rapport à l’axe X ou à l’axe Y.
Contrôler la rotation d’un moteur à courant continu avec un arduino
Un moteur à courant continu (également appelé moteur DC) est une machine qui convertit l’énergie électrique en énergie mécanique, provoquant un mouvement de rotation, grâce à l’action d’un champ magnétique.
Un moteur à courant continu se compose principalement de deux parties : le stator (enveloppe extérieure) crée un champ magnétique. Le rotor est la partie intérieure qui tourne, alimentée en courant continu par le gaz, qui est en contact alternatif avec des balais fixes.
Cette page est consacrée au contrôle des moteurs avec Arduino. Spécifiquement les moteurs DC standard. Il existe des moteurs CC spéciaux, tels que les moteurs pas à pas ou sans balais, qui ne seront pas abordés ici. Une grande partie des informations sera utile pour d’autres plateformes telles que Raspberry Pi, mais en général, les bibliothèques de programmation et les schémas seront exclusivement consacrés à l’Arduino.
Le circuit de base qui permet les deux fonctions que nous avons mentionnées est un pont en H. Un moteur à courant continu change de sens de rotation lorsque nous inversons les pôles positifs et négatifs sur ses bornes, et ce circuit joue avec une série d’interrupteurs pour faire changer cette polarité. Nous pouvons construire un pont en H avec quatre interrupteurs, mais ce que nous allons utiliser est un circuit intégré qui possède ces interrupteurs – ou portes – et qui les ouvrira et les fermera selon les instructions de l’Arduino.
Allumer et éteindre un moteur à courant continu avec arduino
Comme nous l’avons vu précédemment, une broche Arduino ne peut avoir que des valeurs de 0 et 5 volts et donner jusqu’à 40 mA de courant. C’est insuffisant pour piloter presque tout type de moteur, donc si nous voulons que l’Arduino pilote un moteur, nous devons utiliser un driver.
Pour contrôler un moteur DC à partir de l’Arduino, nous devrons utiliser un driver de moteur pour fournir plus de courant au moteur car les sorties de l’Arduino ne donnent que jusqu’à 40mA et plus de tension car ces types de moteurs sont généralement 6V ou plus. Le pilote doit être alimenté par une alimentation externe avec une tension et un courant suffisants pour entraîner le moteur.
Le L293D est un circuit intégré de commande de moteur à courant continu qui utilise un double pont en H. Il permet de contrôler le sens de rotation d’un moteur à courant continu à l’aide de quatre transistors et également de faire varier la vitesse du moteur. Sur l’image, nous pouvons voir que les transistors se comportent comme des interrupteurs et que, selon que les transistors sont conducteurs ou non, la polarisation du moteur change et, par conséquent, le sens de rotation.