Bonjour,
je commence un nouveau projet de robot à base d'Arduino et je suis actuellement dans la phase de recherche de mes composants. Mon but est de réussir à recréer un Cubli; un petit cube qui peut tenir en équilibre et se déplacer grâce à trois roues de réaction muent par des moteurs.
Les moteurs doivent être légers, capables de tourner plutôt vite, dans le sens horaire et anti-horaire, sans vibrations et avec un bon couple. Je me suis donc tourné vers les moteurs brushless. Mais je suis actuellement en train de m'apercevoir que c'est un réel cauchemar quasiment personne n'explique comment contrôler un moteur brushless dans les deux sens à partir d'une Arduino. A moins d'utiliser un pont en H pour inverser à chaque fois la polarité du moteur mais trois pont en H seraient trop encombrants.
Il existe bien des dizaines de tutos mais ceux-ci se contentent de faire varier la vitesse du moteur avec un potentiomètre sans jamais le faire changer de sens.
Il pourrait paraître plus simple d'utiliser des moteurs à courant continu mais ceux-ci une fois asservis en vitesse ne fournissent pas le même couple en fonction de leur tension d'alimentation or c'est précisément le couple pur du moteur qui maintiendra l'équilibre du robot.
Existe-t-il donc des moyens contrôler des moteur brushless de cette manière?
je ne suis pas spécialiste des brushless, mais j'ai l'impression que l'on utilise souvent des esc qui ne sont fait que pour tourner dans un seul sens. Mon disque dur d'ordinateur ne tournera jamais à l'envers. Le ventilateur non plus. Du coup avec ces dispositifs, on ne peut "reculer". C'est comme avec mon vélo.
Il existe des drivers qui peuvent aller dans les deux sens (comme les monocycles!!!), par exemple le circuit TC78B011FTG dont la datasheet indique:
On trouve ce composant en plaquette
Je ne suis pas pour ce circuit, c'est seulement le premier lien que j'ai suivi.
A vérifier, mais pour inverser le sens, il doit suffire d'inverser la polarité d'un seul fil
Pas clair. Pour moi, c'est la vitesse des masses en inertie qui est importante. Si le cube est en équilibre, les moteurs vont tourner à vitesse constante et ils ne délivreront plus de couple (sauf pour vaincre les frottements.
Je pense que le choix du brushless est bon mais je ne saurais le justifier.
J'avait aussi entendu parler des drivers qui fonctionnaient avec un système appelé BLHeli, que l'on peut flasher avec une Arduino afin de le programmer pour tourner dans les deux sens.
De mon côté j'ai vérifié pour les drivers TC78B011FTG mais ils sont introuvables.
En regardant un peu plus sur youtube j'ai vu que la majorité des personnes qui ont eu le même projet que moi ont utilisé des moteurs nidec 24H qui sont des moteurs brushless mais en plus d'être très difficile a trouver, ils sont hors de prix. Je ne sais donc plus vers quelle possibilité me rabattre.
Je confirme un moteur Brushless nécessite d’être piloté par un ESC, d’un part parce que le courant consommé ne pourrait être encaissé par une carte type Arduino , ensuite ce sont des moteurs qui ont 3 phases et ça devient un peu plus délicat à gérer.
Par contre, il est tout à fait possible de les commander dans 2 sens de rotation différent. Il faut voir du côté des véhicules RC terrestre pour approvisionner un ou des ESC capables de gérer deux sens de rotation.
Le signal à envoyer vers l’ESC est le même que pour un servo-moteur.
Je pense plutôt que pour changer le sens de rotation il faut permuter les phases.
Mais comme le dit @Jambe il faut regarder du coté des véhicules terrestres. Il faut bien regarder la description des ESC. Ils sont souvent programmables avec justement des options pour choisir rotation dans un seul sens ou dans les 2 sens avec ou sans freinage.