Bonjour à tous,
En me replongeant dans le travail que j'avais effectué pour piloter 8 servo-moteurs, voir
la série d'articles sur mon blog, j'ai voulu remettre les choses à plat.
En effet, quand on pilote un servo-moteur pour bouger les aiguilles d'un aiguillage, on se moque un peu de la manière dont le mouvement est effectué, du moment qu'il est lent. J'avais donc fait un mouvement linéaire sans phase d'accélération ou de décélération. Donc le plus basique possible.
Voulant maintenant manœuvrer des portes de remise, je voulais un mouvement réglable en vitesse, mais aussi que la position angulaire suive une trajectoire qui ne soit pas forcément une droite. Je veux par exemple que la porte vienne en butée puis rebondisse et s'arrête progressivement.
je me suis demandé si il n'existait pas une bibliothèque pour effectuer des mouvements lents sur les servo-moteurs et je n'ai absolument rien trouvé.
J'en ai donc fait une.
On peut donc pour chaque servo :
- définir les positions minimum et maximum ;
- régler la vitesse indépendamment dans chaque sens de déplacement ;
- définir une trajectoire quelconque sous la forme d'une courbe mathématique ;
3 trajectoires sont disponibles toutes faites :
- linéaire
- accélération puis décélération en sinus
- accélération en sinus, rebond sur la butée et décélération en 1/temps
Pour l'instant j'ai un prototype qui tourne mais il faut que je finisse de monter une remise pour montrer le mouvement des portes
Il faut également que je vérifie que l'Arduino arrive à calculer des fonctions complexes pour 8 servos sans que le mouvement en pâtisse.
Je me servirai de cette bibliothèque pour mettre à jour le logiciel pour piloter 8 servo-moteurs.
Elle disponible via le gestionnaire de bibliothèques de l’IDE