MODUL 3 · PROGRAMSKA PODRŠKA ZA UPRAVLJANJE 3D PRINTEROM
Nastavna jedinica 3.4
Izrada i analiza G-koda
G-kod je jedina stvar koju printer zaista izvodi. Model, postavke i prikaz u sliceru postoje samo radi njega. Kada se nauči čitati, G-kod prestaje biti neprozirna datoteka i postaje zapis u kojem se vidi svaka odluka koju je slicer donio i svaki milimetar koji će mlaznica prijeći.
- objasniti što je G-kod i kako nastaje iz razrezanog modela
- prepoznati dijelove datoteke: zaglavlje, početni kod, slojeve i završni kod
- protumačiti osnovne naredbe gibanja, istiskivanja i zagrijavanja
- pročitati redak s koordinatama i vrijednošću E te iz njega odrediti količinu materijala
- pregledati putanje po slojevima i prepoznati odstupanja prije ispisa
- iz G-koda procijeniti trajanje ispisa i potrošnju filamenta
Što je G-kod
G-kod je tekstna datoteka u kojoj je svaki redak jedna naredba stroju. Nastao je u svijetu alatnih strojeva s numeričkim upravljanjem i ondje se i danas koristi; 3D printeri preuzeli su njegov osnovni ustroj i dodali naredbe za istiskivanje i zagrijavanje. Datoteka se izvodi redom, od prvog retka do posljednjeg, bez grananja i bez petlji.
Redak počinje slovom i brojem koji zajedno čine naredbu, a zatim slijede parametri, svaki također označen slovom. Naredbe koje počinju slovom G odnose se na gibanje i geometriju, a naredbe koje počinju slovom M na ostale funkcije stroja: grijače, ventilatore, motore i poruke. Sve iza znaka točke sa zarezom smatra se napomenom i printer je zanemaruje.
Za model N-14 datoteka s G-kodom ima nekoliko desetaka tisuća redaka. Broj redaka raste s brojem slojeva i sa složenošću obrisa, pa isti predmet ispisan uz 0,12 mm daje znatno veću datoteku od istog predmeta uz 0,28 mm. Veličina datoteke sama po sebi ne govori o kakvoći ispisa, ali govori koliko će trajati prijenos i može li je upravljačka jedinica uopće očitati dovoljno brzo.
Ustroj datoteke
Datoteka ima četiri dijela koji uvijek dolaze istim redom. Zaglavlje su napomene koje je slicer upisao: naziv i inačica alata, procijenjeno vrijeme, potrošnja filamenta, visina sloja i sve postavke iz profila. Zaglavlje printer ne izvodi, ali ga čitaju programi za nadzor ispisa i iz njega prikazuju procjene.
Početni kod priprema stroj: uključuje grijače i čeka da temperature budu postignute, nulira osi, postavlja apsolutno zadavanje koordinata i ispisuje uvodnu liniju uz rub podloge kojom se mlaznica napuni. Tijelo je niz slojeva, obično razdvojen napomenama s brojem sloja i visinom. Završni kod gasi grijače i ventilator, uvlači filament, odmiče mlaznicu od predmeta, spušta stol i isključuje motore.
; generirano u sliceru, profil P-1 0.20 mm
; visina sloja = 0.2
; procijenjeno vrijeme ispisa = 1h 50m
; duljina filamenta = 2577.3 mm
; masa predmeta = 7.7 g
M140 S60 ; pokreni grijanje podloge na 60 C
M104 S210 ; pokreni grijanje mlaznice na 210 C
M190 S60 ; čekaj da podloga dosegne 60 C
M109 S210 ; čekaj da mlaznica dosegne 210 C
G28 ; nuliraj sve osi
G90 ; apsolutno zadavanje koordinata
G92 E0 ; postavi brojac istiskivanja na nulu
Napomene su ovdje dopisane radi objašnjenja; u stvarnoj datoteci slicer ih upisuje vlastitim riječima ili ih izostavlja. Početni i završni kod dolaze iz profila printera, pa se mijenjaju ondje, a ne u samoj datoteci.
Osnovne naredbe
Popis naredbi koje printer poznaje broji nekoliko stotina, ali u datoteci stolnog FDM printera gotovo se sve svodi na desetak njih. Od njih su dvije zaslužne za više od devedeset posto redaka: G0 za pomak bez istiskivanja i G1 za pomak uz istiskivanje.
| Naredba | Značenje | Primjer | Napomena |
|---|---|---|---|
| G0 | brzi pomak bez istiskivanja | G0 X120 Y95 F7200 | prijelaz s jednog otoka na drugi |
| G1 | pomak uz istiskivanje | G1 X128.4 Y95 E0.2814 F1800 | osnovni radni potez |
| G28 | nuliranje osi na krajnje prekidače | G28 | obvezno na početku ispisa |
| G90 | apsolutno zadavanje koordinata | G90 | koordinate se mjere od ishodišta |
| G91 | prirasno zadavanje koordinata | G91 | koordinate su pomak od trenutnog položaja |
| G92 | postavljanje vrijednosti brojača | G92 E0 | nuliranje brojača istisnutog filamenta |
| M104 | postavi temperaturu mlaznice | M104 S210 | ne čeka da temperatura bude dosegnuta |
| M109 | postavi i čekaj temperaturu mlaznice | M109 S210 | izvođenje staje do postizanja |
| M140 | postavi temperaturu podloge | M140 S60 | ne čeka |
| M190 | postavi i čekaj temperaturu podloge | M190 S60 | izvođenje staje do postizanja |
| M106 | uključi ventilator hlađenja | M106 S255 | S od 0 do 255 |
| M107 | isključi ventilator hlađenja | M107 | obično na prvom sloju |
| M84 | isključi motore | M84 | na kraju ispisa |
Razlika između M104 i M109 u praksi je važna. M104 samo postavi zadanu temperaturu i nastavi dalje, pa se grijanje odvija usporedno s ostalim pripremama. M109 zaustavlja izvođenje dok temperatura nije postignuta. Dobro napisan početni kod koristi obje: najprije M140 i M104 da grijanje počne, pa M190 i M109 da se pričeka.
Isto vrijedi za par G90 i G91. U apsolutnom načinu naredba G1 X100 znači pomak na koordinatu 100, a u prirasnom pomak za 100 mm od trenutnog položaja. Zamjena tih dvaju načina jedan je od najčešćih uzroka toga da se mlaznica zabije u podlogu ili izađe iz radnog prostora.
Čitanje retka s koordinatama
Redak radnog poteza izgleda ovako:
G1 X128.400 Y95.000 E0.2814 F1800
Naredba G1 nalaže pomak uz istiskivanje. X i Y su odredišne koordinate u milimetrima, mjerene od ishodišta radnog prostora. F je posmak u milimetrima u minuti; vrijednost 1800 odgovara brzini od 30 mm/s. Posmak se pamti, pa ga sljedeći redci ne moraju ponavljati sve dok se ne mijenja. E je stanje brojača istisnutog filamenta.
Vrijednost E najlakše se pogrešno razumije. U apsolutnom načinu ona nije količina materijala u tom potezu nego ukupna duljina filamenta uvučena od posljednjeg nuliranja naredbom G92 E0. Količina u pojedinom potezu razlika je dviju uzastopnih vrijednosti E. Opći oblik retka zapisuje se ovako, pri čemu svaki parametar smije izostati ako se ne mijenja:
G1 X<odredišni x> Y<odredišni y> E<stanje brojača> F<posmak>
G0 X<odredišni x> Y<odredišni y> F<posmak>
Niz uzastopnih redaka iz tijela datoteke izgleda ovako:
G1 X120.000 Y95.000 E0.0000 F1800
G1 X128.400 Y95.000 E0.2814
G1 X128.400 Y103.400 E0.5628
G0 F7200 X140.000 Y110.000
G1 F1800 X148.400 Y110.000 E0.8442
Iz tog isječka čita se sljedeće: prvi potez duljine 8,4 mm troši 0,2814 mm filamenta, drugi potez iste duljine troši jednako toliko, zatim slijedi brzi prijelaz bez istiskivanja pri 7200 mm/min, pa se radni posmak vraća na 1800 mm/min. Omjer 0,2814 mm filamenta na 8,4 mm puta odgovara sloju visine 0,20 mm i širine 0,46 mm, što se lako provjeri: presjek položenog traga pomnožen duljinom mora biti jednak presjeku filamenta pomnoženom vrijednošću E.
Vrijednost E na kraju datoteke govori koliko je filamenta uvučeno. Unesite je i pogledajte koliki volumen, masu i duljinu ispisane putanje ona predstavlja. Zadana vrijednost odgovara modelu N-14 uz postavke iz primjera.
Pregled putanja po slojevima
Gotovu datoteku ne treba čitati redak po redak. Slicer i posebni preglednici prikazuju putanje u prostoru i dopuštaju pomicanje po slojevima. Prikaz je vjerniji od prikaza modela, jer se temelji na onome što će se zaista izvesti, uključujući potpore, prijelaze i uvlačenja.
Pri pregledu se traže četiri stvari. Prva je prvi sloj: je li obris zatvoren, je li površina dovoljno velika i je li obrub postavljen ondje gdje treba. Druga su previsi: sloj u kojem se pojavljuje materijal koji nema oslonac. Treća su prijelazi: velik broj prijelaza preko već ispisane površine najavljuje nitice i tragove na predmetu. Četvrta je promjena presjeka: sloj u kojem se predmet odjednom dijeli na dva odvojena dijela ili se nad prazninom zatvara.
Preglednik obično nudi i bojenje prema brzini ili prema debljini traga. Bojenje prema brzini otkriva mjesta na kojima se stroj ne uspijeva razmahati, tipično na sitnim detaljima i oštrim zavojima. Bojenje prema debljini traga otkriva mjesta na kojima slicer namjerno mijenja širinu linije da bi popunio uski prostor.
Procjena vremena i potrošnje
Procjena koju slicer upisuje u zaglavlje nastaje zbrajanjem. Za potrošnju je račun jednostavan i točan: ukupna duljina filamenta jednaka je posljednjoj vrijednosti brojača E, uvećanoj za sve prethodne odsječke ako je brojač usput nuliran. Iz duljine se dobiva volumen množenjem s presjekom filamenta, a iz volumena masa množenjem s gustoćom materijala.
Za model N-14 te brojke iznose 2577 mm filamenta promjera 1,75 mm, što je presjek od 2,405 mm² i volumen od približno 6200 mm³, odnosno 6,2 cm³. Uz gustoću PLA od 1,24 g/cm³ masa predmeta iznosi oko 7,7 g. Isti se račun koristi i za procjenu koliko je filamenta ostalo na kolutu.
Pažnja
Procjena vremena mnogo je nesigurnija od procjene potrošnje. Slicer računa s ubrzanjima iz profila, a stvarni stroj ih ne postiže uvijek. Kod malih predmeta s mnogo kratkih poteza stvarno trajanje zna biti dulje od procjene za petinu i više, jer se mlaznica gotovo nikad ne kreće zadanom brzinom.
Trajanje ispisa ima dvije sastavnice. Prva je vrijeme polaganja materijala, koje ovisi o ukupnoj duljini putanje i o stvarnoj brzini. Druga je vrijeme koje se troši po sloju bez obzira na količinu materijala: prijelazi, uvlačenja, podizanje po osi Z i usporavanja. Kod modela N-14 s 90 slojeva ta druga sastavnica čini gotovo četvrtinu ukupnog vremena, što objašnjava zašto udvostručenje visine sloja ispis ne skraćuje na polovicu.
Ključni pojmovi
| Pojam | Značenje |
|---|---|
| G-kod | Tekstna datoteka s nizom naredbi koje printer izvodi redom, bez grananja. |
| Zaglavlje datoteke | Napomene na početku datoteke s postavkama i procjenama koje je upisao slicer. |
| Početni kod | Niz naredbi kojima se stroj priprema: grijanje, nuliranje osi, uvodna linija. |
| Vrijednost E | Stanje brojača istisnutog filamenta; količina u potezu je razlika dviju uzastopnih vrijednosti. |
| Posmak F | Brzina gibanja u milimetrima u minuti; pamti se do sljedeće promjene. |
| Apsolutno zadavanje | Način u kojem se koordinate mjere od ishodišta, uključen naredbom G90. |
| Preglednik G-koda | Program koji putanje iz datoteke prikazuje po slojevima i bojama. |
Provjeri se
Kratka provjera prije prelaska na sljedeću jedinicu. Odgovor se potvrđuje klikom, a obrazloženje se prikazuje odmah.
Pitanje 1 od 3
Što u apsolutnom načinu znači vrijednost E u retku G-koda?
U apsolutnom načinu E je stanje brojača; količina u potezu razlika je dviju uzastopnih vrijednosti.
Pitanje 2 od 3
Koja je razlika između naredbi M104 i M109?
M104 samo zadaje temperaturu i nastavlja, a M109 zaustavlja izvođenje dok se temperatura ne postigne.
Pitanje 3 od 3
Posmak F1800 odgovara brzini od:
Posmak se zadaje u milimetrima u minuti, pa je 1800 mm/min jednako 30 mm/s.
Odgovoreno 0 od 3.