Test du servomoteur Feetech STS3215 : jeu, répétabilité et couple
En septembre, nous sommes passés à une étape de test plus détaillée des servomoteurs avant de commencer la programmation du contrôleur. Nous avons commencé à tester le Feetech STS3215 C018 (rapport de réduction 1:345, 12 V, couple de blocage de 30 kg·cm), un servomoteur populaire largement utilisé dans les projets robotiques open source tels que SO-ARM100 et le Robonine parallel gripper. Cet article portera principalement sur ses performances. Pour commencer, je vais passer en revue les données fournies par le fabricant. Ces valeurs serviront de référence pour nos tests de vérification. Certaines images montrent le Waveshare STS3215, qui est techniquement très similaire — jusqu’à utiliser la même version de firmware.
Codeur magnétique 12 bits
Le Feetech STS3215 est équipé d’un codeur magnétique 12 bits offrant 4096 pas par rotation de 360° (0,088° par pas). Cette conception magnétorésistive élimine l’usure par frottement par rapport aux codeurs à potentiomètre dotés de contacts glissants, qui se dégradent avec le temps. L’absence de surfaces de contact mobiles garantit une commande en boucle fermée fiable et des performances constantes à long terme sans dégradation du codeur.
Feetech STS-3215 : face arrière et engrenages
Le servo est doté d’un réducteur métallique à plusieurs étages conçu pour fournir un couple de sortie élevé dans un format abordable. Selon the datasheet, la spécification du réducteur indique un jeu ≤ 0,5°, ce qui est typique pour cette classe de servo. Des engrenages métalliques sont utilisés à la place du plastique pour résister aux charges prolongées et aux cycles de mouvement répétitifs. Le codeur est intégré avant l’étage de réduction afin de fournir un retour direct du moteur. Le réducteur utilise un rapport de 1:345, permettant au servo de convertir la vitesse du moteur en un couple de sortie élevé adapté aux applications robotiques. Le rapport de réduction élevé et la conception du réducteur métallique rendent ce servo inadapté aux applications réversibles (back-driven), car des forces externes peuvent facilement entraîner les engrenages en sens inverse, provoquant un mouvement incontrôlé et d’éventuels dommages au moteur.
Le graphique de l’enveloppe de performance affiche official datasheet les valeurs de puissance de sortie, de vitesse de rotation, de rendement et de courant absorbé pour des charges de couple allant de 0 à 30 kg·cm. La vitesse diminue de façon linéaire à mesure que la charge augmente, tandis que la puissance de sortie atteint un pic autour de 15 kg·cm avant de décliner sous des charges plus lourdes. Le rendement atteint son maximum (environ 26 %) dans la plage de 6 à 9 kg·cm, ce qui est typique des moteurs de type servo abordables. La consommation de courant augmente linéairement avec la demande de couple sur toute la plage de fonctionnement. Ces spécifications constructeur montrent que, malgré des valeurs de rendement modestes inhérentes aux conceptions à faible coût, le servo offre une gestion de la puissance fiable adaptée aux applications robotiques et d’automatisation à budget maîtrisé.
Test de performance de vitesse et de précision
Le servo Feetech STS-3215 a été testé à 100 % et 50 % de sa vitesse nominale. Les mesures ont révélé une vitesse maximale d’environ 46 RPM, avec une précision de ±2 % et des fluctuations d’environ 7 %. Bien que de légères oscillations aient été observées aux vitesses plus basses, le mouvement global est resté stable et conforme aux spécifications du fabricant.
Ces résultats confirment que la vitesse nominale à vide du servo de 0,22 s/60° concorde bien avec les valeurs de la fiche technique, offrant une vitesse et une réactivité adéquates pour les applications de robotique et de commande de mouvement.
Réglage de vitesse à 100 %. Moyenne mesurée de 45,6 RPM avec un écart typique de 0,48 RPM.
Réglage de vitesse à 50 %. Moyenne mesurée de 21,9 RPM avec un écart typique de 0,34 RPM.
Réglage de vitesse à 5 %. Moyenne mesurée de 2,3 RPM avec une variation observée d’environ 0,25 RPM.
Mesure du jeu
L’une des caractéristiques clés qui nous a poussés à reconsidérer la conception de notre manipulateur est le jeu. À l’aide d’un comparateur à cadran, nous avons d’abord mesuré un déplacement linéaire de 1,3 mm à l’extrémité d’un bras de levier de 86 mm. À partir de là, nous avons calculé un jeu angulaire de 0,0151 radian (≈ 0,87°) — nettement supérieur à la limite de 0,5° indiquée dans la fiche technique. Cet écart est assez important, car même de petites erreurs angulaires au niveau de l’articulation se traduisent par des décalages de l’ordre du millimètre à l’extrémité du bras.
Le banc d’essai utilisait un élastique appliquant une tension d’environ 30 g pour assurer une charge constante, tandis qu’un comparateur à cadran mesurait le déplacement résultant. Cette méthode fournissait des relevés stables sans force excessive ni dépendance au couple.
De plus, une partie de ce jeu semble d’origine logicielle : il existe une zone morte intégrée de 10 incréments de codeur, ce qui signifie que le moteur ignore les petites commandes dans cette plage. Le jeu se manifeste également par des tremblements ou des oscillations lorsque le bras est déployé — le servo peine à revenir précisément à sa position cible, ce qui entraîne une vibration visible.
Test de répétabilité
Un autre paramètre important est la répétabilité. Le test de répétabilité du servo Feetech STS3215 a été réalisé à l’aide d’un levier vertical de 10 cm, avec des incréments de 20 pas, trois cycles dans chaque direction et trois itérations complètes. Les résultats indiquent des performances stables dans des conditions contrôlées.
Paramètres et résultats du test :
- Configuration du levier : bras vertical de 10 cm
- Méthode de test : incréments de 20 pas ; 3 cycles dans chaque direction ; 3 itérations complètes
- Écart mesuré à l’extrémité : ±0.3 mm
- Répétabilité angulaire équivalente : ≈ 0.17° (≈10 arcmin)
- Résolution du codeur : 12-bit = 0.088°
- Équivalent linéaire d’un incrément de codeur (à un rayon de 10 cm) : ≈ 0.153 mm
- Écart observé : ≈ 2 encoder counts
- Notes: le palpeur à ressort compense le jeu mécanique ; le test pourrait être affiné ou répété sous charge pour une meilleure précision
L’écart absolu moyen de position mesuré est d’environ 2 pas de codeur, soit 0,17 degré
Cela indique que, bien que la répétabilité mesurée se situe dans une plage de quelques pas de codeur, le servo STS3215 conserve un comportement de positionnement constant, et un affinement supplémentaire pourrait valider ses performances dans des conditions de charge en fonctionnement.
Test de couple
Nous avons également réalisé un test de couple dynamique du servo Feetech STS-3215 avec des charges variables afin d’évaluer ses performances réelles en mouvement.
Configuration du test :
- bras de levier de 10 cm
- Charges de test : 1 kg, 1,5 kg et 2 kg
Résultats du test :
- À une charge de 1,5 kg : le servo a conservé un fonctionnement stable avec une hausse de température d’environ 15 °C après 10 minutes de mouvement continu
- À une charge de 2 kg : le servo est passé en protection contre la surcharge après plusieurs cycles de fonctionnement, limitant temporairement le couple de sortie pour éviter les dommages
- Les performances sont restées constantes jusqu’à environ 15 kg·cm, correspondant étroitement au couple nominal indiqué dans la fiche technique
Le test de couple dynamique avec une charge de 10 kg·cm montre que la consommation de courant reste nettement inférieure à 1 A, tandis que l’estimation interne de la charge dépasse légèrement 50 %
Lors du test dynamique avec une charge de 10 kg·cm, l’écart absolu moyen de position mesuré était de 22,5 pas de codeur, ce qui correspond à environ 2 degrés
Avec une charge de 15 kg·cm lors du test dynamique, l’estimation interne de la charge indique une faible marge restante, tandis que le courant absorbé reste dans la plage attendue
Avec une charge de 15 kg·cm lors du test dynamique, l’écart absolu moyen de position mesuré est de 30 pas de codeur, soit environ 2,6 degrés.
Ce test démontre la capacité de couple dynamique du servo ainsi que l’efficacité de ses mécanismes de protection thermique et contre la surcharge. Un fonctionnement continu au couple nominal maximal peut accélérer l’usure mécanique sur de longues périodes.
Ensuite, nous avons examiné le couple de blocage — le couple maximal que le moteur peut maintenir en position statique sans mouvement.
Configuration du test :
- bras de levier de 10 cm placé à un angle de 45°
- Charge statique : environ 3,5 kg (≈ 35 kg·cm de couple)
Résultats du test : Sous une charge lourde prolongée, le servo passait occasionnellement en mode de protection contre la surcharge, réduisant le couple de sortie à environ 20 % de la capacité nominale. Le délai d’expiration de la protection comme la limite de couple sécurisée sont configurables via les registres du contrôleur, ce qui permet aux utilisateurs d’ajuster finement le comportement de protection selon les applications spécifiques. Le couple de blocage mesuré a légèrement dépassé la valeur de 30 kg·cm de la fiche technique, confirmant que le STS-3215 fonctionne au-delà de sa spécification nominale lorsqu’il est correctement configuré.
Température sous charge constante
Test 1: Vérification de la surchauffe lors du maintien d’une charge statique.
Test de surchauffe sous charge statique. Feetech STS3215
Le bras muni d’un haltère a été placé latéralement, maintenant un poids de 1 kg sur un bras de levier de 15 cm, ce qui donne un couple de 15 kg·cm. En 10 minutes, la température est montée à 48 °C et est restée stable pendant une heure sans augmenter davantage.
Test 2 : Oscillation dans une plage de ±90 degrés. Mesure de température
Oscillation dans une plage de ±90 degrés. Test de température. Feetech STS3215
En partant de 48 °C, la température a atteint 60 °C après 50 minutes. Pendant les 20 minutes suivantes, la température n’a pas augmenté. La vitesse d’oscillation a ensuite été réduite pour accélérer le chauffage (voir la note ci-dessous). Il a fallu 40 minutes supplémentaires pour atteindre 71 °C, point auquel le moteur a surchauffé.
- Seuil de température critique : à 71 °C, le moteur présente des dysfonctionnements, comme observé lors des expériences menées hier et aujourd’hui (deux cas). Il ne semble pas y avoir de protection thermique intégrée, un arrêt manuel sera donc nécessaire lorsque cette température est atteinte.
- Effet de l’accélération sur le chauffage : réduire l’accélération augmentait la vitesse de montée en température. Au départ, avec une accélération de 5, la température a atteint 60 °C. Abaisser l’accélération à 2 a entraîné une surchauffe après un temps supplémentaire. Demain, d’autres tests mesureront le temps nécessaire à la surchauffe avec une accélération de 5, car une accélération de 2 est trop lente pour notre application.
Expérience de compensation du jeu
Une expérience supplémentaire, menée par notre ingénieur logiciel Boris, portait sur la compensation du jeu à l’aide d’un montage à deux servos avec pré-tension. Dans ce test, deux servos Feetech STS-3215 ont été montés avec des bras de levier en PETG imprimés en 3D, reliés par une corde tendue. Chaque servo appliquait une faible précharge, supprimant ainsi efficacement le jeu mécanique de la liaison.
Le montage est simple mais très efficace pour démontrer comment la pré-tension peut éliminer le jeu en pratique. Lorsque les deux servos appliquaient une tension opposée, les bras restaient parfaitement immobiles, confirmant que le jeu mécanique était entièrement compensé. Cette méthode améliore considérablement la stabilité et la précision de positionnement, ce qui la rend particulièrement utile pour les articulations robotiques, les systèmes de commande de mouvement et les projets d’automatisation DIY.
Points clés :
- Deux servos STS-3215 avec des bras de levier en PETG
- Liaison par corde sous pré-tension contrôlée
- Démontre l’élimination du jeu mécanique par compensation de la précharge
Synthèse des spécifications et des résultats de test
| Paramètre / méthode de test / condition | Résultat mesuré | Spécification / valeur de la fiche technique | Remarques / commentaires |
|---|---|---|---|
| Tension de fonctionnement | 12 V | 12 V | Plage de fonctionnement : 4–14 V |
| Couple statique (de blocage) Bras de levier de 10 cm à un angle de 45° sur la balance | ~3.5 kg (35 kg·cm) | 30 kg·cm | Légèrement supérieur au nominal ; passe en protection sous charge prolongée |
| Couple dynamique Levage de 1,5 kg sur un levier de 10 cm | Supporte la charge avec une hausse de +15 °C | — | La température a augmenté de +15 °C après 10 min ; surcharge déclenchée à une charge de 2 kg |
| Vitesse à vide (RPM) Mesurée à 100 % et 50 % de la vitesse | Max. ~46 RPM ; précision de ±2 % ; fluctuation de ~7 % | 45 RPM (0.22 s/60°) | Réglages standard ; fonctionnement légèrement irrégulier mais acceptable |
| Résolution du codeur Lecture de registre par UART | 4096 pas par tour (12 bits) | codeur magnétique 12 bits (4096) | 0,088° par pas |
| Jeu du réducteur (jeu libre) Mesure par rotation manuelle libre (méthode du comparateur à cadran) | ~ 0,87° | ≤ 0.5° | — |
| Erreur de position sous charge Charge de 1,5 kg, levier de 10 cm, angle de 45° | 20–30 valeurs de codeur (1,8–2,6°) | — | L’erreur augmente fortement sous charge |
| Répétabilité (comparateur à cadran) Levier vertical de 10 cm ; incréments de 20 pas ; 3 cycles dans chaque direction ; 3 itérations | Écart de ±0,3 mm aux points de mesure | — | Le palpeur à ressort compense le jeu mécanique ; le test pourrait être affiné ou réalisé sous charge |
| Hausse de température (test sous charge statique) — charge de 1 kg sur un bras de levier de 15 cm (≈15 kg·cm de couple) ; bras placé latéralement | La température est montée à 48 °C après 10 min et est restée stable pendant >1 h sans nouvelle hausse | Plage de température de fonctionnement : –10 °C – 60 °C | Comportement thermique stable sous charge statique ; bien dans les limites nominales de fonctionnement |
| Hausse de température (test d’oscillation) — plage de ±90° ; mouvement continu ; température initiale de 48 °C | A atteint 60 °C après 50 min, s’est stabilisée pendant 20 min, puis est montée à 71 °C après ~110 min, entraînant une surchauffe | Seuil de protection contre la surchauffe : 70 °C | Aucun arrêt thermique actif observé — une coupure manuelle est nécessaire vers 70 °C. Réduire l’accélération augmentait la vitesse de chauffe (accel = 2 → surchauffe ; accel = 5 → stable ~60 °C). |
| Interface de communication | UART TTL, semi-duplex | Fonctionnel | 38400 bps – 1 Mbps (1 Mbps par défaut) ; connexion multi-servos chaînable |
| Commande en boucle fermée | Le retour de position et de vitesse fonctionne de façon fiable | — | Prend en charge le maintien de position et la commande de vitesse |
| Télémétrie / retour | Lecture par UART : position, vitesse, courant, tension, charge, température | — | Télémétrie complète disponible |
| Systèmes de protection | Surcharge, surintensité, surtension, sous-tension, surchauffe | Fonctionnel | Délai d’expiration et limites de sécurité configurables via les registres |
| Zone morte du firmware | Commande < 10 pas de codeur | Aucun mouvement observé | Bande morte intégrée de 10 incréments |
| Prix / accessoires | — | ~15 $ (servo) + ~5 $ (adaptateur UART) | Excellent rapport qualité-prix |
Conclusion
Le Feetech STS3215 démontre de solides performances de couple et une communication UART stable, adaptées aux applications de robotique et d’automatisation de milieu de gamme. Cependant, le jeu mécanique et une zone morte définie par le firmware (10 incréments de codeur) réduisent la précision de positionnement pour les tâches de mouvement fin.
Principaux avantages
- Compact et léger
- Commande en boucle fermée intégrée (position & vitesse)
- Télémétrie et fonctions de protection intégrées
- Réglage facile des paramètres et protocole UART
- Prend en charge le chaînage en série de plusieurs servos
- Précision de codeur adéquate (4096 pas)
- Pilotable directement via un PC ou un microcontrôleur
Principales limites
- Jeu du réducteur supérieur à la valeur spécifiée
- Firmware non actualisable par l’utilisateur
- Nécessite des tests de durée sous charge pour évaluer l’usure à long terme
- Bruit mécanique audible
Connectez-vous pour laisser un commentaire.