Frezarea CNC cu software open source

Sunt mereu în căutare de noi proiecte pe care să le creez cu imprimanta mea 3D. Când am văzut recent un nou proiect pentru o mașină de frezat cu cod numeric computerizat (CNC) care folosește în principal piese imprimate 3D, am fost intrigat. Când am văzut că mașina funcționează cu un software open source, iar controlerul este un Arduino care rulează un software open source, am știut că trebuie să fac una.

Mașinile de frezat CNC sunt unelte de tăiere de precizie utilizate în crearea de matrițe, gravuri și modele. Spre deosebire de alte instrumente de frezare, mașinile CNC se pot deplasa pe trei axe: axa Z se deplasează vertical, axa X se deplasează orizontal, iar axa Y se deplasează înainte și înapoi.

DIY your CNC

În timp ce multe dintre componentele acestei mașini CNC sunt tipărite 3D, mai multe piese trebuie comandate pentru a o face să funcționeze. Creatorul său, Nikodem Bartnik, are o listă de piese pe pagina Thingiverse a proiectului, împreună cu linkuri pentru a descărca fișierele STL ale pieselor imprimate 3D.

Am comandat piesele necesare și am început să aștept. Acestea au fost expediate din străinătate, așa că unele dintre ele au avut nevoie de aproximativ o lună pentru a ajunge. Între timp, am imprimat 3D celelalte piese.

Mașina CNC este construită pe un controler Arduino care rulează software-ul open source GRBL de control al mișcării GRBL. Controlerul GRBL primește codul CNC G-code (o listă de instrucțiuni pe bază de text pentru freza CNC) și îl transpune în mișcare prin acționarea motoarelor pas cu pas. Mașina are un motor pas cu pas pentru axa Z (sus și jos), un motor pas cu pas pentru axa X (stânga și dreapta) și două motoare pas cu pas pentru axa Y (înainte și înapoi). Site-ul GRBL are documentație pentru încărcarea GRBL pe placa Arduino.

Nu voi intra în detalii despre asamblarea hardware-ului CNC, deoarece Nikodem are o serie de videoclipuri care explică în detaliu. În schimb, mă voi concentra pe software-ul open source care poate fi folosit pentru a crea proiecte pentru și a rula mașina CNC. Împreună cu Fedora ca sistem de operare de bază, celelalte bucăți de software open source pe care le-am folosit sunt GRBL, Inkscape, jscut și CNCjs.

Pentru acest tutorial, voi explica cum să creez o versiune din lemn, frezată prin CNC, a logo-ului Linux Tux al lui Larry Ewing.

Faceți-vă fișierele

Primul pas spre realizarea unui Tux din lemn este descărcarea unei versiuni alb-negru a logo-ului în format PNG de la Wikimedia Commons.

cnc_bw-tux.png

Logo-ul Tux de pe Wikimedia Commons

Punctul de plecare al proiectului, o imagine PNG a lui Tux de pe Wikimedia Commons, realizată de gg3po, sub licența GPL v2.

Pentru ca logo-ul Tux să poată funcționa pe mașina CNC, convertiți fișierul PNG Tux într-un fișier SVG cu Inkscape prin glisarea și plasarea fișierului PNG în fereastra Inkscape. Apoi, utilizați opțiunea Trace Bitmap din Inkscape pentru a converti imaginea în trasee SVG. Acest lucru creează copii duplicate ale imaginii – una este căi, cealaltă este un bitmap – ștergeți copia bitmap. Folosiți opțiunea Break Apart și eliminați proprietatea Fill pentru conturul lui Tux și al gurii lui Tux; veți avea o imagine SVG care arată ca inversul imaginii originale.

cnc_inverse-svg.png

Fisier Tux invers creat în Inkscape

Tux invers creat în Inkscape. Secțiunile negre vor fi frezate de mașina CNC.

În continuare, convertiți fișierul SVG în CNC G-code, care este o listă de instrucțiuni care indică mașinii CNC cum să creeze designul dorit. Am folosit software-ul open source jscut, care este un program de fabricație asistată de calculator (CAM) bazat pe web. Puteți descărca software-ul și îl puteți rula pe mașina dvs. locală sau puteți folosi versiunea bazată pe web de la jscut.org, ceea ce am făcut eu.

Deschideți fișierul SVG de pe jscut.org folosind meniul derulant Open SVG. În continuare, faceți clic pe una sau mai multe părți ale imaginii SVG, apoi faceți clic pe Create Operation. Alegeți tipul de operațiune (gravură, exterior, buzunar etc.) și adâncimea de tăiere, apoi faceți clic pe Generate. Diferitele tipuri de operații definesc locul în care se face tăietura; puteți vedea efectele diferitelor operații accesând fila Simulate GCODE, care prezintă o previzualizare a modului în care va arăta tăietura. Pentru Tux, am creat mai multe operații pentru diferite părți ale proiectului.

cnc-jscut.png

Generarea codului G CNC Tux cu jscut

Generarea codului G CNC Tux cu jscut.

Setați proprietățile burghiului de tăiere în secțiunea Tool (Instrument); acestea includ specificarea diametrului burghiului și a vitezei cu care trebuie efectuată tăierea. O limitare a jscut este că nu puteți specifica dimensiuni diferite ale burghiului pentru operațiuni diferite. Pentru a-l crea pe Tux, a trebuit să folosesc două biți diferiți: un bit mai mic pentru a grava detalii cum ar fi ochii, nasul și gura și un bit mai mare pentru a tăia conturul lui Tux până la capăt prin placa de lemn. Am folosit jscut de două ori pentru a genera două fișiere G-code diferite: unul pentru a realiza gravurile cu burghiul mai mic și altul pentru a tăia conturul lui Tux cu burghiul mai mare.

După ce ați creat cele două fișiere G-code, următoarea sarcină este să obțineți software-ul controlerului CNC. Eu am folosit programul open source CNCjs. CNCjs este bazat pe web, ușor de utilizat și suportă interfațarea cu controllerele GRBL. După ce este instalat, accesați CNCjs într-un browser web și conectați-l la controlerul dvs. Arduino GRBL.

Click pe Upload G-Code și specificați fișierul pe care l-ați creat cu jscut. În primul rând, am încărcat fișierul G-code care face gravurile de pe partea de sus a lui Tux.

Pregătiți-vă să tăiați

Sunteți aproape gata să începeți să tăiați! Din moment ce veți tăia până la capăt prin lemn, este inteligent să folosiți o „placă de deșeuri” – o placă care stă deasupra mașinii CNC în care nu vă deranjează să tăiați. Acest lucru se datorează faptului că, atunci când mașina taie Tux, va trece până la capăt și va intra în placa de sub ea. Placa de deșeuri poate fi înlocuită la nevoie.

cnc-wasteboard.jpg

Planșa de deșeuri

Planșa de deșeuri care arată tăieturile anterioare.

Ajustați cu siguranță placa de deșeuri la mașina dvs. CNC pentru a preveni orice mișcare, apoi atașați bucata de lemn pe care o veți folosi pentru Tux. Există mai multe moduri de a atașa lemnul – eu folosesc bandă de covor dublu-adezivă rezistentă.

Primul pas înainte de a tăia este să aliniați burghiul de pe ax la bucata de lemn pe care o tăiați. Folosiți butoanele Axes ale CNCjs pentru a deplasa fizic fusul astfel încât coordonatele X, Y și Z ale burghiului să fie aliniate cu colțul din stânga sus al lemnului dumneavoastră. Axa Z ar trebui să fie chiar deasupra lemnului; ar trebui să puteți glisa o bucată de hârtie între lemn și burghiu, dar să simțiți cum burghiul se târăște pe hârtie în timp ce alunecă.

După ce totul este aliniat, setați la zero decalajele poziției de lucru pentru axele X, Y și Z făcând clic pe butonul Set pentru fiecare.

cnc-set-axes.png

Punerea la zero a poziției de lucru a axelor

Setarea poziției de lucru la zero pentru axele X, Y și Z.

Presați butonul Z+ în CNCjs pentru a ridica puțin burghiul astfel încât axul să nu facă un semn în lemn atunci când este pornit.

Pentru a începe tăierea, puneți-vă ochelarii de protecție, protecția auditivă și o mască de praf. Apoi, porniți mandrina și faceți clic pe butonul Play din CNCjs.

Supravegheați atent mașina în timpul tăierii și aveți un plan pentru a deconecta rapid alimentarea mașinii CNC și a mandrinei, dacă este necesar. Pregătiți-vă și cu un aspirator, deoarece se va crea mult rumeguș.

După ce primul fișier de cod G finalizează gravurile de pe Tux, opriți mandrina și apăsați butonul X0Y0 din CNCjs pentru a readuce mandrina în poziția inițială de lucru a axelor X și Y. Apoi treceți la bitul mai mare, încărcați fișierul G-code care va tăia conturul lui Tux și urmați același proces pentru a-l rula.

.