cablage TB6600 sur arduino UNO

Bonjour,
je viens de terminer une petite machine pour mon job.
Cette machine nous sert à enrouler du feuillard à l’aide d’un moteur pas à pas, sur une longueur précise et sélectionnée.

Je me suis servi de l’atelier “clavier musical”(et l’échelle de résistance) où j’ai remplacé la fonction de la note par la commande du moteur qui, selon la valeur de la résistance, va me donner 6 longueurs différentes et j’y ai ajouté de quoi afficher la dimension fabriquée sur l’affichage LCD(3 programmes jumelés)

Mon soucis est la raccordement du pilote(un TB6600 ou copie, j’ai du trouver ce type de pilote car le moteur peut aller jusqu’à 4A, il faut ça pour tirer la bobine de feuillard pleine) sur la carte :
Actuellement, cela fonctionne mais pas comme je voudrais, c à d qu’une fois le tout allumé, impossible de tourner le moteur à la main!

Pour l’instant, tout est raccordé comme ceci :
ENA-, DIR- et PUL- sont raccordés ensembles vers GND de arduino
PUL+ vers une patte de Arduino(8 )
DIR+ vers patte Arduino(9)

J’ai bien cherché partout pour trouver une autre façon de raccorder UNO au TB6600 et j’en ai trouvé une ou deux mais pas encore essayé…
Quelqu’un aurait une solution?
Merci!
Ci dessous, le code employé, c’est pas encore top, je dois y mettre de l’ordre mais ça vous donne un aperçu!

#include <LiquidCrystal.h> // Inclusion de la librairie pour afficheur LCD
#include <Stepper.h>

// --- constantes des broches LCD ---

const int RS=2; //declaration constante de broche
const int E=3; //declaration constante de broche

const int D4=4; //declaration constante de broche
const int D5=5; //declaration constante de broche
const int D6=6; //declaration constante de broche
const int D7=7; //declaration constante de broche


LiquidCrystal lcd(RS, E, D4, D5, D6, D7);// initialisation LCD en mode 4 bits

// Parmaètres moteur pàp

const int NombrePas=200; // Nombre de pas du servomoteur 

const int Pas_1=8; //declaration constante de broche 
const int Pas_2=9; //declaration constante de broche 

Stepper stepper(NombrePas, Pas_1, Pas_2);  // crée un objet Stepper pour contrôler le moteur pas à pas
// Pas_1, Pas_2 commandent la 1ère phase




void setup()   { // debut de la fonction setup()

// --- ici instructions à exécuter au démarrage ---

// Moteur pas à pas

pinMode(Pas_1, OUTPUT); //met la broche en sortie 
pinMode(Pas_2, OUTPUT); //met la broche en sortie

lcd.begin(16,2); // Initialise le LCD avec 20 colonnes x 4 lignes

delay(10); // pause rapide pour laisser temps initialisation

// Test du LCD

lcd.print("LCD OK") ; // affiche la chaîne texte - message de test
delay(2000); // pause de 2 secondes

lcd.clear(); // // efface écran et met le curseur en haut à gauche
delay(10); // pour laisser temps effacer écran

}
void loop() {
  
  int keyVal = analogRead(A0);
  lcd.print(keyVal);
   lcd.clear();
   
  if (keyVal == 1023) { 
  
  lcd.print("Diam 66");// 
stepper.setSpeed(4000);  
for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas
  stepper.step(320); // pas en sens positif
}
          
}
  else if(keyVal >= 990 && keyVal <= 1010) {

lcd.print("Diam 80");// 
stepper.setSpeed(3000);  
for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas
  stepper.step(384); // pas en sens positif
}
          
}
  else if(keyVal >= 505 && keyVal <= 515) {
  
  lcd.print("Diam 100");// 
stepper.setSpeed(3000);  
for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas
  stepper.step(480); // pas en sens positif
}
          
   }


  else if(keyVal >= 30 && keyVal <= 35) {
  
  lcd.print("Feuillard  *kit*");// 
stepper.setSpeed(3000);  
for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas
  stepper.step(-4); // pas en sens positif (-480)
}
          
   }

else if(keyVal >= 900 && keyVal <= 945) {

lcd.print("Diam 55");// 
stepper.setSpeed(3000);  
for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas
  stepper.step(288); // pas en sens positif
}
         
}
else if(keyVal >= 950 && keyVal <= 989) {
        
   lcd.print("Diam 30");// 
   stepper.setSpeed(3000);  
for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas
  stepper.step(192); // pas en sens positif
}


        }
         
  lcd.clear();
  delay(10);
  lcd.print("Pret..."); 
  delay(100);    
}

j-pmesange:
...
Actuellement, cela fonctionne mais pas comme je voudrais, c à d qu'une fois le tout allumé, impossible de tourner le moteur à la main!

Pour l'instant, tout est raccordé comme ceci :
ENA-, DIR- et PUL- sont raccordés ensembles vers GND de arduino
PUL+ vers une patte de Arduino(8 )
DIR+ vers patte Arduino(9)

bonjour
a verifier avec le DS TB6600
mais si ENA=LOW (GND) les sorties doivent etre toujours alimentées
si tu veux pouvoir manœuvrer le PAP à la main , il faut peut etre de maniere soft (ou hard si tu prefere) passer ENA à HIGH

L'autre soucis, c'est que je trouve bien des pilote branchés sur la UNO quand je cherche sur internet, mais je ne trouve pas exactement le même pilote que le mien, avec les sorties ENA+et-, DIR+et-, PUL+et-...
J'ai étudié l'électronique à l'école mais c'est loin et ne me souviens plus, je sais que j'avais vu les moteurs pas à pas mais sans plus et je suis un peu perdu!
Merci pour ta réponse, Artouste mais de quel ENA parles-tu? du + ou du moins -? (pour info, mon ENA+ n'est raccordé nulle part, donc je ne l'ai pas mis dans la liste)

j-pmesange:
L'autre soucis, c'est que je trouve bien des pilote branchés sur la UNO quand je cherche sur internet, mais je ne trouve pas exactement le même pilote que le mien, avec les sorties ENA+et-, DIR+et-, PUL+et-...
J'ai étudié l'électronique à l'école mais c'est loin et ne me souviens plus, je sais que j'avais vu les moteurs pas à pas mais sans plus et je suis un peu perdu!
Merci pour ta réponse, Artouste mais de quel ENA parles-tu? du + ou du moins -? (pour info, mon ENA+ n'est raccordé nulle part, donc je ne l'ai pas mis dans la liste)

j'ai rapidement regardé le DS
je ne vois qu'un pin ENA (table de verité page 3)

Oups, il ne s'agit pas du CI seul mais d'un pilote en contenant un!

Voici à quoi il ressemble, le mien...

j-pmesange:
Oups, il ne s'agit pas du CI seul mais d'un pilote en contenant un!

Voici à quoi il ressemble, le mien...

ok

ça doit donc simplement etre 2 entrées pointant vers le CI "lui meme" avec surement une priorité
pas trop le temps de chercher , mais si tu a un lien vers la "doc de ton module" , ça doit surement etre indiqué

c'est bien gentil mais si je suis ici, c'est pas pour que les autres cherchent à ma place! :wink:

Pas de doc ou je l'ai acheté et je n'ai pas encore trouvé de lien sur le net, c'est pour ça que je poste ici,
des fois que quelqu'un qui s'y connait plus que moi connaissent le bon cablage!
Tu m'as déjà ouvert une possibilité.
Mais je cherche, je cherche...

j-pmesange:
c'est bien gentil mais si je suis ici, c'est pas pour que les autres cherchent à ma place! :wink:

Pas de doc ou je l'ai acheté et je n'ai pas encore trouvé de lien sur le net, c'est pour ça que je poste ici,
des fois que quelqu'un qui s'y connait plus que moi connaissent le bon cablage!
Tu m'as déjà ouvert une possibilité.
Mais je cherche, je cherche...

SI je trouvais un truc comme ça dans une... poubelle
ET si je ne trouve aucune DOC
ALORS , je repartirais du compo principal
le pin ENA du compo est interfaçé comment dans ton "machin" ? :grin:
Les pistes de PCB ça se suit sans trop d'efforts avec un simple ohmetre
= papier+crayon

Bon ben je viens de l'ouvrir, pas de trace d'un TB6600 dedans! (voilà ce que c'est d'acheter en Chine)
J'y ai un IC marqué

"5109AFTG
1539H
EH8021
JAPAN"

je viens de taper chaque ligne (sauf le Japan lol) sur le net, pas de résultat non plus!
Je retourne sur le site ou je l'ai acheté mais tout ce que j'ai trouvé, c'est sa dénomination technique(B01DJ49Y3W), j'ai vais chercher avec ça!
Mais de façon plus générale, comment aurais-tu connecté un pilote sur une Arduino?

j-pmesange:
Bon ben je viens de l'ouvrir, pas de trace d'un TB6600 dedans! (voilà ce que c'est d'acheter en Chine)
J'y ai un IC marqué

"5109AFTG
1539H
EH8021
JAPAN"

je viens de taper chaque ligne (sauf le Japan lol) sur le net, pas de résultat non plus!
Je retourne sur le site ou je l'ai acheté mais tout ce que j'ai trouvé, c'est sa dénomination technique(B01DJ49Y3W), j'ai vais chercher avec ça!
Mais de façon plus générale, comment aurais-tu connecté un pilote sur une Arduino?

fais des bonnes photos lisibles recto/verso de ton PCB

Salut j-pmesange,
c'est un driver de PAP "clasic" avec entrées sur opto coupleur.
Tu relies :
Ena- (Enable), Dir-(Direction), et Pul-(Pulses) à la masse genérale du driver et de l'arduino.
Tu envois tes pulses sorties de l'arduino à Pul+.(1 Pulse=1 pas).
Un signal de direction sur Dir+(0=gauche, 1=droite).
Ena+ au 5V.
Sa devrait marcher.
Amicalement.

Merci pour ta réponse, epson1, ça avance un peu, J'ai raccordé ENA+ au 5V directement, le moteur est libre par contre il ne tourne pas quand il devrait le faire!
mais je pense qu'il faudrait le faire via une patte de l'Arduino position "high" au repos, et "low" quand le moteur tourne mais je ne suis pas encore trop expérimenté dans tout ça, je débute!

Autre essai, d'après les renseignements du vendeur, 5V sur PUL+ et DIR+, une patte de Arduino sur DIR- et l'autre patte(suivant programme) sur PUL- : le moteur fait moins de problème pour démarrer mais toujours pas possible de tourner le moteur à la main!
Je continue à chercher...

j-pmesange:
Autre essai, d’après les renseignements du vendeur, 5V sur PUL+ et DIR+, une patte de Arduino sur DIR- et l’autre patte(suivant programme) sur PUL- : le moteur fait moins de problème pour démarrer mais toujours pas possible de tourner le moteur à la main!
Je continue à chercher…

bonjour
je t’ai proposé ( #10) de mettre des photos recto/verso du PCB …

Oups, désolé j’avais zappé…
J’ai essayé vendredi en mettant les photos en attachement, ce n’est pas passé!
Je retente en réduisant les images… Voilà, ça passe!(j’avais loupé la ligne qui dit 1M max)
Désolé pour le verso, n’ayant pas de pâte à remettre, je n’ai pas pu le faire plus propre!
Au pire, quelqu’un a un bon site d’hébergement? (puisque apparemment, on a pas le choix pour poster une image)