Z- Probe consistency issue
-
It could be that your probing speed (F parameter in M558) is too high, so that when the probing move stops the nozzle overshoots and ends up lower than it should be. Then when you do the next G1 Z5 it ends up at slightly less than 5mm. Similarly, if your Z acceleration is set too high, it may be missing steps at the start of the G1 Z5 move.
-
the probing speed is quite slow but when running G1 Z5 it does move very fast. How and where to i change the acceleration speeds?
-
found the settings for acceleration and have halved all of the Z speeds as a test.
Any thoughts?
-
I was wrong. I don't get consistent results. the number always increases. Just did around 1000 probes and the trigger height went from 0.024 to 0.511.
I cannot see anything mechanical that would account for this
-
What speeds and accelerations are you using, what is your Z steps/mm, and what are the F and T parameters in your M558 command?
-
Here is my config file
; General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates…
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
; Automatic saving after power loss is not enabledM665 L244.000 R104 H235 B80.0 X0 Y0 Z0
M666 X0 Y0 Z0 A0 B0
M208 Z0 S1 ; Set minimum Z; Endstops
M574 X2 Y2 Z2 S0 ; Set active low endstops
;M558 P5 H20 ; Set Z probe type to mode 5
M558 P5 R0.4 F300 X0 Y0 Z0 H20
G31 X0 Y0 Z-0.1 P200
;https://www.duet3d.com/forum/thread.php?id=2769M557 R80 S20 ; Define mesh grid
; Drives
M569 P0 S1 ; Drive 0 goes forward
M569 P1 S1 ; Drive 1 goes forward
M569 P2 S1 ; Drive 2 goes forward
M569 P3 S1 ; Drive 3 goes forward
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping without interpolation
M92 X100 Y100 Z100 E98 ; Set steps per mm
M566 X300 Y300 Z300 E1200 ; Set maximum instantaneous speed changes (mm/min) was 1200
M203 X18000 Y18000 Z9000 E1200 ; Set maximum speeds (mm/min) was 18000
M201 X250 Y250 Z250 E1000 ; Set accelerations (mm/s^2) was 1000
M906 X1200 Y1200 Z1200 E1100 I10 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Heaters
M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C; Tools
M563 P0 D0 H1 ; 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; Network
M550 PMicroMake D1 ; Set machine name
M552 S1 ; Enable networkM586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Fans
M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S1 I0 F500 H T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on; Custom settings are not configured
M501 -
shouldn't the max speeds for the X Y & Z in the M203 line be the same?
-
Apparently not, as RRF takes this to mean Z moves, rather than strictly Z axis (or back tower).
As such you can set Z acceleration low if you need to for your probe. It will only affect Z moves not XY moves. My understanding is that it does not potentially unbalance the delta kinematics. Marlin I believe does require X Y and Z to be the same, (or did).
-
buzzby try changing M558 H to 5 instead of 20… ALso set G31 P to 100, or consider changing to M558 P8 instead of P5 which eliminates any filtering on the z probe signal, and sharpens it up.
Not sure if it will help but 20 is only needed when your Z height is fairly unknown, or if you frequently change build plates of considerable difference in thickness.
-
Thanks for the input guys.
Here are my current settings
; General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates…
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
; Automatic saving after power loss is not enabledM665 L244.000 R104 H235 B80.0 X0 Y0 Z0
M666 X0 Y0 Z0 A0 B0
M208 Z0 S1 ; Set minimum Z; Endstops
M574 X2 Y2 Z2 S0 ; Set active low endstops
;M558 P5 H20 ; Set Z probe type to mode 5
M558 P8 R0.4 F300 X0 Y0 Z0 H5
G31 X0 Y0 Z-0.1 P100
;https://www.duet3d.com/forum/thread.php?id=2769M557 R80 S20 ; Define mesh grid
; Drives
M569 P0 S1 ; Drive 0 goes forward
M569 P1 S1 ; Drive 1 goes forward
M569 P2 S1 ; Drive 2 goes forward
M569 P3 S1 ; Drive 3 goes forward
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping without interpolation
M92 X100 Y100 Z100 E98 ; Set steps per mm
M566 X150 Y150 Z150 E1200 ; Set maximum instantaneous speed changes (mm/min) was 1200
M203 X9000 Y9000 Z9000 E1200 ; Set maximum speeds (mm/min) was 18000
M201 X125 Y125 Z125 E1000 ; Set accelerations (mm/s^2) was 1000
M906 X1200 Y1200 Z1200 E1100 I10 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeoutStill seeing the probe activation height increase over time.
What is strange/consistent is that the value always increases by 0.0. Although not after every probe. X number of prob points will be the same height and then it will trigger 0.01 higher.
-
Something is odd there, can you post photos of machine and hotend + z-probe closeups?
Can you also try a much lower Z jerk (M566 Z10)?
Z never has to move fast.While you're there (maybe later) change your X Y accelerations to 1000 (leave Z at 125) otherwise your printer will take forever to print anything. XY at 3000 isn't unreasonable, I've used 9000 before too.
-
I just ran a similar test on my delta:
18:22:39
Stopped at height -0.136 mm
Finished printing file TestProbeRepeatability.g, print time was 0h 1m
18:22:39
Stopped at height -0.131 mm
18:22:38
Stopped at height -0.136 mm
18:22:37
Stopped at height -0.136 mm
18:22:36
Stopped at height -0.131 mm
18:22:35
Stopped at height -0.131 mm
18:22:34
Stopped at height -0.136 mm
18:22:33
Stopped at height -0.131 mm
18:22:33
Stopped at height -0.136 mm
18:22:32
Stopped at height -0.131 mm
18:22:31
Stopped at height -0.136 mm
18:22:30
Stopped at height -0.136 mm
18:22:29
Stopped at height -0.136 mm
18:22:28
Stopped at height -0.136 mm
18:22:28
Stopped at height -0.136 mm
18:22:27
Stopped at height -0.136 mm
18:22:26
Stopped at height -0.136 mm
18:22:25
Stopped at height -0.136 mm
18:22:24
Stopped at height -0.136 mm
18:22:23
Stopped at height -0.136 mm
18:22:22
Stopped at height -0.136 mm
18:22:22
Stopped at height -0.136 mm
18:22:21
Stopped at height -0.136 mm
18:22:20
Stopped at height -0.136 mm
18:22:19
Stopped at height -0.136 mm
18:22:18
Stopped at height -0.136 mm
18:22:17
Stopped at height -0.136 mm
18:22:17
Stopped at height -0.136 mm
18:22:16
Stopped at height -0.136 mm
18:22:15
Stopped at height -0.136 mm
18:22:14
Stopped at height -0.136 mm
18:22:13
Stopped at height -0.136 mm
18:22:12
Stopped at height -0.131 mm
18:22:07
M32 TestProbeRepeatability.g
File TestProbeRepeatability.g selected for printingSo I don't see the same problem. I have these parameters:
M201 X3000 Y3000 Z3000 E1000:120 ; Accelerations (mm/s^2)
M203 X18000 Y18000 Z18000 E3600:3600 ; Maximum speeds (mm/min)
M566 X600 Y600 Z600 E600:40 ; Maximum instant speed changes
M558 P8 X0 Y0 Z0 H3 F1000 T10000 R0.4 S0.02 A4Could it be as simple as a loose pulley?
-
Here you go
-
It might not be obvious from the pictures but YES the nozzle is the lowest point.
-
If the suggested movement settings did not improve this problem then I would definitely make sure the drive pulley grubscrews are tight. Do your motors have flats on the shafts? If not take them off and grind flats into them.
Next stop is the belts. They sometime wear in just one place. So quick check for that is to raise the bed up (or just put something on top of the bed which is 70+mm thick like a biscuit tin. Change your z height in M665 (in config.g and config_override.g to avoid a head crash), and repeat the test. If it performs better replace all of the belts.
How well does it calibrate? Especially if you repeat the calibration over and over, the dev. value should get smaller with each iteration then stabilise after 1-3 tries. If it doesn't follow this pattern I'd still say mechanical issue.
-
If the suggested movement settings did not improve this problem then I would definitely make sure the drive pulley grubscrews are tight. Do your motors have flats on the shafts? If not take them off and grind flats into them.
Next stop is the belts. They sometimes wear in just one place. So quick check for that is to raise the bed up (or just put something on top of the bed which is 70+mm thick like a biscuit tin. Change your z height in M665 (in config.g and config_override.g to avoid a head crash), and repeat the test. If it performs better replace all of the belts.
How well does it calibrate? Especially if you repeat the calibration over and over, the dev. value should get smaller with each iteration then stabilise after 1-3 tries. If it doesn't follow this pattern I'd still say mechanical issue.
I'm assuming the probe was a kit and you have assembled it? I can't think of an assembly error that would cause this drift, but you can send the assembled probe to me I'll check it on my test rig to rule it out,adjust it if needed and send it back.
-
So it appears that I am an idiot. 2 of my pulley set screws were lose but the belt was so tight I could see it till I released the tension. They have flats on the shaft so have retightened all 6 sets screws.
Ran the prob test again for 100 cycles and get a difference of 0.01.
Ran the auto calibrate and have that down to 0.04
ran bed mesh and get the following
Number of probe points: 45Probe area: 201.1 cm²
Maximum deviations: -0.071 / 0.106 mm
Mean error: 0.004 mm
RMS error: 0.038 mm
About to repeat everything with the bed at temp and then try a print.
Thank you everyone for you help. I will need some more soon.
-
Glad its working, as I learned at university, common things occur commonly.