Pages: [1]   Go Down
Author Topic: Commander un Servo en PWM  (Read 885 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: December 18, 2009, 01:36:32 pm by Skanner » Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ?
« Last Edit: December 20, 2009, 09:02:40 am by Skanner » Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Un signal PPM ?
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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);


?
Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ?
« Last Edit: December 21, 2009, 01:23:52 am by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Pages: [1]   Go Up
Jump to: