Această placă de extensie este potrivită pentru mașini rapide, imprimante 3D, etc., conține patru sloturi pentru drivere A4988 pentru motoare pas cu pas.
\/
Pachetul conține un CNC Shield pentru imprimante 3D.
Exemplu:
\/\/Următoarele sunt proceduri simple de control al motorului pas cu pas:
# define EN 8 \/\/ activare motor pas cu pas, activă la nivel scăzut
# define X_DIR 5 \/\/ Control direcția motorului pas cu pas pe axa X
# define Y_DIR 6 \/\/ Control direcția motorului pas cu pas pe axa Y
# define Z_DIR 7 \/\/ Control direcția motorului pas cu pas pe axa Z
# define X_STP 2 \/\/ Control motor pas cu pas pe axa X
# define Y_STP 3 \/\/ Control motor pas cu pas pe axa Y
# define Z_STP 4 \/\/ Control motor pas cu pas pe axa Z
\/ *
\/\/ Funcție: pas. funcția: pentru a controla direcția motorului pas cu pas, numărul de pași.
\/\/Parametrii: direcția controlului, dirPin pinul de direcție corespunzător motorului pas cu pas, stepperPin pinul de pas corespunzător motorului pas cu pas, numărul de pași de pas fără valoare de returnare.
* \/
void step (boolean dir, byte dirPin, byte stepperPin, int steps)
{
digitalWrite (dirPin, dir);
delay (50);
for (int i = 0; i digitalWrite (stepperPin, HIGH);
delayMicroseconds (800);
digitalWrite (stepperPin, LOW);
delayMicroseconds (800);
}
}
void setup () {\/\/ Pinul utilizat pentru motorul pas cu pas este setat pe ieșire
pinMode (X_DIR, OUTPUT); pinMode (X_STP, OUTPUT);
pinMode (Y_DIR, OUTPUT); pinMode (Y_STP, OUTPUT);
pinMode (Z_DIR, OUTPUT); pinMode (Z_STP, OUTPUT);
pinMode (EN, OUTPUT);
digitalWrite (EN, LOW);
}
void loop () {
step (false, X_DIR, X_STP, 200); \/\/ Motorul de pe axa X invers 1 rotație, cei 200 pași sunt un cerc.
step (false, Y_DIR, Y_STP, 200); \/\/ Motorul de pe axa y invers 1 rotație, cei 200 pași sunt un cerc.
step (false, Z_DIR, Z_STP, 200); \/\/ Motorul de pe axa Z invers 1 rotație, cei 200 pași sunt un cerc.
delay (1000);
step (true, X_DIR, X_STP, 200); \/\/ Motorul de pe axa X înainte 1 rotație, cei 200 pași sunt un cerc.
step (true, Y_DIR, Y_STP, 200); \/\/ Motorul de pe axa y înainte 1 rotație, cei 200 pași sunt un cerc.
step (true, Z_DIR, Z_STP, 200); \/\/ Motorul de pe axa Z înainte 1 rotație, cei 200 pași sunt un cerc.
delay (1000);
}
Notă: Când introduceți modulul A4988, trebuie să fiți atenți să nu îl introduceți invers. Cablagiul motorului pas cu pas este după cum urmează:
2A, 2B este un grup (roșu, verde), 1A, 1B este un grup (albastru, galben), dacă doriți să schimbați direcția, puteți schimba poziția unui grup, de exemplu 2A, 2B schimbându-se între ele.
# define EN 8 \/\/ activare motor pas cu pas, activă la nivel scăzut
# define X_DIR 5 \/\/ Control direcția motorului pas cu pas pe axa X
# define Y_DIR 6 \/\/ Control direcția motorului pas cu pas pe axa Y
# define Z_DIR 7 \/\/ Control direcția motorului pas cu pas pe axa Z
# define X_STP 2 \/\/ Control motor pas cu pas pe axa X
# define Y_STP 3 \/\/ Control motor pas cu pas pe axa Y
# define Z_STP 4 \/\/ Control motor pas cu pas pe axa Z
\/ *
\/\/ Funcție: pas. funcția: pentru a controla direcția motorului pas cu pas, numărul de pași.
\/\/Parametrii: direcția controlului, dirPin pinul de direcție corespunzător motorului pas cu pas, stepperPin pinul de pas corespunzător motorului pas cu pas, numărul de pași de pas fără valoare de returnare.
* \/
void step (boolean dir, byte dirPin, byte stepperPin, int steps)
{
digitalWrite (dirPin, dir);
delay (50);
for (int i = 0; i digitalWrite (stepperPin, HIGH);
delayMicroseconds (800);
digitalWrite (stepperPin, LOW);
delayMicroseconds (800);
}
}
void setup () {\/\/ Pinul utilizat pentru motorul pas cu pas este setat pe ieșire
pinMode (X_DIR, OUTPUT); pinMode (X_STP, OUTPUT);
pinMode (Y_DIR, OUTPUT); pinMode (Y_STP, OUTPUT);
pinMode (Z_DIR, OUTPUT); pinMode (Z_STP, OUTPUT);
pinMode (EN, OUTPUT);
digitalWrite (EN, LOW);
}
void loop () {
step (false, X_DIR, X_STP, 200); \/\/ Motorul de pe axa X invers 1 rotație, cei 200 pași sunt un cerc.
step (false, Y_DIR, Y_STP, 200); \/\/ Motorul de pe axa y invers 1 rotație, cei 200 pași sunt un cerc.
step (false, Z_DIR, Z_STP, 200); \/\/ Motorul de pe axa Z invers 1 rotație, cei 200 pași sunt un cerc.
delay (1000);
step (true, X_DIR, X_STP, 200); \/\/ Motorul de pe axa X înainte 1 rotație, cei 200 pași sunt un cerc.
step (true, Y_DIR, Y_STP, 200); \/\/ Motorul de pe axa y înainte 1 rotație, cei 200 pași sunt un cerc.
step (true, Z_DIR, Z_STP, 200); \/\/ Motorul de pe axa Z înainte 1 rotație, cei 200 pași sunt un cerc.
delay (1000);
}
Notă: Când introduceți modulul A4988, trebuie să fiți atenți să nu îl introduceți invers. Cablagiul motorului pas cu pas este după cum urmează:
2A, 2B este un grup (roșu, verde), 1A, 1B este un grup (albastru, galben), dacă doriți să schimbați direcția, puteți schimba poziția unui grup, de exemplu 2A, 2B schimbându-se între ele.
UNO pentru Arduino---------------------- placă de extindere
8 ------------------------ EN ( activare driver motor pas cu pas, activă la nivel scăzut )
7 ----------------------- Z.DIR ( control direcție axa Z )
6 ----------------------- Y.DIR ( control direcție axa Y )
5 ----------------------- X.DIR ( control direcție axa X )
4 ---------------------- Z.STEP ( control motor axa Z )