Commander un Servo en PWM

Bonjour,
J’ai une Arduino Mega, et je souhaite controler un servo moteur HS-81 de chez Hitec.
http://www.hitecrcd.com/product_file/file/37/hs81.pdf
Il est branché sur la sortie 13 de la PWM, j’ai fait quelques essais en utilisant la commande analogWrite, mais j’ai un comportement bizarre, il se deplace de quelques degrès, et s’arrête.
Or j’aimerai pouvoir le contrôler, lui faire parcourir toute sa course, ou bien une partie, et ceux dans les 2 sens.
Avez vous une idée ?
Merci
Bonne soirée.
Skanner.

Déjà, je ne savais pas qu'il y avait un PWM sur la sortie 13 de l'Arduino. Ensuite, je ne savais pas qu'on pouvait commander un servo avec un PWM.

A mon avis, il faudrait revoir le fonctionnement d'un servo et les moyens de le commander avec une Arduino.

Va voir la datasheet de l'Arduino Mega, je t'assure que la sortie 13 est pour la PWM, comme les 12 autres qui la precede d'ailleurs, à ne pas confondre avec les I/O digital et les entrées analogiques. Enfin toi comment procède tu pour commander tes servos ?

Pas en PWM mais avec un signal particulier : un niveau haut pendant 0,5 à 1,5 ms selon l'angle souhaité puis niveau bas pendant 20 ms environ.

Il y a une library "servo" pour le faire automatiquement.

un niveau haut pendant 0,5 à 1,5 ms selon l'angle souhaité puis niveau bas pendant 20 ms environ.

Un signal PPM ?

Et comment voulez vous generer un ce genre de signal ? en utilisant une sortie digital ? avec ce genre de code :

digitalWrite(20, HIGH); delayMicroseconds(500); digitalWrite(20, LOW); delay(20);

?

Les library "servo" le font et ça rend le codage plus facile.

Les librairies permettent de faire un "refresh" (pas toutes il me semble), est ce possible de changer le temps de rafraichissement ou ce même temps est-il induit par le matériel récepteur (servo) ?

Le rafraichissement du signal PPM est d'environ 50 Hz est ce possible de l'augmenter par exemple à 100 Hz ?