Jak skonfigurować Cura, aby uruchamiał sondę Z przed ogrzewaniem

12

Używam Cury jako mojego oprogramowania do krojenia / drukowania i właśnie zacząłem używać powierzchni do drukowania BuildTak.

BuildTak jest uszkadzany przez wciśnięcie do niego gorącej dyszy, a funkcja autopoziomowania mojej drukarki (Robo3D R1 +) działa poprzez wepchnięcie dyszy do powierzchni roboczej.

Czy istnieje sposób na skonfigurowanie Cury, aby najpierw uruchamiała sondę Z, a następnie podgrzała dyszę?

Mój pierwszy arkusz BuildTak ma już 10 małych otworów (w pozycji bazowania i w 9 punktach dotykowych poziomowania)

Nir
źródło

Odpowiedzi:

9

W Cura (i Slic3r) możesz w 100% dostosować to, co robi drukarka, przed wydrukowaniem rzeczywistego modelu za pomocą niestandardowego kodu g na początku / końcu .

Jeśli przejdziesz do Start/End-GCode tab in Cura, a następnie wybierz start.gcode, możesz zobaczyć, jakie operacje są uruchamiane przed rozpoczęciem każdego drukowania. Linie z prefiksem ;są komentarzami i nie wpływają w żaden sposób na drukowanie.

Zasadniczo chcemy ręcznie powiedzieć drukarce, aby wykonała automatyczne poziomowanie przed podgrzaniem dyszy, edytując kod g start.gcode.

Kod G generowany z domyślnym kodem start.

Jeśli spróbujesz wyciąć jakiś model z domyślnym kodem znalezionym w start.gcode, otrzymasz coś takiego (w zależności od drukarki):

; CURA AUTOMATICALLY INSERTS THESE TEMPERATURE CODES

M190 S70.000000 ; Set bed temperature to 70 degrees
M109 S210.000000 ; Set nozzle temperature to 210 degrees


; THESE ARE THE CODES FROM START.GCODE (for a ROBO 3D R1) 

G28          ;move printer to endstops (the home position)
G92 E0       ;zero the extruded filament length
M565 Z-1     ;set z-probe offset
G1 Z5 F5000  ;move the printer 5mm above the bed
G29          ;run auto-leveling


; THE ACTUAL MODEL BEGINS HERE

;Layer count: 168
;LAYER:0
.
.

Analiza wyniku g-code

Na górze tego fragmentu kodu widzimy, że Cura automatycznie wstawia kod g do podgrzewania łoża i dyszy do ich odpowiednich temperatur za pomocą kodów g M190 i M109 . Oznacza to, że drukarka zawsze nagrzewa dyszę przed odczytem start.gcodeustawionych przez nas parametrów. Jeśli jednak ręcznie zastąpimy kod M109start.gcode , M109 u góry automatycznie zniknie z wygenerowanego kodu g! (Dzięki, @TomvanderZanden!)

Możemy zatem użyć polecenia automatycznego poziomowania G29 przed ręcznym ustawieniem temperatury dyszy za pomocą M109 ; w szczególności chcemy dodać M109 S{print_temperature}, który czyta ustawienie Basic -> Print Temperature-Cura, i zastąpić {print_temperature}go automatycznie.

Manipulowanie początkiem. Kod:

Aby odłożyć ogrzewanie hotendu do momentu po sondowaniu, start.gcodemoże być coś takiego:

G28          ;move printer to endstops (the home position)
G92 E0       ;zero the extruded filament length
M565 Z-1     ;set z-probe offset     <-----   ( YOU HAVE TO ADJUST THIS, READ BELOW)
G1 Z5 F5000  ;move the printer 5mm above the bed
G29          ;run auto-leveling
M109 S{print_temperature}    ;set nozzle temperature, and wait for it heat up

I o to chodzi! Następnie możesz użyć tych kodów w swoim start.gcode. Prawdopodobnie będziesz jednak musiał ponownie skalibrować przesunięcie z-proof.

Dostosuj przesunięcie sondy Z:

Zwykle automatyczne poziomowanie odbywa się z podgrzaną dyszą z jakiegoś powodu: gdy dysza jest ciepła, rozszerza się nieznacznie, zbliżając się do łóżka. Może być zatem konieczne dostosowanie przesunięcia sondy Z za pomocą polecenia M565 (jak pokazano we fragmencie), aby uwzględnić wzrost długości dyszy w stanie ciepłym.

Zapamiętaj:

Pamiętaj, że edytując kod g w ten sposób, przejmiesz pełną kontrolę nad działaniem drukarki. Dlatego możesz bardzo dobrze zrobić coś niezamierzonego, więc trzymaj przełącznik zasilania blisko!

Tormod Haugene
źródło
3
Ta odpowiedź pomija bardzo ważny punkt: w Cura (i coś podobnego działa dla Slic3r i Simplify3D) możesz wstawić „M109 S {print_temperature}” do swojego kodu G. Zastąpi {print_temperature} ustawioną temperaturą drukowania i nie doda własnego M109. W ten sposób nie musisz robić brzydkiego włamania, ustawiając temperaturę na 0.
Tom van der Zanden
@TomvanderZanden, masz całkowitą rację! Nie sądziłem, że Cura będzie wystarczająco inteligentny, aby usunąć pierwszy M109, jeśli ustawisz go ręcznie w start.gcode, ale wygląda na to, że tak jest! Zaktualizuję odpowiedź.
Tormod Haugene
2
{print_temperature}nie działało dla mnie. {material_print_temperature}zrobił. Zajrzyj tutaj po więcej.
Markus Hütter