BLTouch Probe Won't Deploy
-
My "homez.g" file
; Voron. ; 0:/sys/homez.g ; Called to home the Z axis via G28 Z. ; 2020/10/24/20:02 G91 ; Set axes (not extruders) to relative positioning mode. G1 H2 Z5 F6000 ; Lift Z relative to current position. G90 ; Set axes (not extruders) to absolute positioning mode. G1 X175 Y151.5 F6000 ; Move X and Y axes so the Z probe is at the center of the bed. M558 F600 H2 A1 ; Set Z probe. Feed rate: 600 mm/min. Dive height: 2 mm. Times to probe: 1. G30 ; Z probe quickly (1 of 2 passes). M558 F120 H5 A1 ; Set Z probe. Feed rate: 120 mm/min. Dive height: 5 mm. Times to probe: 1. G30 ; Home Z by probing the bed slowly (2 of 2 passes).
-
My
M122
response.m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6J9DG-3S46T-KV2LF Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 150904 Dynamic ram: 62124 of which 132 recycled Never used RAM 141032, free system stack 202 words Tasks: SBC(ready,4.9%,318) HEAT(delaying,0.0%,325) Move(notifyWait,0.0%,302) CanReceiv(notifyWait,0.0%,908) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,7.1%,93) MAIN(running,87.9%,922) IDLE(ready,0.0%,29), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:09:33 ago, cause: power up Last software reset at 2021-12-07 00:27, reason: User, GCodes spinning, available RAM 141032, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,1 Step timer max interval 131 MCU temperature: min 31.6, current 44.8, max 45.0 Supply voltage: min 24.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, max 12.1, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 0, standstill, reads 1389, writes 14 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 1389, writes 14 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 1389, writes 14 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 1389, writes 14 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 1389, writes 14 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 1389, writes 14 timeouts 0, SG min/max 0/0 Date/time: 2021-12-09 03:42:41 Slowest loop: 0.46ms; fastest: 0.04ms === 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 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, 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 = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 Heater 1 is on, I-accum = 0.0 === 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 assembling a command 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 5073, received 7, lost 0, longest wait 1ms for reply type 6042, peak Tx sync delay 2403, free buffers 49 (min 48), ts 2870/2865/0 Tx timeouts 0,0,4,0,0,0 last cancelled message type 30 dest 127 === SBC interface === State: 4, failed transfers: 1, checksum errors: 0 Last transfer: 1ms ago RX/TX seq numbers: 19609/19609 SPI underruns 0, overruns 0 Disconnects: 0, timeouts: 0, IAP RAM available 0x2c83c Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.3.0 Code buffer space: 4096 Configured SPI speed: 8000000Hz Full transfers per second: 21.15, max wait times: 18.5ms/0.0ms Codes per second: 0.06 Maximum length of RX/TX data transfers: 2948/332
-
-
@fcwilt
Thank you very much for the reply!That seems to contradict the statement made in the M280 GCode Dictionary
"RRF3: Before you can use M280 you must create a GPIO port using M950. Then in the M280 command, the P parameter is the GPIO port number, not the logical pin number. Duet 2 supports up to 10 GPIO ports, numbers 0 to 9. No GPIO ports are allocated by default."
Am I looking at this the wrong way?
Furthermore, when I put
M280 P"0.io4.out" S10
in the Console, the probe deploys.Is there something that I am not considering?
-
@charlie said in BLTouch Probe Won't Deploy:
when I put M280 P"0.io4.out" S10 in the Console, the probe deploys.
I checked the source, the P parameter reads the expression after P as integer, so P0 is read. The part after 0 is ignored.
-
@charlie said in BLTouch Probe Won't Deploy:
That seems to contradict the statement made in the M280 GCode Dictionary
Is there something that I am not considering?
No, the docs are simply confusing things by using two different terms (servo index, port number) for the same thing.
It not unusual to find the docs are a bit wonky in certain regards.
As to the other question regards the M280 working it as been explained by another poster.
Frederick
-
@charlie said in BLTouch Probe Won't Deploy:
you must create a GPIO port using M950. Then in the M280 command, the P parameter is the GPIO port number
Is that confusing? You must create a port number with M950 and then M280 uses that port number. What do you suggest to make it more clear?
It even shows examples
-
@joergs5
Thank you for your response. That's good to know. I changed the deployprobe0.g file toM280 P0 S10 ; Set servo position. ; P (Servo index): 0.io4.out (Mainboard, io4.out). ; S (Servo angle): 10.
anyway, to avoid making the same mistake that I made between the GPIO port number and logical pin number.
The issue persists with this modification.
-
@fcwilt
Okay, that explains why theM280
command worked even though I messed up theP
value.With that said, Im still having issues deploying the BLTouch probe when homing the Z axis. The
M280 P0 S10
andM401
commands successfully deploy the probe. -
@charlie one issue in your config.g is, that the speeds are very low:
M203 S1 X300.00 Y300.00 Z15.00 E20.00
S1 does not exist for M203, so the speeds are mm/min, so e.g. Z is only 0.25 mm/s. So your probing might run into a timeout. Please use higher values. I would take the values of the documentation of M203: https://duet3d.dozuki.com/Wiki/M203
BUT: does Voron has a specific firmware, where S1 is valid? Then the firmware could be a reason for your problem, but I don't know how to help then. Which tool did you use to create the config file? Marlin and Slic3rPR use mm/s, but RRF use mm/min.
-
@joergs5
I assumed based on Duet3D Changelog: RepRapFirmware 3.3"The M203 command now supports an optional S1 parameter which changes the units to mm/sec. The default is still mm/min."
The X, Y, and Z homing speeds appear to be the same speed as I had before the change to S1. The probe just doesnt deploy during the Z homing step.
-
@charlie then sorry, it is not in the documentation yet.
I proceed searching for a possible reason...
-
@charlie homing is often made by homeall.g, can you please post it, and homex.g and homey.g also?
How do you home Z: individually X, Y, Z or together in one step?
-
@charlie said in BLTouch Probe Won't Deploy:
The X, Y, and Z homing speeds appear to be the same speed as I had before the change to S1. The probe just doesnt deploy during the Z homing step.
There are parameters to M558 to control probing speeds (travel and probing) including the ability to specify two probing speeds.
As another poster has mentioned you didn't post homeall.g which may well be why we didn't spot the problem.
Frederick
-
No worries. I greatly appreciate your willingness to help!
In this case, I am homing X, then Y, then Z. With that said, the issue also occurs using the "Home All" button in DWC.
-
@charlie said in BLTouch Probe Won't Deploy:
No worries. I greatly appreciate your willingness to help!
In this case, I am homing X, then Y, then Z. With that said, the issue also occurs using the "Home All" button in DWC.
So homing just Z with the DWC Home Z button does not work? Just want to be sure I understand what is happening.
Frederick
-
homex.g
; Voron. ; 0:/sys/homex.g ; Called to home the X axis via G28 X. ; 2020/10/24/20:00 G91 ; Set axes (not extruders) to relative positioning mode. G1 H2 Z5 F6000 ; Lift Z relative to current position. G1 H1 X355 F6000 ; Move quickly to X endstop (1 of 2 passes). G1 H0 X-3 F6000 ; Move away from X endstop. G1 H1 X10 F360 ; Move slowly to X axis endstop once more (2 of 2 passes). G1 H2 Z-5 F6000 ; Lower Z relative to current position. G90 ; Set axes (not extruders) to absolute positioning mode.
homey.g
; Voron ; 0:/sys/homey.g ; Called to home the Y axis via G28 Y. ; 2020/10/24/20:01 G91 ; Set axes (not extruders) to relative positioning mode. G1 H2 Z5 F6000 ; Lift Z relative to current position. G1 H1 Y360 F6000 ; Move quickly to Y endstop (1 of 2 passes). G1 H0 Y-3 F6000 ; Move away from Y endstop. G1 H1 Y10 F360 ; Move slowly to X axis endstop once more (2 of 2 passes). G1 H2 Z-5 F6000 ; Lower Z relative to current position. G90 ; Set axes (not extruders) to absolute positioning mode.
homeall.g
; Voron. ; 0:/sys/homeall.g ; Called to home all axes via G28. ; 2020/10/24/21:00 G91 ; Set axes (not extruders) to relative positioning mode. G1 H2 Z5 F6000 ; Lift Z relative to current position. G1 H1 X355 Y360 F6000 ; Move quickly to X or Y axis endstop and stop there. G1 H1 X355 F6000 ; Move quickly to X endstop and stop there. G1 H1 Y360 F6000 ; Move quickly to Y endstop and stop there. G1 H0 X-3 Y-3 F6000 ; Move away from X and Y endstops. G1 H1 X10 F360 ; Move slowly to X endstop once more. G1 H1 Y10 F360 ; Move slowly to Y endstop once more. G90 ; Set axes (not extruders) to absolute positioning mode. G1 X175 Y151.5 F6000 ; Move X and Y axes so the Z probe is at the center of the bed. M558 F600 H2 A1 ; Set Z probe. Feed rate: 600 mm/min. Dive height: 2 mm. Times to probe: 1. G30 ; Z probe quickly (1 of 2 passes). M558 F120 H5 A1 ; Set Z probe. Feed rate: 120 mm/min. Dive height: 5 mm. Times to probe: 1. G30 ; Home Z by probing the bed slowly (2 of 2 passes).
-
@charlie you may need to exchange the order or M950 and M558:
in the M950 documentation https://duet3d.dozuki.com/Wiki/M950 :
"M950 must come before any commands that refer to the device being created."
So M950, then M558 which uses the servo part of BLTouch.I am not sure about this. In the examples I know, M950 is first, M558 next, but the two commands don't have a reference to each other. But it's worth a try. M558 may expect to know the M950 values.
-
@fcwilt
That is correct. Homing just Z doesnt work.It also doesnt work if I use "Home All".
-
@charlie said in BLTouch Probe Won't Deploy:
@fcwilt
That is correct. Homing just Z doesnt work.It also doesnt work if I use "Home All".
OK let's take the homing code out of the picture.
Can you reset the printer and successfully home X and Y?
Frederick