Aller au contenu


Photo
- - - - -

Alfred le quadrupède


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

#1 Kirbs

Kirbs

    Nouveau membre

  • Membres
  • 18 messages

Posté 07 juin 2017 - 08:15

Bonsoir à tous,

 

Je lance ce fil pour présenter le petit robot sur lequel je suis en train de travailler, appelons le Alfred le quadrupède parce que ça rime ! 

 

C'est un premier projet histoire de se faire la main. J'ai voulu commencer par un petit quadrupède classique inspiré de modèles vus sur le net.

 

Pour la partie mécanique, j'ai modélisé les pièces sous fusion360 avant de les imprimer en 3D :

 

image2.thumb.PNG.PNG

 

Seule la pièce jaune du bas m'a posé quelques soucis à l'impression, je n'arrivais pas à l'orienter d'une manière satisfaisante pour avoir des surfaces propres partout. La prochaine fois, penser à l'impression avant de faire des formes tarabiscotées.

 

A ce niveau là j'avoue y être allé un peu au feeling pour la taille des pièce, si des choses sont à revoir je pourrais toujours réimprimer des pièces.

 

Voilà le support central avec une partie des pièces montées :

 

IMG_2205.JPG.JPG

 

Et voilà le montage complet du robot pour la partie mécanique :

 

IMG_2221.thumb.JPG.JPG

 

Pour la partie électronique, je voulais partir sur quelque chose comme ça mais j'ai encore pas mal de questions :

 

- Arduino pour le microcontroleur

- PCA9685 pour la gestion des servos

- Pour l'alimentation, j'hésite : j'ai lu pas mal de fils sur ce forum qui parlent à priori de passer par une batterie et un step down. Pour commencer, je me demandais si je pouvais alimenter les servos avec une alim de ce genre : https://www.amazon.f...keywords=5v 10a

L'idée serait d'avoir un truc alimenté en filaire pour faire des tests au début sans avoir à recharger à chaque fois.

 

Si je pars sur une alimentation, vaut il mieux partir sur une alimentation avec un voltage plus élevé + régulateur de tension ou bien sur une alim 5v avec l'ampérage suffisant pour alimenter tous les moteurs ?

Pensez vous qu'il vaille mieux partir sur une batterie directement pour régler les servos avec le poids de celle ci ? Si oui, une idée du type à utiliser ?

 

A bientôt !



#2 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 409 messages
  • Gender:Male

Posté 08 juin 2017 - 06:22

Je pense que les contraintes sur l'axe du premier servo, celui fixé sur le corps, vont être trop importante.
Il y aurait certainement moyen de faire un U dont une de branche serait relié au servo, comme actuellement, et l'autre branche au dessous du chassis principal que tu devrais donc modifier.
Pourrais-tu nous donner le poids de l'ensemble ?

Concernant l'alimentation que tu proposes, il s'agit d'une alimentation secteur (INPUT/VOLTAGE RANGE/88-264VAC).
Je pense que tu devrais t'orienter vers une batterie Lipo de 7,4V.
Malheureusement, je n'en vois pas dans la boutique, mais peut-être que c'est envisagé.

<Tu a l'air de bien maitriser Fusion 360, pourrais-tu répondre à une question, ici http://www.robot-mak...mation/?p=84500, pour ne pas pourrir ton fil >
Ma chaine vidéo YouTube : 'https://www.youtube....Mz-IzZqyvqEUek'

#3 Mike118

Mike118

    Pilier du forum

  • Administrateur
  • PipPipPipPipPip
  • 5 863 messages
  • Gender:Male

Posté 08 juin 2017 - 06:59

Sinon oui ton alimentation 5V 10A fonctionnera très bien elle est même sur dimensionné par rapport à tes besoins. 

Dans ton cas juste une alimentation comme cette alimentation pour raspberry pi serait suffisante . 

 

Sinon si tu as un vieux chargeur de PC ou autre il te suffit juste d'un convertisseur 5V derrière comme ce convertisseur 5V 7A ( lui aussi un peu surdimensionné pour ton quadrupède) par contre au moins ça te fait mettre le premier composant pour ton quadrupède quand il aura sa batterie. 

Enfin je te suggère de jeter un oeil au différents tests de jekert dans la rubrique des tests des produits robot maker , servo 9G, driveur de servo moteur et kit quadrupède, il y a des informations qui peuvent t'intéresser je pense. =)

 

PS : Je ne vois pas de vis qui permettent de fixer la tête de tes servo 9G dans les pièces en plastique ... Tu fais comment pour que ça tienne ? C'est collé ? 


Robot-Maker ne se résume pas que au forum !
Jetez un oeil au blog, aux tutoriels, aux ouvrages, au robotscope  et à la  boutique : le shop des makers   !
N'hésitez pas à contribuer à la communauté et à partager vos trucs et astuces : Ensemble nous irons plus loin ! =)
 

Robot-Maker a pour vocation de :

  • Permettre à des hobbyistes passionnés de s'entraider pour qu'ils puissent mener à bien leurs créations.
  • Permettre à des projets innovants de voir le jour dans le domaine de la robotique et des nouvelles technologies.

à très bientôt ! 


#4 Kirbs

Kirbs

    Nouveau membre

  • Membres
  • 18 messages

Posté 08 juin 2017 - 03:27

Merci pour vos retours !

 

 

Je pense que les contraintes sur l'axe du premier servo, celui fixé sur le corps, vont être trop importante.
Il y aurait certainement moyen de faire un U dont une de branche serait relié au servo, comme actuellement, et l'autre branche au dessous du chassis principal que tu devrais donc modifier.
Pourrais-tu nous donner le poids de l'ensemble ?

Concernant l'alimentation que tu proposes, il s'agit d'une alimentation secteur (INPUT/VOLTAGE RANGE/88-264VAC).
Je pense que tu devrais t'orienter vers une batterie Lipo de 7,4V.
Malheureusement, je n'en vois pas dans la boutique, mais peut-être que c'est envisagé.

<Tu a l'air de bien maitriser Fusion 360, pourrais-tu répondre à une question, ici http://www.robot-mak...mation/?p=84500, pour ne pas pourrir ton fil >

 

Je me suis demandé pour les contraintes mais pour l'instant ça n'a pas trop l'air de tirer dessus. Je me suis dit que je verrai à l'usage si ça bloque. En terme de poids l'ensemble avec la carte arduino fait actuellement 280g environ. Cependant sur chacun des moteurs l'effort qui va s'appliquer sera plutôt celui lié au poids des pattes. Celles ci pèsent 45g environ. Avec ce type de robot je pensais lever une patte aprés l'autre pour limiter les efforts.

 

Pour fusion360 de mémoire il y a une option pour travailler hors ligne mais j'avoue ne pas trop m'être demandé ou étaient sauvegardés les fichiers, je regarderai ce soir.

 

Sinon oui ton alimentation 5V 10A fonctionnera très bien elle est même sur dimensionné par rapport à tes besoins. 

Dans ton cas juste une alimentation comme cette alimentation pour raspberry pi serait suffisante . 

 

Sinon si tu as un vieux chargeur de PC ou autre il te suffit juste d'un convertisseur 5V derrière comme ce convertisseur 5V 7A ( lui aussi un peu surdimensionné pour ton quadrupède) par contre au moins ça te fait mettre le premier composant pour ton quadrupède quand il aura sa batterie. 

Enfin je te suggère de jeter un oeil au différents tests de jekert dans la rubrique des tests des produits robot maker , servo 9G, driveur de servo moteur et kit quadrupède, il y a des informations qui peuvent t'intéresser je pense. =)

 

PS : Je ne vois pas de vis qui permettent de fixer la tête de tes servo 9G dans les pièces en plastique ... Tu fais comment pour que ça tienne ? C'est collé ? 

 

Du coup si je résume, soit je prend une alim 5V, et du coup pas besoin de convertisseur. Soit je prend une alim plus grosse et je met un convertisseur. Pour le convertisseur, si il est capable e sortir du 5V 7A, il me faut donc une alim 35W c'est ça ? Du 12V 3A par exemple ?

 

Si je prend une alim 5V comme celle que tu propose, je dénude juste les fils au bout pour les branchements ?

 

Pour les produits testés, j'ai déjà regardé :P Notamment celui du controleur PCA9685. C'est ce qui m'a décidé, au début je pensais directement piloter chaque servo depuis l'arduino.

 

Pour mes têtes de servo, elles sont pour l'instant montées serrées. J'ai imprimé aux cotes exactes de la forme. Du coup à l'impression mes trous étaient légèrement plus petit que mes têtes de servo et j'ai ajusté à la lime pour pouvoir les monter dedans. Je pensais au début mettre des vis mais ça a l'air de plutôt bien tenir donc je verrai à l'usage si elle sont nécessaires.



#5 Budet

Budet

    Habitué

  • Membres
  • PipPip
  • 191 messages
  • Gender:Male
  • Location:60

Posté 08 juin 2017 - 03:40

C'est imprimé par sculpteo ça non ?



#6 Kirbs

Kirbs

    Nouveau membre

  • Membres
  • 18 messages

Posté 08 juin 2017 - 03:46

C'est imprimé par sculpteo ça non ?


Nop, c'est imprimé par mon imprimante :P

#7 Budet

Budet

    Habitué

  • Membres
  • PipPip
  • 191 messages
  • Gender:Male
  • Location:60

Posté 08 juin 2017 - 03:58

Et bien pour une imprimante amateur la qualité est vraiment au rendez vous ! ;)



#8 Kirbs

Kirbs

    Nouveau membre

  • Membres
  • 18 messages

Posté 08 juin 2017 - 09:39

Du coup j'ai trouvé ça dans mes tiroirs :

 

IMG_2262.JPG

 

Avec un petit embout femelle pour brancher facilement et le régulateur proposé plus haut, une des deux peut convenir ? L'alimentation ne risque pas d'être endommagée si j'en ai besoin plus tard ? :P

 



#9 Melmet

Melmet

    Membre chevronné

  • Modérateur
  • PipPipPipPip
  • 846 messages
  • Gender:Male
  • Location:Saint-Sozy (46200)

Posté 09 juin 2017 - 05:48

Avec ce régulateur



#10 Kirbs

Kirbs

    Nouveau membre

  • Membres
  • 18 messages

Posté 09 juin 2017 - 08:25

C'est commandé ;) Du coup j'en ai profité pour prendre un arduino nano au passage, en utilisant le driver pour servo, je n'aurai pas besoin de beaucoup plus de ports pour l'instant.

 

Merci pour vos conseils !



#11 Mike118

Mike118

    Pilier du forum

  • Administrateur
  • PipPipPipPipPip
  • 5 863 messages
  • Gender:Male

Posté 09 juin 2017 - 10:39

Merci pour vos retours !

 

 

 

 

 

Du coup si je résume, soit je prend une alim 5V, et du coup pas besoin de convertisseur. Soit je prend une alim plus grosse et je met un convertisseur. Pour le convertisseur, si il est capable e sortir du 5V 7A, il me faut donc une alim 35W c'est ça ? Du 12V 3A par exemple ?

 

Si je prend une alim 5V comme celle que tu propose, je dénude juste les fils au bout pour les branchements ?

 

 

 

Oui juste l'alim 5V et les fils dénudé auraient fait l'affaire et tu aurait pu les brancher dans le bornier du PCA ( il aurait aussi fallu connecte V+ et VCC ensemble sur le PCA ) 

Sinon pas besoin nécessairement de 35W ... une alim 12V 1A pourrait fonctionner, le 35W est une puissance maximale qui peut être fournie, si tu lui donne moins au max il donnera moins et c'est tout =) surtout que toi tu ne vas pas tirer 35W =).  De la même façon d'ailleurs le convertisseur ne fournira en courant que ce que ton système va tirer dessus. 

C'est à dire si tu tire que 2A, le convertisseur va fournir que 2A même si il peut en fournir jusqu'à 7. =)

 

 

Pour mes têtes de servo, elles sont pour l'instant montées serrées. J'ai imprimé aux cotes exactes de la forme. Du coup à l'impression mes trous étaient légèrement plus petit que mes têtes de servo et j'ai ajusté à la lime pour pouvoir les monter dedans. Je pensais au début mettre des vis mais ça a l'air de plutôt bien tenir donc je verrai à l'usage si elle sont nécessaires.

 

D'accord je comprend mieux. 
Travail d'orfèvre donc :P 
Tu diras si ça tien à l'usage =) ( j'y crois pas du tout ^^ sauf si tu colles , mais tu peux sans problème me donner tord là dessus ;)


Robot-Maker ne se résume pas que au forum !
Jetez un oeil au blog, aux tutoriels, aux ouvrages, au robotscope  et à la  boutique : le shop des makers   !
N'hésitez pas à contribuer à la communauté et à partager vos trucs et astuces : Ensemble nous irons plus loin ! =)
 

Robot-Maker a pour vocation de :

  • Permettre à des hobbyistes passionnés de s'entraider pour qu'ils puissent mener à bien leurs créations.
  • Permettre à des projets innovants de voir le jour dans le domaine de la robotique et des nouvelles technologies.

à très bientôt ! 


#12 Kirbs

Kirbs

    Nouveau membre

  • Membres
  • 18 messages

Posté 09 juin 2017 - 12:16

Tu diras si ça tien à l'usage =) ( j'y crois pas du tout ^^ sauf si tu colles , mais tu peux sans problème me donner tord là dessus ;) )

 

En fait pour être plus précis, les trous rond traversant sont à peine plus petit que la partie cylindrique du bras. Du coup il faut un peu forcer pour la rentrer, Ensuite quand je met la vis qui fixe le bras sur le servo, ça serre encore de fait la partie cylindrique du bras dans ma pièce. Du coup même à la main je n'arrive pas vraiment à les faire bouger. 

Comme tu dis on verra à l'usage mais je ne m'attend pas à avoir beaucoup d'efforts sur ce premier robot.

 

Sinon pas besoin nécessairement de 35W ... une alim 12V 1A pourrait fonctionner, le 35W est une puissance maximale qui peut être fournie, si tu lui donne moins au max il donnera moins et c'est tout =) surtout que toi tu ne vas pas tirer 35W =).  De la même façon d'ailleurs le convertisseur ne fournira en courant que ce que ton système va tirer dessus.

 

Je suis parti sur le convertisseur que tu m'avais indiqué et j'utiliserai une des deux alims que j'ai trouvé chez moi. Je pense que 12V 2.5A suffiront pour ce robot du coup.



#13 Kirbs

Kirbs

    Nouveau membre

  • Membres
  • 18 messages

Posté 13 juin 2017 - 09:29

Hello,

 

En attendant de recevoir ma commande, je fais quelques tests sur les servos que j'ai à disposition.

 

Je galère un peu sur des problèmes d'étalonnage je pense. De ce que j'ai compris de mes différentes lectures ils faut déterminer deux choses :

- La plage en degré que l'on peut envoyer au robot

- La plage en ms qui correspond à celle ci dessus

 

Sur mes tests, j'ai utilisé un programme qui va de 0° à 180°. Concrètement, mon servo ne balaie pas du tout la plage. Vers le 0°, tout va bien, il va bien à la position en butée que je trouve manuellement, par contre vers les 180° il s'arrête plutôt vers 110/120°

 

Voilà le code que j'ai utilisé :

#include <Servo.h> 
 
Servo myservo;
int pos = 0;
 
void setup() 
{ 
  myservo.attach(8);
} 

void loop() 
{ 
  for(pos = 0; pos < 180; pos += 1)
  {
    myservo.write(pos);
    delay(15);
  }
  for(pos = 180; pos>=1; pos-=1)
  {                                
    myservo.write(pos);
    delay(15);
  } 
} 

Je n'ai pas de bruit ou de blocage particulier en limite d'angle max, je suppose que pour lui il est bien à 180°. Du coup il faut que je change mes plages de ms c'est ca ? Ou bien la qualité de mes servos laisse à désirer ?

 

Je suppose qu'il faut étalonner chaque servo pour connaitre ses limites hautes et basses ?

 

Ce que je voudrais c'est avoir la même position à 90° pour tous les moteurs et une plage de +/- 50°-60° autour de cette position qui soit la même pour tous les moteurs.

 

Je continue mes recherches :P



#14 Mike118

Mike118

    Pilier du forum

  • Administrateur
  • PipPipPipPipPip
  • 5 863 messages
  • Gender:Male

Posté 13 juin 2017 - 10:55

Je te suggère de lire cette suite de tuto pour améliorer sa façon de programmer
Le premier est juste une bonne habitude à prendre, le deuxième regarde aussi les commentaires tu trouveras un exemple pratique avec un quadrupède ;) 
 


Robot-Maker ne se résume pas que au forum !
Jetez un oeil au blog, aux tutoriels, aux ouvrages, au robotscope  et à la  boutique : le shop des makers   !
N'hésitez pas à contribuer à la communauté et à partager vos trucs et astuces : Ensemble nous irons plus loin ! =)
 

Robot-Maker a pour vocation de :

  • Permettre à des hobbyistes passionnés de s'entraider pour qu'ils puissent mener à bien leurs créations.
  • Permettre à des projets innovants de voir le jour dans le domaine de la robotique et des nouvelles technologies.

à très bientôt ! 


#15 Kirbs

Kirbs

    Nouveau membre

  • Membres
  • 18 messages

Posté 13 juin 2017 - 12:02

Je te suggère de lire cette suite de tuto pour améliorer sa façon de programmer
Le premier est juste une bonne habitude à prendre, le deuxième regarde aussi les commentaires tu trouveras un exemple pratique avec un quadrupède ;)

 

Merci pour ta réponse. Je suppose que la suite dont tu parles concerne la structure des variables ? Effectivement le lien vers la structure pour un quadrupède est très intéressant. Reste à déterminer pour chaque moteur mes min et max.

 

Là j'avoue que pour le code j'avais surtout récupéré un morceau d'un tuto pour utiliser un seul servo, c'est ce qui m'a permis de voir que leur position n'allait pas être si simple à homogénéiser entre tous les moteurs.



#16 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 409 messages
  • Gender:Male

Posté 13 juin 2017 - 01:57

Le peu que je connais sur les servos depuis mes propres tests sur mon quadrupède m'amène quelques remarques ou questions :
- les palonniers de tous les servos sont-ils fixés au même angle ? Ou à un angle désiré ?
- as-tu vérifié l'angle du débattement de chaque servos pour être sûr que c'est bien du 180° ?
- pour ton code, tu peux faire un mouvement unique du servo en mettant tes boucles for dans la fonction setup(), plutôt que dans la fonction loop().
- j'ai remarqué que si j'oubliais d'alimenter ma carte Arduino (6V) et que donc les servos et la carte était alimenter par l'USB de mon PC, le résultat était erratique.
- j'utilise des servos SG90 qui sont vraiment basiques et je n'ai pas eu le type de problème que tu décris.
Ma chaine vidéo YouTube : 'https://www.youtube....Mz-IzZqyvqEUek'

#17 Kirbs

Kirbs

    Nouveau membre

  • Membres
  • 18 messages

Posté 13 juin 2017 - 03:50

Le peu que je connais sur les servos depuis mes propres tests sur mon quadrupède m'amène quelques remarques ou questions :
- les palonniers de tous les servos sont-ils fixés au même angle ? Ou à un angle désiré ?
- as-tu vérifié l'angle du débattement de chaque servos pour être sûr que c'est bien du 180° ?
- pour ton code, tu peux faire un mouvement unique du servo en mettant tes boucles for dans la fonction setup(), plutôt que dans la fonction loop().
- j'ai remarqué que si j'oubliais d'alimenter ma carte Arduino (6V) et que donc les servos et la carte était alimenter par l'USB de mon PC, le résultat était erratique.
- j'utilise des servos SG90 qui sont vraiment basiques et je n'ai pas eu le type de problème que tu décris.

 

- Pour les palonniers je les ai tous fixés de la même manière, c'est à dire que je les ai monté, j'ai amené le servo en butée manuellement et j'ai remis le palonnier de manière à ce qu'ils soit dans la bonne position

- Pour l'angle de débattement, quand je les fais bouger manuellement, j'ai l'impression que la plage est sensiblement la même.

- Pour l'alimentation c'est peut être ça qui pèche, j'ai fait mes tests avec un seul servo et ma carte en USB, je pensais que niveau courant ça irait. Du coup je vais peut être réessayer avec une pile. Je referai aussi un test dès que j'aurais reçu le driver pour les servo qui devrai permettre une meilleure alimentation.

 

Merci en tout cas !



#18 Mike118

Mike118

    Pilier du forum

  • Administrateur
  • PipPipPipPipPip
  • 5 863 messages
  • Gender:Male

Posté 13 juin 2017 - 04:02

En fait l'astuce de mettre en position manuellement le servo est une bonne idée à la base, mais le problème c'est que ces servo sont très loin d'être parfait, les butées ne sont pas aux même endroit etc...

Une bonne astuce c'est de faire un code de base, qui est censé faire bouger les servo de 90° et de positionner ta tête de servo, sur un servo qui a été positionné non pas manuellement mais par ton programme :)

 

D'expérience tu obtiens un bien meilleur résultat, avec moins de code et moins de tests à faire avec cette méthode ! 


Robot-Maker ne se résume pas que au forum !
Jetez un oeil au blog, aux tutoriels, aux ouvrages, au robotscope  et à la  boutique : le shop des makers   !
N'hésitez pas à contribuer à la communauté et à partager vos trucs et astuces : Ensemble nous irons plus loin ! =)
 

Robot-Maker a pour vocation de :

  • Permettre à des hobbyistes passionnés de s'entraider pour qu'ils puissent mener à bien leurs créations.
  • Permettre à des projets innovants de voir le jour dans le domaine de la robotique et des nouvelles technologies.

à très bientôt ! 


#19 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 409 messages
  • Gender:Male

Posté 13 juin 2017 - 04:51

Une bonne astuce c'est de faire un code de base, qui est censé faire bouger les servo de 90° et de positionner ta tête de servo, sur un servo qui a été positionné non pas manuellement mais par ton programme :)

J'ai fait ça également, mes servos au repos sont à 90°. Mais je n'ai pas eu à repositionner les palonniers.
Lorsque je fais des tests, ça part en vrille à chaque fois, et donc je remets tout en ordre en téléversant un programme qui remet tout à 90°.
Ma chaine vidéo YouTube : 'https://www.youtube....Mz-IzZqyvqEUek'

#20 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 973 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 14 juin 2017 - 07:59

Salut,

 

Si tu fouilles sur le site tu trouveras mes remarques sur la même question.

 

Très rapidement je dirais que tous les servomoteurs n'ont pas la même plage. Certains seront en position 0° avec une impulsion de 250 ms d'autres seront à 0° avec une impulsion à 240 ms.

 

il en va de même pour la position 180°. Certains servomoteurs se positionnerons à 180° avec une impulsion à 1487 ms et d'autres à 1543 ms ou pourquoi pas 1420 ms....Et ce bien sûr pour une même marque.....Surtout si tu achètes les 100 servo pour 2$ pièces made in asia ....

 

La bibliothèque que tu utilises convertie un angle en longueur d'impulsion sans se soucier de ce problème....Il te faudra alors plutôt utiliser la fonction map avec à chaque fois et pour chaque servo connaitre la plage min et max....

 

Pour connaître la plage de chaque servomoteur il existe des petits programmes qui te permettent d'envoyer des valeurs de plage et ainsi de pouvoir noter, de ce fait, pour chaque servo la plage_min pour 0° et plage_max pour 180°.....Utilisation d'un tableau contenant plage_min et plage_max + utilisation fonction map et hop it's done....

 

Tu trouveras tout les éléments de réponse sur le sujet sur ce site...

 

Bien sûr c'est sous condition d'avoir une bonne alimentation et pas de point dur empêchant le servo de tourner.....

 

++






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

0 members, 0 guests, 0 anonymous users