Moje CNC - pohony

Pohony

Pre pohony som zvolil krokové motory SX17-1005 (NEMA17) od firmy Microcon.

Nemohol som si ani veľmi vyberať, lebo stavebnica je navrhnutá pre motory NEMA17 a tu potom niet veľmi na výber.

Voľnejšiu ruku už má človek vo výbere driverov. Často sa na riadenie motorov NEMA17 používa Arduino CNC Shield s drivermi A4988 alebo Drv8825 (Pololu).

Toto riešenie sa mne veľmi nepozdáva z dvoch dôvodov. Jednak preto, lebo drivery majú nedostatočné chladenie a druhým dôvodom je absencia galvanického oddelenia výkonovej časti od riadiacej elektroniky (optočlenov).

Ďalšie hojne využívané riešenie je použitie integrovanej dosky pre riadenie 3 alebo 4 osého CNC. Napríklad:

Tu už optočleny sú, aj použité drivery sú výkonnejšie (TB6560 alebo novší TB6600) s lepším chladením. Ale doska je obvykle pripravená na použitie so softvérom Mach3 a teda má signály privedené na 25 pinový konektor D-Sub, ktorý sa pripojuje na paralelný port (LPT) počítača. Taktiež nemám veľmi rád tieto all-in-one riešenia, pretože v prípade poruchy sa to ťažšie opravuje a často treba vymeniť dosku komplet, čo je aj finančne náročnejšie.

Ja som zvolil riešenie s tromi oddelenými drivermi s TB6560. Tieto drivery dostať v rôznom prevedení.

Vybral som si tento model s robustnejším chladičom.

Vstupy driverov sú oddelené optočlenmi. Cena troch driverov bola dokonca nižšia než cena 3-osej dosky. Musím však povedať, že na doske sú integrované aj ďalšie pomocné obvody (napr. pripojenie koncových spínačov, rozhranie manuálneho ovládania a pod).

Nastavenie drivera

Driver umožňuje nastaviť tieto parametre:

  • Pracovný prúd motora (Current settings)
  • Mikro-krokovanie (Excitation mode)
  • Režim tlmenia prúdu (Decay mode)
  • Prídržný prúd motora (Torque settings)

Motor SX17-1005 má v dokumentácii uvedený prúd 2A (v paralelnom zapojení), na driveri som nastavil 1.8A, aby motor nebežal na hranici svojich možností.

Mikrokrokovanie na 8 mikrokrokov - viac je asi zbytočné.. Použité závitové tyče majú stúpanie 1.25mm. Motor urobí 200 krokov na jednu otáčku pri plnom krokovaní, t.j. 1600 pri 8 mikrokrokoch. To znamená zmenu polohy o menej ako tisícinu milimetra na jeden mikrokrok. Už to je na tento hobby stroj viac než dosť.

Keď driver potrebuje znížiť prúd vo vinutí motoru môže to urobiť buď pomalým (slow decay) alebo rýchlym (fast decay) spôsobom. Pri pomalom spôsobe driver spojí konce vinutia a prúd zaniká samovoľne vplyvom odporu vinutia. Pri rýchlom spôsobe driver tlmí prúd aktívne tým, že pripojí vinutie k napájaciemu zdroju tak, aby napätie zdroja pôsobilo proti tečúcemu prúdu (viď obrázok z datasheetu TB6560).

PWM drivera pracuje v cykloch po 4 hodinové takty. Tlmenie je možné nastaviť na:

  • 0% - tlmenie iba pomalým spôsobom
  • 25% - tlmenie rýchlym spôsobom v jednom zo 4 taktov
  • 50% - tlmenie rýchlym spôsobom v dvoch taktoch
  • 100% - tlmenie iba rýchlym spôsobom

V datasheete je o tom rozsiahle pojednanie ale pretože neviem aké to má výhody a nevýhody ponechal som režim tlmenia prúdu na default hodnote 0%.

Čo sa týka prídržného prúdu - pretože požité závitové tyče sú viacmenej samosvorné, nehrozí nejaké samovoľné posúvanie. Pravdepodobne by stačilo prídržný prúd nastaviť na nulu, ale nechal som pre istotu 20%.

Riadenie

Na riadenie som použil Arduino Nano (čínsky klon) s firmvérom GRBL.

Pre účely testovania a ladenia som Arduino osadil do rozširovacej dosky, ktorá má dostatok pripojovacích kontaktov.

Firmvér je potrebné nastaviť podľa parametrov CNC.

V prvom rade bolo potrebné zmeniť "polaritu" signálov idúcich do driverov krokových motorov. Ide o signály Step, Direction a Enable, pretože LED optočlenov na vstupe majú spoločnú adnódu, kde sa privedie +5V. Signály sa privádzajú na katódy LED - signál je aktívny, keď sa katóda pripojí k zemi (0V). Drivery majú interné odpory 330Ω dimenzované na 5V vstupný signál. Preto je možné priame pripojenie driverov na Arduino. Ak by bola úroveň vstupných signálov väčšia, bolo by potrebné pridať externé odpory podľa nasledovnej schémy:

Signál Enable z Arduina je len jeden spoločný pre všetky tri osi - tento jeden signál sa privedie na všetky tri drivery. Step a Direction má každá os samostatne.

Ďalej je potrebné nastaviť hodnotu "Počet krokov na milimeter". Ako som už písal - motor má 200 krokov na otáčku a pri 8 mikrokrokoch je to 1600 mikrokrokov na otáčku. Stúpanie závitov je 1.25mm. Teda počet krokov na 1 mm bude:

1600 : 1,25 = 1280

Keďže motory aj stúpanie závitov je na všetkých osách rovnaké, platí táto hodnota pre všetky tri osi.

Ďalej treba nastaviť šírku impulzu pre krok. V datasheete TB6560 je to hodnota 30μs. V GRBL som nastavil 35μs aby bola nejaká rezerva.

Posledná vec, ktorú treba nastaviť sú dynamické parametre:

  • Maximálna rýchlosť
  • Minimálna rýchlosť
  • Zrýchlenie

Všetky tri parametre sa nastavujú pre každú os zvlášť. Hodnoty treba zistiť skúšaním.

Ja som skúšal pohybovať postupne jednotlivými osami jedným a druhým smerom a postupne som zvyšoval hodnoty. Keď motor začne strácať kroky (prejaví sa to zvukovo), treba ubrať asi 10% z nastavenej hodnoty. Najprv som nastavoval maximálnu rýchlosť, potom zrýchlenie a nakoniec minimálnu rýchlosť.

Fotky z oživovania pohonov:

 

To je o pohonoch všetko - prikladám nejaké dokumenty:


Technické údaje krokových motorov SX

Momentové charakteristiky krokových motorov

Zapojenie vinutí krokových motorov SX

Katalógový list obvodu TB6560AHQ

Manuál k driveru s obvodom TB6560AHQ