Filament Change

Hallo,
ich habe ein Problem mit meinen beiden Prusas bei einem Filament Wechsel. Aber es tritt nur ab und zu auf. Sobald ich das Filament gewechselt habe fährt der Kopf an die zu druckende Stelle und bleibt plötzlich stehen und es druckt einfach nicht weiter. Habe diesbezüglich auch schon Prusa kontaktiert, da ich den neusten Prusa Slicer sowie Firmware habe können wir das aber ausschließen.

Repetier Server läuft auf einen Intel NUC via Ubuntu.

Lg

Comments

  • Du solltest logging aktivieren und mal das log an der Stelle zeigen (bitte nicht alles). Normal blockiert prusa firmware mit "busy" meldungen bis die Firmware mit dem Wechsel fertig ist. Frage ist was dann kommunikationstechnisch passiert. Bleiben die busy Meldungen oder fängt Server an weitere Befehle zu senden...
    Danach ist es einfacher festzustellen an welcher stelle das Problem ist.

    Bekanntes Problem bei Prusa ist aktuell das die Befehle Tx, Tc, T? nur manchmal gesendet werden. Stellt man ihnen ein # voran klappt es zuverlässig. Wird in 1.0.4 behoben sein. Aber Filamentwechsel ist ja T1, T0, .. die sollten normal funktionieren. Da der Wechsel startet denke ich auch das dies nicht das Problem ist.

    Zeigt Prusa display etwas an? Problem mit MMU oder Einzug?
  • Also habe jetzt mal das Logging aktiviert und werde mal bei wiederholtem "Abbruch" den Bericht hochladen. Im Display wird soweit nichts angezeigt, mit dem Einzug gibt es soweit auch keine Probleme und MMU ist keine verbaut.
    Wie schon gesagt, ist es sehr sporadisch. In 10 Fällen ca. 2 mal, was natürlich auch schon relativ nervig ist. Hab in letzter Zeit auch Farbwechsel Drucke via SD gemacht, damit ich es ausschließen kann, das es am Prusa selber liegt.

    Lg
  • edited March 2021
    So, jetzt hab ich mal wieder einen zweifarbigen Druck gestartet und nach dem Filamentwechsel ist er zur Position gefahren und wieder stehen geblieben. Hier den Rest der Log:

    Send:14:15:08.615: N109944 G1 X114.782 Y111.122
    Recv:14:15:08.624: ok T:240.9 /240.0 B:97.2 /97.0 T0:240.9 /240.0 @:41 B@:74 P:0.0 A:39.2
    Recv:14:15:08.647: ok
    Send:14:15:08.647: N109945 G1 E1.20000 F1800.000
    Send:14:15:08.648: N109946 M204 S800
    Recv:14:15:10.724: echo:busy: processing
    Recv:14:15:12.825: echo:busy: processing
    Recv:14:15:14.926: echo:busy: paused for user
    Recv:14:15:17.040: echo:busy: paused for user
    Recv:14:15:19.150: echo:busy: paused for user
    Recv:14:15:21.263: echo:busy: paused for user
    Recv:14:15:23.377: echo:busy: paused for user
    Recv:14:15:25.490: echo:busy: paused for user
    Recv:14:15:27.604: echo:busy: paused for user
    Recv:14:15:29.718: echo:busy: paused for user
    Recv:14:15:31.856: echo:busy: paused for user
    Recv:14:15:33.965: echo:busy: paused for user
    Recv:14:15:36.079: echo:busy: paused for user
    Recv:14:15:38.254: echo:busy: paused for user
    Recv:14:15:40.351: echo:busy: paused for user
    Recv:14:15:42.449: echo:busy: paused for user
    Recv:14:15:44.546: echo:busy: paused for user
    Recv:14:15:46.643: echo:busy: paused for user
    Recv:14:15:48.740: echo:busy: paused for user
    Recv:14:15:50.866: echo:busy: processing
    Recv:14:15:53.087: echo:busy: processing
    Recv:14:15:55.302: echo:busy: processing
    Recv:14:15:57.514: echo:busy: processing
    Recv:14:15:59.730: echo:busy: processing
    Recv:14:16:01.905: echo:busy: paused for user
    Recv:14:16:04.002: echo:busy: paused for user
    Recv:14:16:06.100: echo:busy: paused for user
    Recv:14:16:08.524: echo:busy: processing
    Recv:14:16:10.622: echo:busy: processing
    Recv:14:16:12.719: echo:busy: processing
    Recv:14:16:14.816: echo:busy: processing
    Recv:14:16:15.594: echo:enqueing "M220 S100"
    Recv:14:16:15.594: ok
    Recv:14:16:15.602: ok
    Send:14:16:15.602: M117 Layer 29/35
    Send:14:16:15.603: N109947 M105
    Recv:14:16:15.606: ok
    Send:14:16:15.607: N109948 M105

    Und dann hab ich halt abgebrochen, da die Nozzle sich in das bereits gedruckte reinschmilzt..
    Hier noch zwei Bilder vom Druck nach dem abgebrochenen Filamentwechsel:
    https://www.bilder-upload.eu/bild-3e4866-1614951577.jpg.html


    Habe den gcode nochmal geöffnet den der PrusaSlicer ausgespuckt habe und nach dem M600 Befehl gesucht:

    ;WIPE_START
    G1 F5760.000
    G1 X135.516 Y98.389 E-1.06465
    ;WIPE_END
    G1 E-0.13535 F1800.000
    G1 Z3.100 F7200.000
    ;AFTER_LAYER_CHANGE
    ;3.1
    ;COLOR_CHANGE,T0
    M600
    G1 X114.782 Y111.122
    G1 E1.20000 F1800.000
    M204 S800
    ;TYPE:Perimeter
    ;WIDTH:0.45
    G1 F1500.000
    G1 X115.158 Y111.015 E0.00649
    G1 X115.229 Y111.386 E0.00626
    G1 X114.805 Y111.411 E0.00703
    G1 X114.787 Y111.181 E0.00381
    M204 S1000
    G1 X114.326 Y110.805 F7200.000
    M204 S800
    ;TYPE:External perimeter
    G1 F1500.000
    G1 X115.492 Y110.476 E0.02008
    G1 X115.742 Y111.786 E0.02211
    G1 X114.413 Y111.862 E0.02205
    G1 X114.331 Y110.865 E0.01658
    M204 S1000
    G1 X114.726 Y110.812 F7200.000
    ;WIPE_START

    Habe den exakt selben Gcode nochmal gedruckt und nun läuft er nach dem Wechsel durch. Wie schon im ersten Post gesagt ist es ein sehr sporadisches Phänomen..

    Die Log vom fertigen und gut durchgelaufenen Log:

    Send:14:55:05.638: N20464 G1 X135.516 Y98.389 E-1.06465
    Send:14:55:05.639: N20465 G1 E-0.13535 F1800.000
    Recv:14:55:05.665: ok
    Recv:14:55:05.669: ok
    Send:14:55:05.669: N20466 G1 Z3.100 F7200.000
    Recv:14:55:05.670: Slow command added:M600
    Send:14:55:05.670: N20467 M600
    Send:14:55:05.701: N20468 M105
    Recv:14:55:05.764: ok
    Send:14:55:05.764: N20469 G1 X114.782 Y111.122
    Recv:14:55:05.800: ok
    Send:14:55:05.801: N20470 G1 E1.20000 F1800.000
    Recv:14:55:07.902: echo:busy: processing
    Recv:14:55:10.003: echo:busy: processing
    Recv:14:55:12.108: echo:busy: paused for user
    Recv:14:55:14.206: echo:busy: paused for user
    Recv:14:55:16.237: echo:busy: paused for user
    Recv:14:55:18.346: echo:busy: paused for user
    Recv:14:55:20.423: echo:busy: paused for user
    Recv:14:55:22.521: echo:busy: paused for user
    Recv:14:55:24.700: echo:busy: processing
    Recv:14:55:26.920: echo:busy: processing
    Recv:14:55:29.136: echo:busy: processing
    Recv:14:55:31.352: echo:busy: processing
    Recv:14:55:33.564: echo:busy: processing
    Recv:14:55:35.702: echo:busy: paused for user
    Recv:14:55:37.775: echo:busy: processing
    Recv:14:55:39.872: echo:busy: processing
    Recv:14:55:41.973: echo:busy: processing
    Recv:14:55:44.070: echo:busy: processing
    Recv:14:55:44.582: echo:enqueing "M220 S100"
    Recv:14:55:44.583: ok
    Send:14:55:44.583: M117 ETA 15:00:55 day 5
    Recv:14:55:44.595: ok T:239.9 /240.0 B:97.3 /97.0 T0:239.9 /240.0 @:55 B@:67 P:0.0 A:39.0
    Send:14:55:44.595: N20471 M105
    Recv:14:55:44.598: ok
    Send:14:55:44.599: N20472 M105
    Recv:14:55:44.603: ok
    Recv:14:55:44.603: ok
    Send:14:55:44.603: N20473 M204 S800

  • Wollte das jetzt mal mit meiner beta 1.0.4 testen. Also Zylinder gestartet und manuell immer wieder M600 eingebaut. Hat auch erfolgreich 7 mal filamentwechsel durchgeführt.
    Jetzt hast du leider den fehlerhaften druck die ausgabe genau abgebrochen wo es interessant wurde. Ich sehe
    Send:14:16:15.602: M117 Layer 29/35
    Send:14:16:15.603: N109947 M105
    Recv:14:16:15.606: ok
    Send:14:16:15.607: N109948 M105

    aber was kommt danach? Nichts mehr, timeout, skript beendet? Das waren ja 2 M105 aus der manuellen queue aber sobald die leer ist sendet er ja aus dem job weiter.
    Wenn er ein "ok" verpasst könnte es sein das er bis zum nächsten timeout blockiert. Danach sollte es aber weiter gehen. Da Prusa ja busy unterstützt wäre timeout 3 sekunden - hoffe das hast du auch eingestellt.
    Bei mir hats jedenfalls immer geklappt. Also entweder hab ich in 1.0.4 etwas beseitigt oder er hat bei dir den puffer wegen fehlender "ok" voll und wartet auf timeout dass vielleicht zu lang ist so dass du vorher die Geduld verlierst. Aber wie gesagt 3 Sekunden sind ausreichend. 


  • Okay, dann werde ich nächstes mal wenn er unterbricht einfach mal etwas warten. Was jedoch komisch ist da die Nozzle sich richtig ins bereits gedruckte "einbrennt". Habe bislang auch wieder einige Farbwechsel gemacht, jedoh kommt der Fehler halt sehr sporadisch und man kann teilweise lange drauf warten bis er kommt. Vielleicht ist das Thema ab der neuen Version ja ganz vom Tisch, das wäre super.
  • Prüf aber mal wie hoch dein Timeout eingestellt ist. Bei 30 sekunden gibt es ja schon dieses einbrennen. Bei 3 sekunden ist es kein großes Thema und der Wert reicht.
  • Wo kann ich den Timeout einstellen? Letztens hatte ich einen Druck der nach einer sehr langen Zeit des Wartens dann doch wieder weiter ging.
  • Bei den Verbindungseinstellungen - Kommunikationstimeout. Bei Druckern die busy unterstützen normal immer 3 Sekunden wählen.
  • BTW, kann man irgendwo einstellen, wieviel beim Klick auf "Filamentwechsel" ausgefahren wird? Bei meinem Sidewinder muss ich immer noch einmal extra auf "auswerfen" drücken, damit er den den ganzen Rest-Draht aus der Nozzle herausholt. Danke :)
  • Es gibt auf dem Startscreen für Filamentwechsel 2 abstände schnell und langsam. Schnell ist zum überbrücken von bowden einzügen um die lange distanz zügig abzuarbeiten. Langsam ist für den Rest wo das Filament auch aufgeheizt werdne muss bis es rauskommt. Diese Werte werden gespeichert so dass sie beim nächsten Aufruf noch da sind.

    Du kannst auch noch in der Druckerkonfiguration eigene Skripte schreiben die ablaufen sollen.
  • I want to change the filament, the first time it comes to the park position, I send m108 when I change the filament, then I want to change the filament again, it comes to the park position but the filament does not insert what is the problem?
  • I have no screen(Which code should I send? If it is m108, I am sending it, but the printer does not continue when the second filament is changed.),
    I control my printer with rasberry pi (repetier server), I can change filament when I do it for the first time, but I have a problem when I want to change filament for the second time (5 minutes later). I am sending M108, the nozzles are getting hot but the printer does not continue .

    15:08:20.604: M117 Layer 12/249
    15:08:20.638: N65217 G1 X253.421 Y250.408 E22.14789
    15:08:20.638: N65218 G1 X254.025 Y250.167 E22.16952
    15:08:20.669: N65219 G1 X254.595 Y249.935 E22.18999
    15:08:20.686: N65220 G1 X255.182 Y249.729 E22.21068
    15:08:20.717: N65221 G1 X255.786 Y249.504 E22.23212
    15:08:20.750: N65222 G1 X256.425 Y249.26 E22.25487
    15:08:21.394: echo:enqueueing "M600"
    15:08:21.398: N65223 G1 X256.488 Y249.776 E22.27216
    15:08:32.568: Warning: Communication timeout - resetting communication buffer.
    15:08:32.568: Connection status: Buffered:82, Manual Commands: 1, Job Commands: 5000
    15:08:32.568: Buffer used:82 Enforced free byte:24 lines stored:2
    15:08:32.568: M117 ETA 11:50:36 day 7
    15:08:32.568: N65224 G1 X256.499 Y250.316 E22.29012
    15:08:40.610: M117 ETE 20:42:06
    15:08:45.945: echo:Insert filament and press button (or M108)
    15:08:50.611: M117 Layer 12/249 

    I send M108 , but printer does not continous  also when I hit paused button , printer do not anything



    #define ADVANCED_PAUSE_FEATURE
    #if ENABLED(ADVANCED_PAUSE_FEATURE)
      #define PAUSE_PARK_RETRACT_FEEDRATE         60  // (mm/s) Initial retract feedrate.
      #define PAUSE_PARK_RETRACT_LENGTH            2  // (mm) Initial retract.
                                                      // This short retract is done immediately, before parking the nozzle.
      #define FILAMENT_CHANGE_UNLOAD_FEEDRATE     10  // (mm/s) Unload filament feedrate. This can be pretty fast.
      #define FILAMENT_CHANGE_UNLOAD_ACCEL        25  // (mm/s^2) Lower acceleration may allow a faster feedrate.
      #define FILAMENT_CHANGE_UNLOAD_LENGTH      100  // (mm) The length of filament for a complete unload.
                                                      //   For Bowden, the full length of the tube and nozzle.
                                                      //   For direct drive, the full length of the nozzle.
                                                      //   Set to 0 for manual unloading.
      #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE   6  // (mm/s) Slow move when starting load.
      #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH    60 //0  // (mm) Slow length, to allow time to insert material.
                                                      // 0 to disable start loading and skip to fast load only
      #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE  6  // (mm/s) Load filament feedrate. This can be pretty fast.
      #define FILAMENT_CHANGE_FAST_LOAD_ACCEL     25  // (mm/s^2) Lower acceleration may allow a faster feedrate.
      #define FILAMENT_CHANGE_FAST_LOAD_LENGTH     60 //0  // (mm) Load length of filament, from extruder gear to nozzle.
                                                      //   For Bowden, the full length of the tube and nozzle.
                                                      //   For direct drive, the full length of the nozzle.
      //#define ADVANCED_PAUSE_CONTINUOUS_PURGE       // Purge continuously up to the purge length until interrupted.
      #define ADVANCED_PAUSE_PURGE_FEEDRATE        5//3  // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate.
      #define ADVANCED_PAUSE_PURGE_LENGTH         50  // (mm) Length to extrude after loading.
                                                      //   Set to 0 for manual extrusion.
                                                      //   Filament can be extruded repeatedly from the Filament Change menu
                                                      //   until extrusion is consistent, and to purge old filament.

                                                      // Filament Unload does a Retract, Delay, and Purge first:
      #define FILAMENT_UNLOAD_RETRACT_LENGTH      13  // (mm) Unload initial retract length.
      #define FILAMENT_UNLOAD_DELAY             5000 // (ms) Delay for the filament to cool after retract.
      #define FILAMENT_UNLOAD_PURGE_LENGTH         8  // (mm) An unretract is done, then this length is purged.

      #define PAUSE_PARK_NOZZLE_TIMEOUT           300 //45  // (seconds) Time limit before the nozzle is turned off for safety.
      #define FILAMENT_CHANGE_ALERT_BEEPS         10  // Number of alert beeps to play when a response is needed.
      #define PAUSE_PARK_NO_STEPPER_TIMEOUT           // Enable for XYZ steppers to stay powered on during filament change.

     // #define PARK_HEAD_ON_PAUSE                    // Park the nozzle during pause and filament change.
      //#define HOME_BEFORE_FILAMENT_CHANGE           // Ensure homing has been completed prior to parking for filament change

     // #define FILAMENT_LOAD_UNLOAD_GCODES           // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.
      //#define FILAMENT_UNLOAD_ALL_EXTRUDERS         // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
    #endif

    I am sending G1 X20 F100 and M104 S200 to printer, it does not react. what I type is not visible on the console.
Sign In or Register to comment.