Aller au contenu


Photo

Creation d'un hexapode


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

#21 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 25 juin 2012 - 09:51

TOut a fait.......

#22 SRWieZ

SRWieZ

    Membre

  • Membres
  • PipPip
  • 231 messages
  • Gender:Male
  • Location:Evreux, Haute-Normandie, France

Posté 26 juin 2012 - 12:06

Très bon projet. Je suit de près. Si tu connais l'amis hexapode-arduino tu devrais éviter pleins d'erreurs de débutant déjà (dommage qu'il est inactif en ce moment).

#23 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 26 juin 2012 - 03:36

Ca avance gentillement.
Voici des photos du debut de la strucutre (plexi, mais ce n'etait pas le nom acheter dans un magasin
de bircolage).

Puis decoupe a la scie sauteuse attention il faut une scie sauteuse ou on peut varier la vitesse sinon ca fond.
Pour les trous a la perceuse.
Et voila le resultat pour les deux premiers servos.
J'ameliorerai la fixation avec des ecrous + vis. Les servomoteurs sont mis a l'interieur pour
un probleme de bras de levier. (A voir par la suite).
Pour les prochaines photos je pense montrer les 6 moteurs fixes. (juste une photo pour montrer le résultat, apres je
m'attaquerai a la progamation de ces six servomoteurs, mais aussi je reflechirai a comment créer mon bras, y a telement de modele sur le net,
mais je prefere créer moi meme)
Le design n'est pas jolie. C'est pas ma priorité pour l'instant......

Vue isometrique de la fixation des servomoteurs
IMG_0333.JPG

vue de dessus
IMG_0334.JPG

vue de face avant
IMG_0335.JPG

#24 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 28 juin 2012 - 09:05

Une petite aide.

Ayant deja parcouru une bonne partie du forum, je n'ai pas trouvé la reponse a ma question.(Enfin si presque,
Je vais partir sur une ssc32, merci a la premiere réponse du post, mais je voulais savoir si il
y a vait d'autre solution que la ssc32 compatible arduino).

j'ai toujours comme projets de créer un hexapod. La question que je me posai en faite les deux ou trois questions:

Rappel: J'ai donc une carte arduino mega.
Mon hexapod comptera 24 servomoteurs au final voir plus par la suite.
Il est specifier dans la doc de la carte arduino qu'elle dispose de 12 ou 13 sortie PWM.

Je n'ai donc pas assez de sortie pour mes servomoteurs.


Donc:

Peut-on utiliser les sorties digital (de l'arduino) pour alimenter les servomoteurs ?

Quelle extension (shield) me conseillez vous pour pouvoir fixer un nombre suffisant de servomoteur sur une carte externe.

Merci d'avance a vous. J'espere ne pas poser une question qui a deja été posée
:Koshechka_08:

#25 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 29 juin 2012 - 08:28

J'ai trouver une video tres simple.
Elle explique comment branché, programmer une carte arduino + ssc32.
Toujours sur le meme site. Je vais me commander la carte ssc32 aujourd'hui.
Je reflechie toujours sur comment créer mes pattes de l'hexapod

http://www.hexapod-arduino.com/index.php?article21/carte-ssc-32-avec-arduino

La suite au prochaine episode, un projet long et super sympa :big_boss: :clapping:

#26 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 29 juin 2012 - 09:14

Salut,

tu aurais du mettre un titre plus explicite à ton post, je l'aurai vu plus tot.

j'avais commencé un hexapod.

le sujet est sur-documenté sur le net, à condition de pas avoir peu de l'anglais.

pour la carte rouge que tu verras sur mon post, ce n'est qu'une arduino Mega avec de la connectique en plus (rien que tu ne puisse pas refaire avec un shield maison, ou un Arduino mega I/O shield comme on en voit beaucoup).

une arduino mega: 48 servos en simultané. Evidemment pas uniquement les ports pwm, les ports entrées analogiques sont même utilisables puisqu'il s'agit avant tout de sorties digitales.

#27 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 30 juin 2012 - 10:48

salut a toi et merci pour les infos.

Si tu dis que la carte arduino peut faire fonctionner des servomoteurs simultanément c'est la le problème ou pas.
Mon hexapod aura 6 pattes de 3 servomoteurs et peu etre 4 servomoteurs par la suite.

J'ai étudier plusieurs cinématique de mouvement de pattes (je trouve que deux c'est un peu juste.
3 c'est bien et 4 c'est encore mieux.
Donc si les servomoteurs bougent simultanément, tu ne peut pas trop faire tout les mouvements que tu veux.
Pour la marche a 6 pattes. 3 pattes font les même mouvements d’où la carte ssc32.

Et j'ai déjà parcouru ton post. l’idée du châssis et bonne peu etre un peu souple. Et j'aime bien l'idee des bâtons pour les pattes.

La meilleur solution est de faire un châssis design et la même pour les pattes (avec des trous pour réduire le poids a la Commande numérique.
Mais ca demande des connaissance en dessin industriel pour ne pas faire n'importe quelle forme, mais ca demande aussi de la programmation CN.(pour moi cette partie est ok,
Il me manque juste la CN. Ça c'est pas gagné a trouver.

#28 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris

Posté 30 juin 2012 - 11:01

L'arduino méga peut faire bouger jusque 48 servos en même temps, donc la ssc32 n'est pas trés utile ^^


Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.


#29 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 30 juin 2012 - 08:16

L'arduino méga peut faire bouger jusque 48 servos en même temps, donc la ssc32 n'est pas trés utile ^^

Au pire c'est pas trop grave, j'essayerai d'abord avec l'arduino donc la sortie signal devrait etre une sortie DIGITAL?

#30 geek maxou

geek maxou

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62

Posté 30 juin 2012 - 08:44

Bonsoir,
si tu parle des servo il te faut une sortie avec marquer PWM a coté
Maxou

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#31 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 30 juin 2012 - 09:36

@geek maxou : non. relis mon post plus haut, et va voir le site officiel arduino.

#32 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 30 juin 2012 - 11:58

si si... certains servos à rotation continue semblent utiliser le PWM pour définir le sens de rotation et la vitesse.. et ça à l'air vachement plus simple.
Voici un exemple de servo fonctionnant ainsi.
un signal neutre de 1,5ms indique que le servo est à l'arret, à 1ms il recule à fond et à 2 ms il avance à fond.

#33 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 01 juillet 2012 - 09:54

Appelles ça du PWM si tu veux, il n'empèche que les libs arduino permettent de créer des signaux de commande de servo (à 50Hz, avec un état haut entre 1 et 2 ms) sur n'importe quel pin, et ça n'a (presque) rien à voir avec les PWM cablés en hard que le ATMega328 est capable de créer.

(j'ai dit presque rien à voir car pour créer ces signaux ils se basent sur les timers qui servent à faire la PWM, mais en aucun cas il est obligé d'utiliser les pin PWM ORCxn)

Si tu tiens absolument à utiliser le PWM (analogWrite), il faudrait régler le prescaler pour avoir 20 ms (ce n'est pas possible, donc il faudrait régler le TOP aussi probablement => on se retrouve avec quoi, 3 sorties PWM? dont deux avec une résolution inférieure à 8 bits...)

D'ailleurs utiliser une PWM avec 8 bits de résolution c'est pas une bonne idée: en réalité tu veux un rapport cyclique entre 5 et 10% (1 et 2 ms sur 20), ce qui fait 5% de la pleine échelle, et donc après calcul on se retrouve avec une résolution de 14° (c'est à dire on peut dire au servo d'aller à 0°, 14°, 28°... mais pas entre ces valeurs)

'fin bref les calculs ne servaient pas à grand chose mais bon :P

en résumé:

Toutes les sorties de l'arduino permettent de faire du PWM, et elles permettent toutes de contrôler des servomoteurs.
Les sorties notées PWM permettent de générer facilement (analogWrite) un signal PWM, avec le logiciel arduino. mais rien n'empêche de faire du PWM avec d'autres ports (il faut juste le faire soit-même, avec des "digitalWrite" et "delay" par exemple).

Voilà donc pourquoi on peut contrôler un servomoteur même lorsqu'on est pas sur une sortie PWM

faut que je mette cette explication en signature je crois ^^

#34 Mike118

Mike118

    Staff Robot Maker

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

Posté 01 juillet 2012 - 04:24

Appelles ça du PWM si tu veux, il n'empèche que les libs arduino permettent de créer des signaux de commande de servo (à 50Hz, avec un état haut entre 1 et 2 ms) sur n'importe quel pin, et ça n'a (presque) rien à voir avec les PWM cablés en hard que le ATMega328 est capable de créer.

(j'ai dit presque rien à voir car pour créer ces signaux ils se basent sur les timers qui servent à faire la PWM, mais en aucun cas il est obligé d'utiliser les pin PWM ORCxn)

Si tu tiens absolument à utiliser le PWM (analogWrite), il faudrait régler le prescaler pour avoir 20 ms (ce n'est pas possible, donc il faudrait régler le TOP aussi probablement => on se retrouve avec quoi, 3 sorties PWM? dont deux avec une résolution inférieure à 8 bits...)

D'ailleurs utiliser une PWM avec 8 bits de résolution c'est pas une bonne idée: en réalité tu veux un rapport cyclique entre 5 et 10% (1 et 2 ms sur 20), ce qui fait 5% de la pleine échelle, et donc après calcul on se retrouve avec une résolution de 14° (c'est à dire on peut dire au servo d'aller à 0°, 14°, 28°... mais pas entre ces valeurs)

'fin bref les calculs ne servaient pas à grand chose mais bon :P

en résumé:

Toutes les sorties de l'arduino permettent de faire du PWM, et elles permettent toutes de contrôler des servomoteurs.
Les sorties notées PWM permettent de générer facilement (analogWrite) un signal PWM, avec le logiciel arduino. mais rien n'empêche de faire du PWM avec d'autres ports (il faut juste le faire soit-même, avec des "digitalWrite" et "delay" par exemple).

Voilà donc pourquoi on peut contrôler un servomoteur même lorsqu'on est pas sur une sortie PWM

faut que je mette cette explication en signature je crois ^^


Pas forcément mais si tu as du temps et vu que tu as l'air de bien connaitre je pense que ça serait bien sympas de faire un tuto dessus! ( Perso je serais bien interessé x) )
@+ !

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  

 

 

 


#35 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 01 juillet 2012 - 08:15

Toutes les sorties de l'arduino permettent de faire du PWM, et elles permettent toutes de contrôler des servomoteurs.
Les sorties notées PWM permettent de générer facilement (analogWrite) un signal PWM, avec le logiciel arduino. mais rien n'empêche de faire du PWM avec d'autres ports (il faut juste le faire soit-même, avec des "digitalWrite" et "delay" par exemple).



Oui je suis d'aacord pourais tu stp donner un exemple
Comme par exemple si j'utilise la sortie PWM numeroté 11 sur ma carte arduino

{
   myservo.attach(11); //attache du signal pwm11
}

Se serait sympa et ca me permettrait deja de caler tous mes servomoteurs même si je peux le faire avec les sortie PWM.

Merci a tous.

#36 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 01 juillet 2012 - 10:27

bah à la place de 11 tu mets le n° que tu veux... c'est tout.

j'ai rédigé un truc, j'en ferai un tuto si c'est assez clair.
si quelqu'un peut me faire un retour sur ce qu'il en pense [édité pour pointer vers le tuto validé]
désolé, je n'ai pas pu m'empecher de faire un pavé...

#37 Mike118

Mike118

    Staff Robot Maker

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

Posté 01 juillet 2012 - 11:06

bah à la place de 11 tu mets le n° que tu veux... c'est tout.

j'ai rédigé un truc, j'en ferai un tuto si c'est assez clair.
si quelqu'un peut me faire un retour sur ce qu'il en pense
désolé, je n'ai pas pu m'empecher de faire un pavé...


Franchement c'est vraiment pas mal ! ;) Histoire de faire une critique constructive je te dirais de rajouter un peu de couleur genre des questions que doit se poser le lecteur en vert par exemple et décalé vers la droite ... genre " comment on fait ? " etc... que toi tu as mis en titre. Ainsi que de la couleur genre rouge pour le "MAIS " sinon je ne dirais qu'une dernière chose : le completer avec un petit exemple de programme, des photos ( genre l'arduino avec les numéros des pin digitales ou bien l'image d'un servo ) et ou une vidéo ( montrant le petit programme fonctionnel). Moi je veux bien en voir plus dans le : " Et donc comment je fais? " ;) les parties précédentes étant selon moi correctement dimensionnée et très claire !

@+ ;)

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  

 

 

 


#38 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 02 juillet 2012 - 08:03

Merci pour se petit tuto. MAis tu te doutes bien que j'ai essaye de mettre par exemple sur la pin 22 qui est une digital.
Le code est le meme que sur la premire page sauf "l'attach" qui est passé de 11 a 22 (11 etant une PWM et 22 ine digital)

Compilation = OK
transfere = j'ai une erreur de transfere.

Presque a la fin du transfere il me dit que le port COM 1 est deja utilisé.

Bon je vais essaye a partir d'un autre OS car windows est pas tres stable je trouve....


Bon j'ai trouvé il faut réinstaller les drivers de la carte arduino a la main. Et ça fonctionne.
Effectivement j'ai bien changé l'atach par une digital et ca fonctionne tres bien.

J'attend mon support accus pour alimenter mes servomoteurs.

#39 oron

oron

    Membre

  • Membres
  • 66 messages

Posté 15 juillet 2012 - 09:28

Salut a tous,

Apres 13 jours sans avoir donné de nouvelle, oui le projet continu.
Ou en est il?
Les pattes de l'hexapod sont terminées.
Voici quelques photos d'une patte de l’hexapode.

IMG_0389.JPG

IMG_0390.JPG

IMG_0391.JPG

Et voici le resultat:

IMG_0383.JPG

IMG_0386.JPG

Normalement mes servomoteurs devraient supporter le poids de la bête, sinon je raccourcirai
le tube de la première photo.
La prochaine étape faire des trous pour le passe de câble.
Très important: bien serrer toutes les vis

J'ai caler tous mes servomoteurs a 90°.
Puis il me restera la partie programmation.

Voici ou j'en a suis, ça prend forme.

Je vous joindrai d'autres photos avec les pattes et la carte monter.
Je pense que je vais utiliser de la patta-a-fix pour tenir le bloc batterie et la carte arduino pour l'instant.
Ça fait un peu bricolo du dimanche , mais ça marche très bien pour un prototype.
A++

#40 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 15 juillet 2012 - 09:35

Salut,

Tu pourrais faire une photos plus claire de la 3e pièce et nous dire comment elle est faite? (matériau et "usinage")

bon courage pour la suite. Tu as des idées pour la prog? si tu n'as jamais codé tu vas faire des codes inutilement longs, il y a quelques astuces pour les hexapods pour raccourcir le code (comme déclarer les objets servos en array par exemple).




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

0 members, 0 guests, 0 anonymous users