Hang printer - Print stops with mesh leveling
-
@shinomori
Ok connected direct to duet. Pi is unplugged from it.Connected to it.
Used G1 S2 commands to tighten individual axis to get to home location.
Sent
G92 X0 Y0 Z0 E0
G90
G30Manual probe worked.
Moved head back to 0,0,0 with ui buttons.
Sent G29This error:
g29
Warning: Skipping grid point X=-200.0, Y=-200.0 because Z probe cannot reach it
Warning: Skipping grid point X=0.0, Y=-200.0 because Z probe cannot reach it
Warning: Skipping grid point X=200.0, Y=-200.0 because Z probe cannot reach it
Warning: Skipping grid point X=200.0, Y=0.0 because Z probe cannot reach it
Warning: Skipping grid point X=0.0, Y=0.0 because Z probe cannot reach it
Warning: Skipping grid point X=-200.0, Y=0.0 because Z probe cannot reach it
Warning: Skipping grid point X=-200.0, Y=200.0 because Z probe cannot reach it
Warning: Skipping grid point X=0.0, Y=200.0 because Z probe cannot reach it
Warning: Skipping grid point X=200.0, Y=200.0 because Z probe cannot reach it
Error: Too few points probedM98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabledM115
FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.3 ELECTRONICS: Duet 3 MB6HC v0.6 or 1.0 FIRMWARE_DATE: 2021-06-15 21:45:56Config.g:
; General preferences
G91 ; send relative coordinates...
M83 ; ...but relative extruder moves
M550 P"Hangprinter" ; set printer name; Network
M552 P192.168.2.1 S1 ; enable network and acquire dynamic address via DHCP
M553 P255.255.255.0
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; 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 D0.0:0.0:2666.0 P1500.0
M350 X16 Y16 Z16 E16 U16 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-5 S1 ; set axis minima
M208 Z1500 S0 ; set axis maxima; Endstops
; WARNING: No endstops configured; Z-Probe
M558 P0 H6 F120 T6000; disable Z probe but set dive height, probe speed and travel speed
G31 P500 X0 Y0 Z0
M557 R400 S200
;M557 X-100:100 Y-100:100 S100 ; 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
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
T0 ; select first tool -
Can you try with a different M557 command?
Try
M557 R200 S50
-
@phaedrux
That one still says it can't reach the points with same procedure as before. Just many more points.g29
Warning: Skipping grid point X=-100.0, Y=-150.0 because Z probe cannot reach it
...
and so on. -
Thanks for testing. At this point we will have to wait for DC42 to return from vacation to be able to investigate further.
-
@phaedrux Thanks for feedback. Sorry for being a pain with this. I've run into the limit of my knowledge.
Interesting test Tobben suggested on discord. I set the home position around z150 and sent a g1 z-100 command in absolute mode. It allowed it. The lines didn't maintain tension which is not too surprising asking for something so far out of norm. But there was no error. Hopefully that helps with diagnosis.
-
@shinomori said in Hang printer - Print stops with mesh leveling:
I've run into the limit of my knowledge.
Mine too.
@shinomori said in Hang printer - Print stops with mesh leveling:
Interesting test Tobben suggested on discord.
Does anyone else on the discord server have a hand printer on Duet 3 running 3.3 that can confirm whether G29 works for them or not?
-
@phaedrux I copied the basic delta config for motors and set home and tried G29 and it worked unless the M557 was too big then it threw the same errors. Converted back to HP config. Tried G1 movement commands in absolute mode well past the M557 limits and it was allowed and the printer moved to those locations. The G29 still threw errors for all points.
-
@phaedrux I haven't seen another duet3 HP other than the V4 Tobben is working on but I asked to see if someone responds. Looking forward to what DC42 thinks. Hopefully the book above gives the clues needed. hehe Thanks for your help.
-
@shinomori I've looked at the code and the limits that apply are those set by M208. So make sure that your limits are sufficient, for example M208 X-300:300 Y-300:300.
I also notice that in your config.g file you do not hide the U axis. This may be because you need to move U (aka D in Hangprinter terminology) manually sometimes. However, it means that RRF will check that D is within limits too. So I suggest you hide the U axis using M584 P3 when you don't need to move it manually, in particular when running G29.
-
@dc42 The only time I use the U is with a g1 s2 command for individual axis move to tighten the lines for initial setup. Does that still work with the axis hidden? If so I can hide it all the time.
That makes sense that it is out of limit. I've tried it with XYZ but not U.
I'll get over to the printer to test in the next couple days. -
If you need U available most of the time, you could setup a mesh.g file that would be called when you send G29. Inside that macro you could hide U, do whatever preparation you need and then call G29 S0 to probe the bed and when it's done, unhide the U axis if needed.
-
@shinomori said in Hang printer - Print stops with mesh leveling:
@dc42 The only time I use the U is with a g1 s2 command for individual axis move to tighten the lines for initial setup. Does that still work with the axis hidden?
No. You would need to un-hide the U axis (M584 P4) before using that function, and hide it again (M584 P3) afterwards.
-
Ok did some testing.
With M584 p3 in the sys file I followed this procedure.
Start machine.
G92 X0 Y0 Z0 E0
G90
G30 ; Ui appears No motion at all even hitting buttons hitting ok the tool position says Z 6.0 but the tool head did not move
G29
g29
Warning: Skipping grid point X=-100.0, Y=-100.0 because Z probe cannot reach it
Warning: Skipping grid point X=0.0, Y=-100.0 because Z probe cannot reach it
Warning: Skipping grid point X=100.0, Y=-100.0 because Z probe cannot reach it
Warning: Skipping grid point X=100.0, Y=0.0 because Z probe cannot reach it
Warning: Skipping grid point X=0.0, Y=0.0 because Z probe cannot reach it
Warning: Skipping grid point X=-100.0, Y=0.0 because Z probe cannot reach it
Warning: Skipping grid point X=-100.0, Y=100.0 because Z probe cannot reach it
Warning: Skipping grid point X=0.0, Y=100.0 because Z probe cannot reach it
Warning: Skipping grid point X=100.0, Y=100.0 because Z probe cannot reach it
Error: Too few points probedIf I try to move the machine with g1 commands in the Z the behavior is very chaotic. Small movements the printer does not move but the toolhead position that is reported in the ui is what was asked for and then on some commands it randomly moves, but not to location asked for. Small downward motions are ignored and then suddenly it crashes into the bed.
If I run M584 P4. G1 commands result in expected motion. G30 ui buttons work and it move up to z6.0 after hitting ok. G29 still throws the error.
Config.g:
; General preferences
G91 ; send relative coordinates...
M83 ; ...but relative extruder moves
M550 P"Hangprinter" ; set printer name; Network wired direct
M552 P192.168.2.1 S1 ; enable network and acquire dynamic address via DHCP
M553 P255.255.255.0
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; 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 D0.0:0.0:2666.0 P1500.0
M350 X16 Y16 Z16 E16 U16 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 X-1000:1000 Y-1000:1000 Z-5:1500 ; set axis limits
M584 P3 ;Hide U axis
;M208 Z1500 S0 ; set axis maxima; Endstops
; WARNING: No endstops configured; Z-Probe
M558 P0 H6 F120 T6000; disable Z probe but set dive height, probe speed and travel speed
G31 P500 X0 Y0 Z0
;M557 R100 S50
M557 X-100:100 Y-100:100 S100 ; 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
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
T0 ; select first tool -
Changed these lines:
M208 X-1000:1000 Y-1000:1000 Z-5:1500 U-1000:2000; set axis limits
;M584 P3 ;Hide U axisStart machine.
G92 X0 Y0 Z0 E0 or G92 X0Y0Z0E0U0
G90
G30 ; Ui appears moves with buttons ok print head moves up to 6.0
G29
g29
Warning: Skipping grid point X=-100.0, Y=-100.0 because Z probe cannot reach it
...etc.Running
M584 P3 right before the g29 still gives the error and no motion. -
@shinomori
Did a new flash of the the duetpi. Copied over my sys files and macros.Tried expanding the m208 range
M208 X-10000:10000 Y-10000:10000 Z-10000:10000 U-10000:10000;
g92 x0y0z0e0u0
g90
g30(probes with no error)
g29 -same can't reach points errorAlso tried:
M208 X-10000:10000 Y-10000:10000 Z-10000:10000 U-10000:10000 A-10000:10000 B-10000:10000 C-10000:10000 D-10000:10000With the same result.
Tried:
g92 x0y0z0e0u0a0b0c0d0
g29 still has same error.m98 shows no errors in the config file for either version.
-
@shinomori Tobben said this on the hangprinter discord:
"
The failing test is here: https://github.com/Duet3D/RepRapFirmware/blob/3.4-dev/src/GCodes/GCodes4.cpp#L644It looks like Hangprinterkinematics.h/cpp don't implement the function IsReachable()
The very old RRF version I had on my previous prototype had that function implemented. But is seems it has fallen though the cracks in my latest RRF work. Making a pull request now"
He sent me this fw file. Where it is working and print continues with mesh enabled. Duet3Firmware_MB6HC.bin
Thanks for help guys .
How would I know when those fixes are in the main branch? I'm not really git fluent yet.
-
@shinomori said in Hang printer - Print stops with mesh leveling:
How would I know when those fixes are in the main branch? I'm not really git fluent yet.
If the pull request makes it into 3.4 it would be in the release notes. there may also be beta versions with it to test.
-
@shinomori unfortunately the PR referenced has a lot of other changes for Hangprinter that are very invasive and will need substantial refactoring before I can accept them. However, it may be possible to implement the change that fix this particular issue independently.
-
@dc42 I understand. The current fw that I was sent has the mesh leveling working so I am ok for now. Just want to keep and eye out for whenever the official fw has the fix so i can jump to that one or avoid it if it is missing. Thanks!
-
@shinomori it appears that the "fix" was just a hack to disable the checking of probe point coordinates. So we still don't know why it was failing.
Does the height map file produced by running G29 to probe the bed depend on which RRF you are running (i.e the one that fails, or the one with the "fix" in it)? If so, please attach both height map files.
Also, please post your G31 settings. The config.g file you posted doesn't include a G31 command. Perhaps the G31 command is in the config-override.g file?