Servo de rotation constante. Servos Arduino SG90, MG995, MG996 : schéma de connexion et contrôle. Restrictions diététiques

Servo de rotation constante.  Servos Arduino SG90, MG995, MG996 : schéma de connexion et contrôle.  Restrictions diététiques
Servo de rotation constante. Servos Arduino SG90, MG995, MG996 : schéma de connexion et contrôle. Restrictions diététiques

Dans cet article, nous parlerons des servos dans les projets Arduino. C'est grâce aux servomoteurs que les classiques projets électroniques devenir robotique. Connecter un servo à un projet Arduino vous permet de répondre aux signaux des capteurs avec un mouvement précis, par exemple ouvrir une porte ou tourner les capteurs dans la direction souhaitée. L'article aborde les problèmes de contrôle des servos, schémas possibles connexion du servo à Arduino, ainsi que des exemples de croquis.

Un servomoteur est un type de variateur capable de contrôler avec précision les paramètres de mouvement. En d’autres termes, il s’agit d’un moteur capable de faire tourner son arbre selon un angle spécifique ou de maintenir une rotation continue à une période précise.

Le circuit de fonctionnement du servo variateur est basé sur l'utilisation du feedback (un circuit fermé dans lequel les signaux d'entrée et de sortie ne correspondent pas). Le servomoteur peut être n'importe quel type d'entraînement mécanique, qui comprend un capteur et une unité de commande qui maintient automatiquement tous les paramètres définis sur le capteur. La structure du servomoteur se compose d'un moteur, d'un capteur de position et Système de contrôle. La tâche principale de ces dispositifs est leur mise en œuvre dans le domaine des servomécanismes. En outre, les servomoteurs sont souvent utilisés dans des domaines tels que la transformation des matériaux, la production de matériel de transport, la transformation du bois, la fabrication. Tôles, production de matériaux de construction et autres.

Dans les projets de robotique Arduino, le servo est souvent utilisé pour des actions mécaniques simples :

  • Faites pivoter le télémètre ou d'autres capteurs jusqu'à un certain angle pour mesurer la distance dans un champ de vision étroit du robot.
  • Faites un petit pas avec votre pied, bougez votre membre ou votre tête.
  • Créer des manipulateurs robotiques.
  • Mettre en œuvre le mécanisme de direction.
  • Ouvrir ou fermer une porte, un rabat ou tout autre objet.

Bien entendu, le champ d'application du servo est de vrais projets beaucoup plus large, mais les exemples donnés sont les systèmes les plus populaires.

Schéma et types de servos

Le principe de fonctionnement d'un servo variateur repose sur le retour d'information d'un ou plusieurs signaux système. L'indicateur de sortie est transmis à l'entrée, où sa valeur est comparée à l'action de réglage et les actions nécessaires sont effectuées - par exemple, le moteur est éteint. Le plus options simples la mise en œuvre est une résistance variable, qui est contrôlée par l'arbre - lorsque les paramètres de la résistance changent, les paramètres du courant alimentant le moteur changent.

Dans les vrais servos, le mécanisme de contrôle est beaucoup plus complexe et utilise des puces de contrôleur intégrées. Selon le type de mécanisme de rétroaction utilisé, il existe analogique Et numérique servos. Les premiers utilisent quelque chose de similaire à un potentiomètre, les seconds utilisent des contrôleurs.

L'ensemble du circuit de commande d'asservissement est situé à l'intérieur du boîtier, les signaux de commande et l'alimentation sont généralement fournis par trois fils : masse, tension d'alimentation et signal de commande.

Servo à rotation continue 360, 180 et 270 degrés

Il existe deux principaux types de servomoteurs : à rotation continue et à angle fixe (le plus souvent 180 ou 270 degrés). La différence entre la rotation servo-limitée réside dans les éléments mécaniques de conception qui peuvent bloquer le mouvement de l'arbre en dehors des angles spécifiés par les paramètres. Ayant atteint un angle de 180, l'arbre affectera le limiteur et donnera l'ordre d'éteindre le moteur. Les servomoteurs à rotation continue ne disposent pas de tels limiteurs.

Matériaux des engrenages de servo

Pour la plupart des servos, le lien de liaison entre l'arbre et les éléments externes est un engrenage, il est donc très important de savoir de quel matériau il est fait. Il existe deux options les plus abordables : les engrenages en métal ou en plastique. Dans les modèles plus chers, vous pouvez trouver des éléments en fibre de carbone et même en titane.


Les options en plastique sont naturellement moins chères, plus faciles à produire et sont souvent utilisées dans modèles bon marché servo. Pour projets éducatifs Lorsque le servo fait quelques mouvements, ce n'est pas grave. Mais dans des projets sérieux, l'utilisation du plastique est impossible, en raison de l'usure très rapide de ces engrenages sous charge.

Les engrenages métalliques sont plus fiables, mais cela affecte bien sûr à la fois le prix et le poids du modèle. Les fabricants économes peuvent fabriquer certaines pièces en plastique et d’autres en métal, il faut également garder cela à l’esprit. Et bien entendu, dans les modèles les moins chers, même la présence d'un engrenage métallique n'est pas un gage de qualité.

Les engrenages en titane ou en carbone sont l'option la plus préférable si vous n'êtes pas limité par votre budget. Légers et fiables, ces servos sont largement utilisés pour créer des modèles de voitures, de drones et d'avions.

Avantages des servomoteurs

L'utilisation répandue des servos est due au fait qu'ils ont travail stable, haute résistance aux interférences, petite taille et large plage de contrôle de vitesse. Caractéristiques importantes les servos ont la capacité d'augmenter la puissance et de fournir un retour d'informations. Et il s'ensuit que dans le sens direct, le circuit est un émetteur d'énergie et dans le sens inverse, il est un émetteur d'informations utilisées pour améliorer la précision du contrôle.

Différences entre un servo et un moteur conventionnel

Activer ou désactiver le mode normal Moteur électrique, on peut former mouvement de rotation et faire bouger les roues ou autres objets fixés à l'arbre. Ce mouvement sera continu, mais pour comprendre à quel angle l'arbre a tourné ou combien de tours il a effectué, il sera nécessaire d'installer des éléments externes: encodeurs. Le servomoteur contient déjà tout le nécessaire pour obtenir des informations sur les paramètres de rotation actuels et peut s'éteindre indépendamment lorsque l'arbre tourne à l'angle requis.

Différences entre le servomoteur et le moteur pas à pas

Une différence importante entre un servomoteur et un moteur pas à pas est la capacité de travailler avec des accélérations élevées et sous des charges variables. De plus, les servomoteurs ont une puissance plus élevée. Les moteurs pas à pas n'ont pas de retour, donc l'effet de la perte de pas peut être observé ; dans les servomoteurs, la perte de pas est exclue - toutes les violations seront enregistrées et corrigées. Avec tous ces avantages évidents, les servomoteurs sont des appareils plus chers que les moteurs pas à pas, avoir plus système complexe connexion et contrôle et nécessitent une maintenance plus qualifiée. Il est important de noter que les moteurs pas à pas et les servos ne sont pas des concurrents directs - chacun de ces appareils a son propre domaine d'application spécifique.

Où acheter les servos populaires SG90, MG995, MG996

L'option de servo la plus abordable SG90 1,6 KG Servomoteurs SG90 et MG90S pour Arduino à un prix inférieur à 70 roubles
Une autre option pour le servo SG90 Pro 9g d'un fournisseur de confiance sur Ali Servo SG90 du fournisseur fiable RobotDyn
Testeur de servos Plusieurs options pour les testeurs de servos
Servo variateur protégé d'un couple de 15 kg Servo JX DC5821LV 21KG, équipement mental entièrement étanche, 1/8 1/10 RC, détartreur de voiture, Buggy chenille TRAXXAS RC4WD TRX-4 SCX10 D90
Servo MG996R MG996, engrenage métallique pour Futaba JR Servomoteur numérique MG995 MG996 MG996R, engrenage métallique, 13KG, 15KG

Le facteur décisif dans le contrôle des servomoteurs est le signal de commande, qui consiste en des impulsions de fréquence constante et de largeur variable. La longueur d'impulsion est l'une des les paramètres les plus importants, qui détermine la position du servo. Cette longueur peut être définie manuellement dans le programme à l'aide de la méthode de sélection des coins ou à l'aide des commandes de la bibliothèque. Pour chaque marque d'appareil, la longueur peut être différente.

Quand le signal arrive circuit de contrôle, le générateur délivre son impulsion dont la durée est déterminée à l'aide d'un potentiomètre. Dans une autre partie du circuit, la durée du signal appliqué et celle du signal du générateur sont comparées. Si ces signaux sont de durée différente, le moteur électrique est mis en marche, dont le sens de rotation est déterminé par laquelle des impulsions est la plus courte. Lorsque les longueurs d'impulsion sont égales, le moteur s'arrête.

La fréquence standard à laquelle les impulsions sont émises est de 50 Hz, soit 1 impulsion toutes les 20 millisecondes. A ces valeurs, la durée est de 1520 microsecondes, et le servo est en position médiane. La modification de la longueur d'impulsion entraîne la rotation du servomoteur - lorsque la durée augmente, la rotation se fait dans le sens des aiguilles d'une montre et lorsqu'elle diminue, elle tourne dans le sens inverse des aiguilles d'une montre. Il existe des limites de durée - dans Arduino dans la bibliothèque Servo, pour 0°, la valeur d'impulsion est définie sur 544 μs (limite inférieure), pour 180° - 2400 μs (limite supérieure).

(Image utilisée sur amperka.ru)

Il est important de considérer que sur un appareil spécifique, les paramètres peuvent différer légèrement des valeurs généralement acceptées. Pour certains appareils, la position et la largeur moyennes de l'impulsion peuvent être de 760 µs. Tous valeurs acceptées peut également varier légèrement en raison d'erreurs ayant pu survenir lors de la fabrication de l'appareil.

La méthode de contrôle du variateur est souvent appelée à tort PWM/PWM, mais ce n'est pas tout à fait correct. Le contrôle dépend directement de la durée des impulsions ; la fréquence de leur apparition n'est pas si importante. Le bon fonctionnement sera assuré aussi bien à 40 Hz qu'à 60 Hz ; seule une forte diminution ou augmentation de la fréquence y contribuera ; En cas de forte baisse, le servomoteur commencera à fonctionner par saccades ; si la fréquence dépasse 100 Hz, l'appareil peut surchauffer. Par conséquent, il est plus correct de l'appeler PDM.

Sur la base de l'interface interne, les servos analogiques et numériques peuvent être distingués. Il n'y a pas de différences externes - toutes les différences concernent uniquement l'électronique interne. Le servomoteur analogique contient une puce spéciale à l'intérieur, tandis que le servomoteur numérique contient un microprocesseur qui reçoit et analyse les impulsions.

Lors de la réception d'un signal, le servo analogique décide de changer ou non la position et, si nécessaire, fournit un signal d'une fréquence de 50 Hz au moteur. Pendant le temps de réaction (20 ms), des influences externes peuvent survenir qui modifient la position du servomoteur, et l'appareil n'aura pas le temps de réagir. Un servomoteur numérique utilise un processeur qui fournit et traite des signaux à une fréquence plus élevée - à partir de 200 Hz, afin de pouvoir réagir plus rapidement aux influences externes et développer rapidement la vitesse et le couple souhaités. Par conséquent, le servo numérique sera mieux à même de maintenir la position définie. Dans le même temps, les servocommandes numériques nécessitent plus d’électricité pour fonctionner, ce qui augmente leur coût. La complexité de leur production contribue également grandement au prix. Prix ​​élevé– le seul inconvénient des servos numériques est que, techniquement, ils sont bien meilleurs que les appareils analogiques.

Connecter un servomoteur à Arduino

Le servomoteur possède trois contacts colorés Couleurs différentes. Le fil marron mène à la terre, le fil rouge mène à l'alimentation +5 V, le fil orange ou couleur jaune– signaler. L'appareil est connecté à l'Arduino via une maquette de la manière indiquée sur la figure. Le fil orange (signal) est connecté à la broche numérique, les fils noir et rouge sont connectés respectivement à la masse et à l'alimentation. Pour contrôler le servomoteur, vous n'avez pas besoin de vous connecter spécifiquement aux broches de cale - nous avons déjà décrit le principe du servocommande plus tôt.

Il n'est pas recommandé de connecter des servos puissants directement à la carte, car... ils créent un courant pour le circuit d'alimentation Arduino qui n'est pas compatible avec la vie - vous aurez de la chance si la protection fonctionne. Le plus souvent, les symptômes de surcharge et d'alimentation incorrecte du servo sont les « secousses » du servo, son désagréable et redémarrez la carte. Pour l'alimentation, il est préférable d'utiliser des sources externes, veillez à combiner les masses des deux circuits.

Croquis pour contrôler un servo dans Arduino

Contrôler un servo directement en modifiant la durée d'impulsion dans le croquis est une tâche plutôt non triviale, mais heureusement, nous disposons d'une excellente bibliothèque de servos intégrée à l'environnement de développement Arduino. Nous examinerons toutes les nuances de la programmation et du travail avec les servos dans un article séparé. Ici, nous donnerons exemple le plus simple en utilisant Servo.

L'algorithme de fonctionnement est simple :

  • Nous connectons d’abord Servo.h
  • Créer un objet de la classe Servo
  • Dans le bloc de configuration, nous indiquons à quelle broche le servo est connecté.
  • Nous utilisons les méthodes de l'objet de la manière habituelle en C++. La plus populaire est la méthode write, à laquelle on fournit une valeur entière en degrés (pour un servo 360 ces valeurs seront interprétées différemment).

Un exemple de croquis simple pour travailler avec un servomoteur

Un exemple de projet dans lequel nous réglons d'abord immédiatement le servomoteur à un angle nul, puis le faisons pivoter de 90 degrés.

#inclure Servo-servo; // Créer un objet void setup() ( servo.attach(9); // Indiquer à un objet de la classe Servo que le servo est attaché à la broche 9 servo1.write(0); // Définir la position initiale ) void loop() ( servo.write (90); // Faites pivoter le servo de 90 degrés delay(1000); delay(100); delay(1000); ; )

Croquis pour deux servos

Et dans cet exemple, nous travaillons avec deux servos à la fois :

#inclure Servoservo1 ; // Premier servomoteur Servo servo2; // Deuxième servo void setup() ( servo1.attach(9); // Indique à l'objet de classe Servo que le servo est connecté à la broche 9 servo2.attach(10); // Et ce servo est connecté à la broche 10 ) void loop() ( // Définir les positions servo1.write(0); servo2.write(180); delay(20); // Changer les positions servo2.write(0); servo1.write(180); )

Asservissement par potentiomètre

Dans cet exemple, nous faisons tourner le servo en fonction de la valeur reçue du potentiomètre. Nous lisons la valeur et la convertissons en angle à l'aide de la fonction map :

//Fragment exemple standard en utilisant la bibliothèque Servo void loop() ( val = analogRead(A0); // Lit la valeur de la broche à laquelle le potentiomètre est connecté val = map(val, 0, 1023, 0, 180); // Convertit le nombre dans la plage de 0 à 1023 à la nouvelle plage - de 0 à 180. servo.write(val);

Caractéristiques et connexion du SG-90

Si vous envisagez d'acheter le servomoteur le moins cher et le plus simple, le SG 90 sera la meilleure option. Ce servo est le plus souvent utilisé pour contrôler de petits mécanismes légers avec un angle de rotation de 0° à 180°.

Spécifications SG90 :

  • Vitesse d'exécution des commandes 0,12 s/60 degrés ;
  • Alimentation 4,8 V ;
  • Températures de fonctionnement de -30C à 60C ;
  • Dimensions 3,2 x 1,2 x 3 cm ;
  • Poids 9 g.

Descriptif SG90

Les couleurs des fils sont standard. Le servo est peu coûteux ; il ne fournit pas de réglages précis pour les positions de début et de fin. Afin d'éviter les surcharges inutiles et les crépitements caractéristiques dans les positions 0 et 180 degrés, il est préférable de régler points extrêmesà 10° et 170°. Lors du fonctionnement de l'appareil, il est important de surveiller la tension d'alimentation. Si cet indicateur est largement surestimé, des dommages peuvent survenir. éléments mécaniques mécanismes d'engrenage.

Servomoteurs MG995 et MG996 tower pro

Le servo MG995 est le deuxième modèle de servo le plus populaire, le plus souvent connecté aux projets Arduino. Ce sont des servomoteurs relativement bon marché qui ont beaucoup meilleures caractéristiques par rapport au SG90.

Spécifications MG995

L'arbre de sortie du MG995 tourne à 120 degrés (60 dans chaque direction), bien que de nombreux vendeurs indiquent 180 degrés. L'appareil est logé dans un boîtier en plastique.

  • Poids 55 g ;
  • Couple 8,5 kg x cm ;
  • Vitesse 0,2s/60 degrés (à 4,8V) ;
  • Puissance de travail 4,8 – 7,2 V ;
  • Températures de fonctionnement – ​​de 0C à -55C.

Descriptif MG995

La connexion à l'Arduino s'effectue également via trois fils. En principe, pour les projets amateurs, il est possible de connecter le MG995 directement à l'Arduino, mais le courant du moteur créera toujours une charge dangereuse sur les entrées de la carte, il est donc toujours recommandé d'alimenter le servo séparément, sans oublier de connecter la masse. des deux circuits de puissance. Une autre option qui faciliterait la vie serait d'utiliser des servocontrôleurs et des boucliers prêts à l'emploi, que nous examinerons dans un article séparé.

Le MG996R est similaire au MG995 dans ses caractéristiques, sauf qu'il est livré dans un boîtier métallique.

Conversion d'un servo variateur en servo à rotation continue

Comme décrit ci-dessus, le servo est contrôlé par des impulsions de largeur variable qui définissent l'angle de rotation. La position actuelle est lue sur le potentiomètre. Si vous débranchez l'arbre et le potentiomètre, le servomoteur prendra la position du coulisseau du potentiomètre comme au milieu. Toutes ces actions entraîneront la suppression des commentaires. Cela vous permet de contrôler la vitesse et le sens de rotation via le fil de signal et de créer un servo de rotation continue. Il est important de noter qu’un servo à rotation constante ne peut pas tourner d’un certain angle et effectuer un nombre de tours strictement spécifié.

Pour effectuer les étapes ci-dessus, vous devrez démonter l'appareil et apporter des modifications à la conception.

Dans l'IDE Arduino, vous devez créer un petit croquis qui mettra la bascule en position médiane.

#inclure Servo monservo ; void setup())( myservo.attach(9); myservo.write(90); ) void loop())( )

Après cela, l'appareil doit être connecté à Arduino. Une fois connecté, le servo commencera à tourner. Il est nécessaire de réaliser son arrêt complet en ajustant la résistance. Une fois la rotation arrêtée, vous devez trouver l'arbre, en retirer l'élément flexible et le réinstaller.

Cette méthode présente plusieurs inconvénients : la mise à l'arrêt complet de la résistance est instable ; au moindre choc/échauffement/refroidissement, le point zéro ajusté peut être perdu ; Par conséquent, il est préférable d'utiliser la méthode consistant à remplacer le potentiomètre par un trimmer. Pour ce faire, vous devez retirer le potentiomètre et le remplacer par une résistance trimmer de même résistance. Le point zéro doit être réglé à l'aide d'un croquis d'étalonnage.

Toute méthode de conversion d'un servo en servo à rotation continue a ses inconvénients. Tout d’abord, c’est difficile à mettre en place. zéro point, tout mouvement peut la renverser. Deuxièmement, la plage de contrôle est petite - avec un petit changement dans la largeur d'impulsion, la vitesse peut changer considérablement. Vous pouvez étendre la gamme par programme dans Arduino.

Conclusion

Les servos jouent un rôle très important dans de nombreux projets Arduino, de la robotique aux systèmes Maison intelligente. Tout ce qui touche au mouvement nécessite traditionnellement des connaissances particulières, et créer un entraînement à part entière et fonctionnant correctement n'est pas une tâche facile. Mais avec l'aide de servomoteurs, la tâche peut être simplifiée dans de nombreux cas, c'est pourquoi les servomoteurs sont constamment utilisés, même dans les projets d'entrée de gamme.

Dans cet article, nous avons essayé de révéler différents aspects utiliser des servos dans des projets Arduino : de la connexion à l'écriture de croquis. Ayant choisi le plus modèle simple servo (par exemple, sg 90), vous pouvez facilement répéter les exemples donnés et créer vos premiers projets dans lesquels quelque chose bouge et change. Nous espérons que cet article vous aidera.

Cet article traite des servos : leur conception, leur objectif, des conseils de connexion et de contrôle, les types de servos et leur comparaison. Allons-y et commençons par ce qu'est un servo.

Concept de servomoteur

Un servomoteur est le plus souvent compris comme un mécanisme doté d'un moteur électrique, auquel on peut demander de tourner selon un angle donné et de maintenir cette position. Cependant, cette définition n’est pas complètement complète.

Pour être plus précis, un servo variateur est un variateur contrôlé par un négatif retour, permettant un contrôle précis des paramètres de mouvement. Un servo variateur est tout type d'entraînement mécanique contenant un capteur (position, vitesse, force, etc.) et une unité de commande d'entraînement qui maintient automatiquement les paramètres nécessaires sur le capteur et l'appareil en fonction d'une valeur externe donnée.

Autrement dit:

    Le servo variateur reçoit la valeur du paramètre de contrôle en entrée. Par exemple, l'angle de rotation.

    La centrale compare cette valeur avec la valeur de son capteur.

    Sur la base du résultat de la comparaison, le variateur effectue une action : par exemple, tourner, accélérer ou décélérer afin que la valeur du capteur interne devienne aussi proche que possible de la valeur du paramètre de contrôle externe.

Les plus courants sont les servos qui maintiennent un angle donné et les servos qui maintiennent une vitesse de rotation donnée.

Un servo de loisir typique est illustré ci-dessous.

Comment sont conçus les servos ?

Dispositif de servomoteur

Les servomoteurs comportent plusieurs composants.

Entraînement - moteur électrique avec boîte de vitesses. Pour convertir l'électricité en rotation mécanique, vous avez besoin moteur électrique. Cependant, la vitesse de rotation du moteur est souvent trop élevée pour utilisation pratique. Utilisé pour réduire la vitesse boîte de vitesses: un mécanisme d'engrenage qui transmet et convertit le couple.

En allumant et éteignant le moteur électrique, nous pouvons faire tourner l'arbre de sortie - l'engrenage final du servo, auquel nous pouvons attacher quelque chose que nous voulons contrôler. Cependant, pour que la position soit contrôlée par l'appareil, il est nécessaire capteur de rétroaction - encodeur, qui reconvertira l’angle de rotation en un signal électrique. Un potentiomètre est souvent utilisé à cet effet. Lorsque vous tournez le curseur du potentiomètre, sa résistance change proportionnellement à l'angle de rotation. Vous pouvez donc l'utiliser pour installer position actuelle mécanisme.

En plus du moteur électrique, du réducteur et du potentiomètre, le servomoteur comporte des composants électroniques chargés de recevoir un paramètre externe, de lire les valeurs du potentiomètre, de les comparer et d'allumer/éteindre le moteur. Elle est responsable du maintien des commentaires négatifs.

Il y a trois fils qui vont au servo. Deux d'entre eux sont chargés d'alimenter le moteur, le troisième délivre un signal de commande, qui permet de régler la position de l'appareil.

Voyons maintenant comment contrôler un servo en externe.

Commande de servomoteur. Interface de signal de commande

Pour indiquer la position souhaitée au servomoteur, un signal de commande doit être envoyé le long du fil prévu à cet effet. Le signal de commande est constitué d'impulsions de fréquence constante et de largeur variable.

La position que doit prendre le servo dépend de la durée des impulsions. Lorsqu'un signal pénètre dans le circuit de commande, le générateur d'impulsions qui y est présent produit sa propre impulsion dont la durée est déterminée via un potentiomètre. L'autre partie du circuit compare la durée de deux impulsions. Si la durée est différente, le moteur électrique se met en marche. Le sens de rotation est déterminé par laquelle des impulsions est la plus courte. Si les longueurs d'impulsion sont égales, le moteur électrique s'arrête.

Le plus souvent, les serveurs de loisirs produisent des impulsions à une fréquence de 50 Hz. Cela signifie qu'une impulsion est émise et reçue toutes les 20 ms. Généralement, une durée d'impulsion de 1 520 µs signifie que le servo doit prendre la position médiane. L'augmentation ou la diminution de la longueur d'impulsion fera tourner le servo respectivement dans le sens des aiguilles d'une montre ou dans le sens inverse. Dans ce cas, il existe des limites supérieure et inférieure pour la durée de l'impulsion. Dans la bibliothèque Servo pour Arduino, les longueurs d'impulsion suivantes sont définies par défaut : 544 μs pour 0° et 2400 μs pour 180°.

Veuillez noter que votre appareil spécifique peut ne pas avoir de paramètres d'usine par défaut. Certains servos utilisent une largeur d'impulsion de 760 µs. La position médiane correspond à 760 μs, de la même manière que dans les servos conventionnels, la position médiane correspond à 1520 μs.

Il convient également de noter qu’il ne s’agit que de longueurs généralement acceptées. Même au sein d'un même modèle de servo, il peut exister des tolérances de fabrication qui entraînent une légère variation de la plage de fonctionnement des longueurs d'impulsion. Pour travail précis Chaque servo variateur spécifique doit être calibré : à travers des expérimentations, il faut sélectionner la bonne plage qui lui est propre.

Une autre chose à laquelle il convient de prêter attention est la confusion terminologique. Souvent, la méthode de contrôle des servos est appelée PWM/PWM (Pulse width Modulation) ou PPM (Pulse Position Modulation). Ce n'est pas vrai et l'utilisation de ces méthodes peut même endommager le lecteur. Le terme correct est PDM (Pulse Duration Modulation). Dans ce document, la durée des impulsions est extrêmement importante et la fréquence de leur apparition n'est pas si importante. 50 Hz est normal, mais le servo fonctionnera correctement à 40 et 60 Hz. La seule chose que vous devez garder à l'esprit est que si la fréquence est fortement réduite, il peut fonctionner de manière saccadée et à puissance réduite, et si la fréquence est fortement augmentée (par exemple, 100 Hz), il peut surchauffer et tomber en panne.

Caractéristiques du servomoteur

Voyons maintenant quels types de servos existent et quelles sont leurs caractéristiques.

Couple et vitesse de rotation

Parlons d'abord de deux très caractéristiques importantes Servo : o couple Et à propos vitesse de rotation.

Le moment de force, ou couple, est une grandeur physique vectorielle égale au produit du rayon vecteur tiré de l'axe de rotation jusqu'au point d'application de la force et du vecteur de cette force. Caractérise l’action rotationnelle d’une force sur un corps solide.

En termes simples, cette caractéristique montre la charge que le servo peut supporter au repos sur un levier d'une longueur donnée. Si le couple du servo variateur est de 5 kg×cm, alors cela signifie que le servo variateur maintiendra un levier de 1 cm de long, à l'extrémité libre duquel sont suspendus 5 kg, en position horizontale. Ou, de manière équivalente, un levier de 5 cm de long auquel est suspendu 1 kg.

La vitesse du servo est mesurée par le temps nécessaire au bras du servo pour tourner de 60°. Une caractéristique de 0,1 s/60° signifie que le servo tourne de 60° en 0,1 s. À partir de là, il est facile de calculer la vitesse dans une valeur plus familière, les tours par minute, mais il se trouve que lors de la description des servos, une telle unité est le plus souvent utilisée.

Il convient de noter que nous devons parfois rechercher un compromis entre ces deux caractéristiques, car si nous voulons un produit fiable et durable poids lourd servo, alors nous devons nous préparer à ce que cette puissante installation tourne lentement. Et si nous voulons un déplacement très rapide, il sera alors relativement facile de le déloger de sa position d'équilibre. Lors de l'utilisation du même moteur, l'équilibre est déterminé par la configuration des engrenages de la boîte de vitesses.

Bien sûr, on peut toujours prendre un appareil qui consomme plus d'énergie, l'essentiel est que ses caractéristiques répondent à nos besoins.

Facteur de forme

Les servos varient en taille. Et bien qu'il n'existe pas de classification officielle, les fabricants adhèrent depuis longtemps à plusieurs tailles avec une disposition généralement acceptée éléments de fixation. Ils peuvent être divisés en :

    petit

    standard

Ils ont les dimensions caractéristiques suivantes :

Il existe aussi des soi-disant servos " type spécial"Avec des dimensions qui n'entrent pas dans cette classification, le pourcentage de tels servos est cependant très faible.

Interface interne

Les servomoteurs sont analogiques ou numériques. Alors, quelles sont leurs différences, avantages et inconvénients ?

Extérieurement, ils ne sont pas différents : moteurs électriques, réducteurs, potentiomètres sont les mêmes, ils ne diffèrent que par l'électronique de commande interne. Au lieu d'un microcircuit d'asservissement analogique spécial, l'homologue numérique dispose d'un microprocesseur sur la carte qui reçoit les impulsions, les analyse et contrôle le moteur. Ainsi, dans la conception physique, la seule différence réside dans la méthode de traitement des impulsions et de contrôle du moteur.

Les deux types de servomoteurs acceptent les mêmes impulsions de commande. Le servo analogique décide alors s'il faut changer la position et envoie un signal au moteur si nécessaire. Cela se produit généralement à une fréquence de 50 Hz. Ainsi, nous obtenons 20 ms – le temps de réaction minimum. A ce moment, toute influence externe peut modifier la position du servo variateur. Mais ce n’est pas le seul problème. En état de repos, aucune tension n'est fournie au moteur électrique ; en cas de léger écart par rapport à l'équilibre, un signal court est envoyé au moteur électrique ; batterie faible. Plus la déviation est grande, plus le signal est fort. Ainsi, avec de petits écarts, le servomoteur ne pourra pas faire tourner rapidement le moteur ni développer un couple important. Des « zones mortes » se forment dans le temps et la distance.

Ces problèmes peuvent être résolus en augmentant la fréquence de réception, le traitement du signal et le contrôle du moteur électrique. Les servos numériques utilisent un processeur spécial qui reçoit les impulsions de commande, les traite et envoie des signaux au moteur avec une fréquence de 200 Hz ou plus. Il s'avère que le servomoteur numérique est capable de réagir plus rapidement aux influences extérieures, de développer rapidement la vitesse et le couple requis, ce qui signifie qu'il est préférable de maintenir une position donnée, ce qui est bien. Bien entendu, cela consomme également plus d’électricité. De plus, les servos numériques sont plus difficiles à fabriquer et coûtent donc beaucoup plus cher. En fait, ces deux inconvénients sont tous les inconvénients des servos numériques. En termes techniques, ils battent inconditionnellement les servos analogiques.

Matériaux d'engrenage

Les engrenages des servos sont constitués de différents matériaux : plastique, carbone, métal. Tous sont largement utilisés, le choix dépend de l'application spécifique et des caractéristiques requises dans l'installation.

Les engrenages en plastique, le plus souvent en nylon, sont très légers, non sujets à l'usure et sont les plus courants dans les servos. Ils ne supportent pas de lourdes charges, mais si les charges doivent être légères, les engrenages en nylon sont le meilleur choix.

Les engrenages en carbone sont plus durables, ne s'usent pratiquement pas et sont plusieurs fois plus résistants que ceux en nylon. Le principal inconvénient est le coût élevé.

Les engrenages métalliques sont les plus lourds, mais ils peuvent résister charges maximales. Ils s'usent assez vite, il faut donc changer de vitesse presque à chaque saison. Les engrenages en titane sont les favoris parmi les engrenages en métal, et les deux spécifications techniques, et en prix. Malheureusement, cela vous coûtera très cher.

Moteurs brossés et sans balais

Il existe trois types de servomoteurs : le moteur à noyau ordinaire, le moteur sans noyau et le moteur sans balais.

Un moteur à noyau conventionnel (à droite) possède un rotor en fer dense entouré d'un enroulement de fil et d'aimants. Le rotor comporte plusieurs sections, donc lorsque le moteur tourne, le rotor fait vibrer légèrement le moteur lorsque les sections passent devant les aimants, ce qui donne un servo qui vibre et est moins précis qu'un servo avec un moteur sans noyau. Le moteur à rotor creux (à gauche) possède un noyau magnétique unique avec un enroulement en forme de cylindre ou de cloche autour de l'aimant. La conception sans noyau est plus légère et ne comporte aucune section, ce qui entraîne une réponse plus rapide et un fonctionnement fluide et sans vibrations. De tels moteurs sont plus chers, mais ils offrent plus haut niveau contrôle, couple et vitesse par rapport aux standards.

Les servomoteurs équipés de moteurs sans balais sont apparus relativement récemment. Les avantages sont les mêmes que ceux des autres moteurs brushless : il n'y a pas de balais, ce qui signifie qu'ils ne créent pas de résistance en rotation et ne s'usent pas, la vitesse et le couple sont plus élevés avec une consommation de courant égale aux moteurs à balais. Les servos à moteur sans balais sont les servos les plus chers, mais ils offrent de meilleures performances que les servos équipés d'autres types de moteurs.

Connexion à Arduino

De nombreux servos peuvent être connectés directement à Arduino. Pour ce faire, une boucle de trois fils en sort :

    rouge - nutrition; se connecte à la broche 5V ou directement à l'alimentation

    marron ou noir - terre

    jaune ou blanc - signal ; se connecte à la sortie numérique Arduino.

Pour se connecter à Arduino, il sera pratique d'utiliser une carte d'extension de port telle que Troyka Shield. Bien qu'avec quelques fils supplémentaires, vous puissiez connecter le servo via la planche à pain ou directement aux broches Arduino.

Il est possible de générer vous-même des impulsions de contrôle, mais c'est une tâche si courante qu'il existe une bibliothèque Servo standard pour la simplifier.

Restrictions diététiques

Un servomoteur amateur typique consomme plus de 100 mA pendant son fonctionnement. Dans le même temps, Arduino est capable de délivrer jusqu'à 500 mA. Par conséquent, si vous devez utiliser un servomoteur puissant dans un projet, il est logique de penser à le diviser en un circuit avec une puissance supplémentaire.

Regardons l'exemple de raccordement d'un servo variateur 12V :

Limitation du nombre de servos connectés

Sur la plupart des cartes Arduino, la bibliothèque Servo prend en charge le contrôle de 12 servos maximum ; sur Arduino Mega, ce nombre passe à 48. Cependant, il existe un petit effet secondaire Utilisation de cette bibliothèque : Si vous ne travaillez pas avec un Arduino Mega, alors il devient impossible d'utiliser la fonction analogWrite() sur les broches 9 et 10, que les servos soient connectés ou non à ces broches. Vous pouvez connecter jusqu'à 12 servos à l'Arduino Mega sans perturber la fonctionnalité PWM/PWM lors de l'utilisation. plus servos, nous ne pourrons pas utiliser analogWrite() sur les broches 11 et 12.

Fonctionnalité de la bibliothèque d'asservissements

La bibliothèque Servo vous permet de contrôle logiciel servos. Pour cela, une variable de type Servo est créée. La gestion est assurée par les fonctions suivantes :

    attach() - attache une variable à une broche spécifique. Il existe deux options de syntaxe pour cette fonction : servo.attach(pin) et servo.attach(pin, min, max) . Dans ce cas, pin est le numéro de la broche à laquelle le servomoteur est connecté, min et max sont les longueurs d'impulsion en microsecondes, responsables des angles de rotation de 0° et 180°. Par défaut, ils sont définis respectivement sur 544 μs et 2 400 μs.

    write() - commande au servo d'accepter une valeur de paramètre. La syntaxe est la suivante : servo.write(angle) où angle est l'angle que le servo doit parcourir.

    writeMicroseconds() - donne une commande pour envoyer une impulsion d'une certaine longueur au servomoteur ; il s'agit d'un analogue de bas niveau de la commande précédente ; La syntaxe est la suivante : servo.writeMicroseconds(uS) , où uS est la durée de l'impulsion en microsecondes.

    read() - lit valeur actuelle l'angle auquel le servo est situé. La syntaxe est : servo.read() , renvoyant une valeur entière comprise entre 0 et 180.

    attachment() - vérifie si une variable a été attachée à une broche spécifique. La syntaxe est la suivante : servo.attached() , renvoyant vrai logique si la variable était attachée à une broche, faux sinon.

    detach() - effectue une action, action inverse attach() , c'est-à-dire qu'il détache la variable de la broche à laquelle elle a été affectée. La syntaxe est : servo.detach() .

Toutes les méthodes de la bibliothèque Servo2 sont identiques aux méthodes Servo.

Exemple d'utilisation de la bibliothèque Servo

Au lieu d'une conclusion

Les servomoteurs sont différents, certains sont meilleurs, d'autres sont moins chers, certains sont plus fiables, d'autres sont plus précis. Et avant d'acheter un servo, il convient de garder à l'esprit qu'il n'a peut-être pas les meilleures caractéristiques, à condition qu'il soit adapté à votre projet. Bonne chance dans vos efforts!

Les servos ont généralement un angle de rotation limité à 180 degrés. DANS dans ce cas Considérons un servo « modifié » avec un angle de rotation d'axe illimité.


Caractéristiques de performance de la page du vendeur

Taille: arbre d'entraînement 40*20*37.5 + 5mm
poids:38g
longueur du fil : 320 mm

Vitesse : 0,19 sec/60 degrés (4,8 V)
0,22 sec/60 degrés (6 V)
les vitesses sont probablement mélangées, le servo devrait être plus rapide de 6 volts
couple : 5kg. cm. à (4,8 V)
5,5kg.cm.à (6 V)
tension: 4,8 V-6 V

Kit de livraison standard

4 chaises à bascule de formes différentes
4 bagues, 4 amortisseurs en caoutchouc et 4 vis pour fixer le servo
et une autre petite vis pour fixer la bascule à l'arbre échappée de la photo :)

Apparence inspire confiance, le toucher est également correct, petits montants de moulage uniquement au niveau des oreilles de montage, l'autocollant est légèrement tordu (une tautologie, oui !). Le fil est doux, le connecteur s'adapte bien aux broches.

Eh bien, maintenant l'autopsie :

Qui ne savait pas comment cela fonctionne : dans le cas il y a un moteur, une carte de commande et une résistance variable, en fonction de la position de laquelle le servo détermine l'angle de l'axe.
La boîte de vitesses de ce servo est en plastique, la durée de vie est inférieure à celle d'une boîte en métal et n'aime pas les lourdes charges. Douille sous Axe central du cuivre ou une sorte d'alliage. Il y a un roulement sur l'arbre de sortie. Des lubrifiants peuvent être ajoutés

Partie électrique

Des cerveaux qui contrôlent le sens et la vitesse de rotation, la vitesse variable et le moteur électrique.

Et maintenant, attention, un « life hack », comment transformer un servo ordinaire en servo à rotation constante

Dans l'original, la variable avec son axe est coincée dans l'arbre de sortie depuis l'intérieur du servo ; dans la version modifiée, l'arbre a été arraché/cassé, apparemment au stade de l'assemblage, la résistance est réglée en position centrale pour que l'arbre ne tourne pas au repos. Si vous allez plus loin, vous pouvez le jeter complètement et le remplacer par 2 résistances constantes identiques ; il est pratique de mettre quelque chose de SMD sur la carte de contrôle.

Total:
serva comme serva, pas l'espace, mais pas non plus les biens de consommation,
on peut trouver moins cher et avec une boîte de vitesses en métal

PS
Comme indiqué à juste titre dans les commentaires, j'ai complètement oublié de mentionner comment le servo est contrôlé ; le servo est alimenté en 5-6 volts et un signal ppm via le troisième fil.

Les options de contrôle les plus courantes :
1) connectez l'alimentation d'un côté, de l'autre la sortie à 3 « consommateurs » (serveurs, moteurs, etc.) puissance et signal PPM, vous pouvez utiliser la poignée pour régler la vitesse et le sens de rotation du servo
2) L'équipement RC aux sorties du récepteur est le même signal ppm.
3) piloter avec un Arduino

Vidéo

Pps
Suite à la "modification", le servo a perdu le feedback, le cerveau ne connaît pas la position réelle de l'arbre et le sens de rotation, tenez compte de ce point si vous envisagez de l'acheter.

Je prévois d'acheter +17 Ajouter aux Favoris J'ai aimé la critique +31 +56

Pour démonter notre servomoteur, nous avons besoin d'un tournevis. Parce que Je démonte un très petit servomoteur, j'ai donc besoin d'un tournevis correspondant. Personnellement, j'utilise des tournevis provenant d'un jeu chinois bon marché. Je l'ai acheté dans un kiosque à passage souterrain Le prix est d'environ 5$, donc pas trop cher.

Pour ouvrir le servomoteur, il suffit de dévisser quatre vis. Ils sont situés sur le capot inférieur. Dévisser:

En retirant le couvercle, vous pouvez examiner l'unité de commande. Je n'entrerai pas dans les détails, je vais quand même le supprimer d'ici. Vous pouvez également voir le moteur auquel mènent deux fils.

Il y a aussi un couvercle sur le dessus, après avoir retiré lequel vous pouvez voir les engrenages de la boîte de vitesses. Il est à noter que deux d'entre eux sont fixés au potentiomètre - c'est assez important, car pour que la boîte de vitesses continue à remplir sa fonction, nous devrons effectivement casser le potentiomètre - nous l'utiliserons simplement comme axe pour les engrenages.

En fait, vous devez retirer tous les engrenages du servomoteur et les mettre de côté pendant un moment. Nous retirons le potentiomètre (d'ailleurs, c'est aussi une résistance variable) du boîtier en le poussant soigneusement depuis le bas du servo avec un tournevis.

Aujourd’hui, en effet, le moment de non-retour est arrivé. Bien sûr, il sera toujours possible de tout ressouder, mais cela est plus difficile. Donc, le potentiomètre mord.

Ensuite, en utilisant la même méthode, nous séparons la carte de commande avec les fils d'alimentation et de signal.


Ensuite, nous coupons les fils du moteur. Soyez prudent ici et ne mordez pas les contacts du moteur lui-même - si vous n'êtes pas sûr, il est préférable de laisser le fil en réserve. Ensuite, il peut être dessoudé. Je mords le fil jusqu'au contact.

Faisons un inventaire.

Tout semble être en place. Reprenons maintenant notre potentiomètre.

Le fait est que maintenant, il ne tourne également que sous un certain angle. Et comme c'est l'axe et que le plus grand engrenage y est fixé, sur lequel nous fixerons effectivement la roue plus tard, nous devons nous assurer qu'elle tourne constamment. On en sort deux des plaques métalliques qui empêchent cela. On a:

J'espère que la photo montre ce que j'ai fait. Je l'ai arraché avec une petite pince, car il n'y avait rien de plus adapté sous la main.
Vous devez maintenant couper le limiteur sur l'engrenage lui-même. Cela ressemble à une saillie au bas de l’engrenage. C'est facile à trouver, ça ressemble à ça.

Nous l'avons coupé.

Et après cela, vous pouvez commencer à remonter la boîte de vitesses dans le carter. Nous réinsérons l'axe que nous avons créé plus tôt à partir du potentiomètre.

Ensuite, une vitesse à la fois, en commençant par la plus petite. Soyez prudent lors de l'insertion du dernier engrenage - il est spécialement fixé à l'axe de l'ancien potentiomètre, car la pointe de l'axe a la forme d'une lettre D. Cette saillie doit s'insérer dans l'évidement de l'engrenage. Il s'avère que quelque chose de similaire à l'image suivante.

Nous plaçons le capot supérieur sur la boîte de vitesses afin qu'il ne se désagrège pas lors de travaux ultérieurs.

Eh bien, il ne reste plus grand chose. Nous prenons le fil avec le connecteur que nous avons précédemment coupé de la carte et séparons le câblage qu'il contient. Ne doit pas être divisé en longue distance, en fait, un centimètre suffit amplement.

Nous en éliminons deux (essentiellement n'importe lequel, mais j'ai utilisé du rouge et du vert). Il suffit de couper environ 3 mm d'isolant. Pour nos besoins - plus que.

Nous plions simplement le fil non dénudé restant pour qu'il ne nous gêne pas.

Passons aux choses chaudes. Il est temps de chauffer le fer à souder. Pendant que le fer à souder chauffait, j'ai rendu le servomoteur dans la poignée plus confortable.

La première chose à faire est de retirer les restes de vieille soudure qui restent sur les contacts du moteur. Je fais cela à l'aide d'une pompe à dessouder, après avoir préchauffé le contact avec un fer à souder jusqu'à ce que la soudure fonde. L'essentiel ici est de ne pas en faire trop - le capot arrière du moteur est toujours en plastique et n'aime pas chauffer longtemps. Le processus ressemble à ceci :

Je comprends que ce que j'ai fait n'est peut-être pas très visible, mais il n'y avait pratiquement plus de soudure sur les contacts, ce que je voulais.

Il y a de merveilleux articles sur la soudure dans DI HALT, c'est généralement un génie, il me semble que lien vers son blog, il y a en fait beaucoup de choses en plus de la soudure, il suffit de faire une recherche.
Bref, pour faire une bonne soudure, il faut toujours d’abord se débarrasser de l’ancienne soudure.
Il reste deux fils à souder. Toute personne familiarisée avec la soudure peut le faire en 5 secondes. Pour quelqu’un comme moi qui utilise normalement un fer à souder pour la deuxième fois de sa vie, cela prendra un peu plus de temps, mais quand même, c’est très simple, tout le monde peut le faire.
Lors du soudage, j'utilise du flux, ce qui, certes, rend le travail beaucoup plus facile et la qualité du soudage est beaucoup plus facile à assurer. Personnellement, sur les conseils, encore une fois, de DI HALT, je suis déjà tombé amoureux du LTI-120 sur son blog, je l'ai dans un pot tellement à la mode avec un pinceau.

Serrez les quatre vis.

C'est tout, la modification du servo est terminée. Après avoir refixé le servomoteur plus confortablement et plus fermement dans la poignée, vous pouvez commencer les tests.

Cette fois, je ne m'intéresserai pas au contrôleur, mais j'appliquerai simplement une tension de 5 V de l'alimentation aux fils vert et rouge. Attention, dans la vidéo, il y a un bruit assez fort provenant du lecteur.

Comme vous pouvez le constater, désormais rien n'empêche notre servo de tourner sans s'arrêter. Le son produit par le lecteur n'est en réalité pas silencieux, mais il est en principe tolérable. C'est probablement tout pour aujourd'hui.

Les robots les plus simples sont à 2 ou 4 roues. Un tel robot pourrait être basé sur un châssis de voiture radiocommandée, mais tout le monde ne l'a peut-être pas sous la main ou il pourrait être dommage de le gaspiller. Vous pouvez aussi réaliser le châssis vous-même, mais poser les roues directement sur le moteur n'est pas très bonne décision, le moteur doit ralentir, pour cela vous avez besoin d'une boîte de vitesses. Obtenir un châssis ou une boîte de vitesses prêts à l'emploi, ou un moteur avec boîte de vitesses, s'est avéré n'être pas une tâche si facile, contrairement aux servos. Presque tous les servomoteurs peuvent être facilement convertis en moteur avec une boîte de vitesses.

Les roues peuvent être collées directement sur la bascule d'un tel moteur et le corps du servo est pratique pour le montage.

ATTENTION! La conception des autres servos peut différer, et donc ce manuel ne ressemblent que partiellement.

Comme base, le servo le plus simple et le moins cher a été pris :

Tout d’abord, démontons-le.

Tout d’abord, nous supprimons les composants électroniques inutiles, mordons le conducteur et contrôlons directement le moteur. Ensuite, nous procéderons à la modification de la mécanique, retirerons le premier engrenage avec l'arbre extérieur et en retirerons la butée de course.

On retire la résistance et on mord le limiteur situé sur son corps.

Nous remontons toute la mécanique et vérifions que tout bouge bien.

L'étape suivante consiste à souder le fil au moteur.

Nous assemblons l'ancien servo dans un nouveau moteur avec une boîte de vitesses.

Tout est prêt, si vous n’avez commis aucune erreur, vous pouvez profiter de votre travail.