Ce este G-code? Introducere pentru Începători + Exemple cu Arduino și CNC

G-code este limbajul standard folosit pentru a controla mașini CNC (Computer Numerical Control), precum imprimante 3D, freze, gravatoare cu laser sau routere CNC. Este un limbaj simplu, bazat pe comenzi, care spune mașinii unde să se miște, cât de repede și ce acțiune să execute. Dacă folosești un Arduino pentru a construi sau controla un sistem CNC, este foarte probabil să întâlnești sau să ai nevoie de G-code.

Ce este G-code? Introducere pentru Începători + Exemple cu Arduino și CNC

📄 Cum arată un G-code?

Un fișier G-code este o listă de instrucțiuni, fiecare pe câte un rând, ca exemplul de mai jos:

gcode
G21 ; Setează unitățile în milimetri G90 ;
Setează poziționarea absolută G1 X10 Y10 F600 ;
Mișcă capul la coordonata X10 Y10 cu viteză 600 mm/min G1 X20 Y0 ;
Mișcă capul la X20 Y0 M5 ;
Oprește unealta (laser, motor etc.)

🔧 Ce înseamnă comenzile G și M?

  • G – sunt comenzi de mișcare și setare (de la „Geometry”):

    • G0 – mișcare rapidă fără tăiere

    • G1 – mișcare liniară cu avans (tăiere, extrudare etc.)

    • G90 – poziționare absolută

    • G91 – poziționare relativă

    • G21 – unități în milimetri

    • G20 – unități în inch

  • M – sunt comenzi pentru funcții auxiliare (de la „Misc”):

    • M3 – pornește unealta (ex: motor, laser)

    • M5 – oprește unealta

    • M30 – sfârșitul programului


🧠 Cum funcționează G-code cu Arduino?

Arduino nu „înțelege” direct G-code, dar poate fi programat să-l interpreteze cu ajutorul unor firmware-uri precum:

  • GRBL – cel mai popular firmware open-source pentru control CNC pe Arduino Uno

  • Marlin – folosit mai ales pentru imprimante 3D

  • Repetier – alternativă pentru control mai complex

💡 Cu GRBL instalat pe un Arduino Uno + un shield CNC (cu drivere A4988/DRV8825), se pot controla 3 axe (X, Y, Z), motoare pas cu pas și chiar un motor de tăiere.


🔌 Exemplu de setup Arduino + CNC:

  1. Arduino Uno

  2. GRBL firmware (se încarcă ca un sketch)

  3. CNC Shield v3 + drivere A4988

  4. Motoare pas cu pas NEMA 17

  5. Software G-code sender pe PC (ex: Universal G-code Sender)

  6. G-code generat cu un program CAM (ex: Inkscape, Fusion 360, FreeCAD)


📦 Exemplu G-code pentru gravare CNC:

gcode
G21 ; mm G90 ; coordonate absolute G0 X0 Y0 ; du-te în origine M3 ; pornește gravura (ex: laser ON) G1 X50 Y0 F800 G1 X50 Y50 G1 X0 Y50 G1 X0 Y0 M5 ; oprește unealta

🔁 Acest cod trasează un pătrat de 50x50 mm cu o unealtă activă.


💡 Cum se generează G-code?

Nu este nevoie să scrii G-code manual! Poți folosi software care îl generează automat dintr-un fișier desen (SVG, DXF, STL etc.):

  • 🖌️ Inkscape cu plugin CAM pentru gravură laser

  • 🧩 FreeCAD – pentru piese mecanice

  • 🧱 Fusion 360 – modelare + generare automată G-code

  • 🖨️ Ultimaker Cura / PrusaSlicer – pentru imprimante 3D


✅ Concluzie

G-code este limbajul universal pentru CNC, iar cu un simplu Arduino și firmware-ul GRBL, oricine poate începe să controleze mașini de tăiere, gravură sau imprimare 3D. Deși pare tehnic, G-code este de fapt ușor de învățat, logic și foarte precis.