He, evo i mene posle par godina :-)
U vreme kad ste čukali o ovome ja sam se bavio izradom svoje CNC mašine, softvera i elektronike.
U početku sam nailazio na iste probleme. Ja sam pokušavao sa AT mikrokontrolerima da vozim najmanji unipolarni NEMA23 1,8 stepeni i td, ali sam tek ovih dana provalio mnogo bitnu stvar.
Sa AT je išlo fino i precizno bez promene ubrzanja ali sam od toga odustao i od kontrolera napravio nešto drugo. Motore sam cepao direktno na LPT port sa laptopa, naravno sa MOS-N-FET trandžama(IRF530 i IRF 1404). Ovaj drugi je bolji jer ima manji otpor Gate-Source ali je skuplji. LPT i sad gura te motore a razlog što ga koristim je taj što direktno pišem u Windows-u šta treba da radi nego tamo-ovamo pa upiši pa prebacuj kontroler i td.
Pošto se radi o unipolarnim motorima (zajednički plus) motore vodim sa po 2 faze i to prvi i poslednji koraci imaju direktno podešavanje u mom WIN programu i ovako otprilike izgleda:
- 0000
- 0001
- Početni korak(usleep[1]) - Pull-in
- 0011
- Nomalni korak(usleep[2])
- 0111
- 0110
- Nomalni korak(usleep[2])
- 1110
- 1100
- Nomalni korak(usleep[2])
- 1101
- 1001
- Nomalni korak(usleep[2])
- 1011
- 0011
- Nomalni korak(usleep[2])
- 0010
- Završni korak(usleep[3]) - Pull-out
- 0000
Za svaku sledeću I/O komandu prvo ide ON pa OFF za prethodnu, kao što sam napisao gore.
Problem kod većih brzina, npr.preko 6 RMP(1200 koraka) je što motor gubi snagu-moment ali zašto. Merenjem ukupne struje kod manjih i većih brzina vidi se razlika, npr. sa LPT pobudom na 100 koraka je oko 3,5A a, kod 400 koraka 1,5A a kod 1000 koraka 0,4A. Pri svakoj brzini isto je vođenje faza(I/O) po čemu sam odmah zaključio da je problem u brzini okidanja od 0 do 5V(latenca porta ali i tranzistora), ali i to što se tranzistor pobuđuje na 3,2 volta(Gate Treshold). Tu sam nekako povećao razliku napona na gejtu i sada je 2,4V umseto 0V kada je na pinu 0V, a 7,4V umesto 5V kada je na pinu 5V. To sam uradio da bih smanjio tu tkz-latencu odnosno pre pobuđivao MOSNFET i to važi i za mikrokontrolere koje programiraš. To je vrlo bitno, kao i programsko vođenje I/O (prvo uključiti novi pin a zatim isključiti stari, pa onda na sleep). Takođe je bitno da unipolarni motor uvek furaju 2 faze. Još uvek mi nije jasno zašto se smanjuje struja povećanjem brzine kada su uvek prisutne 2 faze.
Toliko od mene. Ako neko može da objasni kako najlakše da uradim taj Čoper bio bih veoma zahvalan.
Pozdrav.
Čega se pametan stidi, budala se ponosi.