Aller au contenu


Photo
- - - - -

Comportement étrange sur 2 servos


2 réponses à ce sujet

#1 nebo

nebo

    Nouveau membre

  • Membres
  • 3 messages

Posté 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 :)



#2 nebo

nebo

    Nouveau membre

  • Membres
  • 3 messages

Posté 17 décembre 2014 - 02:09

Ok je crois avoir trouvé le point faible. Mon alimentation pose problème. En effet si je branche mes servos en direct sur l'arduino je n'ai pas le problème !



#3 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 18 décembre 2014 - 02:24

Ok je crois avoir trouvé le point faible. Mon alimentation pose problème. En effet si je branche mes servos en direct sur l'arduino je n'ai pas le problème !

A y est tu as résolu ton problème du coup ?


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 




Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users