BLTouch and Duet 3 Tool Board
-
This is a continuation of this thread https://forum.duet3d.com/topic/18640/multiple-errors-duet3/63. The first issue reported by user @dk and relevant to this thread is that BLTouch does not do a self-test when the tool board is powered up.
I was unable to reproduce this. We thought that this might be due to me testing with a BLTouch version 3.0 whereas @dk has version 3.1. So I purchased a version 3.1.
My results using BTouch 3.1 are the same as using version 3.0:
- BLTouch always does a self-test when I power up the Tool Board
- If I hold the BLTouch in the correct vertical orientation, the self test is always successful.
- If I leave it lying on the bench then it sometimes enters the error state (flashing red) at the end of the self test
- I have run these tests using a version 0.6 tool board, and using a version 1.0 tool board
- I have tested using a Meanwell 24V power supply, and also using a bench power supply with the voltage varied between 5V and 12V. Surprisingly, it works with 5V input, even though the output voltage from the regulator and supply to BLTouch is only 3.66V.
- The tool board firmware I used for these tests was 3.2beta1
- To make sure than CAN commands from the main board could not interfere, I tested with the CAN connection between the tool board and the main board removed
Here are photos of the setup I used. @dk, please can you check your wiring carefully against these photos. Have you tried it with more than one BLTouch? If so, did you use the cables supplied with each BLTouch, in case the original one had a cable fault? Are you using a bench setup similar to this, or is the BLTouch cable bundled with other cables?
-
@dc42 - we have this same issue. I have a Duet 3 / RPi and toolboard on my bench hooked to a Meanwell LSR-350-24. I also have a few brand new BL Touch v3.1.
Would you please post the configs used for your testing? If so, I can try to perform the same test later today..
-
@oozeBot, the config files are not relevant if you test with the tool board not connected by CAN to the main board, as I did.
-
Progress! It occurred to me that the version 1.0 tool board I was testing with might be a pre-production one. I happened to have a recent production one, so I just tested it with BLTouch. The BLTouch fails to self test. Now I can investigate why.
-
@dc42 if it helps, here is how we've worked around the issue.. maybe there is a clue in there.
https://forum.duet3d.com/topic/18261/bltouch-v3-1-toolboard-resolution
-
I've just discovered that if I disconnect the yellow servo control wire on the non-working board, then it does do a self test at power up. So I suspect it's to do with the initialisation of that pin.
-
I have now identified the problem. The bootloader on current production tool boards sends debug information to the servo control pin, and this is confusing the BLTouch. The boards I was using that worked had a more recent bootloader installed.
The fix will be to install a new bootloader. At present, this can only be done using an Atmel ICE or similar tool. However, we have plans to allow the bootloader to be updated over CAN, and I will try to bring this work forward.
@dk, who did you purchase your tool boards from?
-
https://www.printedsolid.com all 3 of them
-
-
@dc42
@oozeBot
I add those 3 lines in my config fileM280 P0 S60 ; BLtouch - toggle switch mode
G4 P1000 ; wait 1 second
M280 P0 S120 ; BLtouch toggle self-test, but BL-touch still does not perform self test at startup. M401 and M402 works
There exactly I should put these lines? Just before ; Z-Probe ?
Or at the top or bottom?
And do I need any modifications to those codes since I use Toolboard with CAN address 20, not 121? -
@dk I put this at the very bottom of my config.. after defining the BLTouch.
Sorry I wasn’t clearer on this
-
Interesting. I have a 0.6 and 1.0 board, having used 3.1.1. I noticed the self test doesn’t “work” (the pin cycle doesn’t occur) but aside from that it still probes properly, and macros to self test work once it’s powered up.
-
@oozeBot
Thank you! It performs self test now. 10 times (10 deploys and 10 retracts) -
@dk Awesome! Glad to help.. this one was a bit maddening to figure out..!
-
I hope to include the facility to update the bootloader on tool boards in RRF 3.2beta3.
-
@dc42 said in BLTouch and Duet 3 Tool Board:
I hope to include the facility to update the bootloader on tool boards in RRF 3.2beta3.
David, did this make it into beta 3? Is so, are there any instructions on how to update the bootloader? Thanks
-
@oozeBot said in BLTouch and Duet 3 Tool Board:
David, did this make it into beta 3? Is so, are there any instructions on how to update the bootloader? Thanks
see
https://github.com/Duet3D/RepRapFirmware/blob/v3-dev/WHATS_NEW_RRF3.md[Duet 3 + expansion/tool boards] Expansion and tool boards can now have their bootloaders updated via CAN using the command M122 B# S3 where # is the board address. The bootloader file is Duet3Bootloader-SAME5x.bin for the EXP3HC board, Duet3Bootloader-SAMC21.bin for the other expansion boards by Duet3D, and Duet3Bootloader-SAMMYC21.bin for the Sammy-C21 development board. These files are available at https://github.com/Duet3D/Duet3Bootloader/releases.
-
@Veti thank you - I missed that in the release notes.. trying now.
-
Can I get a bit more clarification on what is needed to update the toolboard? I've uploaded all the .bin and .elf files to my system folder, but M122 B20 S3 is only reporting, not updating..
M122 B20 S3 Diagnostics for board 20: Duet TOOL1LC firmware version 3.2beta3 (2020-11-07) Bootloader ID: not available Never used RAM 4104, free system stack 96 words HEAT 43 CanAsync 88 CanRecv 82 TMC 53 MAIN 331 AIN 64 Last reset 00:13:14 ago, cause: power up Last software reset data not available Driver 0: position 0, 840.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcount 12, reads 2901, writes 0, timeouts 0, DMA errors 0, failedOp 0xff Moves scheduled 0, completed 0, in progress 0, hiccups 0 No step interrupt scheduled VIN: 24.2V MCU temperature: min 40.5C, current 41.8C, max 42.1C Ticks since heat task active 2, ADC conversions started 791830, completed 791829, timed out 0 Last sensors broadcast 0x00000002 found 1 5 ticks ago, loop time 0 Free CAN buffers: 36, messages lost 60, duplicates 0, oos 0, busOff 0
-