Aller au contenu


pat92fr

Inscrit(e) (le) 04 août 2020
Connecté Dernière activité il y a 11 minutes
-----

Sujets que j'ai initiés

Articulation « brushless »

25 janvier 2021 - 11:58

Bonjour,

 
L’objectif est de concevoir et mettre au point un servo commande brushless, permettant d’actionner une articulation de bi/quadripède, de taille raisonnable. Une telle solution doit permettre de dépasser les limitations des servos commandes (R/C ou Intelligent), et de gagner en vitesse de rotation, de couple et/ou d’élasticité (compliance). 
 
J’initialise ce fil au moment où je commence à m’intéresser sérieusement au sujet des actionneurs brushless. Mes connaissances théoriques sont très limitées dans ce domaine. Je suis juste impressionné par certaines réalisations publiées par des Makers et Youtubers. Mon objectif perso est avant tout de comprendre le fonctionnement.
 
Je souhaite que ce fil soit ouvert à la discussion, pour permettre aux membres du forum de partager leur expérience, quelle que soit leur solution et leur degré d’avancement. Ce n’est donc pas un fil dédié seulement à ma propre réalisation.
 

Note : Je crée ce fil dans cette section du forum car la solution est très fortement liée au robot à pattes.

 


M5Stack

30 décembre 2020 - 08:35

Le M5Stack Fire est un module construit autours d'un ESP32, le petit module Wifi/Bluetooth qui embarque un microcontrôleur d'Espressif Systems, avec plein de périphériques (SPI, I2C, UART, ADC, DAC, PWM, etc). l'ESP32 intègre deux cœurs microprocesseurs 32 bits cadencés à 240Mhz.  Le M5Stack intègre aussi une Flash de 16M et une RAM de 4M, une IMU 9 axes, un écran , des LEDs, des touches, un microphone, un haut parleur, et une batterie rechargeable. Seul regret, il n'y a pas de FPU matérielle pour accélérer mes calculs en flottant.

 

Fichier joint  M5stackFire.jpg   47,5 Ko   43 téléchargement(s)Fichier joint  M5stackFire2.jpg   83,62 Ko   56 téléchargement(s)

Il est livré avec deux liftarm, car la base du M5Stack est compatible Lego Technic.

 

Le M5Stack se programme en C/C++ Arduino et en Python (non testé). Mon code Arduino se porte sans difficulté majeure.

Le seul problème que j'ai rencontré, est que le port d'extension C du M5Stack, initialement réservé à la liaison UART utilisateur, est utilisé par le boitier mémoire interne spécifique du module Fire.

Il faut jouer avec le pin-muxing de l'ESP32 pour sortir son UART2 sur le port d'extension B du M5Stack, initialement réservé à des GPIO. La liaison série supporte un débit de 1Mbps sans difficulté.

#include <M5Stack.h>
#define GPIO_PIN26 26
#define GPIO_PIN36 36
HardwareSerial ServoSerial(2);
ServoSerial.begin(1000000, SERIAL_8N1,GPIO_PIN36,GPIO_PIN26);

Le M5Stack dispose d'un port USB (type C) mappé sur l'UART0, qui fonctionne aussi à 1Mbps, permettant ainsi d'afficher des traces/debug à haut débit, sans trop pénaliser l'exécution du code.

Le temps de compilation dans l'environnement Arduino est correct.

 

Le module M5stack Fire pèse 63g avec sa batterie Lipo. On peut lui ajouter un module 12 servo à 18g ou un 16 servo à 28g. Les modules ont un connecteur Lipo au format standard respectivement XT30 et XT60 et un BEC intégré (pour le microcontrôleur seulement, pas pour les servos). Pour piloter les servo, il faut une batterie externe en plus de celle intégrée dans le M5Stack. Par contre, il doit etre possible de la retirer en présence d'une batterie externe.

 

Fichier joint  1_db3f193a-bb54-4723-8592-510045d9ca7b_1200x1200.jpg   55,26 Ko   42 téléchargement(s)

 

A noter qu'il existe toute une gamme de M5Stack et certainement des plus léger que la version Fire. La toute nouvelle version StickC Plus ne pèse que 15g, avec pratiquement tout autant de fonctionnalités que le Fire !

 

Fichier joint  M5Stick.jpg   45,9 Ko   43 téléchargement(s)

 

Il existe aussi un module pour faire de l'IA couplée à une caméra (modèle StickV) ...

 

Le module AWS offre en plus un écran tactile, par rapport au Fire, et d'autres choses encore pour l'IoT (sécurité).

 

Fichier joint  1_3f420584-fb2f-48c3-bd01-17f083de0880_1200x1200.jpg   38,37 Ko   54 téléchargement(s)Fichier joint  3_53b85f6d-0575-4c88-918c-4863e8b1ed24_1200x1200.jpg   118,07 Ko   44 téléchargement(s)

 

A ma connaissance, les modules sont vendus via Ali/Bang. On doit pouvoir en trouver dans les boutiques électronique/robotique en EU (https://shop.mchobby.be/).

 

Patrick.


Servo SCS2332 de FeeTech (4.5kg.cm, micro, HV)

02 octobre 2020 - 11:28

Bonjour,

 

Le SCS2332 est un servo au format micro, digital, produit par Feetech (Chine).

Fichier joint  IMG20201002232142.jpg   55 Ko   62 téléchargement(s)

 

Il s'agit d'un servo adapté aux applications de robotique : il se pilote via une liaison série (niveaux TTL, half-duplex) et il fournit un retour d'informations (position, vitesse, courant, température, et tension d'alimentation).

 

Caractéristiques principales :

Dimensions :23.2*12.1*28.5mm
Masse :20g
Vitesse maximale :0.09sec/60°@6V
Couple statique (STALL TORQUE) :4.5kg.cm@6V
Course :300° (précision ~0.3°)

 

Le servo tourne librement sur 360°.

 

http://www.feetechrc.com/product-name_55300.html

 

http://www.feetechrc.com/product-name_55300.html

 

La bonne nouvelle est qu'il semble fonctionner correctement avec une alimentation directe Lipo 2S (8.4V). La vitesse de rotation est très rapide à cette tension. Le courant d'appel à vitesse maximale est supérieur à 250mA à vide. Je n'ai pas encore testé en charge et en endurance. Donc, il reste un point de vigilance sur la capacité du servo à fonctionner de manière fiable en 8,4V. Apres quelques échanges avec le support technique de Feetech, leurs ingénieurs m'ont confirmé qu'il n'y a pas de contre-indication à faire fonctionner ce servo avec une batterie 2S en direct (sans BEC) bien qu'il soit commercialisé comme "6V 4.5kg.cm" dans leur catalogue.

 

 

 

Package :

Un palonnier alu circulaire taraudé 8 x M2 est fourni de base. Un hub 3 ports et un cordon sont également joint pour chaque servo.

Fichier joint  IMG20201002231938.jpg   64,6 Ko   47 téléchargement(s)

 

Test avec l'adaptateur USB FE-URT-1 :

Fichier joint  IMG20201002232655.jpg   67,37 Ko   49 téléchargement(s)

 

Comparaison avec un MG92b :

Fichier joint  IMG20201002231730.jpg   75,38 Ko   52 téléchargement(s)Fichier joint  IMG20201002231816.jpg   64,56 Ko   48 téléchargement(s)

 

Registres de configuration :

Fichier joint  Capture2.PNG   41,8 Ko   46 téléchargement(s)

 

On notera que le PID est configurable, ainsi que la vitesse et l'accélération de rotation. La position est encodée sur 10 bits.

 

Retour d'information temps réel :

Fichier joint  Capture.PNG   78,93 Ko   59 téléchargement(s)

 

Le bus série développé par FeeTech offre un débit maximum de 1Mbps. Il semble supporter les commandes de type "Sync Write" et "Bulk Write", mais pas "Sync Read". Ainsi, une même trame de commande envoyée sur le bus série peut etre reçue et décodée par plusieurs servo pour synchroniser leur rotation (chaque servo est commandé individuellement en position, vitesse...). Contrairement au protocole Dynamixel 2.0, il n'existe par d'équivalent des commandes de type "Sync Read" et "Bulk Read" pour le retour d'information. Il faudra donc interroger les servo un à un pour obtenir leurs informations courantes.

 

Actuellement, j'ai utilisé le logiciel FD pour piloter les servo Feetech depuis le PC. Je n'ai pas encore essayé de les piloter depuis une carte Arduino ou autre µC. Néanmoins, le support Feetech m'a envoyé les spécifications d'interfaces et la liste des registres de contrôle sur demande avec une excellente réactivité.

 

Interface Arduino :

Si le module FE-URT-1 est trop encombrant, il existe un module plus petit pour faire l'adaptation électrique : TTLinker.

https://www.robot-ma...inker-mini.html

 

Je complèterai ce sujet avec mes prochains essais. Beaucoup de paramètres configurables ne sont pas bien documentés (ex. wheel mode ?).

 

A suivre,

Patrick.

 

NB : Je ne sais pas poster de vidéo sur ce forum.

 

 


Modification d'un (micro) servo pour robot à pattes

18 septembre 2020 - 11:32

Bonjour,

 

--- EDITION 12-01-2021 ---

 

Le projet de modification d'un micro servo de type MG9x est arrivé à son terme. La réalisation est documentée sur hackaday.io.

 

 

Fichier joint  IMG20210109225448.jpg   45,71 Ko   44 téléchargement(s)Fichier joint  IMG20210109225906.jpg   42,92 Ko   40 téléchargement(s)

 

Le design matériel et logiciel est sur github : SMSModGit

 

Une collection de vidéo (playlist) présente les fonctionnalités de ce petit module couplé à un MG92b, dont voici quelques extraits :

 

https://youtu.be/zlluPpIHIOk

Fichier joint  IMG20210109235811.jpg   89 Ko   42 téléchargement(s)

https://youtu.be/zrTxHTn-A60

Fichier joint  IMG20210110104031.jpg   68,4 Ko   42 téléchargement(s)

https://youtu.be/ZC6DH60ER2E

Fichier joint  IMG20210109122924.jpg   69,03 Ko   53 téléchargement(s)

 

N'hésitez pas à liker le projet sur hackaday.io et youtube ! Merci.

 

A bientôt !

 

 

--- FIN EDITION ---

 

Je me lance dans la réalisation d'un mini robot quadrupède, et je rencontre quelques difficultés avec l'utilisation de micro servo du commerce (ex. : sg90, mg90, mg92). 

 

A mon sens, voici la situation actuelle avec les servos dont je dispose actuellement (mg90/92) :

 

Avantages :

- Très compact (évidemment)

- Très léger

- Couple assez élevé

- Plutôt robuste du point de vue mécanique

 

Problèmes :

- Position du neutre et course angulaire différentes d'un modèle à l'autre,

- Asservissement 'modélisme' pas adapté à la robotique (vibrations)

- Alimentation limitée à 6V ou 6.6V (+ parasites renvoyés dans l'alimentation)

- Pas de protection en température

- Pas de retour de position

- Pas de retour d'effort

 

 

Il existe certainement des micro servos haut de gamme HV, permettant de régler tout ou partie de ces problèmes. Ma crainte est que le coût de tels servos soit trop élevé, sachant qu'il en faut 8 à 12 pour un simple quadrupède. En outre, investir dans de tels servos n'est pas l'approche que je souhaite suivre pour le moment. Et, je ne suis pas sûr de trouver facilement la bonne référence. Je ne suis pas sur non plus que cette solution règle les principaux problèmes que je rencontre.

 

L'idée que je souhaite développer à travers ce nouveau sujet, est de modifier un servo existant (pas cher), en conservant la partie mécanique et en remplaçant la partie électronique, pour atteindre un niveau de performance et de fonctionnalités permettant de concevoir un robot quadrupède dans de bonnes conditions. Je publie ce sujet ici pour partager mon expérience dans ce projet, et pour profiter de vos conseils ! Voyons ensemble où cela nous conduit...

 

L'un des articles les plus pertinents que j'ai trouvé est le suivant :

https://backyardrobo...t-servo-motion/

https://youtu.be/48NxrRw1iC8

 

A suivre...

Patrick.