G-koodin komennot 3D-tulostuksessa
G-koodi tai G-koodi. Olet luultavasti kuullut tämän termin ennenkin tai lukenut sen sanastosta, jos olet aiemmin ollut tekemisissä 3D-tulostuksen kanssa. Tässä artikkelissa kerron, mikä G-koodi on ja mihin sitä käytetään 3D-tulostuksessa. Näytän myös, mitkä G-koodin komennot ovat sinulle tärkeitä, jos haluat aloittaa 3D-tulostuksen tai olet jo aloittanut sen.
G-koodi-Mitä se on ja mihin sitä käytetään?
3D-tulostimet eivät voi tehdä paljoakaan 3D-malleilla, jotka ovat .stl-, .obj- yms. tiedostomuodossa, koska ne tallentavat geometrisen muodon, mutta eivät sitä, miten 3D-tulostimen pitäisi käsitellä tätä muotoa. ”Kuinka nopeasti malli pitäisi tulostaa kerroksessa numero 5?” ja vastaaviin kysymyksiin on vastattava 3D-tulostimelle. Vastaukset ovat G-koodissa, joka on 3D-tulostimen kieli. Vain G-koodin avulla tulostin tietää, mitä tehdä.
Slicer kääntää 3D-mallin G-koodiksi ja lisää siihen myös koneen kannalta merkityksellistä tietoa. Nämä määriteltiin täsmälleen käytettävää 3D-tulostinta varten. Tämä tarkoittaa, että G-koodi, jonka olet luonut 3D-tulostinpakettia, kuten Creality CR-10 -tulostinta, varten, ei toimi kaverillasi, jolla on Ultimaker 2.
Tätä varten koneen kannalta merkitykselliset asetukset olisi tarkistettava. Näitä ovat esimerkiksi tulostussängyn koko. Jos tämä asetus on väärä, tulostin käynnistyy tulostussängyn keskeltä ja ehkä jopa sen ulkopuolelta ystäväsi kanssa.
Sen vuoksi on eduksi, että sinulla on perustiedot G-koodeista, jotta voit ymmärtää virheelliset koodit ja tarvittaessa parantaa niitä. Huomaa, että jotkin komennot alkavat G-kirjaimella, kun taas toiset alkavat M-kirjaimella.
Tiheästi käytetyt G-koodin komennot ja niiden merkitys
Seuraavaksi näytän, mitä kyseinen G-koodin komento sanoo, mitkä yksilöinnit ovat mahdollisia ja miltä tällainen G-koodin komento voi näyttää.
G1-Lineaarisen liikkeen komento
3D-merkkinen 3D-tulostimesi suorittaa G1-komennon useimmiten. Siksi ei ole pahitteeksi tarkastella sitä tarkemmin. G1 käskee tulostimesi liikkumaan suoraviivaisesti seuraavaan pisteeseen. Voit käyttää tätä komentoa ohjaamaan yhtä tai useampaa akselia.
Huomaa: Ekstruuderia ohjataan kuten mitä tahansa muuta akselia. Voit siis ohjata materiaalivirtausta (ekstruusiota) ja filamentin vetäytymistä.
Arvot:
Jos määrität X:n, Y:n ja Z:n, voit kertoa tulostimelle, mihin pisteisiin liikkua. Huomaa kuitenkin, että nämä komennot suoritetaan paikannustyypin (absoluuttinen/suhteellinen) mukaan ja näin ollen ne joko siirtyvät tarkkaan koordinaattiin tai etäisyydelle nykyisestä pisteestä.
Jos lisäät E-komennon, voit määrittää, pitäisikö 3D-tulostimen myös pursottaa matkan varrella, ja jos pitäisi, niin kuinka paljon. Huomaa, että pursotuspituus viittaa materiaaliin, jonka syöttölaite painaa suuttimeen. Jos siis käsket tulostimen pursottaa 10 mm, suuttimesta ulos tuleva pituus ei ole 10 mm vaan paljon pidempi. Tämä johtuu siitä, että filamentin halkaisija on 1,75 mm tai 2,85 mm ja suuttimen halkaisija on yleensä vain 0,4 mm. Tästä syystä viipalointilaitteesta saadut E-arvot ovat pienempiä kuin tulostimen siltaama matka.
F-komento kertoo tulostimelle, millä nopeudella se liikkuu. Tämä nopeus ilmoitetaan aina muodossa mm/min, vaikka viipalointilaitteessa olisi valittu mm/s. Älä siis ihmettele, jos G-koodi sisältää muunnetut arvot.
Monet 3D-tulostimet tarvitsevat arvot vain niille akseleille, joita todella pitäisi liikuttaa. Jos haluat, että vain X-akseli liikkuu, lisää X ja F-arvo nopeudelle.
Esimerkkejä:
G1 X0 Y0 F3000 | Aja lämmityspedillä pisteeseen X=0, Y=0 nopeudella 3000 mm/min. |
G1 Z10 F1000 | Levitä Z-akseli arvoon Z=10mm nopeudella 1000 mm/min. |
G1 X30 E10 F1600 | Paina 10 mm:n filamentti suuttimeen samalla, kun ajat lämmityspedillä pisteeseen X=30 mm nopeudella 1600 mm/min. |
G4 tauottaa paineen määrätyksi ajaksi
Komennolla G4 sinulla on mahdollisuus tauottaa tulostin tietyksi ajaksi.
Arvot:
P000 – Tulostin odottaa tietyn ajan millisekunteina.
S000 – Tulostin odottaa tietyn ajan sekunteina (tämä komento koskee vain Repetier-, Marlin-, RepRap Firmware- ja Smoothieware-ohjelmistoja)
Esimerkkejä:
G4 P500 ; Odota 500 millisekuntia ja älä tee mitään sen aikana – Tänä aikana kaikki tulostimen parametrit, kuten lämpöalustan lämpötila jne. pidetään yllä, joten sinun ei tarvitse pelätä, että tulostuksesi menee pilalle.
G21-yksikköjen vaihtaminen millimetreinä
Ei pitäisi käydä niin usein, että joudut käyttämään tätä komentoa, koska lähes kaikki 3D-tulostimet toimivat oletusarvoisesti yksikössä. Ei kuitenkaan voi olla pahitteeksi pitää tätä koodia mielessä, jos tulostimesi näyttää olevan asetettu tuumiin.
Values:
None
Example:
G21
G28-Takes the homing through
Tämä komento imaisee 3D-tulostimesi suorittamaan niin sanotun homingin. Homingissa tulostuspää palaa ”nollapisteeseen”, jonka se on saavuttanut, kun se on saavuttanut kaikkien akselien (X, Y ja Z) päätepysäkit. Tämä on tärkeää, koska tulostuspäällä on sama lähtöpiste jokaista tulostusta varten. G-koodin polut määritellään tästä lähtöpisteestä. Ilman tätä viittausta tiettyyn pisteeseen 3D-tulostus ei olisi järkevää. Tämä komento suoritetaan usein myös tulostuksen lopussa. Näin 3D-tulostetut mallit on helppo poistaa.
Arvot:
Jos arvoja ei määritetä, tulostin ajaa kaikkien kolmen akselin päätepysäkkeihin. Voit kuitenkin myös valita, mihin akseleihin siirrytään, lisäämällä yksinkertaisesti kirjaimet X, Y tai Z.
Esimerkkejä:
G28 | Homing kaikille akseleille (X, Y ja Z) |
G28 X Y | Homing X- ja Y-akseleille |
G28 Z | Homing vain Z-akselille |
G90 ja G91-asetukset Asemointitila (Positioning Mode).
Tulostin voi suorittaa paikannuksen joko absoluuttisesti tai suhteellisesti:
– Absoluuttinen paikannus: Tässä annat 3D-tulostimelle tarkan X-, Y- tai Z-koordinaatin, johon sen tulisi liikkua. Tätä varten käytät komentoa G90.
– Suhteellinen paikannus: Tässä kerrotaan 3D-tulostimellesi, kuinka kauas sen tulisi siirtyä nykyisestä sijainnistaan (X,Y,Z) (X,Y,Z)-suunnassa. Tämä toimii komennolla G91.
– Absoluuttista paikannusta löydät G-koodeissasi todennäköisesti useammin, koska slicer tietää jo tarkat koordinaatit kolmelle akselille ja käyttää niitä absoluuttisen sijainnin määrittämiseen.
Values:
None.
Esimerkkejä:
G90 | Käytä absoluuttista paikannusta kaikille kolmelle akselille |
G1 X10 F3000 | Aja lämmitysalustalla. pisteeseen X=10mm nopeudella 3000 mm/min (F3000) |
G1 X20 F3000 | Aja lämmitysalustalla pisteeseen X=20mm nopeudella 3000 mm/min. |
G91 | Käytä suhteellista paikannusta kaikille kolmelle akselille |
G1 X10 F3000 | Liikuta nykyisestä paikasta lämmityspedin päällä 10mm oikealle nopeudella 3000 mm/min. |
G1 X10 F3000 | Liikuta lämmityspedin nykyisestä asennosta vielä 10mm oikealle nopeudella 3000 mm/min. |
G92-Tämänhetkisen asennon määrittäminen (Current Position)
Käyttäkää tätä komentoa, jos haluatte määritellä akseleiden tämänhetkisen asennon. Näin voit kompensoida tiettyjen akselien siirtymiä. Tätä komentoa käytetään usein ekstruuderin eli E-akselin yhteydessä filamentin asennon määrittämiseen. Voit korvata filamentin nykyisen sijainnin, ja kaikki muut ekstruuderiin liittyvät komennot ottavat tämän sijainnin vertailupisteeksi.
Arvot:
Määritä sen akselin absoluuttinen koordinaatti, jonka haluat korvata G92-komennolla. Tämä toimii X:n, Y:n, Z:n ja myös E:n osalta. Jos jätät akselin pois, sen arvoa ei ylikirjoiteta nykyisellä sijainnilla.
Esimerkkejä:
G92 E0 | Säädä nykyinen hehkulangan asento suulakepuristimessa arvoon E=0. |
G1 E10 F800 | Extrudoitu filamentti, jonka pituus on 10 mm |
M104- ja M109-komennot suulakepuristimen lämpötilan asettamista varten
Näillä kahdella G-koodin mukaisella komennolla asetetaan suulakepuristimen lämpötilan asetus.
– M104: Tämä komento aloittaa suulakepuristimen lämmittämisen ja mahdollistaa seuraavien komentojen suoran suorittamisen.
– M109: Tämä komento odottaa, kunnes haluttu ekstruuderin lämpötila on saavutettu. Vasta sen jälkeen voidaan suorittaa muita komentoja.
G-koodin komentoa M109 näkee luultavasti useammin, koska muuten paineistus voi alkaa ennen kuin haluttu lämpötila on saavutettu.
Ovatko G-koodit jokaisessa 3D-tulostimessa tällaiset?
Vaikka M104:ää ja M109:ää käytetään hyvin usein, on myös tapauksia, joissa käytetään muita komentoja. Näin tapahtuu esimerkiksi silloin, kun tulostin lukee .x3g-koodeja .gcode-tiedostojen sijasta. Silloin käytetään M133:a M109:n sijasta. Joissakin 3D-tulostimissa (Flashforge Dreamer, Dremel tai vastaavat) käytetään silloin M6-komentoa. Tämä riippuu käytetystä firmwaresta.
Values:
S-arvolla voit asettaa ekstruuderin lämpötilan celsiusasteina (S190= 190 celsiusastetta).
T-arvoa käytetään parhaiten, jos 3D-tulostimessasi on useita ekstruudereita ja haluat asettaa tietyn lämpötilan haluttuun arvoon. Normaalisti T0 tarkoittaa oikeaa ekstruuderia, kun taas T1 kuvaa vasenta ekstruuderia.
Esimerkkejä:
M104 S190 T0 | Aloita lämmitys T0:sta 190 celsiusasteeseen. |
G28 X0 | Toteuta X-akselin homing, kun ekstruuderi on vielä lämpenemässä. |
M109 S190 T0 | Odota, kunnes T0 on saavuttanut 190 celsiusasteen lämpötilan, jotta voit suorittaa muita komentoja. |
M106 tuulettimen nopeudensäätö (Aseta tuulettimen kierrosnopeus) (Set Fan Speed)
Komentokomennolla M106 voit säätää 3D-tulostimen komponenttituulettimen kierrosnopeutta. Huomaa, että tulostimessasi voi olla myös tuuletin, joka jäähdyttää pursotinta. Tarkista siis ensin, onko sinulla oikea tuuletin. On myös mahdollista, että et ole vielä asentanut komponenttituuletinta.
Values:
Tässä S-arvo määrittää tuulettimen nopeuden, jossa 0=off ja 255=100 % keskinopeus.
Esimerkkejä:
M106 S255 | Säädä tuulettimen nopeus 100 %:iin. |
M106 S127 | Säädä tuulettimen nopeus noin 50 %:iin. (255/2=127,5) |
M106 S0 | Sammuta tuuletin kokonaan. |
M140- ja M190-G-koodikomennot lämmityspedin lämpötilan säätöä varten (Bed Heating Commands)
M140- ja M190-komennoilla määritetään lämmityspedin lämpötilan säätö analogisesti M104- ja M109-komennoille, kuten edellä on kuvattu.
– M140: Tämä komento käynnistää lämmityspedin lämmityksen ja mahdollistaa muiden komentojen suoran suorittamisen.
– M190: Tämä komento odottaa, kunnes lämmityspedin haluttu lämpötila on saavutettu. Vasta sen jälkeen voidaan suorittaa muita komentoja.
Huomaa, että lämmityspedin lämmitys voi kestää jonkin aikaa. Älä ylläty, jos 3D-tulostimesi yhtäkkiä pysähtyy tulostuksen aikana (M190-kohdassa), kunnes tulostus jatkuu.
Usein M140-komento sijoitetaan G-koodin alkuun, jotta muut komennot, kuten homing jne. voidaan suorittaa. Ennen kuin painaminen alkaa, M190-komento on kuitenkin asennettava, jotta voidaan varmistaa vakaa lämpötila ensimmäiselle kerrokselle.
Päteekö tämä kaikkiin 3D-tulostimiin?
Kuten M104- ja M109-komentojen kohdalla, tämäkin riippuu käytetystä laiteohjelmistosta. Jos 3D-tulostimesi lukee .x3g-tiedostoja, käytetään M134:ää M190:n sijasta ja Flashforge Dreamer, Dremel tai vastaavat tulostimet käyttävät M7:ää.
Values:
S-arvolla voit asettaa lämmityspedin lämpötilan celsiusasteina (S30= 30 astetta). Koska useimmissa 3D-tulostimissa on vain yksi lämmityspeti, muita säätöjä tms. ei tarvita.
Esimerkkejä:
M140 S50 | Aloita lämmittämällä lämmityspeti 50 celsiusasteeseen. |
G28 | Toteuta homing kaikille akseleille ja lämmitä lämmityspeti samanaikaisesti 50 asteeseen. |
M190 S50 | Odota, kunnes lämmityspedin lämpötila on 50 celsiusastetta, jotta voit sen jälkeen suorittaa muita komentoja. |