UNSOLVED RRF3 -> Z-Probe was not triggered during probing move
Dear forum ... unfortunately I am currently still struggling a lot with different topics at RRF3. So far I have always used RRF2.05 but since I am now using the DUET3 I have to use RRF3.
As with all my other printers, I installed an inductive sensor as a Z-Probe. It also works so far! I can home and everything fits so far.
But when I run G29, the message "Z-Probe was not triggered during probing move" always comes after a few measuring points.
What I found out -> after homing he moves the print bed around the dive away from the nozzle.
during the G29 command, however, it moves the print bed significantly lower (bigger dive heigth) than the dive height in the config. thus explains to me why the Z-test does not trigger!
but why does it go too far with the G29 command?
I added the config of the Z-Probe to my RRF 2.05 firmware, in itself the same parameters, but it doesn't work with RRF3!
I have the latest firmware RRF 3.1.1 and tried many other parameters from M558. I hope someone can help me!
; Z-Probe (RRF 3) M558 P5 I1 C"!io5.in" H20 F100 T12000 ; Z probe type -> Induktiv G31 P100 X0.0 Y0.0 Z2.0 M557 X50:410 Y00:340 P04:04 ; define mesh grid ;Z-Probe Settings from RRF2.05 M558 P5 H7 I1 F150 T3000 ; Set Z probe -> Inductive G31 T1 P100 X0.0 Y0.0 Z0.58 M557 X50:410 Y00:340 P04:04
CR3D last edited by CR3D
after many attempts, it worked completely for the first time. I started it with G32.
But the error message also shows that he moves the print bed too far!
For testing i changed the dive height a few times...
this is the right config for this pics...
; Z-Probe M558 P5 I1 C"!io5.in" H5 F500 T12000 ; Z probe type -> Induktiv G31 P100 X0.0 Y0.0 Z2.0
Please post your entire config.g, homing files, and bed.g.
; Configuration file for Duet 3 (firmware version 3) ; General preferences G90 ; send absolute coordinates... M82 ; and absolute extruder moves M550 P"I444-S" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 ; physical drive 0.0 goes forwards Y0 M569 P0.1 S0 ; physical drive 0.1 goes forwards Y1 M569 P0.2 S0 ; physical drive 0.2 goes forwards X M569 P0.3 S0 ; physical drive 0.3 goes forwards X1 (U) M569 P0.4 S0 ; physical drive 0.4 goes backwards E0 M569 P0.5 S0 ; physical drive 0.5 goes backwards E1 M569 P1.0 S1 ; physical drive 1.0 goes forwards Z0 M569 P1.1 S1 ; physical drive 1.0 goes backwards Z1 M569 P1.2 S1 ; physical drive 1.0 goes forwards Z2 ;New Mapping M584 X0.2 Y0.0:0.1 U0.3 Z1.0:1.1:1.2 E0.4:0.5 ; set drive mapping M350 X16 Y16 U16 Z16 E16:16 I1 ; configure microstepping M92 X80.00 Y35.56 U80 Z1600 E415:415 ;set steps per mm M566 X900 Y900 U900 Z12 E120:120 ;set maximum instantaneous speed changes (mm/min) M203 X60000 Y60000 U60000 Z1000 E9000:9000 ;set maximum speeds (mm/min) M201 X2000 Y2000 U2000 Z200 E1000:1000 ;set accelerations (mm/s^2) M906 X1400 Y4200 U1200 Z1500 E1000:1000 I30 ;set motor currents (mA) M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 U0 Z0 S1 ; set axis minima M208 X460 Y500 U460 Z420 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!io1.in" ; active-high endstop for low end on X via pin io0.in M574 U2 S1 P"!io0.in" ; active-high endstop for high end on U via pin 1.io1.in M574 Y2 S1 P"!io2.in" ; active-high endstop for high end on Y via pin 1.io2.in ; Z-Probe M558 P5 I1 C"!io5.in" H5 F500 T12000 ; Z probe type -> Induktiv G31 P100 X0.0 Y0.0 Z2.0 ;M558 P5 I1 C"!io3.in" R1.0 K0 H5 F200 T6000 ; Z probe type -> Piezo ;M558 P5 I1 C"!io4.in" R1.0 K1 H5 F200 T6000 ; Z probe type -> Piezo ;G31 K1 P100 X0.0 Y0.0 Z-0.30 M557 X50:410 Y00:340 P04:04 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"temp2" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin temp2 M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"out4" ; create fan 2 on pin out4 and set its frequency M106 P0 S0 H-1 ; set fan 2 value. Thermostatic control is turned off M950 F1 C"out5" ; create fan 3 on pin out5 and set its frequency M106 P1 S1 H2:1 T50 ; set fan 3 value. Thermostatic control is turned off ; Tools M563 P0 S"Links" D0 H1 F0:2 ; define tool 0 G10 P0 X0 Y0 Z0 S0 R0 ; set tool 0 axis offsets G10 P0 R0 S0 ; active and standby temperatures M563 P1 S"Rechts" D1 H2 X3 F1:3 ; define tool 1 G10 P1 Y0 U0 Z0 S0 R0 ; set tool 1 axis offsets G10 P1 R0 S0 ; active and standby temperatures ; Custom settings are not defined ; Open Door Switch M581 T0 C"1.io3.in" S0 C0 ;trigger #2 (calls trigger0 -> Emergency-Stop) M582 T0 ; LEDs ; Farbe Blue M950 F2 C"out3" Q500 ; create fan 3 on pin out5 and set its frequency M106 P2 S125 ;set fan 3 value. Thermostatic control is turned off ; Farbe Red M950 F3 C"1.out0" Q500 ; create fan 3 on pin out5 and set its frequency M106 P3 S0 ;set fan 3 value. Thermostatic control is turned off ; Farbe Green M950 F4 C"1.out1" Q500 ; create fan 3 on pin out5 and set its frequency M106 P4 S150 ;set fan 3 value. Thermostatic control is turned off ; Farbe White M950 F5 C"1.out2" Q500 ; create fan 3 on pin out5 and set its frequency M106 P5 S0 ;set fan 3 value. Thermostatic control is turned off ; Miscellaneous M501 ; load saved parameters from non-volatile memory T0 ; select first tool M572 D0 S0.03
; homeall.g ; called to home all axes M106 P0 S0 ; Part cooling Fan off G91 ; relative positioning G1 H2 Z10 F6000 ; lift Z relative to current position G1 H1 X-650 Y550 U650 F5000 ; first pass XYU G1 H2 X5 Y-5 U-5 F6000 ; go back a few mm G1 H1 X-20 Y20 U20 F360 ; second pass XY G90 ; absolute positioning G1 X270 Y170 U600 F20000 ; first bed probe point -> move X to the middle of the Bed, U outside and home Z G30
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Fri Jun 19 2020 21:08:48 GMT+0200 (Mitteleuropäische Sommerzeit) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-505 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F6000 ; go back a few mm G1 H1 X-505 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
; homeu.g ; called to home the U axis ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Fri Jun 19 2020 21:08:48 GMT+0200 (Mitteleuropäische Sommerzeit) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 U505 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 U-5 F6000 ; go back a few mm G1 H1 U505 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Fri Jun 19 2020 21:08:48 GMT+0200 (Mitteleuropäische Sommerzeit) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y550 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y-5 F6000 ; go back a few mm G1 H1 Y455 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
; homez.g ; called to home the Z axis ; M106 P0 S0 G90 ; absolute positioning G1 X270 Y170 U600 F8000 ; first bed probe point -> move X to the middle of the Bed, U outside and home Z G30
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.1.3 on Fri Jun 19 2020 21:08:48 GMT+0200 (Mitteleuropäische Sommerzeit) G28 M561 ; clear any bed transform G29 ; probe the bed and enable compensation
After homing with home all, are you able to move the Z axis where Z0 is the nozzle just touching the bed?
; Z-Probe M558 P5 I1 C"!io5.in" H5 F500 T12000 ; Z probe type -> Induktiv G31 P100 X0.0 Y0.0 Z2.0
You've got an extra space after the M558 (not sure that really matters)
You can remove I1 from your M558. That gets taken care of by the !. (again not sure if it matters)
For your G31 you need to define the X Y and Z offsets. 2mm seems too perfect. Did you measure it?
In your bed.g try moving the M561 to be above the G28.
Send M98 P"config.g" in the console and report back with the results.
The "H5" was the dive height between probe points, isn´t it?
Yes I know that i have to define the offsets in G31, X and Y i have to do, but Z 2,00mm is right!
The hole settings work fine in RRF 2.05 at about 30 printers. Now with RRF3.1.1 there is the problem!
This post is deleted!
Can you try enabling the pullup resistor by adding a ^ to the C value?
I think that will definitely work (I will test it when I am back home). but what should it do? the Z-probe itself works with homing e.g. or at the first measuring point at G29. It is rather the problem that the z-axis in g29 moves too far from the Z-probe.
@CR3D I am not sure ^ will work because you use Duet 3 with pullup already installed: https://duet3d.dozuki.com/Wiki/Connecting_endstop_switches#Section_Duet_3_endstop_inputs
But I don't have an idea what's wrong, so please try ^.
I wonder why you don't get an error message in homeall with
G1 X270 Y170 U600 F20000
because U is outside your M208 limits. If this command is ignored, you would make the G30 z probe at the XY endstop positions.
(deleted a comment about CoreXY, as it is a Cartesian printer)
Ok i will try it Of course .. .:-)
I use the same inductive sensors as endstops in X,Y and U... so thats why I am wondering...
The printer is a Cartesian IDEX System... till now I get no error message at homeall.g
The printer at itself is running... homing, move axis ....
JoergS5 last edited by
@CR3D could be that the Duet 2 and Duet 3 have different pullup default values and your probe makes a different. If ^ does not work, I am sure a solution to add some external pullup resistor to the endstop would be also possible to set the same resitance comparable to the Duet 2 was.
I visited your homepage, you have interesting and good quality printers!
A Former User last edited by
could be that the Duet 2 and Duet 3 have different pullup default values and your probe makes a different.
1k vs 27k hardware pull up
Thank you! Yes we want to build high performance Printers with High performance Electronics!
Thank you -> is that difference a problem for the sensor or the result? because the sensor at itself triggers ...
the question is still why he moves the z-axis too far after probing ..?
Ok i made every changes you said and nothing was the solution!
; Z-Probe M558 P5 C"^!io5.in" H1 F500 T12000 ; Z probe type -> Induktiv G31 P100 X0.0 Y0.0 Z1.95
I activated the Pull-Up Resistor and i changed again the DIVE Heigth ("H-Parameter").
it must be a bug in the firmware, it only moves the bed with the G29 by twice the dive height without knowing this. Then, of course, the distance to the Z-Probe is too great and it gives the error message "Z-Probe was not triggered during probing move"
the inductive sensor itself works wonderfully -> I also use it on the X, Y and U axis. So it is not a problem with the signal evaluation in my opinion!
@dc42 do you have any idea? Please help me...!
@CR3D if you start G29, is the first mesh testing point over the bed? The first point is at 50,0 and your offset setting is 0,0 which is strange (same position like nozzle?) But mesh ignores G31 setting anyway and starts at 0,50. I would try starting eg at 100,100
Other ideas are whether Ir is reflected correctly by print bed.
Third idea is the prebuilt pullups may be too weak. The Duet Ir Sensor mentions the smoothieboard 1k pullups being too weak eg. Maybe this hereis a similar problem. But I am no pullup expert.
Article with section smoothieware: https://miscsolutions.wordpress.com/mini-height-sensor-board/
One more idea, I miss the M574 Z endstop saying that the z endstop is a probe:
"When using the Z probe to home Z, M574 Z0 should be used."
One additional idea is that LEDs are mentioned in the config, maybe the light disturbs the IR sensor. Maybe they emit IR wavelengths partly.
Thank you for the many suggestions, but unfortunately all the points mentioned are given.
The first rehearsal point is over the bed! That fits.
the funny thing is that he sometimes brings the error message right after the first probe point and sometimes right in the middle or once it had worked completely to execute the G29 command, but then the complete heightmap had an offset of 5mm (see image above).
And by the way I use an inductive sensor and no longer the IR probe -> I've had too many problems with this in the past ...
deckingman last edited by
@CR3D This is a long shot because I don't use a probe, but try reducing the feed rate in your M558. e.g. try 300 instead of 500 just to see if that helps.
MacNite last edited by
If looked through your code and could not find any mistakes. I had some Problems in my beginngs with RRF3 too.
Maybe @dc42 has another Idea.
Just to eliminate the probe entirely can you test using M558 P0 to use the manual probing option? That will prompt you to job the Z axis down. Then we can see if everything software side is working with the homing heightmap etc.
Maybe the probe itself is failing. Do you have another to test with?
I have already exchanged the z-probe a few times. I have already made 20 repetitions with the homez.g and measured the trigger height, so the sensor triggers wonderfully and works very precisely (approx. 0.01mm).
It only occurs with the G29 command.
Again I have observed that with G29 it not only moves the dive height down, but the double dive height. In the dashboard, however, the "simple" dive height is shown as the Z value. that's why i think it moves twice its height and doesn't notice it.
as soon as he then carries out a test point in the G29, he has to cover twice without knowing that he drove this height before, so he claims that the z-probe does not trigger.
Another dive height does not change anything, because it then moves twice without knowing it.
Skimmy last edited by
I did an extensive code-check and talk with CR3D and also didn't come to a solution.
For example: a 5-point bed-calibration works fine (a G32 (call to execute bed.g with 5x G30 in it)
Every G30 command works, but as soon as you start a G29, things start getting weird.
In your config.g file I see these lines:
M584 X0.2 Y0.0:0.1 U0.3 Z1.0:1.1:1.2 E0.4:0.5 ; set drive mapping
M558 P5 I1 C"!io5.in" H5 F500 T12000 ; Z probe type -> Induktiv
So your Z motors are connected to the expansion board and your Z probe is connected to the main board. Unfortunately, it is a limitation of the current firmware that an endstop switch or Z probe connected to the main board cannot stop a stepper motor connected to an expansion board unless a motor connected to the main board is also moving. This was documented for endstops some time ago (at https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations and also in the RRF 3.0 release notes at https://github.com/Duet3D/RepRapFirmware/blob/v3-dev/WHATS_NEW_RRF3.md), but unfortunately I omitted to include Z probes in those documents until recently. I apologise for that.
Possible workarounds include:
- Connect the three Z motors to stepper outputs on the main board. This is the preferred solution.
- Connect the inductive sensor to the expansion board instead of to the main board.
- Configure a 4th dummy Z motor on the main board.
looking at your motor use, it looks like you are using all the drivers on the mainboard so I think you need to swap Z to the main board or the sensor to the expansion board.