Question sur la commande des servomoteurs ( exemple : sg90)

Bonjour,

Alors voila je sais que les servomoteurs sont contrôlé par le PWM, mais si on branche le fil correspondant au signal a une pin d’arduino qui n’est pas “PWM”, le servo marche et l’execution du code se passe sans probleme.
Est-ce quelqu’un pourrait m’eclairer sur ce point svp.

Merci
Steewz

C'est exact que le signal de commande des servomoteurs est un signal PWM.
Mais c'est un signal PWM avec des caractérisques particulières qu'il n'est pas possible d'obtenir avec les microcontroleurs d'architecture avr comme ceux qui équipent les cartes d'entrée de gamme arduino.
C'est pourquoi avec ces micros on ne peut pas utiliser directement la PWM.

Une solution pour les micros Atmel avr a néanmoins été trouvée qui utilise les timers du micro.
Pour plus de détails il faut ouvrir le répertoire de l'IDE et examiner le code de la bibliothèque SERVO.
La lecture de la datasheet du micro permet de connaitre les fréquences qu'il est possible d'obtenir avec un micro avr.

Bonjour,

Le signal de commande des servomoteurs s'apparente au PWM, mais un PWM avec un très faible rapport cyclique puisque généralement la période est de 20ms et l'état haut varie de environ 1ms à 2ms.
Le signal est généré par soft sur interruption timer, donc n'importe quelle pin peut être utilisée.