Aller au contenu


Teddy Bommer

Inscrit(e) (le) 24 févr. 2018
Déconnecté Dernière activité févr. 25 2018 11:33
-----

Sujets que j'ai initiés

Problème de servo à rotation continue avec arduino Uno

24 février 2018 - 08:45

Bonjour,

 

je viens solliciter de l'aide car je rencontre un problème sur mon projet de robot.

 

J'explique : je suis enseignant et je compte monter un projet de robot sumo avec mes collégiens. J'utilise une carte avec Shield pour que le projet reste accessible à des enfants en terme de branchements.

Le robot est composé du matériel suivant : une carte Arduino Uno, un Shield Grove, 2 servomoteurs à rotation continue (FS5106R), 1 capteur de type bouton poussoir, 2 ou 4 capteurs de ligne, 1 capteur de distance IR.

Avec tout cela il est sensé se déplacer sur une surface plane et noire mate dont le bord est une ligne blanche brillante (d'où la détection de ligne), détecter et pousser le robot adverse. L'ensemble pèse moins de 500g.

 

J'ai tenté différentes alimentations sur le robot (mais j'y reviendrai) dont : l'USB, 4 accu NiMH 1.2V 2000mA sur le jack 2.1 ou sur Vin et GND, une pile 9V alcaline sur jack 2.1, une batterie Lipo 7.4V 2200mA 35C sur jack 2.1.

 

Mon premier problème : je pense qu'il y a un souci d'alimentation des servo par la carte Arduino.

 

J'ai branché mes capteurs/actionneurs comme suit : Bouton poussoir sur D2, 2 capteurs de ligne sur D3 D4, Servo gauche et droite respectivement sur D5 D6 et capteur IR sur A0.

 

J'ai fait un premier petit programme juste pour tester et calibrer la rotation des servo : Après un appui sur le bouton, attente de 2 sec puis rouler vers l'avant à 50% de la vitesse max.

J'ai tenté différentes configurations d'alimentation et j'obtiens des résultats différents, ce qui me fait supposer un problème d'alimentation.

 

1 - Lorsque le robot est branché en USB + pile 9V sur jack 2.1, ou USB + 4 accu sur jack 2.1 = les roues tournes par défaut (non calibrées) puis comme demandé par le programme.

2 - Lorsque le robot est branché en pile 9V sur jack 2.1 + 4 accu sur Vin et GND = les roues tournes à peine par défaut (non calibrées).

3 - Lorsque le robot est branché uniquement sur jack 2.1 par pile 9V, ou batterie Lipo, ou 4accu = les servo font un bruit léger comme si ils forçaient mais rien ne tourne.

 

J'ai réalisé un second programme de test : Après un appui sur le bouton, attente de 2 sec puis rouler vers l'avant à 50% de la vitesse max pendant 3 sec, puis rouler vers l'arrière à 25% de la vitesse max.

 

1 - Lorsque le robot est branché en USB + pile 9V sur jack 2.1, ou USB + 4 accu sur jack 2.1 = inchangé vers l'avant, puis reboot de la carte Arduino quand les moteurs changent brusquement de sens.

2 - Lorsque le robot est branché en pile 9V sur jack 2.1 + 4 accu sur Vin et GND = inchangé

3 - Lorsque le robot est branché uniquement sur jack 2.1 par pile 9V, ou batterie Lipo, ou 4accu = inchangé

 

Enfin j'ai testé à nouveau ce dernier programme avec 1 seul servo.

 

1 - Lorsque le robot est branché en USB + pile 9V sur jack 2.1, ou USB + 4 accu sur jack 2.1 = le programme fonctionne correctement.

2 - Lorsque le robot est branché en pile 9V sur jack 2.1 + 4 accu sur Vin et GND = le robot se comporte comme le 1 du test précédent (reboot de la carte sur la marche arrière)

3 - Lorsque le robot est branché uniquement sur jack 2.1 par pile 9V, ou batterie Lipo, ou 4accu = inchangé.

 

Les moteurs étant sensés changer de sens pour diriger automatiquement le robot en fonction des limites et de l'adversaire, je n'ai pour le moment, aucune solution satisfaisante.

Je souhaiterais de l'aide pour comprendre ce qui ne va pas ou des propositions d'évolution de mon robot pour corriger ce problème.

 

Par avance je vous remercie pour votre aide et votre temps.

 

Cordialement.