Sensorless bed probing
-
Dueters,
I know what the recommendation is, to get a bed sensor, BL touch or accelerometer and probe with the hardware, BUT I am asking about bed probing using the stall detection in the Duet Wifi. I have seen and will use the files for sensorless homing, no problem, however I have seen a video of someone using sensorless bed probing with a smoothieboard. I figure that Duet is far superior and therefore I wonder if anyone has a file that I could use to apply the concept.
Has anyone tried this? Has anyone tried this on a Delta, yes i will be doing it on a delta and I know that it is not recommended for accuracy. It may lead to more frustration or a discovery after all, so I am willing to try.
-
Would it be something along the lines of:
M557 R300 S15
M558 P10 F1000 T1000 H2 R.5 A2 B0(Motor stall detection, Feedrate 1000 mm per minute, travel 1000 mm per minute Dive height of 2, stall 1/2 second between probes, Probe two times with the Bed heater on?
I need to reduce the motor amperage to increase the stall sensitivity, any ideas on that?
-
In Bed G file:
M913 X40 Y40 Z40
M557 R300 S15
M558 P10 F1000 T1000 H2 R.5 A2 B0
M913 X100 Y100 Z100is that close?
-
@novaprint said in Sensorless bed probing:
M913 X40 Y40 Z40
M557 R300 S15
M558 P10 F1000 T1000 H2 R.5 A2 B0
M913 X100 Y100 Z10Setup the stall detection with the file as well:
M913 X40 Y40 Z40
M915 PX:Y:Z S10 F0 R1
M557 R300 S15
M558 P10 F1000 T1000 H2 R.5 A2 B0
M913 X100 Y100 Z10Is the M915 more useful in Config G? Does it belong in the Home G file?
-
I'm not sure how well it will work out on a delta since it's 3 motors working at the same time. It's hard enough to get a single motor to stall reliably. You'll definitely want to reduce motor current and experiment with the sensitivity setting.
I managed to get it to work on a CoreXY and it did work, but it was greatly influenced by motor temperature it seemed. It would work reliably at first power up and then as the motor got warm it was harder and harder to find a good sensitivity setting.
Lower acceleration helped to prevent false positive stalls.
M915 should probably go in config.g so that it's available no matter what needs to use it afterwards. Homing, G29 probing, etc.
Definitely have your hand near the kill switch in case a head crash happens.
You could probably have better luck using stall detection to home the X Y and Z towers to max individually, but for z probing you'll likely find a probe more reliable. But good luck anyway, hopefully it works out.
-
@phaedrux Thanks for the heads up. Is there some way to store the bed map in EEPROm or teh equivalent and avoid bed probing for every print? The motor heat dynamic is one that I would like to avoid, I print many things successively. Is G29 the command I need in the gcode to execute bed probing?
-
@phaedrux Also I wonder if the execution is digital and computers do so well at repeatable actions, why is it so hard to be reliable? Is it possibly embodied in the quality of the stepper motor or perhaps the size/torque. Would it be smarter to get 0.9 degree motors and swap out the 1.8 degree ones to get more reliability?
-
https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation
Yes mesh grid compensation can be run once and the map saved and reloaded.
0.9 motors would definitely be beneficial for a delta.
It's also recommended to run delta auto calibration before every print before probing the bed center to establish the z height.
-
Sensorless bed probing has been used on a Cartesian machine and it is configured by using P10 in the M558 command. However, a delta printer does not have sufficient Z resolution for it to work. The Z resolution of a delta using belt drive is at best 12.5 full steps per mm. Stall detection is accurate to +/- 1 full step at best. So you would get height errors of up to about 0.1mm.
It's possible to use stall detection to replace homing switches on a delta, but only if you then use a Z probe to run a quick calibration cycle.
btw I am surprised to hear that someone used stall detection on a Smoothieboard, because the stepper driver chips on Smoothieboard don't support it. I guess they must have used an external driver.