Libraire Servo - Quelle fréquence ?

Les cartes Arduino, les platines

Libraire Servo - Quelle fréquence ?

Message non lude unisev » Lun 7 Mai 2012 14:14

Bonjour,

Savez-vous comment connaitre la fréquence à laquelle le signal est ré-envoyé au servo ?

Cette fréquence devant être différentes pour les servo analogique (~70Hz) et numériques (~250Hz), j'aimerai au moins savoir si je ne suis pas en train de cramer mes servo analogiques. ;)

Sev
unisev
 
Messages: 15
Inscription: Mer 2 Mai 2012 10:04

Re: Libraire Servo - Quelle fréquence ?

Message non lude Lionel » Lun 21 Mai 2012 15:58

Bonjour,

d'après cette page : http://www.rchelicopterfun.com/rc-servos.html

les servo analogiques fonctionnent à 50 pulses/s (50Hz)
les servos numériques fonctionnent à 300 pulses/s (300Hz)

si on ouvre le fichier servo.h de la librairie servo,

on constate qu'il est noté (c'est un extrait) :
Code: Tout sélectionner
(...)
#define MIN_PULSE_WIDTH       544     // the shortest pulse sent to a servo 
#define MAX_PULSE_WIDTH      2400     // the longest pulse sent to a servo
#define DEFAULT_PULSE_WIDTH  1500     // default pulse width when servo is attached
#define REFRESH_INTERVAL    20000     // minumim time to refresh servos in microseconds(...)


Ou l'on constate que le refresh interval est de 20000µs soit 0,02s soit 1/50 pulses par seconde
donc, la librairie servo est bien prévue pour de l'analogique,

si on voulait la peaufiner pour du servo numérique, on pourrait tenter de remplacer cette valeur par celle calculée pour des servos numériques, c'est à dire :

1/300 pulses par secondes = 0,003333s = 3333 µs

on peut tenter

Code: Tout sélectionner
#define REFRESH_INTERVAL    3333     // minumim time to refresh servos in microseconds


Je ne possède pas de servomoteurs numériques pour tester, mais si vous voulez bien tester et me dire ce qu'il en est, je vous en serait fort gré !! 8-)

A bientôt !

Edit qques heures plus tard : J'ai besoin de réfléchir sur tout ça... je me demande si les largeurs de pulse min et max sont a modifier aussi...
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Libraire Servo - Quelle fréquence ?

Message non lude unisev » Mar 22 Mai 2012 16:44

Merci Lionel, je n'ai effectivement pas pensé à rentrer dans la librairie, ce que tu en montre a l'air très clair.
Il faudra que je regarde si je peux (et surtout comment) faire marcher simultanément un servo analogique ET un servo numérique.

Lionel a écrit:Edit qques heures plus tard : J'ai besoin de réfléchir sur tout ça... je me demande si les largeurs de pulse min et max sont a modifier aussi...


Je ne pense pas que ces valeurs doivent changer, tant que le REFRESH_INTERVAL est plus grand que MAX_PULSE_WIDTH tout est bon.

Sev
unisev
 
Messages: 15
Inscription: Mer 2 Mai 2012 10:04

Re: Libraire Servo - Quelle fréquence ?

Message non lude unisev » Mar 5 Juin 2012 09:47

Je me pose une nouvelle question sur cette librairie, quel timer utilise-t-elle ? je sais qu'elle est sensée n'en utiliser q'un seul si moins de 12 servos sont connectés, mais lequel ? car j'ai besoin den "modifier" un et je ne veux pas compromettre le fonctionnement de cette fonction.

Voila ce qu'on peut lire dans les commentaire de "Servo.h" :
Code: Tout sélectionner
Timers are seized as needed in groups of 12 servos - 24 servos use two timers, 48 servos will use four.
unisev
 
Messages: 15
Inscription: Mer 2 Mai 2012 10:04


Retourner vers Arduino

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron