Hang printer - Print stops with mesh leveling
-
Hi,
I am trying to setup a hangprinter with a duet3 running duetpi. I have managed to do a few small test prints so the calibration is at least close and it seems to be working. My build plate is a full sized piece of plywood so it is not very flat. I was trying to do a mesh compensation manually collecting the points and the duet interface shows it is captured. Many points are off by several mm which seems correct for the piece of wood and hence the need for a mesh compensation. My test print is a small cylinder in vasemode with a brim. If I run it normally it works. If I add the g29 s1 to the start gcode the print will start as expected but stop as soon as it completes a quarter circle and doesn't continue beyond that. Any thoughts? Thanks! -
Can you share your config.g and your firmware version, etc?
-
@phaedrux
Sorry. Didn't see this reply. Here is the config.g.; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 02 2020 14:18:25 GMT-0600 (Central Standard Time); General preferences
G91 ; send relative coordinates...
M83 ; ...but relative extruder moves
M550 P"duet3" ; set printer name; Drives
M569 P0.0 S0 ; physical drive 0.0 goes forwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S0 ; physical drive 0.2 goes forwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P0.4 S0 ; physical drive 0.4 goes forwards
M584 X0.0 Y0.1 Z0.2 E0.3 U0.4 ; set drive mapping
M669 K6 A0.0:-2265.0:0.0 B1725.0:1100.0:0.0 C-1740.0:1120.0:0.0 D2666.0 P1500.0
M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X92.90 Y92.90 Z92.90 E396.00 U93.00 ; set steps per mm
M566 X900.00 Y900.00 Z900.00 E120.00 U900.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z6000.00 E1200.00 U6000.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z500.00 E250.00 U500.00 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E800 U1000 I60 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 Z-05 S1 ; set axis minima
M208 Z1500 S0 ; set axis maxima; Endstops
; WARNING: No endstops configured; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
;M557 X50:950 Y50:950 S200 ; define mesh grid; Heaters
M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
M950 H0 C"out1" T0 ; create nozzle heater output on out1 and map it to sensor 0
M143 H0 S270 ; set temperature limit for heater 0 to 270C
M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M140 H-1; Fans
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 S0 H0 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
M106 P1 S0 H0 ; set fan 1 value. Thermostatic control is turned off; Tools
M563 P0 S"Extruder" D0.3 H0 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C; Custom settings are not defined
M564 S0 H0 ;allow move without homing
M557 R400 S200
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
T0 ; select first toolHere is the start of the gcode.
; generated by PrusaSlicer 2.3.1+win64 on 2021-05-06 at 23:24:46 UTC
;
; external perimeters extrusion width = 1.35mm
; perimeters extrusion width = 1.35mm
; infill extrusion width = 1.35mm
; solid infill extrusion width = 1.35mm
; top infill extrusion width = 1.20mm
; first layer extrusion width = 1.40mmM107
M104 S230 ; set temperature
;TYPE:Custom
G90
G29 S1M109 S230 ; set temperature and wait for it to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
; Filament gcode
;LAYER_CHANGE
;Z:0.8
;HEIGHT:0.8
G1 Z0.800 F4800.000
G1 E-0.60000 F2400.000
G1 X-12.321 Y4.326 F4800.000
G1 E0.60000 F2400.000
;TYPE:Skirt
;WIDTH:1.4
G1 F600.000The procedure I am following is to tighten all the lines up until it is centered over a mark directly below. Then I set that as home. Then I lower it to near the bed and set home again. Double check tensions. Rehome if necessary. I then run a g29 mesh calibration. Try to manually match all points to same offset from bed as the home with a shim. This is usually way off in some points which is not surprising. Return to home and check if it has drifted. If no drift run the print.
If I run this gcode it starts as expected then hangs up after drawing it's first quarter circle. No errors. Web view seems to think the print is still running. It just stops.
If I comment out the g29 s1 it completes the print.
It is not a pretty thing but I can work on that once I know it will run a gcode. And the hang up on with the mesh compensation is very strange. Surfaces we are hoping to run this thing on will probably be even less flat than this as we proceed so we definitely need a mesh to help with printing.Thanks. Sorry again for the delay.
-
What firmware version? When was the last time you updated duetpi?
Can you try and collect a M122 report when it has hung up? (pun intended)
How are you homing before doing the G29?
Can you post a photo of your heightmap?
-
@phaedrux
I'll grab all that when I can make it over the the print lab.I have a "set home macro" that I think was a "G92 X0 Y0 Z0", but I will double check it. We are looking to add a bltouch or some other mechanical bed sensor to the printer soon to avoid human error inaccuracies, but there doesn't seem much point if the printer won't run gcode with mesh compensation on.
The motion seems pretty good so far. Doing a dry run of a big 400mm cylinder in vase mode had pretty smooth motion. The goal is to print a part that is about 1m x 1.5m, but gotta get that first layer right first!
Thanks
-
@shinomori said in Print stops with mesh leveling:
M208 Z-05 S1 ; set axis minima
Does the height map correction exceed 5mm anywhere? I am wondering whether the code to check limits in Hangprinter kinematics isn't working properly.
When the print stops after using G29 S1, does the machine hang, or the board reset, or the print terminate with an error message, or something else?
BTW there are some fixes for Hangprinter in RRF 3.3.
-
@dc42
I haven't made it back over to the machine, but on the last test it did not exceed 5mm.
I think the farthest deviation was around 1mm on a 200mmx200mm, 3x3 grid used for that small test print.It doesn't throw an error and seems to think it is still printing because the print duration estimates are moving around. The print head just stops moving. I don't remember if the extruder was still feeding and I think it wasn't responding to the pause print and I had to use the emergency stop. Probably because it thought it was in the middle of a print move and needed to finish that before pausing.
May need to update to 3.3. Are there mayor syntax changes that would require rewrite of all the system files?
Will update when I can make it over to the machine to get info off it.
-
@shinomori said in Print stops with mesh leveling:
May need to update to 3.3. Are there mayor syntax changes that would require rewrite of all the system files?
No, based on your config.g there isn't anything that would need to change.
-
@phaedrux
I keep getting a "Post content was flagged as spam by Akismet.com" when I try to post a reply. -
I've upvoted a few posts. Please wait a few minutes and try again.
-
@phaedrux
The last one was just an output of the m122 and it refused it. I had a big post prepared with lots of details. I'll see if I take the M122 out if it works. -
Yes it might have hit the length limit as well.
-
@phaedrux
I wrote this up while at the machine.Top of M122:
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC v0.6 or 1.0 version 3.0 running on Duet 3 MB6HC
Board ID: 08DJM-956L2-G43S4-6J1F8-3SN6P-9V6QGNow I will tighten the lines with g1 s2 commands: to center it over the dot on the tape.
Then I run my set home macro:
G92 X0 Y0 Z0 E0
G90Use movement keys to position in start location.
Run set home macro again.
Now I run a G29 and get a mesh with a shim.
X0 Y0 is in the middle high one is +.9. Some of this I'm sure is a tramming issue and some jankiness on the printer itself.
Print is only 20mm diameter and first layer is .8mm should be fine for test.
Here it is frozen up timers are jumping around like it thinks it's printing but it is not moving or extruding:
-
@phaedrux
Here is the gcode with the approximate stop line highlighted It ran for less than 2 secs after heat up:
; generated by PrusaSlicer 2.3.1+win64 on 2021-05-06 at 23:24:46 UTC;
; external perimeters extrusion width = 1.35mm
; perimeters extrusion width = 1.35mm
; infill extrusion width = 1.35mm
; solid infill extrusion width = 1.35mm
; top infill extrusion width = 1.20mm
; first layer extrusion width = 1.40mmM107
M104 S230 ; set temperature
;TYPE:Custom
G90
G29 S1M109 S230 ; set temperature and wait for it to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion
; Filament gcode
;LAYER_CHANGE
;Z:0.8
;HEIGHT:0.8
G1 Z0.800 F4800.000
G1 E-0.60000 F2400.000
G1 X-12.321 Y4.326 F4800.000
G1 E0.60000 F2400.000
;TYPE:Skirt
;WIDTH:1.4
G1 F600.000
G1 X-12.509 Y3.790 E0.23191
G1 X-12.692 Y3.125 E0.28169
G1 X-12.840 Y2.442 E0.28564
G1 X-12.993 Y1.419 E0.42261
G1 X-13.051 Y0.710 E0.29038
G1 X-13.071 Y0.026 E0.27972
G1 X-13.054 Y-0.657 E0.27927
G1 X-12.993 Y-1.419 E0.31226
G1 X-12.840 Y-2.442 E0.42231
G1 X-12.673 Y-3.200 E0.31738
G1 X-12.497 Y-3.828 E0.26631
G1 X-12.284 Y-4.466 E0.27498
G1 X-12.046 Y-5.072 E0.26592
G1 X-11.765 Y-5.695 E0.27901
G1 X-11.405 Y-6.383 E0.31725
G1 X-10.865 Y-7.265 E0.42246
G1 X-10.462 Y-7.835 E0.28541
G1 X-9.978 Y-8.442 E0.31710
G1 X-9.279 Y-9.205 E0.42251
G1 X-8.765 Y-9.696 E0.29038
G1 X-8.246 Y-10.141 E0.27965
G1 X-7.714 Y-10.552 E0.27459
G1 X-7.074 Y-10.990 E0.31694
G1 X-6.183 Y-11.515 E0.42252
G1 X-5.548 Y-11.835 E0.29033 -
@shinomori Pause print button responds but it never actually pauses since it seems to think it is running a command:
M122 after pause but before emergency stop:
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC v0.6 or 1.0 version 3.0 running on Duet 3 MB6HC
Board ID: 08DJM-956L2-G43S4-6J1F8-3SN6P-9V6QG
Used output buffers: 1 of 32 (12 max)
=== RTOS ===
Static ram: 152720
Dynamic ram: 148572 of which 80 recycled
Exception stack ram used: 396
Never used ram: 91448
Tasks: NETWORK(ready,1984) HEAT(blocked,1200) CanReceiv(suspended,3808) CanSender(suspended,1476) CanClock(blocked,1424) TMC(blocked,76) MAIN(running,3660) IDLE(ready,160)
Owned mutexes:
=== Platform ===
Last reset 00:23:47 ago, cause: power up
Last software reset at 2021-06-09 23:35, reason: User, spinning module LinuxInterface, available RAM 91628 bytes (slot 2)
Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest block write time: 0.0ms, max retries 0
MCU temperature: min 45.9, current 50.1, max 50.2
Supply voltage: min 23.9, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.2, current 12.3, max 12.3, under voltage events: 0
Driver 0: standstill, reads 58670, writes 17 timeouts 0, SG min/max 0/763
Driver 1: standstill, reads 58671, writes 17 timeouts 0, SG min/max 0/1023
Driver 2: standstill, reads 58674, writes 13 timeouts 0, SG min/max 0/643
Driver 3: standstill, reads 58683, writes 5 timeouts 0, SG min/max 0/64
Driver 4: standstill, reads 58670, writes 17 timeouts 0, SG min/max 0/773
Driver 5: standstill, reads 58688, writes 0 timeouts 0, SG min/max not available
Date/time: 2021-06-11 23:34:59
Slowest loop: 2.32ms; fastest: 0.08ms
=== Move ===
Hiccups: 0(0), FreeDm: 375, MinFreeDm: 347, MaxWait: 475680ms
Bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves: 103, completed moves: 103, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
=== Heat ===
Bed heaters = -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
Heater 0 is on, I-accum = 0.4
=== GCodes ===
Segments left: 0
Stack records: 2 allocated, 0 in use
Movement lock held by file
http* is doing "M25" in state(s) 0
telnet is idle in state(s) 0
file* is idle in state(s) 0
serial is idle in state(s) 0
aux is idle in state(s) 0
daemon* is ready with "M122" in state(s) 0
queue is idle in state(s) 0
lcd is idle in state(s) 0
spi is idle in state(s) 0
autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 1.01ms; fastest: 0.01ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 0 of 8- Ethernet -
State: 0
Error counts: 0 0 0 0 0
Socket states: 0 0 0 0 0 0 0 0
=== CAN ===
Messages sent 5100, longest wait 0ms for type 0
=== Linux interface ===
State: 0, failed transfers: 0
Last transfer: 14ms ago
RX/TX seq numbers: 45924/45925
SPI underruns 0, overruns 0
Number of disconnects: 0
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v1.1.0.5
HTTP:
Buffered code: M25
=> 20 bytes
File:
Number of lock/unlock requests: 1/0
Code buffer space: 4096
Configured SPI speed: 2000000 Hz
Full transfers per second: 32.61
Processing print job /opt/dsf/sd/gcodes/Shape-Cylinder.gcode
- Ethernet -
-
Running sudo apt update and sudo apt upgrade on the Pi should get you updated to 3.2.2 and might give you better results. Much has changed since 3.0
-
@phaedrux Emergency stopped the machine rehomed and ran again. Stopped in the same place, but this time says: M25
Error: Code has been cancelled Think that may be because of attempted pause because it didn't do it the first time.Video of it trying to print.
https://drive.google.com/file/d/1LZMMEUyWGRScdTSb7rXbOwDcd-6Qup9i/view?usp=sharing
-
@phaedrux Got it. Will run that update when I am at the machine again and see if it fixes anything.
-
@shinomori
Ok we ran the update and upgrade on the pi till it showed nothing left to update.Looks like I messed up something somewhere.
Can't connect to duet3.local anymore, but the ip address works.
Showing duet webcontrol 3.3.0 now.
And we're getting this now.
Also getting an "Warning: Incompatible firmware, please upgrade as soon as possible" error on boot.
Does format of the config need to be changed?
When trying to send console commands now the machine keeps getting stuck with the send button spinning and have to restart it to be able to send commands again. Usually get 1 or 2 before it freezes.
-
Ok I was able to get it approximately homed using the console. The freezing started happening less. I tried to simulate the gcode file from before by right clicking on the file in the jobs tab and got:
M37 P"0:/gcodes/Shape-Cylinder.gcode"
Error: GCode file "0:/gcodes/Shape-Cylinder.gcode" not foundI tried just running it with the g29 s1 left in. The screen never changed from above picture so i have no idea what the printer is doing and no control apart from console commands. It did seem to get past the first part of the circle and the height map is still showing so it appears the update fixed the stopping with mesh enabled. Not just to figure out why i have no print control and can't connect via hostname.