Need some help getting the Duet wifi + bltouch to cooperate



  • Hi,
    While i have been 3dprinting for a couple of years i havent done much fiddling until recently. I have recently upgraded my duplicator I3 v1 to run with the Duet wifi board in place of the old melzi. After much fiddling with settings it now works well (and amazingly quiet with the new drivers). I have now got a BLtouch probe which i have spend the last week banging my head against the wall to get it to cooperate. I have read the various guides and each seem to have their own spin on what ports etc to use and have tried a lot of them with no success. Luckily part of my problems were solved when i spotted on this forum a post about the cable not being right and checked the probe extension cable which wasnt in correctly. any chance one of you fine people could have a look over my settings and see where im going wrong ?
    Config.g homez.g and homeall.g are included
    The bltouch is plugged into H7 as per this guide https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/
    Thanks in advance

    config.g
    ; Drives
    G21 ; Work in millimetres

    M569 P0 S0 ; Drive 0 goes backwards
    M569 P1 S0 ; Drive 1 goes backwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 extruder goes backwards

    M906 X855 Y855 Z1080 E855 ; Set motor currents (mA)
    M201 X1000 Y800 Z100 E5000 ; Accelerations (mm/s^2)
    M203 X12000 Y12000 Z120 E3000 ; Maximum speeds (mm/min)
    M566 X600 Y600 Z18 E10 ; Maximum jerk speeds mm/minute

    ; Z-Probe bltouch
    M307 H7 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
    M558 P9 F100 H7 R0.3 T7000 A3 B0 ; Set Z probe type to switch and the dive height + speeds
    G31 P25 X-35 Y-35 Z0.58 ; Set Z probe trigger value, offset and trigger height
    M557 X25:170 Y25:170 S40 ; Define mesh grid

    ; Endstops
    ; M574 X1 Y1 Z1 S0 commented to add bltouch ; Set active low and disabled endstops
    M574 X1 Y1 S0 ; X home to min. Y home to max. Normally Closed limit switches.
    M574 Z1 S2 ;Define Z to use Probe. Home to Min

    M208 X200 Y200 Z180 ; set axis maxima and high homing switch positions (adjust to suit your machine)
    M208 X-8 Y-8 Z-0.5 S1 ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)

    M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation
    M92 X80 Y80 Z400 E98 ; set axis steps/mm

    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Custom settings are not configured
    M307 H7 A-1 C-1 D-1 ; dissable heater 7 for bltouch

    ; Heaters + Thermistors
    M305 P0 T100000 B3950 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
    M305 P1 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction

    M307 H0 A193 C719.9 D8.7 B0 ; bed heater settings
    M307 H1 A219 C128 D13.9 B0 ; extruder heater settings

    M570 S120 ; Increase to allow extra heating time if needed ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S1 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
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 ; 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

    ; Automatic saving after power loss is not enabled
    ; Miscellaneous
    T0 ; Select first tool

    homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Fri Feb 22 2019 18:53:04 GMT+0000 (GMT Standard Time)
    G91 ; relative positioning
    M280 P3 S10 I1 ; deploy mechanical Z probe
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 X25 Y25 F6000 ; go to first probe point
    G30 ; home Z by probing the bed

    G30 ; Calibrate Z-axis
    M280 P3 S90 I1 ; retract mechanical Z probe
    G1 Z1 F200 ; Raise bed to 1mm.

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Fri Feb 22 2019 18:53:04 GMT+0000 (GMT Standard Time)
    G91 ; relative positioning
    M280 P3 S10 I1 ; deploy mechanical Z probe
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 S1 X-205 Y-205 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 X5 Y5 F6000 ; go back a few mm
    G1 S1 X-205 Y-205 F360 ; move slowly to X and Y axis endstops once more (second pass)
    ;G1 S1 Z-180 F1800 ; move Z down stopping at the endstop
    G90 ; absolute positioning
    G1 X25 Y25 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 S2 Z5 F100 ; lift Z relative to current position
    G90 ; absolute positioning

    M280 P3 S90 I1 ; retract mechanical Z probe



  • A post of your config-override.g also helps



  • @R3play Thanks for replying. I have checked on my duet and it doesnt have a config-override.g. neither do the files i have downloaded from the reprap configurator to compare with. Is it something i need?
    i dont know whether its relevant but the firmware details are below
    Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
    Firmware Electronics: Duet WiFi 1.02 or later
    Firmware Version: 2.01(RTOS) (2018-07-26b2)
    WiFi Server Version: 1.21
    Web Interface Version: 1.21.2-dc42



  • If its the config json file then here it is
    {"board":"duetwifi10","firmware":1.21,"nvram":false,"geometry":{"type":"cartesian","mins":[0,0,0],"maxes":[200,200,180],"delta_radius":105.6,"homed_height":250,"low_dive_height":false,"max_carriage_travel":260,"print_radius":85,"rod_length":215,"z_min":0},"drives":[{"direction":1,"microstepping":128,"microstepping_interpolation":false,"steps_per_mm":640,"instant_dv":15,"max_speed":200,"acceleration":1000,"current":855,"driver":0,"endstop_type":2,"endstop_location":2},{"direction":1,"microstepping":128,"microstepping_interpolation":false,"steps_per_mm":640,"instant_dv":15,"max_speed":200,"acceleration":1000,"current":855,"driver":1,"endstop_type":2,"endstop_location":2},{"direction":0,"microstepping":128,"microstepping_interpolation":false,"steps_per_mm":3200,"instant_dv":0.2,"max_speed":20,"acceleration":100,"current":855,"driver":2,"endstop_type":2,"endstop_location":2},{"direction":1,"microstepping":16,"microstepping_interpolation":false,"steps_per_mm":98,"instant_dv":2,"max_speed":50,"acceleration":5000,"current":855,"driver":3}],"idle":{"used":true,"factor":30,"timeout":30},"homing_speed_fast":30,"homing_speed_slow":6,"travel_speed":100,"z_dive_height":5,"slow_homing":false,"probe":{"type":"noprobe","recovery_time":0.4,"trigger_height":2.5,"trigger_value":500,"x_offset":0,"y_offset":0,"speed":2,"deploy":false,"points":[],"pwm_channel":3,"pwm_inverted":true},"num_nozzles":1,"bed_is_nozzle":false,"bed":{"present":true,"heater":0,"use_pid":true,"width":200,"length":200},"chamber":{"present":false,"heater":2,"use_pid":false},"heaters":[{"temp_limit":120,"scale_factor":100,"series":4700,"thermistor":100000,"beta":3988,"a":0.0004671239,"b":0.0002507523,"c":0,"channel":0},{"temp_limit":280,"scale_factor":100,"series":4700,"thermistor":100000,"beta":3998,"a":0.0003055357,"b":0.0002117134,"c":0,"channel":1}],"toolchange_wait_for_temperatures":true,"generate_t_code":true,"tools":[{"mix_ratio":[],"number":0,"name":"","extruders":[0],"heaters":[1],"x_offset":0,"y_offset":0,"z_offset":0}],"compensation_x_offset":25,"compensation_y_offset":25,"mesh":{"x_min":25,"x_max":175,"y_min":25,"y_max":175,"radius":85,"spacing":20},"home_first":true,"orthogonal":{"compensation":false,"height":50,"deviations":[0,0,0]},"network":{"enabled":true,"mac_address":"","name":"wanhao-di3","password":"hunter2","ssid":"thegame","ssid_password":"hunter2","dhcp":true,"ip":"192.168.1.20","netmask":"255.255.255.0","gateway":"192.168.1.254","protocols":{"http":true,"ftp":false,"telnet":false}},"fans":[{"value":30,"inverted":false,"frequency":500,"thermostatic":false,"heaters":[],"trigger_temperature":45},{"value":100,"inverted":false,"frequency":500,"thermostatic":true,"heaters":[1],"trigger_temperature":45},{"value":100,"inverted":false,"frequency":500,"thermostatic":true,"heaters":[1],"trigger_temperature":45}],"custom_settings":"","auto_save":{"enabled":false,"save_threshold":10,"resume_threshold":11,"gcodes_to_run":"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"},"peripheral_points":3,"halfway_points":0,"calibration_factors":3,"probe_radius":85}



  • @eldrad
    Thats odd.
    config-override.g is a system generated file.

    I'm no expert at the Duet firmware yet or so.
    So I'll leave it now to someone more experienced than me.

    Maybe sending a M500 command will generate this?



  • @r3play said in Need some help getting the Duet wifi + bltouch to cooperate:

    M500

    that did indeed generate it 🙂
    ; This is a system-generated file - do not edit
    ; Heater model parameters
    M307 H0 A193.0 C719.9 D8.7 S1.00 V0.0 B0
    M307 H1 A219.0 C128.0 D13.9 S1.00 V0.0 B0
    M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    M307 H3 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



  • Ok, H7 isn't included in there wich is good.

    I took a quick look at your config and couldn't find a error immediatly.

    When sending the following commands, does the BLTouch react?

    Pin Down: M280 P3 S10 I1
    Pin Up: M280 P3 S90 I1
    Self-Test: M280 P3 S120 I1
    Reset BLTouch + Pin Up: M280 P3 S160 I1



  • @r3play As you have written they dont work.
    M280 P7 S10 I1 ; Send PWM channel 7 the s10 (angle) command
    M280 P7 S90 I1 ; Send PWM channel 7 the S90 (angle) command
    M280 P7 S120 I1; Send PWM channel 7 the S10 (angle) command
    M280 P7 S160 I1 ; Alarm Release and Push-Pin UP

    The ones i have written above i have set macros for and they function ok. Looking at it i may have introduced a different p number on one or two things in testing from looking at other peoples guides.. wonder if that is a big issue



  • @eldrad

    Try using the guide from Duet itself:
    https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_BLTouch

    That's how I have it wired up.

    Just make sure you connect the wires correctly. (And ofcourse do this when the machine is powered off)

    1_1551045213564_Screenshot_71.jpg 0_1551045213564_Screenshot_70.jpg



  • @r3play Ive changed the pins to match the ones pictured. when i try and run the commands you listed it responds with
    M280 P3 S10 I1
    Error: Invalid servo index 3 in M280 command



  • @eldrad

    Okay.
    Now change the following in your config.g file:

    M307 H7 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch

    H7 to H3

    And delete the following line in config-override.g:

    M307 H3 A340.0 C140.0 D5.5 S1.00 V0.0 B0



  • @r3play right thats enabled the probe up and down etc



  • @eldrad

    Now I would move Z up by a bit for safety and let Z home.
    What happends when you manually touch the pin back up?

    Remember, if homing doesn't stop when doing this immediatly click on the emergency stop button in DWC! Else the head will just keep going and crash into the bed.



  • @r3play It deployed the probe that time when diving so thats a big step forward.. but the y axis was out of the way so didnt trigger... now to find where ive cocked up



  • @eldrad
    okay, but did the machine stop when you manually pushed the probe in?



  • @r3play missed that bit. will trigger it again and leg it to the other room to press it in



  • @eldrad that did work, then it went back up and did it again... now to find the bit to move the y axis under the probe... then working out how to mesh level lol.



  • If you clicked Home Z then it calls the homez.g file. And as you can see in that file in doesn't move the Y axis in there.
    So if you would click on Home All, it will perform a home all on all axis and this move the bed under the probe.

    Glad it's working now!
    And good luck on setting it up further 😉



  • @r3play Thanks for your help, youve been amazing. solved what i couldnt in minutes 🙂



  • Just noticed you have the following command twice in your config.g

    M307 H7 A-1 C-1 D-1 ; dissable heater 7 for bltouch

    Make sure you delete the following lines in there since you have it already set in the Z-Probe BLTouch section:

    ; Custom settings are not configured
    M307 H7 A-1 C-1 D-1 ; dissable heater 7 for bltouch


Log in to reply