Stap 3: Stepper code.
Deze code is gewoon een test, en zal de motor voorwaartse en achterwaartse voor het testen van de elektronica stap. We zullen de echte code later uploaden.
Merk op dat de stap-richting input niet met deze code werken zal.
Dit is een test van het stuurprogramma. Merk op dat als u pinnen wijzigt, moet u ook de
ze veranderen in de echte code. Verander nooit een pin aan pin 2,
Als die pin is nodig voor het verhogen van de gewenste afstand verplaatsen
byte stepporty;
zweven val = 15; inverse van de snelheid, lagere waarde betekent snellere beweging.
korte x;
byte db = 4;
byte da = 3;
byte pb = 1;
byte pa = 0;
byte in = 5; //not hier gebruikt
VOID Setup {}
pinMode (db, OUTPUT);
pinMode (da, OUTPUT);
pinMode (pb, OUTPUT);
pinMode (pa, OUTPUT);
pinMode (in, INPUT);
}
void loop {}
voor (int x = 0 x < 408; x ++) {//steps 408 halve-stappen, of een volledige rotatie op 200 stap-rev-motoren (zoals de meeste van de motoren NEMA)
FWD();
delay(val);
}
delay(200);
voor (x = 0 x < 408; x ++) {}
Back();
delay(val);
}
delay(200);
}
ongeldig fwd() {}
schakelaar (stepporty) {}
Case 0:
One();
stepporty = 1;
breken;
Case 1:
onehalf();
stepporty = 2;
breken;
Case 2:
Two();
stepporty = 3;
breken;
Case 3:
twohalf();
stepporty = 4;
breken;
Case 4:
Three();
stepporty = 5;
breken;
Case 5:
threehalf();
stepporty = 6;
breken;
Case 6:
Four();
stepporty = 7;
breken;
Case 7:
fourhalf();
stepporty = 0;
breken;
} }
VOID back() {}
schakelaar (stepporty) {}
Case 2:
One();
stepporty = 1;
breken;
Case 3:
onehalf();
stepporty = 2;
breken;
Case 4:
Two();
stepporty = 3;
breken;
Case 5:
twohalf();
stepporty = 4;
breken;
Case 6:
Three();
stepporty = 5;
breken;
Case 7:
threehalf();
stepporty = 6;
breken;
Case 0:
Four();
stepporty = 7;
breken;
Case 1:
fourhalf();
stepporty = 0;
breken;
} }
ongeldig fourhalf() {}
digitalWrite (db, hoge); //4
digitalWrite (da, laag);
digitalWrite (pb, laag);
digitalWrite (pa, hoge);
}
ongeldig four() {}
digitalWrite (db, hoge);
digitalWrite (da, laag);
digitalWrite (pb, laag);
digitalWrite (pa, laag);
}
ongeldig threehalf() {}
digitalWrite (db, hoge);
digitalWrite (da, hoge);
digitalWrite (pb, laag);
digitalWrite (pa, laag);
}
ongeldig three() {}
digitalWrite (db, laag);
digitalWrite (da, hoge);
digitalWrite (pb, laag);
digitalWrite (pa, laag);
}
ongeldig twohalf() {}
digitalWrite (db, laag);
digitalWrite (da, hoge);
digitalWrite (pb, hoge);
digitalWrite (pa, laag);
}
ongeldig two() {}
digitalWrite (db, laag);
digitalWrite (da, laag);
digitalWrite (pb, hoge);
digitalWrite (pa, laag);
}
ongeldig onehalf() {}
digitalWrite (db, laag);
digitalWrite (da, laag);
digitalWrite (pb, hoge);
digitalWrite (pa, hoge);
}
ongeldig one() {}
digitalWrite (db, laag); //1
digitalWrite (da, laag);
digitalWrite (pb, laag);
digitalWrite (pa, hoge);
}