Go Down

Topic: Servo moteur PA9685 (Read 788 times) previous topic - next topic

vince3011

Bonjour,

Lorsque je fais tourner le sous programme, un servomoteur n'arrête pas  d' oscillé. J'utilse un arduino mega et une carte PCA9685 adafruit. Il est alimenté sous 6V 1A.

Code: [Select]

void Waking_up()
{
 
 //--- Controle du Premier Servo (no 1) ---
 
 Serial.println("Servo #1 à 90 degrés");
 
  // Transformation de degré (0 à 180) en pulse (SERVOMIN à SERVOMAX)
  int pulseLen = map( 70, 0, 180, SERVOMIN, SERVOMAX );
  pwm.setPWM(servo1, 0, pulseLen);
 
 
  delay(500); 
  //--- Controle du Deuxieme Servo (no 8) ---
Serial.println("Servo #8 à 30 degrés");
pulseLen = map( 120, 0, 180, SERVOMIN, SERVOMAX );
pwm.setPWM(servo8, 0, pulseLen);
 
  delay(500);

  //--- Controle du Premier Servo (no 1) ---
  Serial.println("Servo #1 à 120 degrés");
  // Transformation de degré (0 à 180) en pulse (SERVOMIN à SERVOMAX)
  pulseLen = map( 100, 0, 180, SERVOMIN, SERVOMAX );
  pwm.setPWM(servo1, 0, pulseLen);
 
  delay(500);

  //--- Controle du Deuxieme Servo (no 8) ---
  Serial.println("Servo #9 à 150 degrés");
  pulseLen = map( 70, 0, 180, SERVOMIN, SERVOMAX );
  pwm.setPWM(servo8, 0, pulseLen);
 
  delay(500);
 
  //--- Les deux servo à 0 ---
  Serial.println("Servo #1 et #9 à 90 degrés");
  pulseLen = map( 90, 0, 180, SERVOMIN, SERVOMAX );
  pwm.setPWM(servo1, 0, pulseLen);
  pwm.setPWM(servo8, 0, pulseLen);
 
delay(500);


}
 


L'intensité des deux servos n'excède pas 1A.

Pouvez vous me dire pourquoi?

Merci.

icare

Bonjour,
Qu'entends-tu par osciller ?
2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

vince3011

Bonjour,

Lorsque je demande une position par exemple 90°, le servo varie environ entre 80° et 100°.
Certaine fois, il devient instable.

En faisant tourner le sous programme sans arrêt, les deux servos ne sont pas tout à fait répétable.

Je ne sais pas pourquoi?

Go Up