Aller au contenu


Photo
- - - - -

algorithme 3 roues omnidirectionnelles


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

#1 jcmag

jcmag

    Nouveau membre

  • Membres
  • 9 messages

Posté 09 décembre 2022 - 12:56

Bonjour,

J'ai un robot ayant 3 roues omnidirectionnelles, et je cherche des exemples de code (python, c++ ou même juste l'algo général) pour contrôler la vitesse des 3 roues pour diriger le robot dans une direction donnée.
Est-ce que vous auriez des exemples ou des pistes à me donner ?

merci d'avance



#2 Mike118

Mike118

    Staff Robot Maker

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

Posté 10 décembre 2022 - 12:47

Tu as cet article : https://poivron-robo...e-commande.html

Mais il y en a beaucoup d'autre qui existent :)

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  

 

 

 


#3 jcmag

jcmag

    Nouveau membre

  • Membres
  • 9 messages

Posté 10 décembre 2022 - 03:00

ah oui les équations ne sont pas simples ^^ je vais tester les équations finales, merci !



#4 jcmag

jcmag

    Nouveau membre

  • Membres
  • 9 messages

Posté 19 décembre 2022 - 07:49

une autre petite question : quand je connecte mon robot à l'ordi via usb, tout fonctionne. Mais quand j'utilise une batterie, tout s'arrête quand deux moteurs devraient fonctionner en même temps. Je veux dire que j'ai une tension de 0 à ce moment ; mes cours d'electricité du lycee sont loin, mais est-ce que les moteurs ne devraient pas quand même fonctionner, peut-être au ralenti, s'ils "tirent" trop sur la batterie ? là je ne comprends pas pourquoi d'un coup la tension tombe à 0...



#5 Sandro

Sandro

    Pilier du forum

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

Posté 19 décembre 2022 - 08:37

Bonsoir,

est-ce que tu pourrais être un peu plus précis s'il te plait?

Est-ce que tu pourrais nous faire un petit schéma de ton cablage pour qu'on comprenne qu'est ce que tu as dans ton circuit, comment c'est branché, et où tu mesures la tension.

 

Est-ce qu'avec l'arduino branché tu arrives à faire tourner les roues?

Est-ce qu'avec la batterie, tu arrives à faire tourner chaque moteur séparément?

C'est quoi comme batterie et comme moteurs? (si tu as des liens, c'est l'idéal, sinon une description et les éventuelles caractéristiques que tu connais devraient suffire).

Où est-ce que tu mesure la tension? Quelle est la tension avec batterie quand les moteurs sont éteints? Quelle est la tension quand tu alimentes l'arduino en USB.

 

Sans plus d'infos, il y a trop de possibilités pour pouvoir bien t'aider : arduino non alimentée, arduino alimentée avec une tension insufisente, court circuit, batterie morte, faux contact, ...


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.


#6 jcmag

jcmag

    Nouveau membre

  • Membres
  • 9 messages

Posté 20 décembre 2022 - 06:47

L'arduino est connecté à 2 L298N qui font tourner 4 moteurs, la batterie alimente l'un d'entre eux au port +12V, qui alimente le suivant au port +12V qui alimente l'arduino avec le port 5V

 

C'est quoi comme batterie et comme moteurs?
Une batterie 7.4V/1800mAh et une 3.7V/1050mAh

 

Est-ce qu'avec l'arduino branché tu arrives à faire tourner les roues?
Est-ce qu'avec la batterie, tu arrives à faire tourner chaque moteur séparément?
En fait, avec les 2 batteries en série : 1 moteur max (peu importe si l'arduino est branché ou non en USB)
Avec la batterie 7.4V seule : 3 moteurs si l'arduino est branché, sinon il marche 1 fois sur 2

Où est-ce que tu mesure la tension?
Aux bornes des 2 batteries en série

Quelle est la tension avec batterie quand les moteurs sont éteints?
11.7V

Quelle est la tension quand tu alimentes l'arduino en USB ?
Environ 5V



 



#7 Melmet

Melmet

    Pilier du forum

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

Posté 20 décembre 2022 - 08:23

L'arduino est connecté à 2 L298N qui font tourner 4 moteurs, la batterie alimente l'un d'entre eux au port +12V, qui alimente le suivant au port +12V qui alimente l'arduino avec le port 5V

 

C'est quoi comme batterie et comme moteurs?
Une batterie 7.4V/1800mAh et une 3.7V/1050mAh

Rien que les batteries, pour moi c'est pas bon: Trop faible puissance.

C'est quoi tes moteurs. tu as un liens?

 

Fait un nous un schéma de cablage stp.



#8 jcmag

jcmag

    Nouveau membre

  • Membres
  • 9 messages

Posté 20 décembre 2022 - 09:29

voilà les moteurs : https://www.lextroni...otor-12137.html

et le schéma de câblage (sans les fils de logique entre l'arduino et les shields) :

robot.png

(ce n'est pas une batterie de 9V mais 7,4V)



#9 Sandro

Sandro

    Pilier du forum

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

Posté 21 décembre 2022 - 02:14

Bonjour,

tout d'abord, pour les moteurs, ça a l'air d'être ceux là : https://education.ma...-encoder-motor/ : tu confirmes? En tout cas, même avec ton lien moins détaillé, le moteur est donné pour 5V ou 7.4V : pas dit qu'il résiste longtemps à 11.1V (en particulier les encodeurs), encore  moins à 12.6V (quand tes batteries sont chargées au max).

 

Pour tes batteries, je te déconseilles vivement de brancher deux batteries non identiques en série : l'une sera déchargée avant l'autre, ici la 3.7V qui a moins de capacité. Du coup, la tension totale restera positive, alors que la tension de la petite batterie descendra très bas, la tension totale suffisant à maintenir le courant. Si tu ne débranches pas à temps la petite batterie, tu atteindra vite des tensions critiques (<2.7V) qui endommageront ta batterie, voir risquent de la faire prendre feu/exploser, soit lors de la décharge, soit des charges suivantes.

Je te conseilles vivement de ne jamais mettre 2 batteries de types différents (ou même de vécu différent) en série, tout particulièrement s'il s'agit de batteries au Lithium : au mieux tu vas casser tes batterie à la moindre innatention, au pire tu vas mettre le feu à ta maison ou avoir une batterie qui t'explose entre les mains)

 

Pour vérifier si la batterie est assez puissante, tu peux brancher 0, puis 1, puis 2, puis 3, puis 4 moteurs en direct sur la batterie 7.4V, et vérifier s'ils tournent bien, et quelle est la tension de la batterie (si elle baisse fortement avec le nombre de moteurs, alors elle n'est pas capable de fournir assez de courant).

 

Ensuite, le choix des L298N comme controleur de moteurs est un très mauvais choix (je ne sais même pas pourquoi on les trouve encore de nos jours), surtout pour des moteurs très basse tension : en effet, on perd jusqu'à 4.9V de tension dans le L298N (cf https://www.st.com/r...asheet/l298.pdf, page 3, ligne VCEsat).

 

Je ne suis pas sur non plus que le convertisseur de ton module L298N te fournisse un 5V propre, en particulier lorsque la tension n'est que de 7.4V. Je te conseillerais plutôt d'alimenter l'arduino en 7.4V sur la pin Vin, et d'utiliser le régulateur interne de l'arduino.

 

Tu peux aussi vérifier si sur la sortie 5V tu as bien du 5V.


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.


#10 jcmag

jcmag

    Nouveau membre

  • Membres
  • 9 messages

Posté 27 décembre 2022 - 11:29

ok, merci pour ta réponse ! je vais éviter de mettre le feu à la baraque ^^
Est-ce que le L293D est bien ?



#11 Sandro

Sandro

    Pilier du forum

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

Posté 28 décembre 2022 - 10:55

Bonjour,

c'est pas vraiment mieux non plus : https://www.mouser.f...93d-1849134.pdf , cf p3, lignes VCE(sat)H et VCE(sat)L

la perte typique est de 1.4V pour la sortie a l'état haut + 1.2V pour la sortie à l'état bas, soit une perte total de 2.6V (max : 1.8+1.8=3.6V) : c'est un peu mieux que le L298N, mais pas de beaucoup (et je ne suis pas sur que les 600mA te suffisent)

 

Sans connaitre tes contraintes exactes en terme de tension d'alimentation (tu comptes rester en 7.4V ou utiliser une tension plus élevée?) et le courant max de tes moteurs, je ne peux pas te donner d'indications précises sur quel driver convient.

Mais à titre de comparaison, si on prend 2 des drivers "décents" disponibles sur la boutique :

- DRV8833 (https://www.ti.com/l...ink/drv8833.pdf ) : résistance typique de 400mohms, donc perte de 0.4V @1A (le courant max en continue). Attention, tension limitée à 10.8V, donc tu le grille si tu utilises une batterie lithium 3 cellules

-  TB6612FNG ( https://www.mouser.f...1001-708260.pdf ) : perte de 0.5V @1A, tension max 15V

 

NB : on peut même trouvé des pertes encore plus faible si besoin


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.





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

0 members, 1 guests, 0 anonymous users