GRBL Candle 1.1.7

Co je Candle?

Candle GRBL je jednoduchý software pro řízení CNC strojů ideální pro začátečníky a navíc je zdarma. Jazykem programu je angličtina, ale ani ti z vás, kdo angličtinou nevládnou, by neměli mít s pochopením a používáním programu problémy.

Úvodem důležitá informace. Návod je sepsán pro verzi 1.1.7 takže spoustu věcí ve starších verzích nenajdete a stejně tak těžko předvídat, co bude případně v nějaké novější.

Uživatelské rozhraní Candle

Candle umí zobrazit G-kód a obsahuje pouze základní funkce, které jsou potřeba pro spuštění programů v G-kódu. I když nenabízí tolik funkcí jako složitější programy stále je to zcela dostatečné pro „začátečnickou“ práci s CNC strojem. Výhodou je celková přehlednost prostředí, a že v základu obsahuje vlastně vše, co může nejen začátečník běžně potřebovat.

Pro jaké typy CNC strojů lze Candle použít?

Candle využívá zdrojový kód GRBL, který může běžet na Arduinu. Takže pomocí Candle lze ovládat každý CNC stroj, který je řízen Arduinem a nemá více než 3 osy (X, Y, Z). Tento typ programu je určen pro hobby použití, proto se používá hlavně na domácí a malé frézky.

Hobby frézka LUPA v.1

Candle – návod k použití

Pojďme postupně k uživatelskému rozhraní a k použití jednotlivých funkcí.


State (poloha)
Tato část zobrazuje polohu vřetena ve vztahu k pracovním souřadnicím “Work coordinates” a souřadnicím stroje “Machine coordinates“. Zcela zásadní je uvědomit si co které souřadnice znamenají. Zatímco souřadnice stroje udávají polohu vřetene vůči stroji, pracovní souřadnice jsou důležité při samotném obrábění. Velice jednoduše řečeno souřadnice stroje by vás nemusely ani zajímat pokud by vám stačilo, že někam do pracovního prostoru stroje upevníte materiál a dle počátečního bodu obrábění na materiál najedete nástrojem. Nyní by stačilo vynulovat pracovní souřadnice (protože program v G-kódu musí mít dán počátek a ten se udává vůči “nule”) a spustit program. Jenže! Průšvih nastane když se něco při obrábění pokazí. Např. stroj se zasekne / ztratí kroky, nebo se zlomí nástroj apod. Můžete samozřejmě pro pokračování obrábění zkusit najet vřetenem přesně do stejné “nulové” pozice a program spustit znovu, ale s největší pravděpodobností se úplně přesně netrefíte.
Od toho jsou souřadnice stroje. Pokud máte stroj vybavený koncovými spínači, nebo přesněji řečeno spínači pro tzv. houmování, dokážete naprosto přesně a opakovaně nastavit polohu vřetene do této HOME pozice – říkejme tomu třeba základní výchozí pozice, kde jsou souřadnice stroje X,Y,Z=0. Od tohoto místa si můžete odjet třeba do středu pracovního prostoru, souřadnice stroje budou třeba X=305.2, Y=134.7, Z=21.4mm. Čísla jsou to sice nezapamatovatelná, ale to vůbec ničemu nevadí. Vy si jen v tomto místě vynulujete pracovní souřadnice, takže obrábět začnete z pozice X,Y,Z=0. Pokud se cokoliv pokazí a budete se potřebovat dostat na počátek obrábění, stačí opět odjet na HOME a následně se přesunout na výše uvedené nezapamatovatelné souřadnice. Abyste si nemuseli taková čísla pořád pamatovat má Candle různá tlačítka. A o tom už dále v textu.

State – souřadnice

Poznámka: Pokud není váš stroj vybavený koncovými spínači na jednotlivých osách (spínači které slouží pro nájezd vřetene do pozice „HOME“) lze doporučit, abyste při ukončení práce před vypnutím stroje odjeli vřetenem na konec každé osy. Tato poloha pro vás bude počátkem při dalším zapnutí stroje. Mějte ale prosím na paměti, že když stroj vypnete a znovu zapnete nikdy nebudete mít jistotu, že vřeteno bude přesně ve stejné pozici. Mohli jste stroj vypnout v mezikroku motoru a po zapnutí se malinko pootočí. Proto je mnohem vhodnější mít na stroji “houmovací” spínače. Pomocí nich přesunete vřeteno do vždy stejné pozice. Použití spínačů je vždy přesnější než nájezd na konce os tzn. na mechanické dotazy!

Control (ovládání)
První tlačítko je „Home“. Tuto funkci lze použít pouze, pokud máte stroj vybaven koncovými spínači (viz. výše) a stroj je správně nastaven (na úrovni řízení Arduinem). Po spuštění funkce najede vřeteno do pozice dané koncovými spínači. Pokud váš stroj koncové spínače nemá, tuto funkci nepoužívejte. V základním nastavení GRBL jako první najíždí na koncový spínač osa Z a “vynuluje se”. Po ní najíždí současně osy X a Y. Osa, která najede na koncový spínač, se zastaví a “čeká” až na koncový spínač najede i druhá osa. Až potom dojde k “vynulování” obou os. Způsob nájezdu na koncové spínače, např. pořadí, nebo nenajíždění některé osy lze definovat v konfiguračním souboru config.h – define HOMING_CYCLE_0 (1<<Z_AXIS) … Pokud nevíte, co děláte, tak se v config.h nehrabte.

Home

Dalším ovládacím tlačítkem je „Z-probe“ (Z-sonda). K řídící desce s Arduinem lze připojit Z-sondu, která slouží k přesnému výškovému nastavení nástroje. Pokud máte sondu připojenu a správně nastavenu, tak stiskem tohoto tlačítka se vřeteno začne pohybovat dolů, dokud se nástroj nedotkne základny sondy. Co se bude dít dále lze definovat zapsáním G-kódu do kolonky „Probe commands“, která je přístupná na panelu Service>Settings>Connection>Control>Probe commands. Obvyklé nastavení je takové, že se po dotyku „vynuluje“ pracovní souřadnice osy Z, případně ještě vřeteno vyjede nahoru o předem nastavenou vzdálenost.

Z-probe

Další dvě tlačítka jsou „Zero XY“ a „Zero Z“, jejich stisknutím vynulujete pracovní souřadnice v místě, kde se aktuálně nachází vřeteno.

Zero XY, Zero Z

Prvním tlačítkem ve spodní řadě je “Restore origin“ (obnovení počátku). Tohle tlačítko si brzy oblíbíte. Bude to vaše “záchrana” ve spoustě situací. Stisknutím tohoto tlačítka obnovíte předchozí pracovní souřadnice pomocí příkazu G92 (co je G92 vás celkem nemusí zajímat – ale kdyby snad ano … G92 zaznamená aktuální polohu na všech osách). Předchozími pracovními souřadnicemi se rozumí souřadnice, které jste nastavili stiskem tlačítek „Zero XY“ a „Zero Z“ viz. výše.

Restore origin

Tlačítko “Restore origin” se hodí, když při frézování dojde k problému – např. na některé z os motor ztratí kroky, nebo frézování ukončíte stiskem RESET (tím se smažou pozice pracovních souřadnic). Pokud dojde ke ztrátě kroků, stačí stroj znovu “nahoumovat” a opět stisknout “Restore origin“. Stiskem „Restore origin“ pošlete vřeteno do pozice 0, 0, 0 původních pracovních souřadnic – pro vynulování musíte znovu stisknout „Zero XY“ a nastavit nulovou pozici nástroje následovanou stiskem „Zero Z“.
Tyto souřadnice (poslední pracovní) si stroj pamatuje dokud nenastavíte nové. Pamatuje si je jak při vypnutí stroje, tak počítače. Snadno tak můžete večer vše vypnout a druhý den pokračovat přesně od stejného místa.

Tlačítko „Safe position“ (bezpečná pozice) přesune vřeteno dle příkazů v dialogovém okně Service>Settings>Connection>Control>Safe positions commands. Co je pro vás bezpečná pozice si musíte určit sami. Obyčejně se používá pro vyjetí nástroje v ose Z nahoru o danou vzdálenost.

Safe position

Pokud váš stroj nemá koncové spínače lze tuto funkci použít také jako tlačítko „Home“. Stačí v nastavení „Safe positions commands“ vložit kód „G53G00G90Z0; G53G90X0Y0“. Po stisku tlačítka pak vřeteno přejde do výchozí polohy. Funkci těchto tlačítek (Restore origin, Safe position) si řádně otestujte, abyste ji pochopili. Nedoporučuji ale jako souřadnici Z zadávat 0. Pokud máte upnutý nějaký obrobek nebo cokoli na pracovní ploše snadno do těchto předmětů vřeteno a nástroj narazí a dost možná to odnese nástroj.

Tlačítko “Reset” = emergency stop (nouzové zastavení). Po stisknutí se stroj zastaví a vřeteno se vypne. Důležité tlačítko. Pokud je při frézování jakýkoliv problém je tohle poslední záchrana. Doporučuji mít na stroji osazené také mechanické tlačítko ESTOP, které bude suplovat právě tuto funkci.

Pozor! Pokud ve vaší ovládací elektronice používáte Arduino UNO s CNC Shieldem, tak na něm je ESTOP špatně zapojen. Na Shieldu funguje ESTOP jako reset Arduina. Doporučuji ESTOP připojit na pozici RESET/ABORT – to supluje funkci tlačítka “Reset” na obrazovce.

Reset

Tlačítko “Unlock” (odemknutí) slouží k opětovnému zapnutí zařízení po stisknutí tlačítka “Reset“.

Reset

Poznámka: Pochopení způsobu ovládání pozice vřetene, co znamenají souřadnice stroje a co pracovní souřadnice, pochopení výše popsaných funkcí tlačítek a zkrátka zvládnutí základních operací souvisejících s pohybem vřetene a nastavením jeho polohy jsou základní úkony, bez kterých se při obsluze vašeho CNC stroje neobejdete.

User commands (uživatelské příkazy)
Candle umožňuje vytvoření čtyř uživatelsky definovaných funkcí, které jsou přiřazeny tlačítkům 1-4.

User commands

Definice spočívá v zapsání G-kódu do kolonek pro jednotlivá tlačítka v dialogovém okně Settings (nastavení). Na obrázku níže vidíte, že pro tlačítko 1 je nastaveno, aby po jeho stisknutí najelo vřeteno na souřadnice x=0, y=0, z=0 a to rychloposuvem (G0). Stejně jako v textu výše doporučuji v tomto případě důkladně zvážit, zda je nájezd na Z=0 rychloposuvem vhodný. Na obrázku je také vidět zápis G-kódu pro “Z-sondu” (Probe commands) a pro “bezpečnou pozici” (Safe position commands). Až si osvojíte základy programování v G-kódu, tak zjistíte, že s tlačítky se dají dělat divy. Pokud chcete zadat více příkazů G-kódu oddělují se jednotlivé příkazy středníkem.

Panel Settings

Heightmap (výšková mapa)
Panel pro práci s výškovou mapou. Pro její vytvoření a pro její použití. Jen stručně k čemu ji lze použít. Výšková mapa se hodí, když potřebujete, aby nástroj v celé ploše opracovávaného materiálu zajel do přesné hloubky vůči povrchu materiálu. Typicky např. při gravírování nápisů do nerovného podkladu – křivé prkno, vypouklá miska apod. Takřka nezbytné je použití výškové mapy při vytváření DPS (desky plošných spojů) gravírováním. Cuprextit (laminátová deska s měděnou vrstvou) rozhodně není zcela rovný a i upnutím ke stroji se může zdeformovat. Jistě si dokážete představit, jak by vypadala třeba obyčejná drážka frézovaná gravírovací frézou s tvarem břitu V, kdyby někde zajela do hloubky 0,5mm a jinde 0,2mm … byla by různě široká.
Výškovou mapu vytvoříte tlačítkem “Create”, případně můžete použít mapu, kterou jste si vytvořili dříve. Použití je snadné a není třeba podrobnějšího popisu.
Hotovou mapu jednoduše “promítnete” (zaškrtnete políčko “Use heightmap“) na vaše frézovací data a Candle přepočítá souřadnice tak, aby frézování proběhlo přesně s ohledem na křivost povrchu. Tlačítka “Create” a “Open” jsou jasná (vytvořit / otevřít). Tlačítko “Edit mode” slouží k přepínání mezi režimem vytváření mapy a standardním režimem programu.

Heightmap

Možnost vytvořit výškovou mapu je aktivní pouze pokud máte nahraný nějaký program. Stiskem tlačítka “Auto” se nastaví generování mapy v rozsahu, na kterém je program (tam, kde se podle programu má pohybovat nástroj). V sekci “Border” v “W” a “H” lze zadat rozměr mapy manuálně a v “X” a “Y” se nastavuje umístění nastavené plochy mapy. V sekci “Probe grid” v “X” a “Y” se nastavuje počet měřících bodů a v “Zt” a “Zb” se nastavuje rozsah pohybu osy Z.

Heightmap

Spindle (vřeteno)
V této sekci jsou prvky ovládání vřetene. Tlačítkem vřeteno vypnete / zapnete a pomocí posuvníku nastavujete otáčky. Když je spuštěn program (G-kód), tak nelze vřeteno vypnout, ale je možné měnit otáčky.
Kam až vás posuvník pustí nastavíte Service>Settings>Machine information – kolonka Spindle speed min / max. Pozor, nastavené hodnoty určují jen rozsah regulace posuvníkem v Candle a nesouvisí zcela s reálnými otáčkami vřetene. Navíc je potřeba mít správně nastavené max. otáčky i v Arduinu (parametry $30 pro max, $31 pro min.). Toto nastavení souvisí s podrobným a přesným nastavením stroje a přesahuje rámec tohoto článku.

Spindle

Overriding (přenastavení)
V této sekci lze manipulovat s rychlostmi posuvu (Feed rate), rychloposuvu (Rapid speed) a otáčkami vřetene (Spindle speed) když je spuštěn program (G-kód). Toto jsou velmi užitečné funkce. Když je program (G-kód) spuštěn, tak můžete optimalizovat zejména rychlost posuvu nástroje při obrábění (Feed rate), můžete také měnit rychlost přejezdů (Rapid speed) a v neposlední řadě upravovat otáčky vřetene. Rychlost posuvu a otáčky vřetene mají, při vhodně zvoleném nástroji, zásadní vliv na kvalitu obrábění a na životnost nástroje! Pokud chcete přenastavit jednotlivé položky, zaškrtněte políčko a posuvníkem nastavte požadované hodnoty.

Overriding

Jog (ovládání pohybu po osách)
Sekce Jog umožňuje manuálně ovládat 3 osy vašeho stroje. Čtyři směrová tlačítka umístěná vlevo ovládají osy X a Y a dvě šipky vpravo slouží pro ovládání osy Z.

Jog

V rozbalovací nabídce „Step“ (krok) lze nastavit, jak se bude vřeteno po osách pohybovat. Při výběru „Continuously“ (průběžně) bude pohyb probíhat po dobu stisknutí tlačítka. Ostatní volby nabízejí velikost kroku – o jakou vzdálenost se vřeteno ve vybraném směru posune. Vyberte vzdálenost a stiskem směrového tlačítka se vřeteno o tuto vzdálenost posune. Ve středu směrových tlačítek X Y je tlačítko „Stop“ (zastavení). Tímto tlačítkem zastavíte pohyb, pokud jste například předtím spustili posuv vřetene o krok 10mm. Pokud vám přednastavené kroky nevyhovují, můžete do kolonky vepsat vlastní. Pozor, při zadávání desetinného čísla musíte použít tečku, kterou ale nelze z klávesnice napsat. Řešením je vybrat krok, který desetinou tečku obsahuje a změnit jen čísla.
Další rozbalovací nabídka je „Feed“ (rychlost posuvu v mm/min). Vyberte si posuv, který vám vyhovuje. Pomalejší je vhodný pro jemné ruční ovládání. Rychlejší pak použijete při dlouhých přejezdech. Při zadávání vysokých hodnot pozor na mechanické možnosti stroje.
Poslední volbou je zaškrtávací políčko pro zapnutí ovládání pomocí klávesnice. Políčko lze zaškrtnout buď myší nebo klávesou “Scroll/Lock” … tuto klávesovou zkratku si zapamatujte, opravdu se hodí pro rychlé přepínání mezi oběma druhy ovládání. Ještě pozor – pokud je aktivní ovládání klávesnicí, tak nejsou dostupné některé další ovládací prvky. Ovládací prvky pro pohyb osami viz. obrázek:

Numerická klávesnice – ovládání

Ovládání z numerické klávesnice přináší zajímavé možnosti. Pokud posíláte program G-kód z počítače, tzn. máte počítač připojený ke stroji (a k Arduinu), tak můžete např. využít externí USB numerickou klávesnici, tzv. NumPad a dálkově stroj ovládat. Také je možnost použít obyčejný USB GamePad a přes definici klávesových zkratek využívat jeho tlačítek pro ovládání stroje. I když je lákavé použít bezdrátové řešení s Bluetooth doporučuji pro spolehlivý provoz raději spojení kabelem. Pro zajímavost – Gamepad na obrázku dole má celkem 14 tlačítek, takže lze využít opravdu pestrou škálu příkazů. Candle samotný ovládání Gamepadem neumí. Je potřeba použít externí program přes který se klávesové zkratky používané v Candle přiřadí jednotlivým tlačítkům.

NumPad a GamePad

Console (konzole)
V této části jednak vidíte co se děje při stisku ovládacích tlačítek a také tady lze manuálně zadávat příkazy G-kódu (MDI – manual data input). G-kód můžete vkládat jako jednotlivé příkazy, ale klidně i jako soubor příkazů. Příkazy prováděné z konzoly jsou nezávislé na načteném programu.
V případě chyby na stroji se v okně zobrazí její číslo a dá se tak podle seznamu chyb zjistit, co se stalo.

Console

Nahrání a spuštění programu (G-kódu)
Program musíte mít už vytvořený. Candle není určen pro tvorbu programů G-kódu. Program (soubor) otevřete buď pomocí tlačítka Open ve spodní části okna, nebo přes horní lištu „File>Open“. Po otevření programu se několik prvních řádků zobrazí ve spodní části obrazovky.

Zobrazení řádků programu

Pozor na formát dat. Candle pracuje s milimetry. Program může být i v palcích, pak je ale třeba, aby byl v programu uveden kód G20 (palce).

Před spuštěním programu najeďte nástrojem tam, kam potřebujete. Pro spolehlivé určení výšky nástroje se hodí použití dotykové sondy (Z-probe). V nastavené poloze stiskněte tlačítka „Zero XY“ a „Zero Z“ pro vynulování pracovních souřadnic. Po nastavení počátku obrábění stiskněte také tlačítko „Safe position“ a pokud ji nastavíte, viz. popis výše, vřeteno se vrátí zpět do výchozí polohy.

Po načtení program spustíte jednoduše kliknutím na tlačítko „Send“ (odeslat) ve spodní části obrazovky. Candle začne posílat data do řídící jednotky Arduino a vřeteno se začne pohybovat dle programu G-kódu.
Stisknutím „Pause“ (pauza) se zastaví pohyb vřetene, ale vřeteno se nevypne. Pokud potřebujete program úplně zastavit, jednoduše klikněte na „Abort“ (zrušit) a vše se vypne, vč. vřetene. Program znovu (od začátku) spustíte dalším kliknutím na „Send“. Kliknutím na „Reset“ se v zobrazení jednotlivých řádek přesunete na začátek. Vedle tlačítek jsou ještě dvě zaškrtávací políčka. Zaškrtnutím “Check mode” si můžete nechat virtuálně zobrazit, jak bude frézování probíhat. Nelekejte se, pohyb nástroje bude velmi zrychlený. Zaškrtnutím “Autoscroll” nastavíte, že se při frézování bude automaticky listovat programem, takže uvidíte na jakém řádku se právě program nachází (Processed – vyřízeno, In queue – na řadě).

Start od vybraného řádku

Candle má jednu šikovnou vychytávku a sice spuštění programu od libovolného řádku. Vyberte myší řádek (řádek se zvýrazní viz. obrázek výše), od kterého chcete program spustit, najeďte na tlačítko „Send“, klikněte, ale tlačítko myši nepouštějte a objeví se nabídka „Send from current line“ (spustit od aktuálního řádku), přejeďte na nabídku a tlačítko myši pusťte. Objeví se okno s informací jaké příkazy G-kódu Candle před spuštěním provede.

Start od vybraného řádku

Doporučuji věnovat se zejména Z pozici nástroje, aby nedošlo k jeho poškození, pokud nebude mimo obráběný materiál. Někdy se může stát, že se Candle při tomto spuštění zcela zhroutí, zřejmě se to děje jen pokud se pokusíte spustit program od některého z prvních řádků, kde ještě nejsou použity žádné souřadnice X, Y, Z.

Vizualizace G-kódu
Výhoda programu Candle je v zobrazení G-kódu přehlednou formou vč. zobrazení nástroje. S náhledem lze snadno manipulovat myší. Vyzkoušejte si co jednotlivá tlačítka a kolečko na myši dělají. Pro natočení pohledu lze také použít ikonky krychle v pravém horním rohu.

Vizualizace G-kódu

Po spuštění programu se nástroj v Candle začne virtuálně pohybovat. Všimněte si fialové a šedé dráhy na obrázku. Šedá barva vyznačuje dráhu, kterou má nástroj už za sebou. Fialová barva ukazuje část dráhy pro níž byla data již odeslána do řídící elektroniky (do Arduina). Pokud je vzdálenost mezi fialovou tečkou a virtuálním nástrojem příliš malá ukazuje to na nějaký problém v komunikaci mezi počítačem a strojem (Arduinem). Znamená to, že počítač dodává řídící elektronice data pomalu. V extrému může docházet k tomu, že vřeteno nejede, ale poskakuje protože Arduino čeká na další data. Pokud vše bez problému funguje, tak OK, ale pokud ne může být na vině třeba pomalá komunikace.

Vizualizace – dráhy nástroje

Nastavení stroje
Nastavení stroje proveďte dle doporučení výrobce nebo komunity sdružené kolem vašeho CNC stroje.

Nové verze programu Candle
Autor programu neustále něco vylepšuje. Často nějaké drobnosti přidá, ale občas také něco ubere. Aktuální verzi Candle najdete na GitHub.

Článek je samozřejmě volně k dispozici všem zájemcům. Pokud z něj ale budete některé části textu kopírovat pro svou potřebu, budu rád když nám dáte vědět, případně když uvedete zdroj :-).

Článek vznikl s využitím informací z webu CNC Philosophy.