Drugie podejście do poziomowania stołu z użyciem programu G-code
Parę miesięcy temu pisałem o kalibracji stołu w drukarce 3D i o tym, jak ten proces usprawnić z wykorzystaniem prostego programu w G-codzie. Program ten sterował drukarką w taki sposób, że ekstruder zatrzymywał się na 30 sekund w poszczególnych rogach stołu w pozycji Z=0 umożliwiając dostosowanie odległości między stołem a dyszą we wszystkich tych punktach. Niedawno trafiłem na bardzo użyteczny kod “M0” – oczekiwanie na wciśnięcie przycisku na panelu drukarki. Wykorzystałem go m.in. do usprawienia procesu kalibracji. Nowy program do poziomowania stołu można pobrać z GitHuba.
Eksperymentując nieco z G-codem zawsze brakowało mi poleceń umożliwiających jakąś interakcję z użytkownikiem. Z ciekawych kodów znalazłem następujące:
M0: Stop (wait)
Składnia: M0
Polecenie zatrzymuje przetwarzanie G-code’u z wyświetleniem “waiting for user” na panelu drukarki, aż do momentu kiedy użytkownik wciśnie przycisk pokrętła. Niestety oprogramowanie nadmiarowo obsługuje to zdarzenie wchodząc dodatkowo w menu – co tak naprawdę jest bardziej denerwujące niż szkodliwe.
M300: Play beep sound
Składnia: M300 S<frequency Hz> P<duration ms>
Przykład: M300 S300 P1000
Kod niestety nie działa w drukarce Prime3D, mimo że jest ona wyposażona w buzzer na panelu. A szkoda, bo razem z M0 mógłby się bardzo przydać w sytuacjach kiedy trzeba zawołać użykownika. Dobrym przykładem takiej sytuacji jest konieczność zmiany koloru filamentu pomiędzy warstwami. Tak czy owak – sam kod M0 bardzo się w takiej sytuacji przydaje.
M117 in Marlin: Display Message
Składnia: M117 <message>
Przykład: M117 Hello World
Problem z tym kodem jest taki, że nie za dobrze działa w połączeniu z M0. Zdaje się, że kiedy tylko M0 zostanie zassane do buforu drukarki, aktualnie wyświetlany napis jest zamieniany na “waiting for user”. Tak więc, trudno byłoby użyć tych 2 kodów razem zatrzymując drukarkę z komunikatem “zmień filament”.
Żródło: http://reprap.org/wiki/G-code