Bonjour les makers !
J'ai décidé de mettre la barre un peu plus haute cette fois ci tout en restant à un niveau accessible, c'est pour quoi je me suis rapidement intéressé au robot de type "Self Balancing".
Pour ceux qui ne connaissent pas c'est un robot qui tien en équilibre sur seulement deux roues (ou autre) un peu comme un séguouais (ça ne doit définitivement pas s'écrire comme ça ). Le robot est en perpétuel déséquilibre lorsqu'il se trouve à la verticale et l'objectif est qu'il arrive à se rendre compte qu'il est en train de chuter vers l'avant ou vers l'arrière et qu'il arrive à compenser cette chute grâce à ses moteurs. C'est un cas de pendule inversé que je trouve très intéressant d'un point de vu physique, toutes les données relatives aux déplacements (angulaires ou linéaires) du robot sont données par une centrale inertielle 6 axes (trois pour les accélération suivant x, y, z et 3 pour les rotation suivant a, b, c). Pour la motorisation j'ai décidé d'utiliser des moteurs pas à pas car de une je rêvais d'en utiliser et de deux je pense qu'ils sont les plus adaptés au problème.
En effet leur précision me permettra de corriger le plus petit des angles (1.8° normalement), leur répétabilité et le fait qu'ils ne se désynchronisent pas l'un et l'autre (si il n'y a pas de glissement) permet un contrôle parfait de la trajectoire du robot et il n'y a pas besoin d'odométrie car on connait constamment leur position angulaire.
Pour la partie commande je veux utiliser une arduino Mega puisque j'en ai une qui ne sert à rien et que je pense que je vais avoir besoin de mémoire (le programme pour lire les données de la centrale pompe 54% de la mémoire d'une uno contre 4% pour la méga).
Si je récapitule le matériel que je vais utiliser :
- Deux moteurs pas à pas bipolaires de type 17HS1352-P4130
- Deux drivers de moteurs pas à pas TB6560 3A
- Une arduino mega
- une centrale inertielle MPU6050
- Et une batterie chinoise 12V 4000 mA/H
Je remercie au passage Jan et Mike pour le service rendu avec la boutique des makers, je me suis tout procuré dessus (sauf la batterie et l'arduino) du coup, si j'arrive à faire un robot viable sachez qu'il y'a tout ce qu'il faut sur ce site !
J'ai commencé par une petite étude théorique, je ne mettrait pas les calcules ici sauf si vous insistez. Je me suis d'abord rendu compte que si je plaçais la centrale sur le dessus l'angle formé par l'axe x (par exemple) avec l'horizon (donc l'angle mesuré par la centrale) était exactement le même que celui subit par le vecteur poids au centre d'inertie du robot (youpis une page pour ça !) Je sais donc qui si mon robot tombe de 10° vers l'avant il faudra que mes moteurs tourne de 10° vers l'avant (je me suis peut être trompé, faites le moi savoir si je dis n'importe quoi)
Pour savoir à quelle vitesse les moteurs devront tourner pour atteindre cet angle il faut effectuer une étude dynamique du système et la je bug un peu dessus (mine de rien mes cours remontent loin) en plus j'ai reçu mes pièces entre temps donc j'ai un peu abandonné les calculs, que je reprendrais si je ne trouve pas empiriquement !
La première chose que j'ai faite a été de tester le matériel. J'ai eu beaucoup de mal à faire les soudures pour la centrale, j'ai me suis même immolé plusieurs fois (d'où le nom BurnBot). Le capteur ne fonctionnait pas au début à cause de mes mauvaises soudures (c'est tout un métier !), je pensais l'avoir fait cramer à force de rester en contact avec mon fer mais Mike à réussis à me démontrer que ça venait de mes soudures et tout à fonctionné en les recommençant une énième fois.
Pour les moteurs ça a été plus facile mine de rien, il suffit de les connecter au driver, à la batterie et à la carte pour qu'ils fonctionnent. J'ai d'ailleurs réaliser une petite dérivation "home made" pour pouvoir alimenter les deux moteurs avec la batterie et tout relier à la masse.
J'ai suffisamment avancé sur la conception du robot pour ouvrir ce post (voir photo). Le design me plait bien pour un premier proto, je doit encore le modifier dans un soucis d'impression (je vais séparer le haut du corps en deux pièces) mais vous avez déjà un bon aperçu du look qu'il aura.
Prochaine étape, lancer l'impression ce week end pour enfin pouvoir le monter. Une fois assemblé je commencerais les essais avec la programmation, y'a moyen que ça aille vite, j'adore le projet il me passionne
Mon objectif ultime serait qu'il soit complètement stable à l'arrêt (aucun vas et vis ni balancement) et qu'il arrive à se déplacer plutôt rapidement).