Aller au contenu


Photo
- - - - -

Probleme pour neutre des servo


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

#1 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 08 mars 2013 - 08:34

Bonjour

Quand je veux trouver le neutre de mes servo avec ce code le logiciel arduino me mes plein d'erreur or c'est le code du tuto roby.

#include 

Servo servo;

void setup()
{
servo.attach(10); // On attache le servomoteur à la patte 10 de l'arduino
Serial.begin(9600); // On va envoyer des informations à l'ordinateur grâce à ce port
}

void loop()
{
int i = 0;
while(i <= 180)
{
servo.write(i); //On fait avancer le servomoteur de 5 en 5, de 0 jusqu'à 180 
Serial.println(i); //On affiche la valeur en cours de l'angle 
delay(1000); // On attend une seconde pour avoir le temps de lire la valeur qui nous interesse

i = i+5; 
}
while(i >= 180)
{
servo.write(i); //on fait reculer ensuite le servomoteur
Serial.println(i);
delay(1000);
i = i-5; 
}

}

Mister Uno

#2 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 08 mars 2013 - 08:47

Alors, soyons précis :
  • Si tu as "plein d'erreurs", lis-les, elles sont souvent explicites et t'indiquent le problème.
  • Ton code présente une erreur syntaxique.
  • Je parie que tu as des erreurs "servo non déclaré". À ton avis, quelle est la cause de ça ?

R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#3 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 08 mars 2013 - 08:47

Problème de code résolu sauf que le servo ne s'arrêter pas pourquoi?

Mister Uno

#4 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 08 mars 2013 - 08:47

Alors, soyons précis :

  • Si tu as "plein d'erreurs", lis-les, elles sont souvent explicites et t'indiquent le problème.
  • Ton code présente une erreur syntaxique.
  • Je parie que tu as des erreurs "servo non déclaré". À ton avis, quelle est la cause de ça ?


Je ne l'avais pas déclaré.

#5 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 08 mars 2013 - 08:49

Et pourtant ...

l2 : Servo servo;

R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#6 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 08 mars 2013 - 08:51

Mais pourquoi mon servo ne s'arrête pas pour avoir le neutre?

Mister Uno

#7 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 08 mars 2013 - 08:57

Mais pourquoi mon servo ne s'arrête pas pour avoir le neutre?

Mister Uno


Ca doit être un coup des chinois. Ou du Vatican. Mais sans plus d'information, je ne peux que faire des hypothèses ou deviner.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#8 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 08 mars 2013 - 09:00

Et bien avec mon code le servo doit s'arrêter et j'ai ainsi la valeur du neutre seulement quand je lance le programme le servo tourne mais il ne s'arrete pas au neutre comme prévu je l'ai mis en rotation continu.

Mister Uno

#9 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 08 mars 2013 - 09:03

Et bien avec mon code le servo doit s'arrêter et j'ai ainsi la valeur du neutre seulement quand je lance le programme le servo tourne mais il ne s'arrete pas au neutre comme prévu je l'ai mis en rotation continu.

Mister Uno


Cherche la réponse à ces questions, petit scarabée (sur le forum, par exemple) :
  • Comment fonctionne un servo-moteur normal ?
  • Quelle est la différence entre un servo-moteur normal et un servo-moteur modifié pour tourner en continu ?
  • Quelles valeurs ton code teste-t-il ?

Si tu trouves les réponses, tu devrais comprendre, ou en tout cas avoir une idée de ce qui ne va pas. Mais jusque là, je n'ai pas l'impression que tu aies beaucoup fait l'effort de chercher.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#10 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 08 mars 2013 - 09:13

Ok je vais chercher mais pour l'instant en testant des codes voilà que le port de sorti n'est plus trouver.

Mister Uno

#11 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 08 mars 2013 - 10:04

Je viens que j'ai couper le potentiomètre pour que le servomoteur soit en rotation continu or dans mon code je lui demande d'allez de 5° en 5° or comme il ne détecte pas les valeurs des angles le code ne correspond pas. Mon erreur est elle là?

Mister Uno

#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é 08 mars 2013 - 11:18

Je viens que j'ai couper le potentiomètre pour que le servomoteur soit en rotation continu or dans mon code je lui demande d'allez de 5° en 5° or comme il ne détecte pas les valeurs des angles le code ne correspond pas. Mon erreur est elle là?

Mister Uno

Oui car ton potentiomètre n'intervient plus... ton servo modifier n'est enfaite qu'un moteur avec son interface de contrôle intégrer...
Cdt geek maxou

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#13 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 09 mars 2013 - 03:02

Je viens que j'ai couper le potentiomètre pour que le servomoteur soit en rotation continu or dans mon code je lui demande d'allez de 5° en 5° or comme il ne détecte pas les valeurs des angles le code ne correspond pas. Mon erreur est elle là?

Mister Uno


Oui car ton potentiomètre n'intervient plus... ton servo modifier n'est enfaite qu'un moteur avec son interface de contrôle intégrer...
Cdt geek maxou


Le potentiomètre n'intervient aucunement dans le code qui est présenté en OP. Ca n'est probablement pas la source du problème. Ce que fait le potentiomètre, c'est asservir l'angle du moteur, c'est-à-dire vérifier que la commande émise est bien exécutée et respectée par le système. Mais tu peux très bien donner une commande sans vérifier que le système l'exécute. Le servo bougera tout autant, c'est juste qu'on ne pourra pas être sûr que son déplacement soit bien celui que l'on voulait.

À mon avis, le problème que tu as vient de la manière dont est faite la commande. Bien sûr, c'est juste une idée, vu que je ne connais que le code de ton cas.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#14 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 09 mars 2013 - 10:11

Bonjour j'ai pas changer le code de hier mais ce matin le servo s'arrête bien a un endroit mais je c'est pas ou lire cet valeur qui est son neytre, normalement.

Mister Uno

#15 ChristianR

ChristianR

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Male
  • Location:Isère (38)
  • Interests:Arduino, programmation, électronique...

Posté 09 mars 2013 - 06:41

Il n'y a pas de retour de position du servo, simplement une consigne en entrée.

Dans ton code il y a servo.write(i);
C'est toi qui fait varier i pour que ça tourne sur l'angle i.
Avec i=0 le servo est au zéro.
servo.write(0);
Christian

#16 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 09 mars 2013 - 07:55

Merci pour vos réponse j'ai pu trouver les neutre grace a une autre technique qu'un membre m'a expliquer.

Mister Uno

#17 Melmet

Melmet

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 519 messages
  • Gender:Male
  • Location:Saint-Sozy (46200)

Posté 09 mars 2013 - 10:26

Merci pour vos réponse j'ai pu trouver les neutre grace a une autre technique qu'un membre m'a expliquer.

Mister Uno


ben justement, partage :)

Ca peut aider quelqu’un un jour :)

Ne demande jamais à un robot de faire ce que tu peux faire toi même. :nono: :laugh1:


#18 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 10 mars 2013 - 12:13

Il n'y a pas de retour de position du servo, simplement une consigne en entrée.

Dans ton code il y a servo.write(i);
C'est toi qui fait varier i pour que ça tourne sur l'angle i.
Avec i=0 le servo est au zéro.
servo.write(0);


Tu prends bien en compte qu'il a modifié son servo pour être à rotation continue là ?
Pour i = 0 il me semble qu'avec ce code fait pour controler un servo en position, les servo modifié vot être à pleine vitesse dans un sens... Puis au fur et à mesure que tu augmente i le servo diminu sa vitesse en allant toujours dans le même sens jusqu'à l'arret. En augmentant encore le servo se met à tourner dans l'autre sens de plus en plus vite avec l'augmentation de i .

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  

 

 

 


#19 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 10 mars 2013 - 12:34

Bonjour j'ai pas changer le code de hier mais ce matin le servo s'arrête bien a un endroit mais je c'est pas ou lire cet valeur qui est son neytre, normalement.

Mister Uno


Mon hypothèse était que vu que tu passes sur les angles de 5 en 5°, le neutre ne soit pas un multiple de 5, donc que tu ne passes pas dessus. Maintenant, que le neutre ait bougé entre deux utilisations, ça me semble bizarre et pas franchement pratique ...
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#20 Mister Uno

Mister Uno

    Membre occasionnel

  • Membres
  • Pip
  • 90 messages

Posté 11 mars 2013 - 02:43

En fait j'ai changer le neutre manuellement et je l'ai re-bloquer avec de la patafix. Quand sa j'ai choisi mon neutre.

Mister Uno




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

0 members, 0 guests, 0 anonymous users