Drucker beendet Druck nicht richtig
Hallo,
ich habe einen Anycubic Mega X und einen Mega S angeschlossen. Seit dem neuen Update beenden die beiden Drucker ihren Druck nicht richtig. Sie drucken fertig, der Mega X fährt links zum Endschalter und bleibt stehen. Fährt dann nach ca. 5 bis 10 Min. das Druckbett nach hinten und dann nach vorne. Ist ja auch richtig. Nur nicht gleich sondern gefühlt nach 10 Min. Wie so?
Hier die Meldung des Mega X:
Recv:23:15:57.670: Setting Print and Travel Acceleration: 3000.00
Recv:23:16:07.302: X:0.00 Y:-4.25 Z:4.10 E:885.30 Count X: 0 Y:-340 Z:3280
Mesg:23:25:57.668: Warning: Communication timeout - resetting communication buffer.
Mesg:23:25:57.668: This means that a expected firmware response was not seen within the expected time.
Mesg:23:25:57.668: The typical reason is a communication error and print should continue after the communication reset.
Mesg:23:25:57.668: Connection status: Buffered:20, Manual Commands: 3, Job Commands: 42
Mesg:23:25:57.668: Buffer used:20 Enforced free byte:17 lines stored:1
Recv:23:25:57.681: X:0.00 Y:-4.25 Z:4.10 E:885.30 Count X: 0 Y:-340 Z:3280
Beim Mega S ist es so das er nach dem Druck ca. 5 cm nach links fährt Richtung Endschalter und auch stehen bleibt. Er wartet genau so lange wie der Mega X.
Erst seit neu Installation und Udate auf 1.4.6 ist das So. Slicer ist Cura. Wurde nicht Upgedatet.
Wo liegt der Fehler oder was muß ich machen??
Glaube da ist in dem Update von Repetier Server Pro ein Fehler. Hatte es Früher nie. Denn so wie ich das sehe sendet Repetier Server was zum Drucker und wartet dann auf Antwort. Nur leider kann der Drucker die Antwort nicht liefern da er den Befehl nicht kennt.
Liebes Repetier Server Team, schaut euch das mal bitte an. Das kann so nicht bleiben. Danke
Gruß
Alex
Comments
Wenn ich davon ausgehe das der Timeout aus deiner Meldung am Druckende ist, ist aber recht klar was passiert. Weil zumindest mein Anycubic I3 gerne bei G28 Kommunikationsfehler verursachte arbeiten alle "langsamen" Befehle im ping-pong Modus also nur ein Befehl parallel. Den Rest druckst du offenbar im Parallelmodus. Wenn jetzt aber irgendwo im Druck ein "ok" vom Drucker verpasst wird und du am ende einen der "langsamen" Befehle sendest wartet er auf das fehlende "ok" und weil es ein langsamer Befehl ist gilt nicht das normale timeout sondern 10 Minuten. Du hast also das timeout das sonst im Druck passiert wäre durch eins am Ende ersetzt.
Das könnte man umgehen wenn man Marlin mit advanced ok oder wait Meldung kompiliert. Z.b. mit der Version von Knutwurst kann man das leicht anpassen. Damit werden Kommunikationsfehler viel schneller und zum Teil on the fly erkennt. Fehlt das Feedback kann es zu so einem langen Timeout bei Fehlern kommen.
Vielleicht kann ich das noch etwas optimieren wenn ich auf einen leeren Buffer vor langsamen Befehlen warte, dann reduziert sich zumindest das timeout auf den regulären Wert.
Was mich wundert ist die regelmäßige ausgabe einer Meldung, was ich nur nach einem M204 erwarten würde. Hast du etwa ack und Befehlsfilter deaktiviert das hier keine Befehle sichtbar sind. Kannst du mal logging aktivieren und das Log irgenwo zur verfügung stellen. Dann kann ich es besser analysieren da hier scheinbar wichtige Infos fehlen.
Mesg:16:44:14.113: Printer reset requested - emergency:false
Mesg:16:44:14.113: Dtr: false Rts: false
Mesg:16:44:14.160: Dtr: true Rts: true
Recv:16:44:15.071: Connection verified by:start
Recv:16:44:15.071: Printer reset detected:start
Recv:16:44:15.071: start
Recv:16:44:15.087: echo:V1.2.6
Recv:16:44:15.087: 1.1.0-RC8
Recv:16:44:15.087: echo: Last Updated: 2016-12-06 12:00 | Author: (Jolly, xxxxxxxx.CO.)
Recv:16:44:15.087: Compiled: Nov 5 2019
Recv:16:44:15.087: echo: Free Memory: 3123 PlannerBufferBytes: 1168
Recv:16:44:15.102: echo:Hardcoded Default Settings Loaded
Recv:16:44:15.102: echo:Steps per unit:
Recv:16:44:15.102: echo: M92 X80.00 Y80.00 Z800.00 E400.00
Recv:16:44:15.102: echo:Maximum feedrates (mm/s):
Recv:16:44:15.102: echo: M203 X120.00 Y120.00 Z20.00 E80.00
Recv:16:44:15.102: echo:Maximum Acceleration (mm/s2):
Recv:16:44:15.102: echo: M201 X400 Y400 Z60 E10000
Recv:16:44:15.102: echo:Accelerations: P=printing, R=retract and T=travel
Recv:16:44:15.118: echo: M204 P400.00 R3000.00 T400.00
Recv:16:44:15.118: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
Recv:16:44:15.134: echo: M205 S0.00 T0.00 B20000 X4.00 Y4.00 Z0.10 E8.00
Recv:16:44:15.134: echo:Home offset (mm)
Recv:16:44:15.134: echo: M206 X0.00 Y0.00 Z0.00
Recv:16:44:15.134: echo:Z2 Endstop adjustment (mm):
Recv:16:44:15.134: echo: M666 Z0.00
Recv:16:44:15.134: echo:Material heatup parameters:
Recv:16:44:15.134: echo: M145 S0 H180 B70 F0
Recv:16:44:15.134: M145 S1 H240 B110 F0
Recv:16:44:15.134: echo:PID settings:
Recv:16:44:15.134: echo: M301 P20.00 I0.30 D150.00
Recv:16:44:15.134: echo: M304 P60.00 I0.30 D30.00
Recv:16:44:15.134: echo:Filament settings: Disabled
Recv:16:44:15.134: echo: M200 D1.75
Recv:16:44:15.134: echo: M200 D0
Recv:16:44:19.696: echo:SD init fail (2)
Recv:16:44:19.704: FIRMWARE_NAME:Marlin 1.1.0-RC8 (Github) SOURCE_CODE_URL:https://github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:3D Printer EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
Recv:16:44:19.716: X:0.00 Y:0.00 Z:0.00 E:0.00 Count X: 0 Y:0 Z:0
Mesg:16:44:19.716: Some printers don't implement timing, but can cause unexpected execution based on file name.
Mesg:16:44:19.716: By triggering unknown command here we block it for real usage.
Mesg:16:44:19.716: So please ignore unknown command if it appears now.
Recv:16:44:19.734: X:0.00 Y:0.00 Z:0.00 E:0.00 Count X: 0 Y:0 Z:0 (2)
ecv:17:11:53.605: ok
Send:17:11:53.605: N18321 G1 X118.632 Y146.956
Recv:17:11:53.605: ok
Send:17:11:53.605: N18322 M204 S3000
Send:17:11:53.605: N18323 M205 X10 Y10
Recv:17:11:53.636: ok
Send:17:11:53.636: N18324 G0 F6000 X118.853 Y146.311
Send:17:11:53.636: N18325 M204 S1800
Recv:17:11:53.822: ok
Send:17:11:53.822: N18326 M205 X5 Y5
Recv:17:11:53.822: Setting Print and Travel Acceleration: 3000.00
Recv:17:11:53.837: ok (2)
Send:17:11:53.837: N18327 G1 F2700 X119.819 Y145.345 E798.68772
Recv:17:11:53.837: ok
Send:17:11:53.837: N18328 G1 X119.872 Y145.292
Recv:17:11:53.837: Setting Print and Travel Acceleration: 1800.00
Recv:17:11:53.837: ok (2)
Send:17:11:53.837: N18329 M73 P100 R0 Q100 S0
Send:17:11:53.837: N18330 G1 F2400 E792.68772
Recv:17:11:53.869: ok
Send:17:11:53.869: N18331 M140 S0
Send:17:11:53.869: N18332 M204 S3000
Recv:17:11:54.038: ok (2)
Send:17:11:54.038: N18333 M205 X10 Y10
Send:17:11:54.038: N18334 M107
Send:17:11:54.053: N18335 M104 S0 ;extruder heater off
Recv:17:11:54.053: ok
Send:17:11:54.053: N18336 M140 S0 ;heated bed heater off (if you have it)
Recv:17:11:54.053: ok
Send:17:11:54.053: N18337 G91 ;relative positioning
Recv:17:11:54.053: Setting Print and Travel Acceleration: 3000.00
Recv:17:11:54.053: ok
Send:17:11:54.053: N18338 G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
Recv:17:11:54.053: ok (2)
Send:17:11:54.053: N18339 G1 Z+0.5 E-5 X-20 Y-20 F6000 ;move Z up a bit and retract filament even more
Recv:17:11:54.075: ok (4)
Send:17:11:54.075: Slow command added:G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
Send:17:11:54.075: N18340 G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
Recv:17:11:54.254: ok
Send:17:11:54.254: N18341 M114
Send:17:11:54.254: N18342 G0 X0 Y300 Z10 F6000; Bett nach vorne fahren
Send:17:11:54.254: N18343 M84 ;steppers off
Send:17:11:54.254: N18344 G90 ;absolute positioning
Send:17:11:54.254: N18345 M82 ;absolute extrusion mode
Mesg:17:11:58.257: Warning: Communication timeout - resetting communication buffer.
Mesg:17:11:58.257: This means that a expected firmware response was not seen within the expected time.
Mesg:17:11:58.257: The typical reason is a communication error and print should continue after the communication reset.
Mesg:17:11:58.257: Connection status: Buffered:88, Manual Commands: 2, Job Commands: 38
Mesg:17:11:58.257: Buffer used:88 Enforced free byte:15 lines stored:5
Send:17:11:58.257: M117 ETA 17:11:57 day 6
Send:17:11:58.257: N18348 M104 S0
Recv:17:12:02.810: X:0.00 Y:-4.25 Z:3.00 E:786.69 Count X: 0 Y:-340 Z:2400
Recv:17:12:02.810: ok
Recv:17:12:02.810: X:0.00 Y:-4.25 Z:3.00 E:786.69 Count X: 0 Y:-340 Z:2400
Recv:17:12:06.062: ok (5)
Send:17:12:06.062: M117 ETE 00:00:03
Recv:17:12:06.077: Error:checksum mismatch, Last Line: 18349
Recv:17:12:06.077: Resend: 18350
Recv:17:12:06.099: Ignore due to resend: ok (3)
Recv:17:12:06.115: Waiting for resend requests finished. Starting resends ...
Send:17:12:06.131: M117 ETE 00:00:03
Recv:17:12:06.131: ok
Send:17:12:06.131: Slow command added:M400 ; Wait for current moves to finish, clearing the buffer
Send:17:12:06.131: N18356 M400 ; Wait for current moves to finish, clearing the buffer
Recv:17:12:06.131: ok
Send:17:12:06.131: N18357 M104 T0 S0 ; Disable extruder
Send:17:12:06.131: N18358 M140 S0 ; Disable bed
Send:17:12:06.131: N18359 G1 X0 Y310 F9000
Send:17:12:06.131: N18360 M84 ; Disable motor
Recv:17:12:06.162: ok (3)
Send:17:12:06.162: N18361 M77
Send:17:12:06.162: @stopLog
Recv:17:12:06.462: ok (2)
Send:17:12:14.312: M117 Finished
Recv:17:12:14.312: ok
Send:17:11:54.254: N18345 M82 ;absolute extrusion mode
Mesg:17:11:58.257: Warning: Communication timeout - resetting communication buffer.
Nach 4s kommt ein timeout weil kein ok der Befehle davor kam und auch kein busy um den Timer zurück zu stellen. Dann sendet er neue Befehle die den Puffer überlaufen lassen und dann korrigiert wird. Das ist vermutlich der letzte move und M84 was auf das ende warten muss. Ich muss das mal genauer untersuchen warum Marlin hier kein busy anbietet. So müsste man den timeout etwas hochziehen um den Fehler zu vermeiden, der allerdings auch nicht tragisch ist. Kann so aber auch bei anderen langsamen moves länger als timeout passieren.