Hang printer - Print stops with mesh leveling
-
@shinomori Our duet and pi are mounted on the ceiling with only power going to it. connecting to it over a wifi hotspot on phone.
-
The Duet3 can be pretty picky about the USB cable for flashing.
Given your situation of being a bit remote and the install being a bit hard to reach our options are either getting a better USb cable or trying to setup an SD card for standalone mode provided the Duet3 still has firmware on it and hasn't been erased yet. Did you use the erase jumper?
What does the Duet show up as in the Device manager?
-
Ok I've got the duet and the pi sitting on my desk now for easier work. I downloaded the firmware again. Plugged in with new usb that was in the box with the duet.
Shows connected to "ATSAME70x20" on com8. Try flashing "Duet3Firmware_MB6HC.bin". And I get a flash command failed error. Tried jumper on erase pins and reset button, but the diag light always stays just dimly lit. I'm messing up somewhere.
-
@shinomori said in Hang printer - Print stops with mesh leveling:
I'm messing up somewhere.
Following these steps?
Using the Pi itself is also explained there.
-
@shinomori said in Hang printer - Print stops with mesh leveling:
Shows connected to "ATSAME70x20" on com8. Try flashing "Duet3Firmware_MB6HC.bin". And I get a flash command failed error. Tried jumper on erase pins and reset button, but the diag light always stays just dimly lit.
This typically means there is a USB comms issue. The bootloader puts the USB into full speed mode (I've no idea why) so the USB cable and port are quite critical. Try a different USB port on the PC, or a different USB cable. Also be aware of the possibility of USB ground loops (using a laptop running from its internal battery to do the programming is a good way to avoid them).
The Erase jumper must be removed before you do the actual programming.
-
@dc42 Ok I followed that set of instructions and it seems to have worked.
m115
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:56After copying all my old config files back on I am getting this error sitting on the bench with only duet and pi:
Error: M669: Wrong number of values after '''D''', expected 3
Also can't connect to "duet3.local", but ip address works.
Here is config:
; 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 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 tool -
@shinomori said in Hang printer - Print stops with mesh leveling:
Error: M669: Wrong number of values after '''D''', expected 3
RRF3.3 needs 3 parameters for D. RRF 3.01 eg didn't check the number of values of the D parameter, so the config is from an older RRF version. Better control of the anchor is a new feature of 3.3: https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x#reprapfirmware-33 "M669 when using Hangprinter kinematics now allows the XY coordinates of the D anchor to be specified". The "line build-up compensation" new feature sounds interesting also, whatever it is.
Documentation of https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareHangprinter is not current, you should set D0.0:0.0:2666.0 now.
The old D was only Z: "Dzzz Z coordinate of the D anchor (the XY coordinates of the D anchor are 0,0)".I wonder why you don't have a M350 value for U (microstep value).
Also can't connect to "duet3.local", but ip address works.
duet3.local is a name which must be mapped to the IP address somewhere (where depends on your operating system). Maybe you changed the IP address in the past or used a second duet. Anyway, I would take the IP address for all accesses.
-
@shinomori said in Hang printer - Print stops with mesh leveling:
Also can't connect to "duet3.local", but ip address works.
Is the SBC host name also duet3? Did you burn a fresh SD card with DuetPi as well?
https://duet3d.dozuki.com/Wiki/SBC_Setup_for_Duet_3#Section_Troubleshooting
You can also check for syntax errors in your config with M98 P"config.g"
-
Thanks. I'll have to take a look through the changelog.
I did reflash the Pi SD card to the newest version and then run update/upgrade. Hostname on pi is duet3 and it does show up as that when I scan the network to find the ip address to connect to. Not too concerned about that one other than it was working before and now is not and that knowledge might help with diagnosing some change. scanning for ip and connecting is not much of a problem.
Should be remounting the boards and doing some more testing tomorrow.
-
Ok I tried to do a g29 to do a manual mesh level. This was working before where I would manually check nozzle height at each point.
Now after setting the mesh parameters I get for all points:
Warning: Skipping grid point X=0.0, Y=-100.0 because Z probe cannot reach itIs it still possible to do it manually on this version?
m115
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"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 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-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 tool -
@shinomori said in Hang printer - Print stops with mesh leveling:
M557 R400 S200
Can you try a smaller spacing?
Does a G30 work to probe the surface once first to establish a Z0 point?
-
@phaedrux
G30 did work. Manual probe window came up.
G29 still threw the same error for all points. Didn't move at all.Mesh is set through ui to -100 to 100 on x and y with 100 mm spacing.
-
@shinomori said in Hang printer - Print stops with mesh leveling:
Mesh is set through ui to -100 to 100 on x and y with 100 mm spacing.
Yet your config has M557 R400 S200.
Can you send M557 in the gcode console and see what it reports back?
I'm not familiar enough with hang printers to know if it uses a delta style radius or a grid style like a cartesian.
You might also be the first person doing mesh compensation with a hand printer on 3.3+SBC.
-
@phaedrux
m557
Grid: X-100.0:100.0, Y-100.0:100.0, radius -1.0, X spacing 100.0, Y spacing 100.0, 9 pointsI am also not sure which mesh style is correct. The build area ends up being circular which is why I have a large radius mesh in the config. I am setting a smaller one with fewer points on the web ui for testing and it asks for grid style coords.
With the older FW it would run through the points with either radius or grid.I suspect there are alot of firsts on this build. Unfortunately I haven't learned how to dig through the git or firmware to figure out what is happening underneath myself so I really appreciate the help.
So on interesting thing happening that I don't know what to make of. If I set the height with some paper and then do a g92 to set zeros. I can move the print head all over 200-300 mm in all directions and then send it back to zero and the tension on the paper hasn't changed. If I do a G30, then try to go to Z0. It is over half mm too low.
-
Can you send G31 and see what it says? I don't see one in your config.g so I think it's using default values which would explain the differences when using G30. This might also be what is messing up the G29 since it uses it as well.
I suggest you add a G31 command to your config below the M558 for the probe definition.
G31 P500 X0 Y0 Z0 should do it since you're using the nozzle tip and manual probing.
You can also check for syntax errors in your config with M98 P"config.g"
-
@phaedrux
Ok updated config with g31.G30 now ends up with good spacing afterwards. Good call.
M98 returns no errors. G29 still returns error for all points:
Warning: Skipping grid point X=100.0, Y=100.0 because Z probe cannot reach itUpdated config.g:
; 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 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-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
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 -
I don't see where you specify M208 for X and Y.
The error is because the probe cannot reach the XY position as it is outside of the min/max for X and/or Y.
Frederick
-
@fcwilt
I was just wondering if that might be it. Thanks!Is there a way to set Radial limits instead of grid?
-
@shinomori
Ok added M208.Still getting the error when running g29. M98 is good.
Config:
; 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 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-800 Y-800 Z-05 S1 ; set axis minima
M208 X800 Y800 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
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 -
I think if you want to use radial limits then don't specify a M208 for XY. I don't think they have limits other than Z set for a delta. I assume that if you set a square limit range in XY you'd either have the corners protrude into areas that the effector can't reach, or you would have to keep the limits within the reachable radius and you'd loose some travel.
Then for your M557 just use the radius instead of a grid.