Asservissement position moteur arduino

Asservissement position moteur arduino

Contrôle de la position d’un moteur à courant continu avec un potentiomètre et un arduino

Pour contrôler un moteur DC depuis 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 40mA. De cette façon, avec le driver, nous pouvons alimenter le moteur avec une alimentation externe.

La L293D est une carte contrôleur de moteur CC qui utilise le système de pont en H. Qu’est-ce que le pont en H ? Il s’agit d’un système permettant de contrôler le sens de rotation d’un moteur à courant continu à l’aide de quatre transistors.    Sur l’image, on peut voir que les transistors se comportent comme des interrupteurs et que, selon les transistors qui conduisent et ceux qui ne conduisent pas, la polarisation du moteur change et, avec elle, le sens de rotation.

Nous allons utiliser la pièce de gauche (les diodes externes du L293D sont à l’intérieur). Comme on peut le voir sur l’image, les broches 3 et 6 sont les sorties et sont connectées aux bornes du moteur. Et les broches 2 et 7 sont les entrées où nous allons connecter les sorties de l’Arduino. Selon la valeur que nous mettons entre les broches 2 et 7, le moteur tournera dans un sens ou dans l’autre.

Contrôle pid position moteur dc arduino

Les techniques de commande des moteurs à courant continu sont des outils utilisés pour contrôler la vitesse, le couple et l’alimentation des moteurs à courant continu. La commande des moteurs peut être réalisée à l’aide de thyristors et de connaissances de base en électronique de puissance.

  Arduino moteur pas à pas uln2003

La plupart des moteurs utilisés dans l’industrie sont connectés directement aux lignes de distribution électrique et sont alimentés en courant alternatif ou continu. Les bornes des enroulements du moteur sont connectées directement aux lignes d’alimentation électrique, et leurs caractéristiques de fonctionnement restent inchangées grâce à une tension d’entrée constante. Le moteur fonctionne aux conditions nominales lorsqu’il est alimenté par la tension indiquée sur la plaque signalétique, fournissant une puissance constante à la charge connectée à l’arbre.

La nature de la charge attachée à l’arbre du moteur définit le comportement de cette machine. Dans le cas d’une charge légère, le moteur développera une vitesse relativement élevée et un couple faible. Au contraire, s’il s’agit d’une charge lourde ou difficile à déplacer, le moteur se déplacera à une vitesse plus faible et délivrera un couple plus important, car une charge plus élevée l’exige. Cependant, si la charge reste constante, le fonctionnement du moteur restera également constant, sans possibilité de contrôle de la vitesse puisque la tension d’alimentation reste inchangée.

Contrôle de la position d’un moteur à courant continu avec un arduino

Le codeur détecte la rotation du disque magnétique et fournit une résolution de 12 impulsions par tour de l’arbre du moteur. Pour calculer les impulsions par tour sur l’arbre de sortie de la boîte de vitesses, il faut multiplier le rapport de transmission par 12.

Une fois les pastilles soudées aux deux bornes, les fils du moteur sont connectés aux trous M1 et M2 le long du bord de la carte ; les quatre broches restantes sont utilisées pour prendre les données des capteurs.

  Moteur pas a pas 6 fils arduino

Le TB6612FNG est un driver de moteur qui nous permet de piloter deux moteurs DC à partir de l’Arduino, en variant à la fois la vitesse et le sens de rotation. Il permet également de contrôler des intensités de courant plus élevées, pouvant fournir 1,2A par canal en continu, et 3,2A en crête. Rappelez-vous que le L298N a un courant maximum théorique de 2A, mais les pertes signifient qu’en pratique il ne peut fournir que 0,8-1A.

Le schéma de montage n’est pas trop compliqué. D’une part, nous fournissons la tension qui alimentera le moteur à partir d’une alimentation externe, via la broche VM. La tension maximale est de 15V.

Contrôle d’un moteur à courant continu avec arduino et h-bridge

Je l’ai implémenté en me basant sur Arduino Uno, qui contrôlait le rapport cyclique d’un convertisseur buck qui alimentait le moteur DC. Mes remerciements à Carlos M. et Waldo M., qui ont beaucoup aidé en fournissant l’espace de travail et quelques fournitures.

Un codeur rotatif est un dispositif qui permet de connaître la position angulaire d’un arbre à tout instant t, avec une certaine précision Δθ. Ils sont utilisés pour mesurer la position et la vitesse dans les machines rotatives, dans les boutons pour le contrôle des dispositifs électroniques dans les instruments de mesure, entre autres applications.

Sur le marché, il existe des codeurs basés sur des commutateurs mécaniques (moins chers, mais moins durables, bruyants et destinés à de faibles vitesses) et des codeurs optiques (dont le contact de fermeture et d’ouverture des commutateurs internes du codeur se fait optiquement, sans pratiquement aucune usure mécanique, ce qui facilite leur fonctionnement à des vitesses de rotation élevées avec une haute résolution – plus de 200 pas par rotation [1]). Dans ce qui suit, il sera fait référence à la construction d’un codeur rotatif optique.

  Arduino compte tour moteur