Solved BL Touch issues on Duet 3 6HC
Having a rather frustrating issue with my BL touch.
New Ratrig V-core 3 on Duet 6HC with latest RRF stable release (3.3).
BL touch probes fine intermittently but seems like 50% of the time it will just alarm and indicate "probe already triggered at start of move" and start blinking fast (reading 1000 until power cycle or alarm reset).
I can usually home z fine, true bed leveling runs occasionally, mesh compensation always fails after 5th or 6th probe.
Tried replacing wires 3 times as well as 2 different BL touches (both genuine v3.1), I'm totally lost as to what could be happening. Anyone else have issues like this or any suggestions to troubleshoot?
Attached is config.g and bed.g
Thank you in advance!
Try removing the pin and cleaning it. This can sometimes happen when little wisps of filament get stuck to the pin and stop it from deploying properly. There's a set screw at the top to remove to get at it.
rjenkinsgb last edited by
Your P value in the G31 looks too low; I have 500 in mine for a BLTouch??
@phaedrux They're both new but I went ahead and cleaned it out anyways. I set core to recommended depth and then reinstalled. Adjusted core up and down as well with no luck.
To be clear the pin is releasing and retracting just fine when commanded but is alarming on the second probe.
@rjenkinsgb I have tried multiple P values but it hasn't seemed to change anything as it tends to read 0 or 1000. I tried P500 and still no luck
rjenkinsgb last edited by rjenkinsgb
Is there enough clearance after the first probe cycle for the pin to extend without touching the bed, at the next probe position?
Try increasing the start height a bit if you cannot see a definite gap, eg. H7 in the M558?
@rjenkinsgb Yep, plenty of clearance. When the pin extends again it does not tap the bed. I've already tried tweaking the dive height and the behavior is the same.
Idk if this helps but here is a video of the probing in action:
You can see it is successfully probing several times before it fails. This time it made it to the 4th point after successfully doing a Z home and bed leveling probes.
As a note it is not only the mesh probing where this occurs but also during Z homing (occasionally) and bed leveling (often).
Can you try with io_7?
Can you post your homing files?
You should probably remove this line from the config.g
G29 S1 ; Set Units to Millimeters
The comment doesn't match the command, and you don't want to load the heightmap before Z has been homed.
Can you send M98 P"config.g" and M122 and post the results?
For comparison, I use this line for my bltouch "H3 F60 T12000 A10 R0.2 S0.003 B0" and G31 P25
tsjackson last edited by tsjackson
@phaedrux I initially had it on io_7 but moved it to io_4 to test if it was maybe a bad port. I can try swapping back tonight.
Here are all of my .g files on my duet:
retractprobe.g homez.g homey.g homex.g homeall.g deployprobe.g config.g bed.g
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-956BA-NA3TJ-6J9DL-3S06N-9T8US Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 150904 Dynamic ram: 61776 of which 444 recycled Never used RAM 141068, free system stack 152 words Tasks: SBC(ready,6.1%,316) HEAT(notifyWait,0.0%,331) Move(notifyWait,0.0%,257) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,362) CanClock(delaying,0.0%,333) TMC(notifyWait,7.3%,59) MAIN(running,86.4%,922) IDLE(ready,0.1%,29), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:04:17 ago, cause: software Last software reset at 2022-02-27 02:17, reason: User, none spinning, available RAM 141068, slot 2 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0440f000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 137 MCU temperature: min 40.4, current 44.1, max 44.1 Supply voltage: min 24.1, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.1, max 12.2, 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 40000, standstill, reads 60006, writes 24 timeouts 0, SG min/max 0/477 Driver 1: position 0, standstill, reads 60006, writes 24 timeouts 0, SG min/max 0/210 Driver 2: position 10345, standstill, reads 60006, writes 24 timeouts 0, SG min/max 0/177 Driver 3: position 0, standstill, reads 60006, writes 24 timeouts 0, SG min/max 0/96 Driver 4: position 0, standstill, reads 60006, writes 24 timeouts 0, SG min/max 0/1023 Driver 5: position 0, standstill, reads 60011, writes 19 timeouts 0, SG min/max 0/0 Date/time: 2022-02-27 02:38:04 Slowest loop: 976.92ms; 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 13238ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 14, completed moves 14, 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 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 2291, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49), ts 1286/0/0 Tx timeouts 0,3,1285,0,0,1000 last cancelled message type 30 dest 127 === SBC interface === State: 4, failed transfers: 0, checksum errors: 0 Last transfer: 1ms ago RX/TX seq numbers: 8375/8375 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: 32.90, max wait times: 9.7ms/0.0ms Codes per second: 0.58 Maximum length of RX/TX data transfers: 2812/760
Thank you guys for all your help so far... this has been driving me absolutely nuts.
I can't see anything wrong directly.
Seeing as you're on SBC, you could try updating to 3.4 RC2 to see if it makes a difference.
@phaedrux Well color me surprised, the 3.4 RC firmware seems to have fixed it!
Really appreciate your help! Hopefully the RC is stable enough everything works ok but it sure beats a broke printer. Cheers!