Czy istnieje kod G do oczekiwania?

20

Moja drukarka ma funkcję automatycznego poziomowania, która działa poprzez dotknięcie płyty roboczej końcówką dyszy.

Zacząłem używać powierzchni BuildTak, a BuildTak jest uszkodzony, gdy wepchniesz do niego gorącą dyszę.

Zedytowałem więc początkowy kod G, aby uruchomić automatyczne poziomowanie przed rozgrzaniem hotendu

Ale ABS nie przykleja się do powierzchni roboczej, chyba że rozgrzeję hotend i poczekam około minuty.

Teraz szukam polecenia G-code, które umieściłoby na końcu kodu G, który sprawi, że drukarka zaczeka minutę przed drukowaniem

Sekwencja, której szukam to:

  • Rozgrzej łóżko
  • Automatyczny poziom
  • Podnieś nieco hotend, aby nie dotykał platformy roboczej
  • Rozgrzej hotend
  • Poczekaj chwilę (to jedyna część, której brakuje, wszystko inne działa)
  • Rozpocznij drukowanie

W jakiś sposób wstawić opóźnienie do kodu G?

Używam Cury do wycinania / drukowania, moja drukarka to Robo3D R1 +

Nir
źródło
1
G4 P60000, jak wyjaśniono tutaj: reprap.org/wiki/Gcode#G4:_Dwell
Lars Pötter
Cześć, @Nir! Chcesz więc ustawić temperaturę hotend i zaczekać, aż będzie ciepło przed drukowaniem (na końcu kodu start.gcode)? Ogólnie wątpię, aby naprawdę trzeba było ustawić opóźnienie - jest to po prostu włamanie do rozwiązania problemu (a nie jego naprawienia)!
Tormod Haugene
@ LarsPötter To powinna być odpowiedź, a nie komentarz!
Tom van der Zanden
@ LarsPötter dzięki, jeśli opublikujesz komentarz jako odpowiedź, zaakceptuję go
Nir
1
@Nir, rozumiem. W takim przypadku prawdopodobnie masz rację, że dodanie opóźnienia lub „Dwell” (z G4) jest dobrym rozwiązaniem. :-)
Tormod Haugene

Odpowiedzi:

19

Kod G opóźnienia to G4.

G4 P60000odczeka minutę. PJest w milisekundach. Niektóre oprogramowanie układowe akceptuje również Sparametr zawierający sekundy. Jeśli więc będzie wspierany, G4 S60zrobiłby to samo.

Szczegóły tego i wszystkich innych kodów G są tutaj udokumentowane .

Lars Pötter
źródło
W moim kodzie G końca wyłączam gorący koniec i czekam kilka minut przed wyłączeniem wentylatora. Pojawiały się błędy przekroczenia limitu czasu komunikacji, a wentylator nigdy nie wyłączał się z kodu (używając Monoprice Select Mini z Octoprint). Jeśli wystąpi to przed wydrukiem, nie zostanie wydrukowane w ogóle. Rozwiązałem go, po prostu dzieląc go na szereg krótszych opóźnień.
mbmcavoy
Na przykład dla cncjs polecenie to G4 P0.5 na pół sekundy. tzn. jest to liczba zmiennoprzecinkowa, a nie liczba całkowita.
Gavin Simpson
więc P faktycznie zachowuje się jak parametr S (sekundy zamiast milisekund). Czy możesz również umieścić tę informację tutaj: reprap.org/wiki/G-code#G4:_Dwell
Lars Pötter
14

Alternatywnym rozwiązaniem dla zastosowania twardego opóźnienia z poleceniem zatrzymania G4 jest zwiększenie czasu, w którym temperatura utrzymywana za pomocą M109 musi być utrzymywana, zanim przejdzie do następnego polecenia.

W Marlin to ustawienie jest nazwane TEMP_RESIDENCY_TIMEi można je znaleźć wokół linii 150 w Configuration.h. Domyślnie jest to ustawione na 5 sekund, co wygląda następująco:

// Actual temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 5  // (seconds)

Jeśli zwiększenie tego ustawienia rozwiązuje dokładnie twój problem, nie mogę powiedzieć, ale warto przyjrzeć się temu.

Tormod Haugene
źródło
1

Używam tego kodu do moich wydruków.

    G29 ; Autonivel
    M190 S35 ; set bed temperature
    G1 Z4 F240 ; lift nozzle
    M109 S195 ; wait for temperature to be reached
    G21 ; set units to millimeters
    G90 ; use absolute coordinates
    M82 ; use absolute distances for extrusion
    M104 S210 ; set temperature
    G92 E0
G1 E-1.5000 F1800
G1 Z0.225 F240

W M190 S35 dysza nadal znajduje się w dolnym położeniu (1,2 mm), następnie przechodzi do 4 mm, a następnie czeka na temperaturę wytłaczarki Ex. 195 ° C; gdy wytłaczarka osiągnie 195 ° C przez 10 sekund, wówczas drukarki zaczną drukować, przesuwając dyszę do 0,22 mm, podczas gdy dysza osiągnie drugą temperaturę 210 ° C. W tym czasie pozwala mi wyczyścić dyszę i znormalizować temperaturę, aby uzyskać dobre wydruki.

Uwaga: Aby uniknąć pozostania dyszy wiele razy w niskiej pozycji (1,2 mm), zwykle podgrzewam łóżko w temperaturze 35 ° C. czasami podgrzanie łóżka zajmuje więcej czasu niż podgrzanie dyszy. To jest główny powód, dla którego wolę podgrzać drukarkę.

Fernando Baltazar
źródło