Go Down

Topic: Contrôle de trois servomoteurs (Read 344 times) previous topic - next topic

vmastro

Bonjour à tous.
Pour un projet scolaire je voudrai faire tourner trois servomoteurs, représentant les trois principales articulations d'une jambe : la hanche, le genou et le mollet. J'ai donc fait le code et les branchements. Lorsqu'un servomoteur est branché, il marche parfaitement, mais dès que j'en branche un deuxième, les deux servomoteurs commencent à faire n'importe quoi : on dirait qu'ils se remettent en position initiale à chaque fois. Ci-dessous, je vous mets mon code, puisque je pense que c'est de là que vient le problème (les servomoteurs ont été testés individuellement et fonctionnent, et la carte Arduino Uno aussi) :

Code: [Select]

#include <Servo.h>
Servo TPE_un;
Servo TPE_deux;
Servo TPE_trois;
int pos_un = 90;
int pos_deux = 90;
int pos_trois = 90;

void setup()
{
  TPE_un.attach(9);
  TPE_un.write(pos_un);
  for(pos_un = 50; pos_un <= 100; pos_un++)
  {
    TPE_un.write(pos_un);
    delay(10);
  }

  TPE_deux.attach(10);
  TPE_deux.write(pos_deux);
  for(pos_deux = 0; pos_deux <= 60; pos_deux++)
  {
    TPE_deux.write(pos_deux);
    delay(10);
  }

  TPE_trois.attach(11);
  TPE_trois.write(pos_trois);
  for(pos_trois = 0; pos_trois <= 90; pos_trois++)
  {
    TPE_trois.write(pos_trois);
    delay(10);
  }
}

void loop()
{
  int pos = 180;
  for(pos = 180; pos >= 0; pos--)
  {
  pos_un = pos/(180/100);
  pos_deux = pos/3;
  pos_trois = pos/2;
  TPE_un.write(pos_un);
  TPE_deux.write(pos_deux);
  TPE_trois.write(pos_trois);
  delay(10);
  }
 
  pos = 0;
  for(pos = 0; pos <= 180; pos++)
  {
  pos_un = pos/(180/100);
  pos_deux = pos/3;
  pos_trois = pos/2;
  TPE_un.write(pos_un);
  TPE_deux.write(pos_deux);
  TPE_trois.write(pos_trois);
  delay(10);
  }
}

Jean-François

C'est l'alimentation qui n'est pas adéquate.

Il faut alimenter les servos séparément de l'arduino, tout en mettant les masse en commun avec ce dernier.
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

vmastro

J'ai justement une alimentation 5V-5A à disposition.
Cela fera-t-il l'affaire ? Et quel serait les branchages à effectuer ?

leprosylv

Tu sort les fils rouge de tes prises Futaba, tu branche normalement tes servos, tu branche tout tes fils rouge au + de ton alim, et le moins a GND de la carte arduino

skywodd

Bonjour,


Tu sort les fils rouge de tes prises Futaba, tu branche normalement tes servos, tu branche tout tes fils rouge au + de ton alim, et le moins a GND de la carte arduino

Ne pas oublier de brancher le GND de l'alimentation au GND de l'arduino ;)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Go Up