Aller au contenu


Photo

Vidéo : 5 barres avec brushless


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

#1 Thot

Thot

    Membre passionné

  • Membres
  • PipPipPip
  • 327 messages
  • Gender:Male
  • Location:Toulouse

Posté 14 janvier 2021 - 07:31

Par curiosité, au passage, la chaine youtube est sympa.

 


"Il n'y a rien de plus étrange pour l'homme que son image" RUR, Karel Capek
Caliban Midi - Art - Terroir et Robotique


#2 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 14 janvier 2021 - 09:28

C'est bien, c'est très bien, mais qu'elle est l'avantage, par rapport à un moteur pas à pas ?

Et, ça consomme combien ?

 

Je sais bien que les meilleurs quadrupèdes (et peut-être bipèdes) ont des moteurs Brushless, mais je n'ai jamais compris pourquoi.

Les meilleurs servos ont des moteurs Brushless, alors pourquoi ne font-ils, pas mieux ?



#3 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 16 janvier 2021 - 09:02

Pour les moteurs pas à pas, ils ont plusieurs inconvénients :

- assez gros et lourds

- risque de sauter des pas en cas de "chocs" extérieurs (par exemple si le quadrupède pose le pied un peu trop brutalement), dans quel cas on perd l'information sur la position (et s'il faut rajouter un encodeur à un moteur pas à pas, alors autant prendre un moteur DC avec encodeur)

 

En gros, à mes yeux, les moteurs pas à pas sont très bien lorsqu'on veut contrôler assez précisément un déplacement sur plusieurs tours (sinon autant prendre un servo), avec un couple limité (sinon c'est moins cher de prendre motoréducteur+encodeur), dans un environnement bien maîtrisé (pas de risque de chocs ou de résistances qui font sauter des pas). Si les moteurs sont fixes, c'est encore mieux.

Donc adapté pour des imprimantes 3D, des CNC, des "traceurs", des robots "d'animation", ... mais pas très pertinent pour la locomotion.

 

 

Pour la question pourquoi beaucoup de quadrupèdes utilisent des Brushless (+ encodeur) plutôt que des servos basés sur des brushless :

- les gros servos sont souvent très cher (ça revient probablement moins cher d'avoir brushless + encodeur)

- grand choix de brushless (permet de choisir le modèle le mieux adapté au robot)

- possibilité d'utiliser les brushless en "direct drive" (ie sans réducteur, contrairement à la grande majorité des servos) : j'y reviendrais plus bas

- possibilité de déporter l'électronique où on veut, pour avoir un moteur plus compact (donc plus facile à intégrer dans les pattes)

- possibilité d'implémenter exactement les fonctions qu'on veut (retour de force, mesure de courant (donc de couple), asservissement exactement comme on veut, ...)

- on réduit les intermédiaires : si on a un servo, on donne une consigne au servo qui vas a son tour donner une consigne au moteur ; si on commande directement le brushless, on s'épargne un intermédiaire, ce qui réduit la latence et permet de mettre en place un contrôle plus précis.

- un servo est souvent une "boite noire", dont le fonctionnement interne est mal documenté (quel asservissement est fait?) et pas contrôlable (on ne peut souvent pas modifier les paramètres de l'asservissement)

 

Donc si en tant hobbyiste, tu veux rapidement faire un quadrupède, tu y arrivera plus facilement avec des servos. Si en revanche c'est un très gros projet (par exemple un robot d'une entreprise ou d'un labo, ou d'un passionné qui compté y passer énormément de temps (et qui a de bonnes connaissances en contrôle)), alors il vaut probablement mieux utiliser des brushless avec encodeur : cela renvient au final à créer un servo "custom" qui répond exactement a tes spécifications, et sur lequel tu as un contrôle total directement depuis ton programme.

 

 

 

Pour finir, rapidement les avantages du direct drive (ie des moteurs, ici brushless) directement reliés aux pattes sans passer par un réducteur :

- possibilité facile de mesure de couple (via la mesure de courant)

- "élasticité" en fonction de l'asservissement (tout effort externe se répercute sur le moteur ; plus on envoi de courant pour contrer cette perturbation, moins le comportement est "élastique"). Des moteurs en direct drive permettent souvent de simuler des ressorts ou des membres souples, tout en gardant les membres rigides (ce qui permet une mesure très facile de la posture)

- permet d'encaisser des chocs importants : sur un motoréducteur, un choc important en sortie entraînera souvent des dégâts sur le réducteur. Un brushless en direct drive se contera de tourner un peu sous le choc, sans casser (il y a des vidéos de quadrupèdes qu'on fait tomber depuis des hauteurs importantes sans dégâts)

- permet souvent des vitesses importantes

- pas de jeu introduit par les engrenages du réducteur, ni d'hystérésis lorsqu'on change de sens de rotation

En revanche, les brushless en direct drive sont souvent gros et consomment pas mal de courant, vu qu'aucun réducteur ne permet d'augmenter le couple


Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...

Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.


#4 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 17 janvier 2021 - 08:35

Merci Sandro, pour cette réponse détaillée.

 

Evidemment, les robots utilisant des Brusless comme Doggo ou Chettah, avec leur élasticité dans les membres, paraissent magiques, même avec une petite réduction à courroie, mais l'intensité, pour maintenir une position, ne doit-elle pas être énorme ? 

 

Quelque soit le moteur, courant continu, pas à pas ou Brushless, pour augmenter le couple, on utilise un réducteur de vitesse, mais là, non !

Alors je m'interroge sur leur leur consommation qui, me semble t-il, doit être énorme.



#5 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 17 janvier 2021 - 08:56

Bonjour,

 

Je n'y connais pas grand chose en moteur, mais il me semble que les moteurs pas à pas fonctionnent à courant pratiquement constant et ils sont très lourds, probablement à cause du nombre de poles (200 à 400 par révolution). Ces moteurs se pilotent assez simplement, en boucle ouverte, et ils privilégient le couple à la vitesse. Sur ces points, les moteurs brushless semblent de conception plus légère. Leur courant peut être régulé en fonction du couple et de la vitesse recherchés. Ils sont associés à un réducteur pour élever leur couple. Intuitivement, un servo moteur à base brushless offre un meilleur rapport poids/puissance que les pas à pas, une meilleure souplesse dans la rotation, et une capacité à accélérer supérieure. Par contre, le pilotage d'un brushless est plus complexe, en boucle(s) fermée(s) avec capteur de position et de vitesse précis.

 

Avec un contrôle de type FOC, je suis étonné de la faible consommation du moteur. Ce type d'algorithme optimise la consommation. Peu d'énergie est dissipée par le moteur et par le contrôleur dans ce mode de fonctionnement. Le moteur pas à pas dissipe énormément et pour un appareil sur batterie, comme un robot, c'est rédhibitoire pour l'autonomie.

 

Patrick.



#6 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 17 janvier 2021 - 12:38

Avec un contrôle de type FOC, je suis étonné de la faible consommation du moteur. 

Je ne sais pas ce qu'est un contrôleur FOC.

Comment un moteur Bushless peut-il maintenir une position sans consommer beaucoup d'énergie ? Sans doute que ce n'est pas un seul électro-aimant qui est actif, mais l'ensemble ou une partie des électro-aimants qui sont figés dans une position, mais quand même, ça consomme, des électro-aimants. Non ? 

 

Dans ta vidéo "SMS Arduino Stallguard sketch (EX3)", ton servo s'arrête dès qu'un obstacle est rencontré, mais peut-être pourrais-tu prévoir que le servo puisse aller à sa consigne dès que l'obstacle est supprimé. Cela se rapprocherait de la suspension des moteurs Brushless.

Je pense avoir déjà vu cela, mais je ne rappelle plus où, je vais chercher.



#7 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 17 janvier 2021 - 12:55

FOC : https://fr.wikipedia...nde_vectorielle

 

Il s'agit d'une façon de piloter un moteur brushless qui tire partie de la puissance de calcul de nos MCU. L'asservissement est rapide (toutes les 100µs). Il faut pouvoir calculer un sinus et un cosinus à chaque itération avec une précision correcte. Les STM32G4 intègrent un accélérateur matériel (CORDIC) pour cela. En théorie, cela minimise la perte d'énergie car le courant injecté dans les bobines du moteur est orienté (phase) de telle sorte que cela maximise le couple à tout moment (maximum torque, minimum flux). Bien sur, en présence d'un effort, ca consomme, mais le rendement doit être optimal. En outre, ca ne fait aucun bruit. Avec un pas à pas, je ne pense pas que ce type d'asservissement soit courant. Ca fait trois jours que je galère sur l'implémentation, qui n'est pourtant pas compliquée. En boucle ouverte, ca marche bien. Comme dans la vidéo du début (implémentation de type SimpleFOC). Mais quand j'active les deux PI qui font partie du FOC, ca aggrave les choses (bruits, augmentation du courant, aucun gain en couple). C'est un bug (ou plusieurs) ! 

 

Dans ta vidéo "SMS Arduino Stallguard sketch (EX3)", ton servo s'arrête dès qu'un obstacle est rencontré, mais peut-être pourrais-tu prévoir que le servo puisse aller à sa consigne dès que l'obstacle est supprimé. Cela se rapprocherait de la suspension des moteurs Brushless.

Je pense avoir déjà vu cela, mais je ne rappelle plus où, je vais chercher.

Oui ! Et c'est le code Arduino qui fixe le comportement du servo, à partir du retour d'information sur la position et le courant. On le voit dans l'EX4. Le comportement est différent. Le servo pousse la bouteille jusqu'à une certaine limite de couple. Si j'avais retiré la bouteille en cours de démo, le servo aurait atteint sa position cible.



#8 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 17 janvier 2021 - 02:17

Voici la vidéo dont je parlais plus haut. Ici, c'est un servo bas de gamme, SG90S. On peut voir l'élasticité à la mode moteur Brushless, à 1'02".

Ce serait super, si tu pouvais faire ça !

 

Attention, je ne rien contre les moteurs Brushless, voir mon fil https://www.robot-ma...eurs-brushless/, mais j'aimerais comprendre.

Et je dois dire que jusque là, ce n'est pas clair, pour moi.

 

Un lien vers quelques explications, https://backyardrobo...t-servo-motion/

 



#9 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 17 janvier 2021 - 02:35

Et bien ca le fait. Evidemment !



#10 Mike118

Mike118

    Staff Robot Maker

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

Posté 17 janvier 2021 - 02:53

Autre élément intéressant, si le servo 2 butte sur une obstacle et n'arrive pas à atteindre la position spécifié par le servo 1, augmenter le couple résistant sur le servo 1 =) ( ça fait un effet retour haptique ;) )


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  

 

 

 


#11 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 17 janvier 2021 - 02:57

Intéressant, je n'avais pas pensé au retour de force. Il y aura un EXemple6, bientôt ! :-)



#12 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 17 janvier 2021 - 03:01

Et bien ca le fait. Evidemment !

Je crois que tu vas devoir faire un vidéo spécifique. 

Succès assuré pour ton projet ! 



#13 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 17 janvier 2021 - 03:06

Techniquement ca tient à un Kp du PID position de valeur réduite.

 

Mais c'est vrai que j'avais, dans ma liste, à faire une vidéo plus spécifique de l'aspect "compliance".

 

Couplé au retour de force, ca peut etre démonstratif ! Bon, je suis pas trop doué en vidéo, mais je vais faire l'effort !

 

Patrick.



#14 Forthman

Forthman

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 382 messages
  • Gender:Not Telling
  • Location:Montauban (82)

Posté 17 janvier 2021 - 06:16

On peut créer un mouvement fluide avec un servo, mais ce n'est pas comparable à un brushless (encore que brushless n'est pas le bon terme car ça désigne TOUS les moteurs sans balais)

dans un servo il y a un paquet d'engrenages pour réduire la vitesse, de ce fait il ne peut pas "amortir" un choc.

 

Pour ce qui est de la consommation électrique, effectivement pour maintenir la position un brushless va consommer bien plus qu'un servo.

Mais le fonctionnement est proche du fonctionnement d'un muscle, donc s'il est en équilibre, il ne consomme presque rien.

Par exemple, si tu marches avec les jambes fléchies (limite accroupi) tu auras besoin de produire plus d'efforts que de marcher normalement

où les jambes sont droites (ou presque) à chaque fois que le poids du corps est dessus.

 

Le gros avantage de ces moteurs : pouvoir faire des mouvements brusques et puissants, qui consomment plus d'énergie (comme quand on perd l'équilibre et qu'on se rattrape )



#15 Thot

Thot

    Membre passionné

  • Membres
  • PipPipPip
  • 327 messages
  • Gender:Male
  • Location:Toulouse

Posté 17 janvier 2021 - 06:45

Voici une vidéo qui montre en effet le retour haptique

 

 

La programme consiste à ce que les deux moteurs aient pour consiqne la moyenne de la position de chaque moteur.

 

la puissance des brushless consiste aussi à avoir un moteur qui peut prendre 30A dans les bobines mais à limiter à 15A pour éviter de trop chauffer. Si on ajoute un petit étage de réduction, on augmente le couple d'autant.

La résistance interne de tels moteurs est souvent assez faible et donc l'endroit où l'énergie se perd majoritairement. On a pas les frottements des engrenages. C'est pas forcément que ça consomme plus mais que c'est plus efficace. Si on mets 30A dans les bobines, le contrôleur compensera par une tension équivalente dans les bobines très faible.

 

Un point noir à considérer, tout de même, avec les brushless sans réducteurs, c'est une précision faible. C'est un peu comme un moteur pas à pas, il a tendance à avoir des "crans". C'est l'effet "cogging" qui peut se compenser mais il en reste toujours un peu, notamment à vitesse très lente. Mais si on met un étage de réduction ou une charge à forte inertie, ça lisse mécaniquement.


"Il n'y a rien de plus étrange pour l'homme que son image" RUR, Karel Capek
Caliban Midi - Art - Terroir et Robotique


#16 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 17 janvier 2021 - 07:11

Merci pour l'information Thot, ce sera facile à implémenter puisque c'est juste une moyenne !



#17 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 17 janvier 2021 - 07:29

s'il est en équilibre, il ne consomme presque rien.

S'il est arrêté, en "équilibre", avec un palonnier parallèle au sol (en porte à faux) avec un poids à son extrémité, un certains nombre de bobines doivent être activées pour maintenir la position.

J'imagine que ces bobines vont consommer un max de courant.



#18 Thot

Thot

    Membre passionné

  • Membres
  • PipPipPip
  • 327 messages
  • Gender:Male
  • Location:Toulouse

Posté 17 janvier 2021 - 10:20

Le code pour le retour haptique avec la Tinymovr :)

 

https://github.com/y...presence_pos.py


"Il n'y a rien de plus étrange pour l'homme que son image" RUR, Karel Capek
Caliban Midi - Art - Terroir et Robotique


#19 Forthman

Forthman

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 382 messages
  • Gender:Not Telling
  • Location:Montauban (82)

Posté 17 janvier 2021 - 10:45

S'il est arrêté, en "équilibre", avec un palonnier parallèle au sol (en porte à faux) avec un poids à son extrémité, un certains nombre de bobines doivent être activées pour maintenir la position.

J'imagine que ces bobines vont consommer un max de courant.

 

Mais pour le coup ce n'est pas être en équilibre mais en position maintenue.

Pour reprendre mon exemple du corps humain, quand on est en position debout, les muscles ne fournissent pas beaucoup d'effort

Par contre si on lève une jambe et qu'on la maintien en position, il faut forcer.

En position debout on est presque en équilibre



#20 pat92fr

pat92fr

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 673 messages
  • Gender:Male

Posté 17 janvier 2021 - 10:49

Le code pour le retour haptique avec la Tinymovr :)

 

https://github.com/y...presence_pos.py

Merci ! Il fait la moyenne des positions et vitesses. Curieux ! 






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

0 members, 0 guests, 0 anonymous users