z probe not allowing true leveling trigger while moving issue
-
I’m getting an error message stating that the probe was not able to probe at any point during the move. I’m stumped on what could be causing this during a g32 command. It’s a duet 3 and I have a tool board connected as “20.0”. I’m trying to level the bed, this wasn’t an issue before adding 2 more motors. I had 2 independent z motors that would level themselves outfor the left and right lead screws and then I figured I would reconfigure my printer for 4 independent lead screws/motors. Here’s my code and a photo of the error in the console. Hopefully someone could help me out. Thanks.
G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name ; Drives M569 P0.4 S1 ; physical drive 0.1 goes forwards M569 P0.5 S1 ; physical drive 0.1 goes forwards M569 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.1 S1 ; physical drive 0.0 goes forwards M569 P0.2 S0 ; physical drive 0.0 goes forwards M569 P0.3 S0 ; physical drive 0.4 goes forwards M569 P1.0 S1 ; Z axis physical drive 0.2 goes forwards M569 P1.1 S1 ; Z axis physical drive 0.2 goes forwards M569 P1.2 S1 ; Z axis physical drive 0.2 goes forwards M569 P2.0 S1 ; Z axis physical drive 0.3 goes forwards M569 P20.0 S1 ; Tool 0 physical drive 20.0 goes forwards M584 X0.4:0.5 Y0.0:0.1:0.2:0.3 Z1.0:1.1:1.2:2.0 E20.0 ; two Z motors connected to driver outputs Z and E1 M671 X-20:-20:520:520 Y-30:520:520:-30 S25 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis M208 X0:500 Y0:500 ; X carriage moves from 0 to 500, Y bed goes from 0 to 500 M350 X256 Y256 Z256 E256 I1 ; configure microstepping with interpolation M92 X2560.00 Y2560.00 Z51200.00 E13392.00 ; set steps per mm M566 X400 Y400 Z70.00 E7000.00 ; set maximum instantaneous speed changes (mm/min) M203 X5250.00 Y5250.00 Z120.00 E10000.00 ; set maximum speeds (mm/min) M201 X400 Y400.00 Z70.00 E8000.00 ; set accelerations (mm/s^2) M906 X2500 Y2500 Z2500 E1100 I10 ; set motor currents (mA) and motor idle factor in per cent M84 S10 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X500 Y500 Z500 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io0.in" ; configure active-high endstop for low end on X via pin io0.in M574 Y1 S1 P"io1.in" ; configure active-high endstop for low end on Y via pin io1.in ; Z-Probe M558 P8 C"!20.io0.in" H5 F90 T10000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y0 Z1.95 ; set Z probe trigger value, offset and trigger height M557 X0:500 Y0:500 S55 ; define mesh grid ; Heaters M308 S0 P"20.temp0" Y"pt1000" ; configure sensor 0 as thermistor on pin 20.temp0 M950 H0 C"20.out0" T0 ; create nozzle heater output on 20.out0 and map it to sensor 0 M307 H0 R1.555 C397.7 D6.96 S1.00 V24.1 B0 ; PID auto tune results M308 S1 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 1 as thermistor on pin temp0 M950 H1 C"out0" T1 ; create bed heater output on out0 and map it to sensor 1 M307 H1 R0.224 C219.6 D7.78 S1.00 V24.1 ; PID auto tune results M140 H1 ; map heated bed to heater 1 M143 H1 S120 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"out8" Q700 ; create fan 0 on pin out8 and set its frequency M106 P0 S0 H0 T45 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"out9" Q500 ; create fan 1 on pin out9 and set its frequency M106 P1 S0 H0 T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 S"Titan Aqua 1.75" D0 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 M501
-
Ok, so i think i know what is happening during a a probe move. I just don't understand why it's doing it. The issue(i think) is that the distance allowed for the probe to trigger is from the previous point that was a successfully triggered probe point. If that makes any sense, so the probe isn't moving all the way down to the toward the bed for the following point to be probed( only on certain areas of the bed and its consistent in the areas the probe doesn't trigger), as though there is a limit on how far down the probe can travel. Probe cannot move beyond a minimum . I made sure that the Bed.g file has a value of -99999 for the z axis but it still is an issue. I also just update/upgraded the pi with the newest packages and still nothing is fixed.
UPDATE: So, I removed 2(out of 4) of the y motors and also switched all of the Z motors on the main board and y motors on my first expansion board and X axis on my second expansion board. I guess the probe doesn't fully work with the Z motors on any other board except the main board(except connected to a tool board). I would like to use all 4 motors on the Y axis since the weight of the gantry is somewhat on the heavy side but i'll take it slow and just run the 2 Y motors as is. So i guess the issue is "solved".
-
What is the probe type?
Can you also provide the results of M122?
Can you show bed.g?
Can you test it manually? Does G30 work by itself?
https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe
-
@phaedrux said in z probe not allowing true leveling trigger while moving issue:
What is the probe type?
The Z - Probe is a inductive NPN NO connected to a tool board.
Can you also provide the results of M122?
The results for m122.
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2 running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6J9F8-3S86S-9B3QD Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 149788 Dynamic ram: 62740 of which 88 recycled Never used RAM 146216, free system stack 132 words Tasks: Linux(ready,105) HEAT(blocked,316) CanReceiv(blocked,834) CanSender(blocked,352) CanClock(blocked,352) TMC(blocked,19) MAIN(running,1217) IDLE(ready,19) Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:14:12 ago, cause: software Last software reset at 2021-04-06 21:17, reason: User, none spinning, available RAM 146424, slot 0 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task Linu Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 MCU temperature: min 44.0, current 45.3, max 45.5 Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.0, max 12.2, under voltage events: 0 Driver 0: position 2227200, standstill, reads 55557, writes 19 timeouts 0, SG min/max 0/227 Driver 1: position 76800, standstill, reads 55557, writes 19 timeouts 0, SG min/max 0/254 Driver 2: position 355840, standstill, reads 55557, writes 19 timeouts 0, SG min/max 0/245 Driver 3: position 0, standstill, reads 55557, writes 19 timeouts 0, SG min/max 0/206 Driver 4: position 0, standstill, reads 55557, writes 19 timeouts 0, SG min/max 0/227 Driver 5: position 0, standstill, reads 55557, writes 19 timeouts 0, SG min/max 0/180 Date/time: 2021-04-06 21:31:26 Slowest loop: 178.56ms; fastest: 0.03ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 38844ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 23, completed moves 23, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === CAN === Messages queued 3462, send timeouts 0, received 6871, lost 0, longest wait 2ms for reply type 6049, free buffers 48 === SBC interface === State: 4, failed transfers: 0 Last transfer: 1ms ago RX/TX seq numbers: 30325/30325 SPI underruns 0, overruns 0 Number of disconnects: 0, IAP RAM available 0x2c8a8 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.2.0 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 35.72 Maximum length of RX/TX data transfers: 2556/784
Can you show bed.g?
bed.g file
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Nov 11 2020 07:55:56 GMT+0000 (Greenwich Mean Time) M561 ; clear any bed transform G28 ; home M401 ; deploy Z probe (omit if using bltouch) G30 P0 X30 Y30 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P1 X30 Y480 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P2 X480 Y480 Z-99999 ; probe near a leadscrew, half way along Y axis G30 P3 X480 Y30 Z-99999 S4 ; probe near a leadscrew, half way along Y axis M402 ; retract probe (omit if using bltouch) G29 ; run mesh compensation G29 S1 ; Load height map
Can you test it manually? Does G30 work by itself?
https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe
Yeah, i just sent the G30 command it works . its able to probe the bed and stops the z axis before running into the bed. Still no luck can't figure out why its sending that error during g32.
-
@aprz said in z probe not allowing true leveling trigger while moving issue:
M401 ; deploy Z probe (omit if using bltouch)
Remove that, and the M402 line and if a deployprobe.g or retractprobe.g file exists in your /sys folder delete those too.
Post your homeall.g as well. And the results of M98 P"config.g"
You can also try copy and paste the contents on bed.g one line at a time into the gcode console and see how far it gets before an error.
It might have something to do with the probe points you have set and the probe offset. Does it move the probe to a place it can't trigger? Or does it try to move to a location it can't physically reach?
-
Remove that, and the M402 line and if a deployprobe.g or retractprobe.g file exists in your /sys folder delete those too.
Ok, i made sure that "deployprobe.g" or" retractprobe.g" files arent in my system folder. Also removed M402 and M401.
Post your homeall.g as well.
G91 ; relative positioning G1 H2 Z5 F90 ; lift Z relative to current position G1 H1 X-2000 Y-2000 F3300 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H1 X-2000 Y-2000 F3300 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H1 X-2000 Y-2000 F3300 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y5 F2000 ; go back a few mm G1 H1 X-2000 Y-2000 F2800 ; move slowly to X and Y axis endstops once more (second pass) G1 H1 X-2000 Y-2000 F2800 ; move slowly to X and Y axis endstops once more (second pass) G1 H1 X-2000 Y-2000 F2800 ; move slowly to X and Y axis endstops once more (second pass) G90 ; absolute positioning G1 X250 Y250 F2800 ; go to first bed probe point and home Z G30 ; home Z by probing the bed
the results of M98 P"config.g"
M98 P"config.g" Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 643C
You can also try copy and paste the contents on bed.g one line at a time into the gcode console and see how far it gets
before an error.It might have something to do with the probe points you have set and the probe offset. Does it move the probe to a >place it can't trigger? Or does it try to move to a location it can't physically reach?
I also copied each line and input each individually as you said. I noticed that the "Error: Z probe was not triggered during probing move" doesn't show when I send the first line point to probe from my bed.g file, "G30 P0 X50 Y50 Z-99999" but when i send the second probe point(with a different x/y coordinate) it sends the error once again. I also changed the probing coordinates too see if it has something to do with it probing out of the defined print area and it still shows the error. I did another test and realized that the trigger height has something to do with it because i sent the points from the bed.g file once again and noticed that if i put a piece of metal under the probe(closer to it that the bed) it completes the command and its green in the console but when i just send the same points from the file(letting the probe go down to the bed and trigger instead of a peice of metal) it does not complete the probing and the error shows once again. So i'm still trying to figure out why this issue is happening and i've found out now that its not because of probing outside of a defined area or past its maximum but has to do with the sensor/probe triggering at a certain height. im sure its something thats right in front of my eyes but i can identify it.
-
@aprz said in z probe not allowing true leveling trigger while moving issue:
M584 X0.4:0.5 Y0.0:0.1:0.2:0.3 Z1.0:1.1:1.2:2.0 E20.0
Where are all of your Z motors connected?
https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations
If you use a Z probe then the Z motors must be connected to the main board. This is planned to be fixed in release 3.4.
-
Where are all of your Z motors connected?
I have Two expansion boards connected as well as a tool board which is at the end of the CAN connection. The z probe is connected to the tool board. The 4 Z motors are connected to the two expansion boards, one motor is connected to the 2.0 Driver and the rest are on 1.0, 1.1, 1.2 drivers . the mainboards drivers are all being used for the X and Y axis.
https://duet3d.dozuki.com/Wiki/Duet_3_firmware_configuration_limitations
If you use a Z probe then the Z motors must be connected to the main board. This is planned to be fixed in release 3.4.
I remember being able to level the bed with 2 motors, i didn't have the expansion boards at that time but I did having the tool board connected with no issues leveling. So maybe having added the expansion boards and moving the Z motors on to those drivers is what now causes this issue. The Z probe is supposed to be on the same board as the Z motors( the wiki mentioned) , but i was able to do the leveling with the z probe connected to the tool board(which would be a different board).
-
Ok, so i think i know what is happening during a a probe move. I just don't understand why it's doing it. The issue(i think) is that the distance allowed for the probe to trigger is from the previous point that was a successfully triggered probe point. If that makes any sense, so the probe isn't moving all the way down to the toward the bed for the following point to be probed( only on certain areas of the bed and its consistent in the areas the probe doesn't trigger), as though there is a limit on how far down the probe can travel. Probe cannot move beyond a minimum . I made sure that the Bed.g file has a value of -99999 for the z axis but it still is an issue. I also just update/upgraded the pi with the newest packages and still nothing is fixed.
UPDATE: So, I removed 2(out of 4) of the y motors and also switched all of the Z motors on the main board and y motors on my first expansion board and X axis on my second expansion board. I guess the probe doesn't fully work with the Z motors on any other board except the main board(except connected to a tool board). I would like to use all 4 motors on the Y axis since the weight of the gantry is somewhat on the heavy side but i'll take it slow and just run the 2 Y motors as is. So i guess the issue is "solved".