BlTouch not responding to commands?



  • I have everything wired up correctly I believe and I have re-crimped the terminals twice so I doubt that is the issue.The sensor does the check on start up and the led stays on after it performs the check the Duet Web Control displays a constant 1000 for the sensor output.This is the picture I followed to wire everythingThis is on a Duet 2 Wifi.

    alt text

    Here are my files and these are being used on a Cartesian machine with zmin xmin znd ymin endstops along with the BlTouch.

    config.g

    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Nov 05 2018 12:42:23 GMT-0500 (Eastern Standard Time)

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

    ; Network
    M550 PTony's P3 Steel ; Set machine name
    M551 Pfabian7505 ; Set password
    M552 S1 ; Enable network
    ;*** Access point is configured manually via M587
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80 Y80 Z400 E152 ; Set steps per mm
    M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z180 E1200 ; Set maximum speeds (mm/min)
    M201 X500 Y20 Z250 E250 ; Set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E1200 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 X220 Y220 Z200 S0 ; Set axis maxima

    ; Endstops
    M574 Y1 S0 ; Set active low endstops
    M574 X1 S1 ; Set active high endstops
    M574 Z1 S2 ; Use zprobe for zmin

    ; Z-Probe
    M307 H7 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch
    M558 P9 H5 F120 T6000 ; Set Z probe type to bltouch and the dive height + speeds
    G31 P25 X-20 Y-45 Z0.475 ; Set Z probe trigger value, offset and trigger height
    M557 X15:205 Y15:205 S20 ; Define mesh grid

    ; Heaters
    M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit
    M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S290 ; Set temperature limit for heater 1 to 290C

    ; Fans
    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H0:1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H0:1 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

    ; Custom settings are not configured

    homeall.g

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Nov 05 2018 12:42:23 GMT-0500 (Eastern Standard Time)
    M280 P7 S160 I1 ; clear error state
    M402 ; retract probe
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 S1 X-225 Y-225 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-225 Y-225 F360 ; move slowly to X and Y axis endstops once more (second pass)
    G1 X110 Y110 ; Or whatever gets the probe to be close to the center of your bed
    G30 ; move Z down stopping at the endstop
    G1 X0 Y0 ; return to homed position
    G90 ; absolute positioning

    ; 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

    Homez.g

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Nov 05 2018 12:42:23 GMT-0500 (Eastern Standard Time)
    M280 P7 S160 I1 ; clear error state
    M402 ; retract probe
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 X110 Y110 ; Or whatever gets the probe to be close to the center of your bed
    G30 ; move Z down until the endstop is triggered
    G1 X0 Y0 ; return to homed position

    ; 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

    deployprobe.g

    ; deployprobe.g
    ; called to deploy a physical Z probe
    ;
    ; generated by RepRapFirmware Configuration Tool on Mon Nov 05 2018 12:42:23 GMT-0500 (Eastern Standard Time)
    M280 P7 S10 i1



  • Are you using Duex2 or 5 ?



  • Duet 2 Wifi sorry for not clearing that up before.



  • 0_1541542812527_6b7bcf2f-26a9-4434-952b-dcf1a59c370b-image.png



    1. In your software config.g file input the following G-Code commands to allow the setup to work:

    M307 H3 A-1 C-1 D-1

    M558 P9 H5 F100 T2000

    G31 X0 Y0 Z0 P25

    Important: mode 9 is supported in firmware 1.21 and later only. If you are using earlier firmware, replace P9 in the M558 command by P5.
    In the G31 command the X and Y are the offset of the sensor in relation to the nozzle (so input your own) the number for Z is the trigger height (read on for this). This is the height that is obtained from reading the height the nozzle is from the bed when the sensor pin contacts the bed and retracts, P is the signal threshold.
    Ensure in your config-override.g file (in the /sys folder of the SD card) does not contain an M307 H3 command that overrides the above configuration.
    In the M280 commands (see below), you must invert the servo signal using “I1” in the M280 commands if you connect the BLTouch servo input to the expansion header pins, but not if you connect the BLTouch servo input to a Duex.

    1. Create a deployprobe.g file (in the /sys folder of the SD card) it should contain the following single command:

    M280 P3 S10 I1

    See the important note earlier about including the I1 parameter or not.

    1. Create a retractprobe.g file (in the /sys folder of the SD card) it should contain the following single command:

    M280 P3 S90 I1



  • @benny He's using heater pin 7, instead of 3, which should be fine.

    @siblues Have you tested with pin 3? Making sure to change 7 to 3 where needed.

    You've got a Zmin endstop defined as well. Are you intending to use both?

    Try changing your endstop configuration to be

    ; Endstops
    M574 Y1 S0 ; Set active low endstops
    M574 X1 S1 ; Set active high endstops
    M574 Z1 S2 ; Use zprobe for zmin
    

    The commands in your deploy and retract macros need to be inverted because you're connected to the expansion header. So add i1 to the end. M280 P7 S10 i1 and M280 P7 S90 i1

    Your homing files will need a slight adjustment since you will need to manually place the print head somewhere on the bed before sending the G30 command. This may also be causing problems because your probe is offset from the nozzle and when it's at the homed XY position it may be hanging off the edge of the bed. So before your G30 command in homeall and homez add something like

    G90 ; Absolute position mode
     G1 X100 Y100 ; Or whatever gets the probe to be close to the center of your bed
    G30 ; probe the z height
    G1 X0 Y0 ; return to homed position
    

    You should also remove G92 Z0 ; from the end of your homing files, since it's not needed with a z probe to tell the printer where Z0 is, because that's the probes job.

    To make sure that the probe is ready to go before you start homing you can add the servo commands to clear any error state and retract the probe, just in case it's deployed before homing begins. (I've managed to destroy the pin on a BLTouch because the pin was deployed and got caught on the edge of the bed when it moved the print head to the center of the bed. 🤦 )

    So add M280 P7 S160 I1 ; clear error state and M402 ; retract probe to the very start of each of your homing files. You can add it to the end of config.g as well just as a precaution.

    Since it's showing as already triggered in the DWC (1000) that would explain the already triggered error message you received in your other thread. Hopefully the changed listed above will clear that up. If not, Try adding i1 to the end of your M558 command.

    Hopefully this gets you sorted.

    Once you have the probe responding to your deploy and retract commands you'll be able to do a dynamic test as described here: https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Commissioning_Testing



  • Ok I will try all of that but just to make sure I understand is the sensor supposed to display 0 when not triggered I have read that you will not be able to tell when the probe triggers due to short duration of the trigger.

    I am using a zmin endstop with the z probe but I can get rid of it easily if that will make things easier.I won't mind eliminating some the wiring and the endstop if it is not necessary.



  • @siblues normally the trigger time of the BLTouch is very short so you may or may not see if switch from 0 to 1000. But it shouldn't be always 1000.

    You can keep the endstop in place but for the time being let's test without it configured or connected just to eliminate any variables. Ultimately you can use both or either depending on how you want to have it configured. And since you can change the configuration at any time it's as easy as having a macro that sets it how you want. A useful option is to have a z max endstop so that you can still home z after a power loss. But that's a problem for another day.



  • Phaedrux you are a miracle worker.I am playing around with the sensor now and everything seems to be working fine.I am going to eliminate the z min endstop entirely.I now have to try to learn the proper way to use it and maybe set up some macro's to test the probe and a few spots on the bed.

    I now have to make sure that the extruder is working as it should and that I have the steps/mm set correctly.I also have to wire up the opto-isolated relay I have here to use the PS on trigger to turn everything on and off.

    Ok when I home now how does it figure out where z0 is?I am very new to this so what would be the proper steps to take to set everything up and what I mean by that is do I have to center the extruder on the bed and issue a g30 command for that or what would be the proper steps and code to set everything up to use the bltouch to home?



  • Glad it's working out for you now.

    Don't forget to measure the trigger height.

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



  • The mount for my probe is horrible so I am trying to get the printer running so can design and print a few items to finally button everything up.



  • What would be the right way to probe the bed simply center the extruder and issue a G30 command then a G32 of course this is after getting the offsets and heaight of the probe dialed in?



  • To home z all you need to do is center the probe and do a G30. If the probe x y and z offsets are all correct you'll get a good representation of z=0 for that point.

    There are a few options beyond simple z homing though, and it will depend on your setup what you want to do.

    If the bed is flat and already mechanically leveled you can call it a day and print away.

    If you have multiple independent lead screws and want to do some leveling of the bed with them that can be setup. You can also have the duet probe close to your adjustment screws and it will tell you how much to adjust them to level the bed. It can also create a simple 5 point tilt plane to adjust for. This would be setup in bed.g and it would be called by G32.

    If your bed isn't perfectly flat you can use mesh grid compensation to adjust for it using G29. This probes the bed in multiple points and creates a height map that is saved and can enjoy reloaded so you don't have to probe the bed every time.

    So there are a lot of options. Depends what your bed is actually like.



  • Well I would like to use compensation since my bed isn't perfectly flat or at the very least it isn't totally flat. I would think being able to level the bed manually to be almost perfectly flat then issuing a G29 would give me the best results.I have 2 leadscrews but they are working together to raise and lower the z axis .



  • Yes it would be ideal to get the bed as level as you can with the adjustment screws and then use G29.

    It is possible to run each Z motor on its own driver and perform tilt correction between the two, but that's not really needed if the bed is stable and the motors stay in sync as they are.

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



  • I started setting everything up but I have a small problem.I set the offsets for the Z Probe following the instructions on the guide.I have two problems I believe when I home the z axias it homes to the back right corner of the bed which is the max x and y axis points of the bed as I understand.I tried the G29 with the extruder and probe centered over the bed but when it tried to probe the first probe point the probe misses the bed and it tells me the probe was not triggered.



  • @siblues you have to adjust the grid setup in M557.



  • This is what is in my config.g

    M557 X15:205 Y15:205 S20 ; Define mesh grid

    I have a 220 x 220 bed.



  • And what is your probe offset in X and Y?



  • To get accurate probe results, the Duet needs to know how far the BLTouch is from the nozzle in X and Y. To measure this, place a piece of paper on the bed and use tape to hold it in place. Move the nozzle down until the it touches the paper and leaves a small imprint. Make note of the current X and Y coordinate. Use a marker to make the spot clearly visible. Now jog the print head in X and Y until the BLTouch pin is on the exact spot you marked. Make note of the new X and Y coordinates. The difference between the two will be your X Y offset in the G31 command.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.