CNC frézování s open source softwarem

Stále hledám nové projekty, které bych mohl vytvořit na své 3D tiskárně. Když jsem nedávno viděl nový návrh frézky s počítačovým číslicovým kódem (CNC), která využívá převážně 3D vytištěné díly, zaujalo mě to. Když jsem viděl, že stroj pracuje s open source softwarem a řídicí jednotkou je Arduino s open source softwarem, věděl jsem, že si ho musím vyrobit.

CNC frézky jsou přesné řezné nástroje používané při vytváření raznic, rytin a modelů. Na rozdíl od jiných frézovacích nástrojů se CNC stroje mohou pohybovat ve třech osách: osa Z se pohybuje vertikálně, osa X se pohybuje horizontálně a osa Y se pohybuje dopředu a dozadu.

DIY your CNC

Přestože mnoho součástí tohoto CNC stroje je vytištěno na 3D tiskárně, několik dílů je třeba objednat, aby fungoval. Jeho tvůrce Nikodem Bartnik má na stránce projektu Thingiverse seznam dílů spolu s odkazy na stažení souborů STL 3D tištěných dílů.

Objednal jsem potřebné díly a začal čekat. Byly odeslány ze zámoří, takže u některých z nich trvalo asi měsíc, než dorazily. Mezitím jsem si vytiskl další díly na 3D tiskárně.

Stroj CNC je postaven na řídicí jednotce Arduino, na které běží open source software GRBL pro řízení pohybu. Řídicí jednotka GRBL přijímá CNC G-kód (textový seznam instrukcí pro CNC frézku) a převádí jej na pohyb řízením krokových motorů. Stroj má jeden krokový motor pro osu Z (nahoru a dolů), jeden krokový motor pro osu X (doleva a doprava) a dva krokové motory pro osu Y (dozadu a dopředu). Na webových stránkách GRBL je k dispozici dokumentace pro nahrání GRBL na desku Arduino.

Nebudu se zabývat podrobnostmi sestavení hardwaru CNC, protože Nikodem má řadu videí, která to podrobně vysvětlují. Místo toho se zaměřím na software s otevřeným zdrojovým kódem, který lze použít k vytváření návrhů pro CNC stroj a jeho spouštění. Spolu s Fedorou jako základním operačním systémem jsou dalšími částmi open source softwaru, které jsem použil, GRBL, Inkscape, jscut a CNCjs.

V tomto tutoriálu vysvětlím, jak vytvořit CNC frézovanou dřevěnou verzi loga Larryho Ewinga Linux Tux.

Vytvoření souborů

Prvním krokem k vytvoření dřevěného Tuxe je stažení černobílé verze loga ve formátu PNG z Wikimedia Commons.

cnc_bw-tux.png

Logo Tux z Wikimedia Commons

Výchozí bod projektu, obrázek Tux ve formátu PNG z Wikimedia Commons, jehož autorem je gg3po, licencovaný pod licencí GPL v2.

Aby logo Tux mohlo fungovat na stroji CNC, převeďte soubor PNG Tux na soubor SVG pomocí programu Inkscape přetažením souboru PNG do okna programu Inkscape. Poté pomocí možnosti Trace Bitmap aplikace Inkscape převeďte obrázek na cesty SVG. Tím se vytvoří duplicitní kopie obrázku – jedna je cesta, druhá bitmapa – kopii bitmapy smažte. Použijte možnost Rozdělit a odstraňte vlastnost Výplň pro obrys Tuxe a Tuxovu tlamu; získáte obrázek SVG, který bude vypadat jako inverzní obrázek původního obrázku.

cnc_inverse-svg.png

Inverzní soubor Tuxe vytvořený v aplikaci Inkscape

Inverzní Tux vytvořený v aplikaci Inkscape. Černé části budou vyfrézovány strojem CNC.

Následuje převod souboru SVG na kód CNC G, což je seznam instrukcí, které říkají stroji CNC, jak vytvořit požadovaný design. Použil jsem open source software jscut, což je webový program pro počítačem podporovanou výrobu (CAM). Tento software si můžete stáhnout a spustit na místním stroji nebo použít webovou verzi na adrese jscut.org, což jsem udělal já.

Otevřete soubor SVG na jscut.org pomocí rozevírací nabídky Open SVG. Poté klepněte na jednu nebo více částí obrázku SVG a klepněte na tlačítko Vytvořit operaci. Vyberte typ operace (gravírování, vnější, kapsa atd.) a hloubku řezu a klikněte na tlačítko Generovat. Různé typy operací určují, kde bude řez proveden; účinky různých operací si můžete prohlédnout na kartě Simulovat GCODE, kde se zobrazí náhled, jak bude řez vypadat. Pro Tux jsem vytvořil několik operací pro různé části konstrukce.

cnc-jscut.png

Generování G-kódu Tux CNC pomocí jscut

Generování G-kódu Tux CNC pomocí jscut.

Nastavte vlastnosti řezného bitu v části Nástroj; mezi ně patří zadání průměru bitu a rychlosti, jakou má být řez proveden. Jedním z omezení jscut je, že nemůžete zadat různé velikosti bitů pro různé operace. K vytvoření Tuxe jsem potřeboval použít dva různé bity: menší bit k vyrytí detailů, jako jsou oči, nos a ústa, a větší bit k vyříznutí obrysu Tuxe po celé délce dřevěné desky. Použil jsem jscut dvakrát k vygenerování dvou různých souborů G-kódu: jeden k vytvoření rytin menším bitem a druhý k vyříznutí obrysu Tuxe větším bitem.

Po vytvoření dvou souborů G-kódu je dalším úkolem pořídit si software pro CNC ovladač. Já jsem použil open source program CNCjs. CNCjs je založený na webu, snadno se používá a podporuje propojení s řídicími jednotkami GRBL. Po jeho instalaci přistupte k CNCjs ve webovém prohlížeči a připojte jej k řadiči Arduino GRBL.

Klepněte na Upload G-Code a zadejte soubor, který jste vytvořili pomocí jscut. Nejprve jsem nahrál soubor G-kódu, který vytváří rytiny na vrcholu Tuxe.

Připravte se na řezání

Jste téměř připraveni začít řezat! Protože budete řezat po celé délce dřeva, je chytré použít „odpadní desku“ – desku, která leží na horní straně tohoto CNC stroje a do které vám nevadí řezat. Je to proto, že když stroj vyřízne Tuxe, projde celou cestou až do desky pod ním. Odpadní desku lze podle potřeby vyměnit.

cnc-wasteboard.jpg

Odpadní deska

Odpadní deska ukazuje předchozí řezy.

Bezpečně připevněte odpadní desku ke stroji CNC, abyste zabránili jakémukoli pohybu, a poté připevněte kus dřeva, který použijete pro Tuxe. Existuje mnoho způsobů, jak dřevo připevnit – já používám silnou oboustrannou kobercovou pásku.

Posledním krokem před řezáním je vyrovnání bitu na vřetenu s řezaným kusem dřeva. Pomocí tlačítek Osy systému CNCjs fyzicky přesuňte vřeteno tak, aby souřadnice X, Y a Z bitu byly zarovnány s levým horním rohem dřeva. Osa Z by měla být těsně nad dřevem; mezi dřevo a bit byste měli být schopni vsunout kus papíru, ale měli byste cítit, jak se bit při posouvání táhne po papíru.

Jakmile je vše srovnáno, nastavte posuny pracovní polohy pro osy X, Y a Z na nulu kliknutím na tlačítko Nastavit pro každou z nich.

cnc-set-axes.png

Nulování pracovní polohy os

Nastavení pracovní polohy na nulu pro osy X, Y a Z. Nastavte pracovní polohu na nulu.

Stisknutím tlačítka Z+ v systému CNCjs trochu zvednete bit, aby vřeteno při zapnutí neudělalo ve dřevě stopu.

Chcete-li začít řezat, nasaďte si ochranné brýle, ochranu sluchu a masku proti prachu. Poté zapněte vřeteno a klikněte na tlačítko Play v systému CNCjs.

Během řezání pozorně sledujte stroj a mějte plán, jak v případě potřeby rychle odpojit napájení stroje CNC a vřetena. Připravte si také vysavač, protože se bude tvořit spousta pilin.

Po dokončení rytí v prvním souboru G-kódu na Tuxu vypněte vřeteno a stisknutím tlačítka X0Y0 v softwaru CNCjs vraťte vřeteno do výchozí pracovní polohy os X a Y.

Připravte si také vysavač. Poté přepněte na větší bit, nahrajte soubor G-kódu, který vyřeže obrys Tuxe, a stejným postupem jej spusťte.