S
shodan47
Compagnon
Nouveau dans l'arduino (ancienneté deux jours) je teste la gestion du TB6600 driver avec un Nema 17, avec le branchement ci dessous
Dans le code ci dessous (trouvé sur le site DfRobot) on envoie la direction sur Dir,, l'état sur Ena et le nombre de pas sur Pul, avec un "Delay" qui accélere ou ralenti l'exécution.
Cette histoire de delay me parait aléatoire et j'arrive pas bien a gérer, y a t il une meilleure alternative?
La gestion des Dip du driver est aussi un peu nébuleuse pour moi.
Si vous avez des suggestions
int PUL=7; //define Pulse pin
int DIR=6; //define Direction pin
int ENA=5; //define Enable Pin
void setup() {
pinMode (PUL, OUTPUT);
pinMode (DIR, OUTPUT);
pinMode (ENA, OUTPUT);
}
void loop() {
for (int i=0; i<6400; i++) //Forward 5000 steps
{
digitalWrite(DIR,LOW);
digitalWrite(ENA,HIGH);
digitalWrite(PUL,HIGH);
delayMicroseconds(50);
digitalWrite(PUL,LOW);
delayMicroseconds(50);
}
for (int i=0; i<6400; i++) //Backward 5000 steps
{
digitalWrite(DIR,HIGH);
digitalWrite(ENA,HIGH);
digitalWrite(PUL,HIGH);
delayMicroseconds(50);
digitalWrite(PUL,LOW);
delayMicroseconds(50);
}
}
Dans le code ci dessous (trouvé sur le site DfRobot) on envoie la direction sur Dir,, l'état sur Ena et le nombre de pas sur Pul, avec un "Delay" qui accélere ou ralenti l'exécution.
Cette histoire de delay me parait aléatoire et j'arrive pas bien a gérer, y a t il une meilleure alternative?
La gestion des Dip du driver est aussi un peu nébuleuse pour moi.
Si vous avez des suggestions
int PUL=7; //define Pulse pin
int DIR=6; //define Direction pin
int ENA=5; //define Enable Pin
void setup() {
pinMode (PUL, OUTPUT);
pinMode (DIR, OUTPUT);
pinMode (ENA, OUTPUT);
}
void loop() {
for (int i=0; i<6400; i++) //Forward 5000 steps
{
digitalWrite(DIR,LOW);
digitalWrite(ENA,HIGH);
digitalWrite(PUL,HIGH);
delayMicroseconds(50);
digitalWrite(PUL,LOW);
delayMicroseconds(50);
}
for (int i=0; i<6400; i++) //Backward 5000 steps
{
digitalWrite(DIR,HIGH);
digitalWrite(ENA,HIGH);
digitalWrite(PUL,HIGH);
delayMicroseconds(50);
digitalWrite(PUL,LOW);
delayMicroseconds(50);
}
}