Aller au contenu


Mike118

Inscrit(e) (le) 26 janv. 2012
Déconnecté Dernière activité mars 06 2026 07:07
*****

Messages que j'ai postés

Dans le sujet : 2nd du concour Robot Sumo de la Tour du Pin 2025 (38)

02 février 2026 - 01:16

Super deuxième place ! Hâte de voir des vidéo du robot ! =)


Dans le sujet : [Avis Schéma] Robot 4WD sous Linorobot2 (Pico + RPi 4 + TB6612FNG)

29 janvier 2026 - 03:34

 

Merci pour vos réponses et commentaires !

 

pour la compréhension du schéma je vais en faire un autre en utilisant Fritzing mais en attendant que je le poste, j'ai mis a jour en faisant attention aux couleurs des différentes tensions, en enlevant deux câblages moteurs et en simplifiant (un peu) les masses.

En ce qui concerne la PowerBank, je vais la supprimer comme indiqué par Mike, je mettrai alors le Raspberry sur le 5V. Mais je pense que je vais d'abord debugué comme ça... quand tout marchera je vais l'enlever ! En effet une seule source c'est mieux !

 

oui c'est mal indiqué, mais mon but est d'alimenter le Pico par la prise USB du Pi 4. Est ce un problème si je fais comme ça ? Sinon le 5V n'est-il pas un peut trop ?

 

Si tu alimentes le pico par l'usb de la pi pas besoin de remettre le 5V sur le Pico. 


5V => Pi = usb => Pico  ça suffira sans soucis. Par contre évite de court circuité le 5V de ta pico après ... Avec ce câblage, si par erreur tu mets ton 12V sur ton 5V du pico, c'est pas que le pico qui risque de ne pas apprécier la blague ...
 


Dans le sujet : [Avis Schéma] Robot 4WD sous Linorobot2 (Pico + RPi 4 + TB6612FNG)

28 janvier 2026 - 10:14

Pour faire un petit retour sur les remarques de Sandro, 

STBY doit bien être relié au 5V. 

Et pour la couleur des fils en général je suis 100% d'accord avec la remarque de Sandro d'essayer d'avoir un code couleur cohérent. 
Je suppose que dans ton cas tu as voulu suivre la couleur d'origine des fils des moteurs ( ce qui est une façon comme une autre d'être cohérent vu que tu as fait ton schémas en visuel ( image des composants) et pas en symbolique),
et si c'est bien le cas j'ai finalement repéré une petite erreur...
Pour les moteurs avec encodeurs comme ça  les fils des moteurs sont généralement aux extrémités et donc c'est censé être le fils rouge et le fil blanc.  Le noir et le bleu sont les alimentations de encodeurs. 
Donc attention à ton câblage des moteurs ce point est à revoir pour relier les bons fils aux bons endroit.
J'étais passé à côté de ce point lors de ma première lecture. 


Dans le sujet : tressage avec 2 moteurs pas à pas

27 janvier 2026 - 11:53

Je penses que le problème vient du fait que sur Arduino, un int ne fait que 16 bits (et pas 32 ou 64 bits comme sur les ordinateurs).

Je penses que le problème vient de cette ligne :

long steps = toursTorsade * 800;

toursTorsade=100 (de type int)

800 = 800 (de type int)

100*800 = 80 000 >2^16 : donc ça ne rentre pas dans un int. Le résultat est donc 800 * 100 modulo 2^16 = 14 464 = 18.08 * 800, soit environ 18 tours

De même pour 200*800 modulo 2^16 = 28928 = 36.16 * 800, soit un petit peu plus de 36 tours
 

Le "problème" est qu'une opération entre 2 int est calculée en tant que int, et ce n'est qu'ensuite que le résultat est convertit en long (qui contient 32 bits, assez pour contenir le résultat).


Je vois donc 2 solutions.

Solution 1 : changer le type des variables :
Remplacer :

// ----- Variables -----
int toursBobine = 100;
int toursTorsade = 1;
int vitesseMax = 5000;

par :

// ----- Variables -----
long toursBobine = 100;
long toursTorsade = 1;
int vitesseMax = 5000;

Solution 2 : forcer le calcul à se faire en long :
Remplacer

long steps = toursTorsade * 800;

par

long steps = (long)toursTorsade * (long)800;

NB : il faut faire la même modif pour
 

long steps = toursBobine * 800;

EDIT : 
@Mike : je ne sais pas si la librairie limite, mais en tout cas, tu as un dépassement de capacité (overflow) des int, qui ne font que 16 bits sur arduini

Tu as peut être mis le doigt sur le truc ;) le long est bien sur 32 bits comme prévu mais il y a peut être un simple problème de cast là où tu l'as identifié ... 


Dans ce cas là si c'est bien le problème tester juste : 
 

void tournerBobine(bool avant) {
  long steps = (long)toursBobine * 800;
  if (!avant) steps = -steps;

  stepper1.move(steps);
  stepper2.move(-steps);

  while (stepper1.distanceToGo() != 0 || stepper2.distanceToGo() != 0) {
    stepper1.run();
    stepper2.run();

    if (digitalRead(BoutonArret) == LOW) { // Modification pour arrêter proprement le système en cas d'appuis sur le bouton stop
      stepper1.stop();
      stepper2.stop();
      stepper1.setCurrentPosition(stepper1.currentPosition());
      stepper2.setCurrentPosition(stepper2.currentPosition());
      break;
    }
  }
}

devrait régler le problème =) 



 


Dans le sujet : [Avis Schéma] Robot 4WD sous Linorobot2 (Pico + RPi 4 + TB6612FNG)

27 janvier 2026 - 11:47

Super projet !
Sur le principe tout a l'air pas mal et je ne vois pas de problème dans ta conception.

Après si on regarde dans le détail, c'est pas indiqué mais je suppose que tu vas brancher le Pi Pico au Pi via un câble usb ?
Si tu fais ça tu vas lier le 5V de ton powerbank au 5V de ton DC DC ... Ce qui va quelque peut casser ton idée d'isolation... 
Mais sur le principe c'est pas " si grave ", si ton dc dc est bien réglé sur 5V, ça  va marcher quand même ... 

Après tu peux aussi ne pas mettre ton 5V de ton dc dc sur ton pico et l'alimenter via l'usb de la pi ... 

Tu peux aussi ne pas utiliser le câble usb pour relier le pi pico au pi et utiliser les broches rx tx et gnd de ta pi pour faire la connexion ( séparation des deux 5V ) 

Après sur le principe passer par un powerbank séparé n'est pas nécessaire, si ton dc dc 5V délivre suffisamment de courant il peut également alimenter ta pi ... Dans ce cas là tu peux l'alimenter sur les GPIO 5V de ta pi, mais il faut faire attention à ce que tu fais et ne pas faire de court circuits.

Très souvent dans un robot tu as une seule batterie qui aliemente tout ;) bien qu'avoir deux batteries différentes peut être pratique dans certains cas perso je ne suis pas un grand fan du multi batterie.