

-----------------------------------

nobody

16 Sep 2016 15:17



-----------------------------------

M-am uitat mai atent peste cod, video si in fisa tehnica de la encoder (http://www.farnell.com/datasheets/1837001.pdf). Cred ca-ti face mai multi pasi decat te astepti.

Motorul are 200 de pasi, encoderul genereaza 36 (daca e bine filtrat): 2 "detents" (pasi) / "pulse" (ciclu complet la semnalul A). Adica o tura de motor in full step la 5.5 rotatii complete de enncoder.
Codul ar trebui sa ia in seama doar schimbarile la semnalul A (intre "detent stability position"). Schimbarile pe semnalul B ar trebui ignorate, sunt instabile si nu corespund unor pasi reali (ceva specific la acest model). Pentru asta se poate dezactivea rutina de intrerupere "encoderPinChangeB()".

Daca vrei miscare mai fina trebuie sa reduci curentul de actionare la minim si in loc sa faci un pas "full step", ii dai sa faca 8/16 micropasi.

