G code – znormalizowany język zapisu poleceń dla urządzeń CNC. Definiuje podstawowe operacje, które należy wykonać, aby obrobić detal na obrabiarce sterowanej numerycznie. Tak przynajmniej mówi Wikipedia. Hmm… znowu nic o drukarkach 3D…
Domowe drukarki 3D (FDM) sterowane są elektroniką, w której tzw. firmware interpretuje owe G-cody i zgodnie z nimi przesuwa głowicę i pluje plastikiem, aby po jakimś czasie powstał nasz model 3D.
Pełna lista g-codów dla drukarek RepRap.
Jak wiecie na rynku jest już mnóstwo elektronik sterujących domowymi drukarkami RepRap 3D DIY. Niezależnie od tego jaką kupicie, każdą aby ożywić, trzeba wyposażyć w firmware. Chyba najbardziej popularnym obecnie firmware jest Marlin. Są oczywiście jeszcze inne firmware’y jak np. Repetier Host, Smoothieware, Sprinter, itp. Lista, choć niepełna jest tutaj.
No dobrze, ale o co chodzi. Aby ułatwić sobie trochę życie i nie kombinować przy samym firmware (edycja, wgrywanie itp.) można pójść przecież trochę na skróty. I tu z pomocą przychodzą nam g-cody.
Kupiliśmy zatem elektronikę i co dalej ? Najpierw dobrze sprawdzić jaki jest firmware i czy w firmware domyślnie ustawiono obsługę EEPROM.
Podłączamy zatem naszą elektronikę do komputera (wcześniej wtykamy rezystorek 100k w złącze termistora), odpalamy hosta niech nim będzie np. Pronterface, ustawiamy port i odpowiedną prędkość BAUD (115k lub 250k), na koniec wciskamy przycisk Connect – i co powinniśmy zobaczyć ?
Ano taki obrazek mniej więcej, jak ten.
W okienku statusu widzimy jaka jest wersja Marlina, kto robił w nim jakieś zmiany i jakie są ustawienia. Jeżeli tak się wyświetli to już dobry znak, bo czyta nam informacje z EEPROM.
Aby ręcznie zobaczyć ustawienia wpisujemy w okienku poleceń (okienko zaznaczone) komendę M503. Jeżeli EEPROM jest zainicjowany w firmware, powinniśmy dostać informację o naszych ustawieniach.
Na obrazku widzimy jakie są ustawienia dla drukarki, po wysłaniu komendy M503 (Marlin v.1.1.0 j. angielski). Interesuje nas linia pod linią Steps per unit:.
na obrazku ta linijka to echo: M92 X80.00 Y80.00 Z2560.00 E650.00.
Są to ustawienia posuwów dla osi X,Y,Z oraz ustawienia dla Ekstrudera.
Jeżeli mamy inne kółka zębate niż ustawione domyślnie musimy zmienić te parametry. Kalibrując ekstruder musimy też zmienić parametr widoczny tu jako E650.
Jak to zrobić bez ingerencji w nasz firmware ? Komendą M92. Możemy zatem wpisać np. M92 X64 (np. ustawienie dla kółek t2.5/20 zębów ze wzoru: 3200/(2.5*20)). Wartość 3200 to ilość kroków silnika na pełen obrót (przy włączonym mikrokroku).
Czyli oś X mamy za sobą. Jeżeli na osi Y mamy np. kółko t2.5 ale 16 zębów wpisujemy M92 Y80 (3200/(2.5*16))
Najwięcej zabawy jest z ekstruderem, bo tu musimy przeprowadzić kalibrację opisaną tutaj (tam co prawda jest to na przykładzie innego firmware, ale w Marlinie co do zasady jest tak samo). Wiedząc jaką wartość wpisać wpisujemy M92 E(obliczona_wartość).
No, to teraz warto to wszystko zapamiętać, a zatem wpisujemy komendę M500 i tadam ! Nasze ustawienia są już w pamięci EEPROM. Teraz jak będziemy uruchamiać naszą drukarkę, te wartości będą domyślne.
Podczas drukowania możemy bez problemu wpisywać wartości dla ekstrudera np. M92 E510, M92 E530, itp. aby poprawić jakość wydruków. Im większa wartość E tym więcej plastiku będzie tłoczone przez dyszę. Po wszystkim oczywiście zapamiętujemy wszystko naszym magicznym M500.
W następnej części o g-codach dla kalibracji PID.
Udanych wydruków !