Aller au contenu


Photo
- - - - -

Arduino et/ou Raspberry pour bras articulé


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

#1 Phil2P

Phil2P

    Nouveau membre

  • Membres
  • 14 messages
  • Gender:Male
  • Interests:Robotic arm, 3D printer, design

Posté 23 octobre 2020 - 04:53

Bonjour à tous,

Je suis prof de Méca avec peu de connaissance en Elec et Programmation.

Avec mes élèves, nous avons en projet la réalisation d'un système de bras articulé mis en mouvement par six moteurs pas à pas et un servo moteur. Les sept actionneurs doivent pouvoir bouger en même temps à environ 180°/s (30 tr/min) pour les moteurs pas à pas.

Dans un deuxième temps, nous voudrions que deux des six moteurs pas à pas soient commandés en boucle fermée grâce à l’ajout d'une carte de commande compatible Arduino, avec driver intégré et encodeur rotatif.

A partir de données générées par un PC, je ne sais pas quoi utiliser pour commander les moteurs et le servo moteur : un ou des Raspberry Pi ?, un ou des Arduino ?, les deux ?, autres choses ?

L'évolutivité de la solution de commande est importante.

Le coût n'est pas un critère de choix principal.

 

Pouvez-vous me conseiller ?

Cordialement,
Philippe

 



#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 931 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é 23 octobre 2020 - 06:15

Je recommande chaudement de commencer par utiliser un "arduino" ( ou équivalent) pour le contrôle des moteurs du bras . Et au vu du nombre de moteurs, il faudra partir sur un arduino avec suffisamment de broche surtout si vous voulez que ça reste évolutif  et mettre des codeurs par la suite... Donc on oubli l'arduino uno ou nano, il faudra partir sur arduino mega ou mieux arduino due ...
 

 

Si vos moteurs pas à pas sont " petit " ce genre de produit " shield moteur pas à pas " est très pratique et se branche directement sur une arduino mega ou due. Si vous avez des gros moteurs il vous faudra un driver de moteur pas à pas un peu plus conséquent pour chacun des moteurs 

 

votre arduino se connecte aux drivers ( et ou au shield qui contient des drivers de moteurs ) et les moteurs pas à pas se connectent sur les drivers. 

Vous pourrez faire un code sur arduino pour piloter le bras et vous pourrez connecter votre ordinateur à votre arduino par câble usb pour contrôler les déplacements souhaités. 

Si vous avez besoin de plus de conseils ou d'explications n'hésitez pas à demander! =)
 


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 ! 

 

Les réalisations de Mike118  

 

 

 


#3 Phil2P

Phil2P

    Nouveau membre

  • Membres
  • 14 messages
  • Gender:Male
  • Interests:Robotic arm, 3D printer, design

Posté 23 octobre 2020 - 10:01

Merci Mike118 !

 

Ce sera des moteurs pas à pas type nema17 ou nema23. Je suppose que c'est des "gros".

J'ai bien noté : un Arduino Mega ou Due pour le nombre de broches et un driver type TB6600 pour chaque moteur.

 

Pour mieux comprendre votre conseil : pourquoi vaut il mieux utiliser un Arduino plutôt qu'un Raspberry dans mon cas ?

Ça m’intéresse car certains élèves proposent de générer les déplacements articulaires avec un Raspberry+linux à la place d'un PC.
 

Bonne soirée,

Philippe



#4 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 931 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é 24 octobre 2020 - 03:38

Rien ne vous empêchera d'utiliser un raspberry à la place du PC en connectant l'arduino à la raspberry en USB au lieu de votre ordinateur. 

Une arduino c'est un "microcontrôleur" => C'est précis pour gérer des fréquences, en plus il y a des librairies qui font le plus gros du travail pour vous. 

Un raspberry c'est un "ordinateur " avec un " OS ". Il peut y avoir des tâches de différentes priorité en parallèle ... Du coup c'est pas ce qu'il y a de plus précis pour gérer des signaux de fréquence variable... et ça sera un peu plus compliqué à mettre en oeuvre... 

petit article sur arduino et rapsberry pi : https://www.robot-ma...spberry-Pi.html

En espérant avoir été plus clair. 

Un néma 23 oui c'est un gros moteur, mais des nema 17 il faut voir leur courant consommé. Le shield indiqué contient des drivers de moteur pas à pas qui prennent 1A par phase  ( ça tient 2A max avec ventilateur... ) 
 


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 ! 

 

Les réalisations de Mike118  

 

 

 


#5 Phil2P

Phil2P

    Nouveau membre

  • Membres
  • 14 messages
  • Gender:Male
  • Interests:Robotic arm, 3D printer, design

Posté 25 octobre 2020 - 09:33

Merci Mike118 !

Ta réponse est très claire et l'article en lien très intéressant.

nous utiliserons la bibliothèque Python, PySerial si l'on utilise un Raspberry pour envoyer des données à l'Arduino.

 

Avec les TB6600, si je décide de faire du micro-stepping avec mes SIX moteurs pas à pas bougeant en même temps, est-ce que l'Arduino suivra ?

 

Bon dimanche !
Philippe



#6 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 931 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é 25 octobre 2020 - 09:53

Cela va dépendre du micro pas sélectionné. Normalement une arduino due doit suffire sans problème pour piloter des moteurs pas à pas correctement...  mais bvking a réussi à pousser un peu trop l'arduino due en réduisant le micro stepping ... 

Voir cette discussion : https://www.robot-maker.com/forum/topic/13289-moteurs-pas-a-pas-moins-rapides-que-prevus-que-faire/ 

Je ne pense pas que vous aurez le problème ( c'est liée à son application ... ) mais il est intéressant d'avoir une idée des limites technique...

Je crois que les autres utilisateurs du forum réalisant un bras moveo sont sur arduino mega ( moins performante que la due )  mais je suis pas 100% sûr donc c'est une info à confirmer ... Mais ce qui est sûr c'est qu'il arrive à faire bouger leur moteurs ;) 

 


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 ! 

 

Les réalisations de Mike118  

 

 

 


#7 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 931 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é 04 novembre 2020 - 12:45

Des nouvelles concernant les choix de matériel pour ce bras ? Ou bien cela a malheureusement été mis en pause pour le moment à cause de la situation sanitaire actuelle ?


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 ! 

 

Les réalisations de Mike118  

 

 

 


#8 Phil2P

Phil2P

    Nouveau membre

  • Membres
  • 14 messages
  • Gender:Male
  • Interests:Robotic arm, 3D printer, design

Posté 08 novembre 2020 - 10:18

Bonjour Mike118,

En effet, nous devons attendre la mise en place de mesures sanitaires correctes pour pouvoir nous réorganiser et nous remettre au travail.

Grace à tes réponses toujours très très pertinentes, nous partons sur un PC qui envoie des données à un Arduino Mega cadencé à 16 MHz.

Cet Arduino Mega et la librairie AccelStepper commandera les moteurs pas à pas et un servo moteur.

 

Si le problème de "micro-pas + nombre de moteurs pas à pas trop grand" se présente, nous utiliserons une carte teensy 3.6 cadencé à 180 MHz et la librairie teensy step.

 

Dans un deuxième temps, c'est un Raspberry qui enverra les données à l’Arduino.

 

Peux-tu encore me conseiller : quelle liaison et quelle librairie utiliser pour que la carte Arduino reçoive des paquets de 6 valeurs envoyés par le PC ?

 

Bon week-end !



#9 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 8 931 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é 09 novembre 2020 - 01:03

Pas de librairies spécifiques. 
Vous pouvez faire votre propre protocole simple. 

Par exemple vous pouvez décider d'envoyer une trame du genre : 

$123,110,130,90,-60,70\n   ( 23 caractères )

" facile à comprendre " pour un utilisateur de lire et écrire une trame ... Assez facile à décoder, un seul format unique, toujours le même,  seuls inconvénients ça prend plus de caractères que nécessaire, il faut envoyer toutes les valeurs à chaque fois, il y a des séparateurs et la taille de trame n'est pas fixe ... Mais si vous avez pas besoin d'envoyer énormément de données c'est un formant de trame simple et efficace.

Possible aussi de faire des trames du genre : 
123A
110B

130C90D

Permet de facilement changer la consigne d'un des moteurs et peut être " combiné" pour en changer plusieurs à la fois. Plus souple mais moins robuste ... 

Autre choses aussi, définir la taille de stockage de votre variable ( exemple de int16_t ) qui permettent d'aller de -32768 à 32767  ( ce qui devrait être suffisant pour stocker un angle en centièmes de degrés par exemple ( -18000 à 18000 )  et il suffi d'envoyer tous les octets à la suite dans le bon ordre... Avantage : taille de trame fixe sans séparateurs ... mais un peu moins lisible pour le comment des motels / difficile à taper dans le moniteur série par exemple ... )

Et encore tout ça ce n'est que des exemples parmi d'autres possible ! =)

 

 


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 ! 

 

Les réalisations de Mike118  

 

 

 





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

0 members, 0 guests, 0 anonymous users