les servos RC sont en boucle fermée dans le servos mais vu du contrôleur, le servo est en boucle ouverte.
article super intéressant sur la boucle ouverte et fermé du servo
https://www.pololu.com/blog/22/rc-servo-speed-control
avec le retour du pot accessible au microcontrôleur, c'est ce qu'on appelle un servo avec feedback analogique
https://learn.adafruit.com/analog-feedback-servos
https://learn.adafruit.com/analog-feedbac…/using-feedback
une fois qu'on a le feedback, on peut détecter :
- si le servo (ou l'alimentation) est sous-dimensionné - si le servo subit des interférences EMI (la courbe de position est alors bruitée)
- si le servo atteint bien la position attendue
ou dans mon cas, si le PID est bien réglé : en visualisant les écarts ou lieu de juste essayer de les ressentir
- s'il y a une déconnexion ou un obstacle qui bloque l'actionneur
souvent on doit insérer de l'attente pour que le servo ait le temps d'atteindre la cible, là avec le feedback, on peut aller plus vite.
ici un hack de l'électronique pour passer le servo en contrôle de la vitesse
http://www.seattlerobotics.org/encoder/200009/S3003C.html
Conclusion: I hope you find this modification useful for your purposes. The modified servo has excellent full range control and very good low speed torque. The high speed torque however, is not so wonderful, but tolerable. The modified servo tends to behave more like a voltage regulator than a well-tuned servo since the speed error will now be proportional to speed and load. There are limits to what can be done to a RC servo without a major circuit redesign. This modification accomplishes its goal, though not perfectly.
Mais on ne peut pas faire un PID par dessus je pense car le servo tourne toujours à sa vitesse max. le seul choix de vitesse possible est seulement de le ralentir par rapport à sa vitesse max, ce n'est pas ce qu'on recherche car il n'y a pas d'overshoot en pratique avec le servo RC je dirai.