Aller au contenu


Photo

Problème Arduino -> Servomoteurs


  • Veuillez vous connecter pour répondre
13 réponses à ce sujet

#1 PaaBliiTo

PaaBliiTo

    Nouveau membre

  • Membres
  • 11 messages

Posté 03 février 2012 - 10:57

Bonjour à tous,

J'ai un petit problème concernant mon projet de TPE:

J'ai commencé à construire un robot sur la même base que votre tutoriel Roby, et j'ai donc fais mon chassis et raccordé l'Arduino aux Servomoteurs.
Mon problème arrive sur le fait que lorsque je code la carte avec le code proposé dans le tutoriel, l'upload se passe bien mais ensuite, les servo se mettent en, route 1 seconde pour ensuite s'arrêter définitivement, et je dois réuploader pour revoir ce mécanisme se faire, mais donc je pense que les servos ne lisent pas les infos que transmettent la carte (j'ai aussi essayé de modifier le code de la carte, mais toujours le même résultat).

J'attends donc vos renseignements si vous en avez concernant mon problème. Merci! :)

#2 seb03000

seb03000

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 192 messages
  • Gender:Male
  • Location:Loins dérrière toi.
  • Interests:La Robotique , plus l'informatique

Posté 03 février 2012 - 12:31

Bonjour PaaBliiTo.

Quel servo utilise tu , peux tu mètre une photo ???

Quel alimentation utilise tu pour ton robot ???

Et quel et l'Arduino que tu utilise ???

Peux tu mettre ton programme en page sur le forum , pour l’étudier , et ainsi trouvais ton

problème.

@Cordialement

#3 microrupteurman2

microrupteurman2

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 129 messages
  • Gender:Male
  • Location:33
  • Interests:Tout

Posté 03 février 2012 - 03:36

Salut, tu as du te trompé dans les branchement du servo, verifie.

 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/
 


#4 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 029 messages
  • Gender:Male

Posté 03 février 2012 - 04:57

Comment as tu modifier tes servos?
Tu as mis la résistance de shunt ?

#5 PaaBliiTo

PaaBliiTo

    Nouveau membre

  • Membres
  • 11 messages

Posté 03 février 2012 - 07:57

@seb03000

Voici exactement les servo que j'utilise: http://www.conrad.fr/servo_standard_modelcraft_rs_2_p_50802_52047_834134_489775_FAS
J'utilise aussi la Arduino Duemilanove et pour l'alim j'utilise 4 LR6 pour les servos et une 9V pour la carte

Voici le code utilisé (même que dans le tuto:
    #include <Servo.h>
     
    #define AVANT 1
    #define ARRIERE 0
    #define GAUCHE 2
    #define DROITE 3
     
    #define SERVOG 1
    #define SERVOD 0
     
    #define VMAX 5
     
    Servo servog;
    Servo servod;
     
    int getNeutral(int s)
    {
      if(s == SERVOG)
        return 86;
      else
        return 84;
    }
     
     
    void handleS(int s, int speed)
    {
      int tab[6] = {0,1,3,8,10,30};
      int pos = getNeutral(s);
     
      int acc;
      if (speed < 0)
        acc = - tab[abs(speed)];
      else
        acc = tab[speed];
       
      if(s == SERVOG)
          servog.write(pos += acc);
      else
          servod.write(pos -= acc);
    }
     
     
    void move(int direction)
    {
      int m1 = 0, m2 = 0;
      switch(direction)
      {
        case DROITE: m1 = 1; m2 = -1; break;
        case GAUCHE: m1 = -1; m2 = 1; break;
        case AVANT: m1 = 1; m2 = 1; break;
        case ARRIERE: m1 = -1; m2 = -1; break;
      }
      handleS(SERVOG, m1*VMAX);
      handleS(SERVOD, m2*VMAX);  
    }  
     
     
     
    void setup()
    {
      servog.attach(10);
      servod.attach(9);
      move(AVANT);
    }
     
    void loop()
    {
      delay(15);
    }


@microrupteurman2

J'ai bien vérifié et j'ai apparemment bien raccordé les bons fils au bon endroit dans ma plaque d'essai

@julkien

Je ne vois pas ce que vous voulez dire par la modification des servos, et non je n'ai mis aucune résistance.

#6 microrupteurman2

microrupteurman2

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 129 messages
  • Gender:Male
  • Location:33
  • Interests:Tout

Posté 03 février 2012 - 08:19

Il faut que tu modoifie tes servo en rotation continue. Ca etre expliquer dans les tutos.

 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/
 


#7 seb03000

seb03000

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 192 messages
  • Gender:Male
  • Location:Loins dérrière toi.
  • Interests:La Robotique , plus l'informatique

Posté 03 février 2012 - 08:29

Oui exactement microrupteurman2 a raison , c'est pour cela

que tes servos blogue comme ça , le tuto que microrupteurman2 te parle tu le trouvera ici.

#8 Jayavarman 7

Jayavarman 7

    Nouveau membre

  • Membres
  • 3 messages
  • Gender:Male
  • Location:Le Perreux sur Marne

Posté 08 février 2012 - 04:29

Bonjour,

Indépendament des modifications du hardware, il n'y aurait pas un problème dans le code ?
La fonction setup() fait bouger le/les servos au démarrage puis la fonction loop() est executée mais elle ne fait rien d'autre qu'attendre.
Est-ce que je n'ai pas tout compris ?

#9 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 029 messages
  • Gender:Male

Posté 09 février 2012 - 03:09

Bonjour,

Indépendament des modifications du hardware, il n'y aurait pas un problème dans le code ?
La fonction setup() fait bouger le/les servos au démarrage puis la fonction loop() est executée mais elle ne fait rien d'autre qu'attendre.
Est-ce que je n'ai pas tout compris ?



ben oui c'est noramle il n'y pas de fonction appelé dans "void Loop" (mis apart ce delais)
il aurais fallut mettre :


void loop ()
{      
delay(15);
    
  move(AVANT);

}


enfin j'ai pas essayer mais faut pas hesiter a me reprendre si je me trompe !

#10 Valent81320

Valent81320

    Nouveau membre

  • Membres
  • 60 messages
  • Gender:Male

Posté 14 février 2012 - 02:56

Moi aussi j'ai réalisé un robot de type roby pour mon TPE l'an dernier. On a eu le même problème tous simplement parce que les servomoteurs n'étaient pas à rotation continu. Essaie d'acheter 2 servomoteur à rotation continu au pire, cela t'évitera de modifier les servomoteurs normaux.

Tu peux en trouver sur gotronic ou robotshop ...

Valentin

Les principes gouvernent les gens honnêtes, les lois gouvernent les gens méchants.


#11 PaaBliiTo

PaaBliiTo

    Nouveau membre

  • Membres
  • 11 messages

Posté 10 mars 2012 - 04:27

Mais je trouve ça bête de devoir modifier les servomoteurs quand même... Mais si c'est le seul moyen, alors je verrais ce que je peux faire..

#12 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62
  • Interests:Monde UNIX, Développement Web, Jeux Vidéo & tout se qui touche à l'électronique

Posté 10 mars 2012 - 04:35

salut :)
tu sera obliger de les modifier je suis moi meme en train de faire le roby sauf que moi je n'arrive pas a installer ma carte mais j'ai deja modifier mes servo c'est vraimentfacile grace au tuto du forum ;)

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#13 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 10 mars 2012 - 05:16

Mais je trouve ça bête de devoir modifier les servomoteurs quand même... Mais si c'est le seul moyen, alors je verrais ce que je peux faire..


Soit tu rachètes des servo en faisant attention qu'ils soient déjà débridés, soit tu débrides les tiens, car dans les servos que tu as, il y a une buté qui empêche celui-ci de tourner à 360.

Mon site internet : http://ferdinandpiette.com/


#14 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62
  • Interests:Monde UNIX, Développement Web, Jeux Vidéo & tout se qui touche à l'électronique

Posté 10 mars 2012 - 10:54

Soit tu rachètes des servo en faisant attention qu'ils soient déjà débridés, soit tu débrides les tiens, car dans les servos que tu as, il y a une buté qui empêche celui-ci de tourner à 360.

désoler de te contredir mais sur un servo tu a 2 buter une sur un des engrenage et l'autre dans le potentiometre j'ai eu le tour avec mes servo je les avais refermer mais il faisait toujours 180° ;)

A.R.M.I

Autonomous Robotics Mechanics Intelligent





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

0 members, 0 guests, 0 anonymous users