Comment vérifier l’encodeur d’un servomoteur
Passons maintenant des LEDs à des choses plus amusantes ! Dans cette expérience, nous allons apprendre à contrôler des servomoteurs en utilisant l’extension PWM avec Python. Les servos sont l’un des éléments de base de tout projet motorisé, alors allons-y !
D’autre part, un signal analogique peut être n’importe quelle tension entre HIGH et LOW. Normalement, les circuits numériques ne peuvent pas faire varier librement les signaux de tension, mais ils peuvent utiliser le PWM pour s’en rapprocher. Ce système fonctionne en activant et désactivant de manière répétée un signal numérique HAUT de sorte que la tension moyenne provenant du circuit au fil du temps soit équivalente à un signal analogique entre HAUT et BAS. Pour modifier la tension analogique, vous pouvez varier la vitesse à laquelle le signal HIGH est pulsé.
La plupart des servos tournent de façon fixe entre 0° et 180° – commençant et finissant à des points fixes par rapport au moteur. Ils acceptent des impulsions dans une plage fixe généralement comprise entre 500 et 2500us. Pour résumer, disons que nous envoyons une impulsion de 500us de largeur à un servo acceptant des impulsions entre 500us et 2500us. En réponse, le servo fera pivoter son bras jusqu’à la position 0°, quelle que soit la position dans laquelle se trouvait le bras auparavant. Il répondra avec des incréments appropriés lorsque la largeur de l’impulsion est augmentée jusqu’à 2500us, puis il s’arrêtera de bouger.
Paramétrage du servomoteur
Dans ce tutoriel, nous allons apprendre comment fonctionnent les servomoteurs et comment contrôler les servomoteurs avec Arduino. Les servomoteurs sont très populaires et largement utilisés dans de nombreux projets Arduino car ils sont faciles à utiliser et fournissent un grand contrôle de position.
Vous pouvez regarder la vidéo suivante ou lire le tutoriel écrit ci-dessous. Il comprend plusieurs exemples d’utilisation d’un servomoteur avec Arduino, un schéma de câblage et des codes. En outre, il contient un guide sur la façon de contrôler plusieurs servomoteurs avec Arduino en utilisant le pilote PWM PCA9685.
Un servomoteur est un système en boucle fermée qui utilise le retour de position pour contrôler son mouvement et sa position finale. Il existe de nombreux types de servomoteurs et leur principale caractéristique est la capacité de contrôler précisément la position de leur arbre.
Dans les servomoteurs de type industriel, le capteur de retour de position est généralement un encodeur de haute précision, tandis que dans les servos RC ou de loisirs plus petits, le capteur de position est généralement un simple potentiomètre. La position réelle capturée par ces dispositifs est renvoyée vers le détecteur d’erreur où elle est comparée à la position cible. Ensuite, en fonction de l’erreur, le contrôleur corrige la position réelle du moteur pour qu’elle corresponde à la position cible.
Schéma d’enroulement du servomoteur
Dans cet article, nous donnons une vue d’ensemble du réglage des servomoteurs basé sur le PID (proportionnel, intégral, dérivé), et nous présentons deux méthodes de réglage manuel qui fonctionnent bien pour une grande variété de systèmes. Nous montrons également que les paramètres “optimaux” varient selon l’application et les objectifs de performance, même pour le même moteur et la même configuration d’amplificateur.
Il existe deux types de servomoteurs couramment utilisés pour les applications de positionnement : le moteur DC à balais, qui utilise des balais mécaniques pour commuter le moteur, et le moteur DC sans balais, alias le moteur BLDC, alias le moteur synchrone AC, alias le moteur PM (permanent magnet), qui est commuté électroniquement par un circuit externe.
Contrairement aux moteurs pas à pas, qui se déplacent par étapes de position discrètes, les servomoteurs n’ont pas de sens intégré de leur position et ont donc besoin d’un dispositif de rétroaction tel qu’un codeur en quadrature pour contrôler leur position.
La boucle d’asservissement (techniquement, la boucle d’asservissement de position) a pour mission d’amener le moteur à un endroit particulier. Pour ce faire, elle compare la position souhaitée par le générateur de trajectoire à un moment donné avec la position réelle du moteur et applique une commande de correction continue du moteur.
Comment régler l’encodeur d’un servomoteur
La compensation d’un servomoteur implique le réglage du gain et de la bande passante d’un servomoteur afin qu’une machine fonctionne sans dépassement excessif, se stabilise dans des délais adéquats et présente une erreur minimale en régime permanent. La compensation est nécessaire pour que le contrôleur et la
la machine fonctionnent correctement et produisent des pièces précises à un taux de productivité élevé. Une machine doit fonctionner dans deux modes très distincts afin de produire des pièces précises : Un état transitoire (également appelé état de réponse dynamique) et un état permanent.
L’état transitoire se produit lorsque les commandes d’entrée changent, entraînant ainsi un changement de vitesse du moteur, qui accélère ou décélère. C’est au cours de cette période que le moteur (ou la charge) doit atteindre sa vitesse ou sa position finale, ce que l’on appelle le temps de montée, le temps nécessaire pour que le moteur (ou la charge) se stabilise, et une quantité acceptable de dépassement. Le régime permanent se produit lorsque le moteur (la charge) a atteint sa vitesse finale, ce qui signifie un fonctionnement continu.
Le gain du servomoteur est un rapport entre la sortie et l’entrée. Le gain est la proximité de la vitesse ou de la position souhaitée du servomoteur ; un gain élevé permet de petits mouvements précis, ce qui rend la machine capable de produire des pièces précises. La largeur de bande est mesurée en fréquence. La largeur de bande est la vitesse de réponse de la machine ou du contrôleur. Une réponse rapide permettra à la machine de réagir rapidement, produisant ainsi de nombreuses pièces.