Sammmootori juhtimise põhivajadused muud tihvtid on graveerimismasinas või3DKui printerit kasutati, siis siin me ei tee Detailset,IOSee vastab ülaltoodud joonisele.
Laiendusplaat UNO ----------------------
8 ------------------------ ET (samm-mootori ajami lubamine, aktiivne madal)
7------------------------ Z.DIR (Z-telje suuna juhtimine)
6------------------------ Y.DIR (Y-telje suuna juhtimine)
5------------------------ X.DIR (X-telje suuna juhtimine)
4 ----------------------- Z.STEP (Z-telje astmeline juhtimine)
3 ----------------------- Y.STEP (Y-telje astmeline juhtimine)
2 ----------------------- X.STEP (X-telje astmeline juhtimine)
// Siin on lihtsad samm-mootori juhtimise protseduurid,
#define EN 8 // samm-mootori lubamine, aktiivne madal
#define X_DIR 5 // X-telje samm-mootori suuna juhtimine
#define Y_DIR 6 // y-telje samm-mootori suuna juhtimine
#define Z_DIR 7 // z-telje samm-mootori suuna juhtimine
#define X_STP 2 // x-telje astmeline juhtimine
#define Y_STP 3 // y-telje sammjuht
#define Z_STP 4 // z-telje astmeline juhtimine
/*
// Funktsioon: sammu funktsioon: samm-mootori suuna, sammude arvu juhtimiseks.
// Parameetrid: dir-suuna juhtimine, dirPin DIR-tihvt, mis vastab samm-mootorile, stepperPin-sammutihvt vastab samm-mootorile, astudes mõne sammu sammu
// Tagastusväärtust pole
* /
tühine samm (boolean dir, byte dirPin, byte stepperPin, int sammud)
{
digitalWrite (dirPin, rež);
viivitus (50);
jaoks (int i = 0; i
digitalWrite (stepperPin, KÕRGE);
viivitusMikrosekundid (800);
digitalWrite (stepperPin, LOW);
viivitusMikrosekundid (800);
}
}
tühine seadistus () {// IO kontaktis kasutatav samm-mootor on seatud väljundisse
pinMode (X_DIR, VÄLJUND); pinMode (X_STP, VÄLJUND);
pinMode (Y_DIR, VÄLJUND); pinMode (Y_STP, VÄLJUND);
pinMode (Z_DIR, VÄLJUND); pinMode (Z_STP, VÄLJUND);
pinMode (ET, VÄLJUND);
digitalWrite (ET, LOW);
}
tühi silmus () {
samm (vale, X_DIR, X_STP, 200); // X-telje mootori tagurdusring, 200 sammu ringi jaoks
samm (vale, Y_DIR, Y_STP, 200); // y-telje mootori tagurdusring, 200 sammu ringi jaoks
samm (vale, Z_DIR, Z_STP, 200); // z-telje mootori tagurdusring, 200 sammu ringi jaoks
viivitus (1000);
samm (tõsi, X_DIR, X_STP, 200); // X-telje mootor kantakse ringi, ringini 200 sammu
samm (tõsi, Y_DIR, Y_STP, 200); // y-telje mootor kantakse ringi, ringini 200 sammu
samm (tõsi, Z_DIR, Z_STP, 200); // z-telje mootor kantakse ringi, ringini 200 sammu
viivitus (1000);
}