BlTouch 3.1 Flashing and Troubleshooting



  • Hey guys,

    I've been scratching my head for 2 days trying to figure out this odd problem. My BLTouch works fine on my other printer (using an SKR Pro board), and whenever I hook it up to the Duet controller I've been getting a non-stop quick flashing error (as if its stuck in signalling 5V Logic Mode with 3x10ms bursts over and over). The Z probe in DWC randomly triggers showing values, and does also randomly trigger if I move the pin by hand.

    None of the usual commands (pin up, pin down, reset, self-test) are getting any response, and the probe doesn't do a self-test upon start. I've configured the probe to use the H3/PWM1 points on the Duex5 for control, and the Z probe is connected to the correct pins on the Duet2 Wifi. All the electrical connections are A-OK, the probe is receiving 4.96V at its PCB, and I can't measure the signal response since I don't have an oscilloscope.. 🙂

    Any ideas on what could be going on? Attaching config and M122 dump for your reference... Thanks for any help! (I got a new BLTouch in the mail in all cases, just would like to salvage this one too if I can).

    Short video of the problem here.

    CONFIG.G:

    ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.3 on Tue Dec 03 2019 10:13:45 GMT+0000 (Greenwich Mean Time)
    
    ; General preferences
    G90                                     ; send absolute coordinates...
    M83                                     ; ...but relative extruder moves
    M550 P"Hermoine"                        ; set printer name
    
    M667 S1                                 ; select CoreXY mode
    
    ; Network
    M552 S1                                 ; enable network
    M586 P0 S1                              ; enable HTTP
    M586 P1 S0                              ; disable FTP
    M586 P2 S0                              ; disable Telnet
    
    ; Drives
    M569 P0 S0                              ; physical drive 0 goes backwards (X)
    M569 P1 S0                              ; physical drive 1 goes backwards (Y)
    M569 P2 S0                              ; physical drive 2 goes backwards (Z1)
    M569 P3 S0                              ; physical drive 3 goes backwards (Z2)
    M569 P4 S0                              ; physical drive 4 goes backwards (Z3)
    M584 X0 Y1 Z2:3:4 E5                    ; set drive mapping
    M671 X0:150:300 Y10:300:10 S0.5 	; set location of Z lead-screws
    M350 X16 Y16 Z16 E16 I1                 ; configure micro-stepping with interpolation
    M92 X160.00 Y160.00 Z800.00 E409.00    ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00     ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X800.00 Y800.00 Z20.00 E250.00     ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30            ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                 ; Set idle timeout
    
    ; Axis Limits
    M208 S1 X0 Y0 Z0                        ; set axis minima
    M208 S0 X300 Y300 Z300                  ; set axis maxima
    
    ; Endstops
    ;M574 Z0 S0                              ; set active low and disabled endstops
    M574 X1 Y2 S3                           ; set endstops controlled by motor stall detection
    ; z is in BLTouch section below along with Z-Probe
    
    ; Heaters
    ;M307 H0 B0 S1.00                        ; disable bang-bang mode for the bed heater and set PWM limit
    ;M305 P0 T100000 B4138 R4700             ; set thermistor + ADC parameters for heater 0
    ;M143 H0 S120                            ; set temperature limit for heater 0 to 120C
    ;M305 P1 B4725 C7.060000e-8		; set Hemera settings for thermistor
    ;M305 P1 T100000 B4138 R4700             ; set thermistor + ADC parameters for heater 1
    ;M143 H1 S285                            ; set temperature limit for heater 1 to 285C
    
    
    ;BLTouch
    M307 H3 A-1 C-1 D-1 			;set bltouch to use heater 3 on Duex5
    M574 Z1 S2 				; Define Z to use Probe. Home to Min
    M558 P5 H5 F500 T4000 X0 Y0 Z1 		; Set Z probe type/mode 5. H=Dive Height. F=Speed the bed moves
    G31 P25 X0 Y-24 Z0.0 			; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment
    M557 X5:205 Y5:205 S20 			; Define mesh grid
    
    ; Fans
    ;M106 P0 S0 I0 F500 H-1                  ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    ;M106 P1 S1 I0 F500 H1 T45               ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Tools
    ;M563 P0 D0 H1 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
    

    M122 Dump:

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.04 running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DGM-917NK-F2MS4-7J1F0-3S46R-KGS4D
    Used output buffers: 3 of 24 (14 max)
    === RTOS ===
    Static ram: 25680
    Dynamic ram: 92900 of which 772 recycled
    Exception stack ram used: 540
    Never used ram: 11180
    Tasks: NETWORK(ready,628) HEAT(blocked,1232) DUEX(suspended,160) MAIN(running,4376) IDLE(ready,200)
    Owned mutexes:
    === Platform ===
    Last reset 00:08:12 ago, cause: power up
    Last software reset at 2019-12-08 00:10, reason: User, spinning module GCodes, available RAM 11180 bytes (slot 0)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 3.3ms, max retries 0
    MCU temperature: min 27.9, current 29.1, max 29.3
    Supply voltage: min 24.1, current 24.3, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max 0/155
    Driver 1: standstill, SG min/max 0/153
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max not available
    Driver 6: standstill, SG min/max not available
    Driver 7: standstill, SG min/max not available
    Driver 8: standstill, SG min/max not available
    Driver 9: standstill, SG min/max not available
    Date/time: 2019-12-08 00:20:49
    Cache data hit count 1901116798
    Slowest loop: 16.53ms; fastest: 0.06ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 160, MinFreeDm: 156, MaxWait: 142665ms
    Bed compensation in use: none, comp offset 0.000
    === DDARing ===
    Scheduled moves: 34, completed moves: 34, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 23.35ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is running
    WiFi module is connected to access point
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.23
    WiFi MAC address 60:01:94:2e:9f:97
    WiFi Vcc 3.39, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 25912
    WiFi IP address 192.168.0.81
    WiFi signal strength -55dBm, reconnections 0, sleep mode modem
    Socket states: 0 0 0 0 0 0 0 0
    

    config-override.g:

    ; config-override.g file generated in response to M500
    ; This is a system-generated file - do not edit
    ; Heater model parameters
    M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B0
    M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H4 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H5 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H6 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H7 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    G10 L2 P1 X0.00 Y0.00 Z0.00
    G10 L2 P2 X0.00 Y0.00 Z0.00
    G10 L2 P3 X0.00 Y0.00 Z0.00
    G10 L2 P4 X0.00 Y0.00 Z0.00
    G10 L2 P5 X0.00 Y0.00 Z0.00
    G10 L2 P6 X0.00 Y0.00 Z0.00
    G10 L2 P7 X0.00 Y0.00 Z0.00
    G10 L2 P8 X0.00 Y0.00 Z0.00
    G10 L2 P9 X0.00 Y0.00 Z0.00
    




  • Thanks for the tip, but I've already tried all of that before posting 😉

    I am truly stumped at what's causing this..



  • If you were to power off the printer, wait 5 secs, power back on, does the probe deploy and retract, or does it go into this error state?



  • @PaulHew it's perpetually stuck in the error state. Soft resets, hard power resets, you name it, nothing seems to wake it up.



  • Is there any way I could write a macro to hold an S10 signal to the probe for at least 500ms? I could then perform the 5V logic reset procedure from the antclabs manual. I have a feeling my other Marlin setup has the eeprom locked into 5V mode instead of open drain operation..



  • Have you tried a different port just incase there is something up with H3?

    P.


  • administrators

    @H2B said in BlTouch 3.1 Flashing and Troubleshooting:

    M558 P5 H5 F500 T4000 X0 Y0 Z1 ; Set Z probe type/mode 5. H=Dive Height. F=Speed the bed moves

    • You have not configured the BLTouch correctly. The probe type should be 9, and the XYZ parameters should be removed.
    • You don't need the M574 Z1 S2 command, a Z probe (such as BLTouch) is completely different from an endstop in RRF
    • If you still have problems with this, please post your deployprobe.g and retractprobe.g files.

    To reset your BLTouch, send: M280 P3 S160. If that doesn't work, check your wiring. if it does, you may wish to include this at the end of config.g:

    M280 P3 S160 ; send the reset command to BLTouch
    G4 S250 ; give it time to work
    M42 P3 S0 ; set BLTouch command signal low



  • @dc42 said in BlTouch 3.1 Flashing and Troubleshooting:

    M42 P3 S0

    So thanks for all the help so far. I've cleaned up the config as @dc42 has suggested, and wasn't getting anything.

    Until I tried measuring the voltage drop across the probe control supply rails. As soon as my multimeter touches the +5V and GND pins, the probe comes to life. Seems to be an issue with the wiring somewhere that I still can't figure out. Most likely crimping issues. Going to try that and let you guys know if its working now. Cheers!!



  • With my previous reply, I had many variations of my reply including crimping and cable.
    I have crimped onto the insulator before and wondered why things were not working!
    But some people are not as silly as me, thank goodness!

    Hope you get it fixed.



  • the supplied extension cable is notoriously bad



  • So @Veti I'm using an extension cable I made myself, soldered and crimped on all ends (except the small servo connector into the probe).

    @dc42 just checked all the wiring leads/extensions. Reading 0.1Ohm everywhere, great continuity. Thoroughly tested the resistance across: the extension cable alone, extension to probe connector, extension to probe PCB, and finally Duex to Probe PCBs. I get 0.1Ohm to 0.2 Ohm throughout, so I know there's no wiring issue.

    Here's the fun fact: as soon as I'm measuring voltage from the GND on the Duex PWM pin to the probe 5V rail for control, the Duex LED for E2 lights up and the probe boots up. Seems like I'm having some weird voltage drop somewhere, and I can't trace it. As soon as I disconnect the multimeter leads, the Duex LED goes dimmer again.

    The Duex is wired with Vin straight from my PSU in parallel with the Duet (nothing else is running across it right now, I know the correct wiring is from Vin on Duet to the Duex), and I can't seem to crack this one.. Any ideas?



  • @H2B said in BlTouch 3.1 Flashing and Troubleshooting:

    The Duex is wired with Vin straight from my PSU in parallel with the Duet (nothing else is running across it right now, I know the correct wiring is from Vin on Duet to the Duex), and I can't seem to crack this one.. Any ideas?

    there is a very big warning not to do that in bold here
    https://duet3d.dozuki.com/Wiki/Duex2_and_Duex5_Features

    Connect VIN and GND terminals of the Duex 5 to the corresponding terminals of the Duet 2. Do not run separate ground wires from each terminal block back to the power supply unless the power supply is very close (less than 100mm) to the Duet 2 and Duex. Instead, run a very short and thick ground wire directly from the negative (-) terminal of the VIN terminal block on the Duex board to the negative VIN terminal of the Duet. Also connect the negative wire from your power supply to the negative VIN terminal of the Duet. You can run separate +VIN wires from the Duet 2 and Duex back to the positive terminal of the power supply if you wish.



  • @Veti I am aware of that, thanks for the reminder though. No steppers are on the board so the likelihood of any large transient current is almost zero. But I went ahead and wired up properly with crimps on all terminals and a common 16awg ground between the 2 boards. Safety first!

    @dc42 tried a brand new BLTouch with the connector that comes with it. Same issue. Works if I measure voltage across the probe control 5v and GND again. Same happens when I connect it to PWM2. No chance of a floating ground this time either. What a great way to spend a Sunday afternoon! 🙂 Thanks for all the help!



  • @H2B said in BlTouch 3.1 Flashing and Troubleshooting:

    No steppers are on the board so the likelihood of any large transient current is almost zero.

    can you disconnect the duex then and see if works on the duet normally.
    just to confirm that the problem is not with the duex or its wiring



  • Same issue again. Touched it with the multimeter leads, it works. Remove them, it stops. And every time I touch it with the leads to measure voltages, the LEDs on the Duet get brighter (so more current draw). Never seen anything loaded by a voltmeter before..



  • Same thing is still happening with nothing connected to the Duet2 except the BLTouch and Vin. All jumpers are in the right place, no steppers or anything really is connected. I am stupified...



  • can you post a picture of the wiring both on the duet and the bltouch for us to see.



  • Factory wires:
    Default wire
    Default probe

    Extensions (top red on control is probe signal)
    custom control
    custom probe



  • on the default wire

    the red wire is the voltage you seem to have swapped voltage and signal.


Log in to reply