BLTouch alarms if triggers & always status of 1000 (I=1 in M558)



  • I purchased and authentic BLTouch 3.1 from MatterHackers. I read all the documentation I could find and wired it up according to the Duet examples. Specifically:

    Connected the probe to +5, Ground, and Heater 3.
    Other 2 pins are on the Z-probe IN and Ground

    Everything powers up fine - BLTouch self-test completes
    I can control the BLTouch deploy, retract, and self-test.

    There are two oddities here

    1. My Z-probe state is always 1000 whether I deploy or retract
    2. If I deploy and trigger the probe, I get an alarm and BLTouch becomes unresponsive and my Z-state goes to 0, interestingly.

    BTW, If I don't use I1 in my M558 command, I get similar results but Z state is always 0 instead of 1000. Nothing is better. This just gives an indication that inversion is working / matters.

    Here is my config.g. I would appreciate any advice or suggested experiments.

    Thank you!

    ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.0.4 on Thu Sep 26 2019 16:44:33 GMT-0700 (Pacific Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Printer" ; 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 S1 ; physical drive 0 goes forwards
    M569 P1 S1 ; physical drive 1 goes forwards
    M569 P2 S0 ; physical drive 2 goes backwards
    M569 P3 S0 ; physical drive 3 goes backwards because Titan Extruder is inverted
    M569 P4 S0 ; physical drive 4 goes backwards because Titan Extruder is inverted

    ;JW there are 2 extruders
    M584 X0 Y1 Z2 E3:4 ; set drive mapping

    ;M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation for extruder 2

    M92 X100.00 Y100.00 Z400.00 E418.59:418.59 ; steps per mm for both extruders based on calculations using hobbing distance. Verified with calipers on test cube

    M566 X600.00 Y600.00 Z18.00 E300.00:300.00 ; set maximum instantaneous speed changes (mm/min) for both extruders

    M203 X7200.00 Y7200.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min) for both extruders
    M201 X1500.00 Y1500.00 Z100.00 E10000.00:10000.00 ; set accelerations (mm/s^2) for both extruders

    ;M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in percent
    M906 X800 Y800 Z800 E800:800 I30 ; set motor currents (mA) and motor idle factor in percent for both extruders
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X-10 Y-17 Z0 S1 ; set axis minima
    ;M208 X-50 Y-57 Z0 S1 ; set axis minima
    M208 X220 Y220 Z240 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 S0 ; set active low endstops. not as safe but this is now Anet A8 endstops wired

    ; Z-Probe
    ; JW don't disable Z probe now that I use BLTouch
    ;M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
    ;M557 X20:200 Y20:200 S40 ; define mesh grid

    ; Heaters
    M307 H0 B0 S0.90 ; disable bang-bang mode for the bed heater and set PWM limit to 90% based on doing M303 H0 S80 P0.9
    M305 P0 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 0
    M143 H0 S130 ; set temperature limit for heater 0 to 130C
    M301 H1 S0.69 ; set heater 1 PWM limit to 69% based on experimenting with M303
    M305 P1 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 1
    M143 H1 S275 ; set temperature limit for heater 1 to 275C
    ; JW configuration for second hotend
    M301 H2 S0.69 ; set heater 2 PWM limit to 69% based on experimenting with M303
    M305 P2 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 2
    M143 H2 S275 ; set temperature limit for heater 2 to 275C

    ; Fans
    @@ JW My Fan0 Mosfet appears to have gone bad leaving Fan0 always on so I'm using Fan1 pins.
    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
    M106 P1 S0 I0 F500 H-1 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off @@JW Fan test

    ; Tools
    ;M563 P0 D0 H1 F0 ; define tool 0
    M563 P0 D0 H1 F1 ; define tool 0 using Fan 1 @@JW Fan test
    G10 P0 X-9 Y0 Z0 ; set tool 0 axis offsets. Chimera+ has perhaps only 18 mm (empirically) between the nozzles so this X offset is -9.
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

    ; JW second hotend
    M563 P1 D1 H2 F1 ; define tool 1 and make sure it uses second extruder (D1) and second heater (H2). Should not need to specify F0 but using F1
    G10 P1 X9 Y0 Z0 ; set tool 1 axis offsets. Chimera+ has perhaps only 18 mm (empirically) between the nozzles so this X is offset +9.
    G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

    ; JW Enable BLTouch
    M307 H3 A-1 C-1 D-1 ; set heating process parameters for heater 3. A, C, D are dummy variables here
    M558 P9 H5 F100 T2000 I1 ; set Z probe type. 9=BLTouch, H=drive height mm, F=probing speed, T=travel speed to probe points
    ;G31 must come after M558
    G31 X0 Y0 Z0 P25 ; set probe status. X,Y,Z offsets and P=trigger value
    M557 X20:200 Y20:200 S40 ; define mesh grid

    ; Custom settings are not defined

    ; Miscellaneous
    M501 ; load saved parameters from non-volatile memory
    T0 ; select first tool


  • administrators

    For BLTouch you should not use I1. Using i1 may well cause the alarm, because then RRF will detect the probe as triggered immediately. So try again without the i1 parameter. Ensure the probe is well above the bed, home X and Y, then send G30. The probe should deploy and the reading should be zero. Touch the underside of the probe to trigger it. The probe should retract and movement should stop. If movement doesn't stop, cut the power before the probe crashes into the bed.



  • Hey @dc42 . You are the man. I did try that setting but I was looking for Z values to start at 1000 (retracted) and go to 0 when deployed. From a cursory look, its working! No alarm when I trigger using G30.

    I'm printing out a new mounting bracket and will try it all out - hopefully this week.

    Thank you again!
    Jack


Log in to reply