CNC jednoduše – 2. část: Připojení motorů ke Grbl

V minulé části jsme se seznámili s programem Grbl, určeným pro platformu Arduino, který umožňuje ovládat tři krokové motory pomocí G-kódů. Arduino samo o sobě však připojení krokových motorů neumožňuje. Jak na to vám ukáže následující článek.

Pro připojení krokových motorů ke GRBL budete ještě potřebovat výkonové drivery. Celou řadu pro proudy od 500 mA do 3 A jich naleznete například v nabídce snailshop.cz.

Arduino - Grbl

Standardní drivery krokových motorů jsou řízeny signály na vstupech STEP a DIR. Impuls, přivedený na vstup STEP, způsobí pootočení krokového motoru o jeden krok, logická úroveň na vstupu DIR určuje, na kterou stranu se motor bude točit. Některé z driverů jsou též vybaveny vstupem ENABLE, který dovoluje okamžité vypnutí napájení motorů při jejich nečinnosti.

Signály STEP pro osy X, Y, a Z jsou na Arduinu s programem Grbl k dispozici na digitálních výstupech 2, 3 a 4, signály DIR na výstupech 5, 6 a 7. Signál ENABLE je pro všechny drivery společný a je vyveden na výstup 8.

Piny 9, 10 a 11 jsou konfigurovány jako vstupní, je na nich programově zapojen vnitřní zdvihací (pull-up) rezistor a jsou určeny pro připojení koncových spínačů jednotlivých os. Tyto spínače se zapojují proti GND – jejich sepnutím se změní logická úroveň pinu z log. 1 na log. 0. Pokud to vaše konstrukce vyžaduje, můžete zapojit více spínačů paralelně.

Piny 12 a 13 jsou opět výstupní a ovládají zapínání a vypínání vřetene (12) a směr jeho otáčení (13). Tyto piny jsou ovládány příkazy, obsaženými v právě prováděném G-kódu, takže jejich činnost je závislá jen na prováděném programu.

Potřebujete-li programově ovládat čerpadlo chlazení, je pro tento účel k dispozici pin A3. Tento pin je ovládán příkazy, obsaženými v právě prováděném G-kódu, takže jeho činnost je závislá jen na prováděném programu.

Upozornění: Na těchto pinech jsou k dispozici jen logické signály, takže pro ovládání vřetene nebo čerpadla chlazení je třeba tyto signály patřičně posílit.

Na piny A0 až A2 můžete připojit ovládací spínače RESET, POSUV a START CYKLU. I tyto piny mají programově zapojen pull-up rezistor, postačí tedy spínač zapojit mezi odpovídající pin a GND.

Deska Arduino nemá bohužel k dispozici dostatečný počet kontaktů pro připojení vodičů GND, bude tedy třeba vodiče od všech driverů, od všech koncových a ovládacích spínačů spojit do jednoho bodu a připojit na odpovídající kontakt desky.