Aller au contenu


nebo

Inscrit(e) (le) 17 déc. 2014
Déconnecté Dernière activité déc. 17 2014 02:07
-----

Sujets que j'ai initiés

Comportement étrange sur 2 servos

17 décembre 2014 - 11:59

Bonjour à tous,

 

 

Je pilote 2 servos à rotation continue (towerpro mg995) depuis ma carte arduino mais j'ai un soucis quand je souhaite faire tourner les 2 à des vitesses différentes.

J'utilise un mega 2560 et ils sont reliés sur les sorties pwm 4 et 8, je pilote l'allumage et l'extinction depuis un raspberry qui envoit du 3v sur 2 entrées analogiques 0 et 6.

Si le 3v est présent le servo tourne sinon il s'arrête.

 

J'utilise une alimentation externe branchée sur le secteur pour alimenter les 2 servos.

J'ai relié les neutres de l'alimentation et de l'arduino ensemble.

 

 

Voici le code que j'utilise 

#include <Servo.h> // include the Servo library
#define input1 0
#define input2 6


// Create servo objects
Servo leftMotor;
Servo rightMotor;

int commandeServoLeft ;
int commandeServoRight ;
int tension ;


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600) ;
  
}



void loop() {
  

  
  commandeServoLeft = analogRead(input1) ;
  Serial.print("tension borne 0 = ") ;
  Serial.println(commandeServoLeft) ;
  if(commandeServoLeft>600 && commandeServoLeft<800)
  {
    Serial.print("let s move left motor !\n");
    leftMotor.attach(4);
     leftMotor.writeMicroseconds(1560);
  }
  else
  {
    Serial.print("let s stop left motor !\n");
    leftMotor.detach();
  }
  
  commandeServoRight = analogRead(input2) ;
  Serial.print("tension borne 6 = ") ;
  Serial.println(commandeServoRight) ;
  if(commandeServoRight>600 && commandeServoRight<800 )
  {
    Serial.print("let s move right motor !\n");
    rightMotor.attach(8);
     rightMotor.writeMicroseconds(1660);
  }
  else
  {
    Serial.print("let s stop right motor !\n");
    rightMotor.detach();
  }
  
  delay(1000) ;



}

J'ai l'impression que les moteurs ont tendance à se synchroniser ou à tourner dans le même sens.

Par exemple si j'en allume un et qu'il tourne à x si j'allume le deuxième (pour tourner à 2x) alors le premier se met à tourner 2x.

 

Je planche pour un problème éléctronique.

 

Avez-vous une idée ?

 

 

Merci de vos réponses :)


Oyé Oyé

17 décembre 2014 - 11:46

Bonjour à tous :)

 

Moi c'est nebo, et on va dire que j'ai un peu de temps en ce moment alors j'ai décidé de le mettre à profit en commençant un petit projet de robot roulant à trois roues.

J'ai pas mal de connaissances en info comme c'est mon métier, alors je pourrais peut être participer pour aider les uns ou les autres. J'ai de bonnes vieilles bases d'électrotechnique mais tout ça est quand même bien loin alors j'espère que certains pourront m'aider ou me rafraichir la mémoire quand j'en ai besoin :)

 

A bientôt sur le forum !