Modifier Des Servos Sm s2309s Pour Une Rotation Continue
Gros probléme d'emails avec Yahoo
Yahoo refuse tous les emails du site. Si vous avez une adresse chez un autre prestataire, c'est le moment de l'utiliser
En cas de soucis, n'hésitez pas à aller faire un tour sur la page de contact en bas de page.
Bricoler un servomoteur à rotation continue
Le moteur tout-en-un du bricoleur
par skywodd | | Licence (voir pied de page)
Catégories : Tutoriels Arduino Mécanique | Mots clefs : Arduino Genuino Servomoteurs
Cet article n'a pas été mis à jour depuis un certain temps, son contenu n'est peut être plus d'actualité.
Dans ce tutoriel, je vais vous expliquer comment transformer un simple servomoteur de modélisme en "servomoteur à rotation continue". Le but : obtenir un moteur à courant continu tout-en-un, avec moteur, engrenages et électronique de contrôle dans un même boitier.
Sommaire
- Qu'est-ce qu'un servomoteur à rotation continue ?
- Le nécessaire
- Décorticage
- Comment ça marche ?
- Supprimer les butées empêchant la libre rotation du servomoteur
- Guillotiner le potentiomètre
- Ajustement et collage
- Conclusion
Bonjour à toutes et à tous !
Dans mon précédent tutoriel, nous nous étions intéressés aux servomoteurs et à l'utilisation de servomoteurs avec une carte Arduino / Genuino. Aujourd'hui, nous allons transformer un servomoteur classique de modélisme en servomoteur à rotation continue.
N.B. Il y a plusieurs façons de réaliser la transformation décrite dans cet article. La méthode détaillée ci-dessous n'est qu'une façon de faire parmi d'autres.
Qu'est-ce qu'un servomoteur à rotation continue ?
Un servomoteur à rotation continue est un servomoteur modifié, qui au lieu de garder un angle précis, tourne dans un sens, ou dans l'autre, comme un moteur classique.
Quel est l'intérêt d'une telle modification ? Obtenir un moteur à courant continu classique, mais "tout-en-un", avec moteur, engrenages et électronique, dans un même boitier, pour le prix d'un simple servomoteur.
Une fois la modification effectuée, on ne contrôle plus l'angle de rotation du servomoteur, mais sa vitesse. Vous ne pourrez plus contrôler l'angle du servomoteur, mais en échange, vous pourrez contrôler sa vitesse et son sens de rotation, de manière relativement précise.
De plus, les servomoteurs de modélisme étant conçus pour être facilement fixés à un support, cette modification est extrêmement intéressante pour les amateurs de robotiques
PS Modifier un servomoteur en servomoteur à rotation continue est un exercice très simple à réaliser et est souvent employé pour faire des robots roulants, rapidement et à bas coup.
Le nécessaire
Pour réaliser la modification, vous aurez besoin :
-
d'un tournevis,
-
d'une pince coupante,
-
d'une petite pince plate (pour prendre les engrenages et autres pièces),
-
d'un peu de colle forte (colle cyanoacrylate, colle chaude ou colle époxy),
-
d'un servomoteur.
N.B. Pour cet article, j'utilise un servomoteur Futuba S3003, un gros modèle de servomoteur (et un grand classique de modélisme), qui a l'avantage d'avoir des pièces plastiques facile à démonter et à modifier.
Décorticage
Avant de pouvoir faire la modification, il faut ouvrir la bête, gentiment et avec délicatesse, pas comme une grosse brute
Un servomoteur s'ouvre en retirant les quatre vis à l'arrière du capot et la vis à l'avant qui maintient le bras du servomoteur.
Une fois les vis retirées, toutes les parties du servomoteur doivent se détacher sans forcer.
Ne perdez pas les pièces, en particulier les engrenages et faites bien attention à leur ordre d'assemblage ! Si vous réassemblez les engrenages dans le mauvais ordre, ça ne marchera plus.
N.B. Plus le servomoteur est petit, plus le démontage (et le remontage) est compliqué. Tous les servomoteurs ne sont pas de bon candidat pour la modification. Les servomoteurs "9 grammes" par exemple sont très compliqués à modifier, du fait de leur très petite taille.
Comment ça marche ?
Maintenant que le servomoteur est en morceaux, il est possible de voir un peu plus en détail comment cela fonctionne en temps normal.
Normalement, quand le moteur du servomoteur tourne, les engrenages diminuent la vitesse de rotation du moteur et décuplent le couple (la force) du moteur. Les engrenages entrainent ensuite le bras du servomoteur qui est relié à un potentiomètre qui permet à l'électronique du servomoteur de garder une position précise.
Ce retour d'information (électronique -> moteur -> engrenages -> bras -> potentiomètre -> électronique) permet de faire un asservissement de la position du bras du servomoteur en fonction d'une consigne. C'est de cette façon qu'un servomoteur conserve toujours l'angle qu'on lui demande de tenir, même quand quelque chose vient forcer sur le bras du servomoteur.
Malheureusement, un potentiomètre ne peut pas tourner à 360°. C'est pourquoi les fabricants de servomoteurs ajoutent des butées sur le bras du servomoteur pour empêcher celui-ci de trop tourner et d'endommager le potentiomètre.
Pour transformer un servomoteur classique en servomoteur à rotation continue, il suffit de faire deux choses : enlever les butées du bras et dissocier le bras du potentiomètre.
En supprimant l'asservissement, le servomoteur redevient un moteur à courant continu classique, mais "tout-en-un". Le moteur, l'électronique de contrôle, la mécanique, les fixations, tout est prêt à l'emploi.
Supprimer les butées empêchant la libre rotation du servomoteur
La première étape de la modification consiste à supprimer avec une pince coupante (et idéalement un cutter) les butées qui empêchent le servomoteur de tourner à 360°.
Deux coups de pince coupante, une petite finition avec un cutter (attention aux doigts) et c'est fini
Guillotiner le potentiomètre
PS J'aurai bien fait une blague en criant "Révolution !", mais je ne suis pas sûr que tout le monde aurait compris le double sens (de rotation) de ladite blague
La deuxième étape de la modification consiste à couper la tête du potentiomètre, juste au-dessus de la base du méplat.
Il ne faut pas couper l'intégralité de l'axe du potentiomètre, il faut juste conserver la partie ronde, sans méplat.
Ajustement et collage
Une fois le potentiomètre raccourci, il faut le régler pour que le servomoteur ne tourne pas quand on lui demande de rester à 90° (la mi-course d'un servomoteur normal).
Il existe plusieurs méthodes pour trouver le point milieu du potentiomètre.
-
La plus simple est de marquer avec un crayon un trait sur l'axe du potentiomètre puis de le faire tourner pour voir les limites et déterminer la mi-course du potentiomètre.
-
Une autre technique consiste à utiliser un code pour déterminer de manière empirique les durées des signaux de contrôle correspondant aux limites de rotation du potentiomètre, puis de calculer la valeur médiane.
-
Ma technique est beaucoup plus simple, pas du tout scientifique et un peu bête, mais elle marche (la plupart du temps). Personnellement, je préfère la simplicité d'usage à l'ajustement parfait.
Ma technique consiste tout simplement en un code Arduino qui demande au servomoteur de rester à 90° tout le temps :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /** * Exemple de code pour un servomoteur, mets le bras du servomoteur à 90°. */ /* Inclut la lib Servo pour manipuler le servomoteur */ #include <Servo.h> /* Créer un objet Servo pour contrôler le servomoteur */ Servo monServomoteur; void setup() { // Attache le servomoteur à la broche D9 monServomoteur.attach(9); // Rotation 90° monServomoteur.write(90); } void loop() { } |
L'extrait de code ci-dessus est disponible en téléchargement sur cette page (le lien de téléchargement en .zip contient le projet Arduino prêt à l'emploi).
Une fois le code envoyé sur une carte Arduino et le servomoteur câblé sur la broche D9
, il suffit d'ajuster le potentiomètre jusqu'à ce que le moteur s'arrête de tourner. Tout simplement.
Avec cette technique, 90° correspond à l'arrêt du moteur, 0 ~ 90° à une rotation horaire (plus ou moins rapide) et 90° ~ 180° à une rotation antihoraire (plus ou moins rapide).
N.B. Avec ma technique, la plage de vitesse du servomoteur n'est pas forcément très symétrique, mais au moins, c'est simple et ça marche.
Une fois le potentiomètre correctement ajusté, il suffit de verser une pointe de colle sur le coin de l'axe du potentiomètre pour l'empêcher de se dérégler avec le temps.
Le résultat
Voilà ce que ça donne avec ce petit code de test, tiré de l'article précédent :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /** * Exemple de code pour un servomoteur, fais faire des va-et-vient à la tête du servomoteur. */ /* Inclut la lib Servo pour manipuler le servomoteur */ #include <Servo.h> /* Créer un objet Servo pour contrôler le servomoteur */ Servo monServomoteur; void setup() { // Attache le servomoteur à la broche D9 monServomoteur.attach(9); } void loop() { // Fait bouger le bras de 0° à 180° for (int position = 0; position <= 180; position++) { monServomoteur.write(position); delay(25); } // Fait bouger le bras de 180° à 10° for (int position = 180; position >= 0; position--) { monServomoteur.write(position); delay(25); } } |
Un moteur tout-en-un pour même pas 10€ en seulement 15 minutes, ça vaut le coup
PS La vitesse de rotation reste celle d'un servomoteur, n'espérez donc pas faire du 110 Km/h sur votre parquet avec un robot utilisant ce genre de servomoteur modifié
Conclusion
Ce tutoriel est désormais terminé.
Si ce tutoriel vous a plu, n'hésitez pas à le commenter sur le forum, à le diffuser sur les réseaux sociaux et à soutenir le site si cela vous fait plaisir.
Source: https://www.carnetdumaker.net/articles/bricoler-un-servomoteur-rotation-continue/
Post a Comment for "Modifier Des Servos Sm s2309s Pour Une Rotation Continue"