J'étudie actuellement le fonctionnement des servos (arduino uno + servo) et j'ai une question sur le signal que doit avoir le servo pour en faire un angle.
Pour bien voir les vrais signaux, j'ai mis un oscilloscope sur le signal PWM et les valeurs reçue ne sont pas vraiment les valeurs lue sur le net.
Les valeurs lue sur le net sont en majorité comme celle de wikipedia (Servomoteur — Wikipédia) à savoir :
C'est un servo qui était dans un starter kit arduino et dont je ne connais pas les caractéristiques.
Elle semblent néanmoins être assez standard car en regardant la librairie Servo, je vois que les valeurs par défaut sont 544 à 2400.
Oui c'est des microsecondes
Ce n'est pas moi qui pousse le servo dans ses retranchements, ce sont les valeurs par défaut de la librairie Servo qui sont utilisées si on ne les modifie pas dans attach()
Pour déterminer les valeurs limites de mon servo, j'ai connecté un potentiomètre sur l'arduino, suivant la valeur de ce potentiomètre j'ai fait varier la largeur de l'impulsion en affichant cette valeur sur le moniteur série. J'ai noté les valeurs quand le servo commence juste à bouger et quand il s'arrête juste de bouger.
Si je varie de 1 à 2 ms, je couvre un peu plus de la moité de la course.
Bonjour,
les servos en ma possession (sg90 et mg90), bas de gamme, font un peu plus de 180°.
j'avais créé le fichier suivant qui fixe les limites à ne pas dépasser suite à des tests individuels :
Vous pouvez constater qu'elles sont assez disparates, mêmes pour un modèle donné, voire selon les jours, et qu'elles ne correspondent pas aux valeurs dans les sites évoquées. Le pragmatisme de kamil est de mise.
Le servo a t'il ses propre butées
les butées sont mécaniques. Aller au delà force la mécanique, bloque le moteur et consomme inutilement. Il convient donc de déterminer les min et max pour chaque servo, ajouter une marge de sécurité, et respecter ces valeurs
Je pense qu'il n'est pas bon de jouer proche des limites du servo, je pense qu'il sont vendu pour une utilisation standard (1ms-2ms) et qu'ils ont une marge de fonctionnement.
EDIT: D'un autre coté, Il est vrai que j'essaye de ne pas trop utiliser la librairie servo, afin de gagner en précision et en optimisation du code.
J'ai justement reçu des servo sg90 hier et commence donc mes tests aussi.
Effectivement, ça fonctionne entre 1ms et 2ms. Cependant, j'ai pas la course totale.
En allant à tâtons, j'ai réussi à avoir mon 180 à 255. Je cherche encore mon 0 mais je pense le trouver vers 550-600.
Phénomème étrange par contre: si je règle le 0 à 1100ms je viens taper à fond dans ma butée (le servo est transparent c'est utile!) et ca force pas mal. Alors que si je règle à 500, la butée touche mais c'est moins violent
En fait, chaque marque de radio commande donc aussi de servo utilise ses propres limites !
A l'origine, c'est bien 1ms, 1,5ms et 2ms , mais multiplex, par exemple, utilise des valeurs différentes. D'où la nécessité de régler le neutre lorsqu'on utilise une radio d'une marque avec les servos d'une autre.
Tout ça par dire que peut importe les valeurs min max et centre . Regarde ce que le servo choisi a besoin comme valeurs et utilise les comme constantes !