Duet 2 Wifi with BLTouch



  • I have a large format printer that I am attempting to use a Duet 2 Wifi with. I have gone through the tutorials for setup, and have everything working except for my BLTouch sensor. I followed the tutorial for this and have it wired correctly.
    I.E. positive to 5v, negative to ground, and signal to heater 3 on the 3 wire cable, and white to Z probe in and black to ground on the Z probe plug

    It responds to the commands M280 P0 S10 and M280 P0 S90 for lowering and raising the sensor, but the webview does not display a change in Z probe status.

    When I run g30 the bed immediately begins to raise towards the head without the probe ever deploying which leads to me having to use E-stop to prevent it from crashing. What do I need to do to fix this?

    System:
    Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
    Firmware Electronics: Duet WiFi 1.02 or later
    Firmware Version: 3.0 (2020-01-03b3)
    WiFi Server Version: 1.23
    Web Interface Version: 1.22.6

    config.g:
    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Modix Big 60" ; set printer name

    ; 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
    M569 P1 S1 ; physical drive 1 goes forwards
    M569 P2 S0 ; physical drive 2 goes forwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I0 ; configure microstepping without interpolation
    M92 X200.00 Y100.00 Z2011.76 E509.30 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z3600.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z2400 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X600 Y600 Z600 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin !xstop
    M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop

    ; Z-Probe
    M574 Z1 S2 ; configure Z-probe endstop for low end on Z
    M307 H3 A-1 C-1 D-1
    M558 P9 C"^zprobe.in" H5 F500 T4000 R1 X0 Y0 Z1 ; Set Z probe type/mode 5. H=Dive Height. F=Speed the bed moves
    M950 S0 C"exp.heater3"
    G31 P25 X-25.3 Y-25.3 Z0.0 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment
    M557 X15:215 Y15:195 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

    homeall.g:
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-605 Y-605 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-605 Y-605 F360 ; move slowly to X and Y axis endstops once more (second pass)
    G90 ; absolute positioning
    G1 X15 Y15 F6000 ; go to first bed probe point and home Z
    G30 ; home Z by probing the bed

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    homez.g:
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 X15 Y15 F6000 ; go to first probe point
    G30 ; home Z by probing the bed

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    Deployprobe.g:
    M280 P3 S10 I1

    Retractprobe.g:
    M280 P3 S90 I1

    I feel like I've been beating my head against a wall for the past week trying to solve this so any help would be greatly appreciated.



  • When the state always reads 1000 make sure to check if the white wires are crimped correctly/a signal can pass through it.
    Test it with a multimeter.


  • Moderator

    @eculver said in Duet 2 Wifi with BLTouch:

    It responds to the commands M280 P0 S10 and M280 P0 S90 for lowering and raising the sensor

    But does it respond to M401 and M402? I'm guessing not if your deploy and retract macros are as you've shown them.

    @eculver said in Duet 2 Wifi with BLTouch:

    Deployprobe.g:
    M280 P3 S10 I1
    Retractprobe.g:
    M280 P3 S90 I1

    Are you using M280 P3 or M280 P0? It should be P0 because that's the servo index number used in your M950 command to create the servo control pin.

    M307 H3 A-1 C-1 D-1

    Remove that command. Not used in RRF3.

    @eculver said in Duet 2 Wifi with BLTouch:

    Firmware Version: 3.0 (2020-01-03b3)

    Update your firmware and DWC to 3.1.1

    @eculver said in Duet 2 Wifi with BLTouch:
    but the webview does not display a change in Z probe status.

    The web view may not display 0 or 1000 accurately for the BLTouch because it only flashes briefly as triggered and immediately resets the pin, so it's not a good indication of function. Once you have the deploy and retract sorted use this to test the probe.

    https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe



  • @Phaedrux
    Thank You, Fixing the Deploy and retract probe files solved my problem. I was unclear as to what was being defined on those files and thought they had been set correctly.


Log in to reply