BLTOUCH SETUP - Struggling
I am having problems getting BLTOUCH to work. On power up - it deployed the probe twice (in the normal manner) then retracts the probe with the red light on.
I cannot get it to successfully home the Z axis (after first homing X and Y) because the probe never deploys. Even if manually deploy the probe - it does not recognize the probe as triggered when it contacts the bed (so I have to quickly power off else the bed will collide with the nozzle).
This BLTOUCH was working fine a couple of days ago on the Creality 1.1.5 board.
I have looked in many places for a solution and tried many without success. Basically they all say the same thing (which if good)
I tried issuing M401 and M402 but neither cause anything to happen.
My setup is:
Ender 5 pro with Duet2 Wifi newly installed.
Genuine BLTouch V3.x
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 2.03 (2019-06-13b2)
Duet WiFi Server Version: 1.23
Duet Web Control 3.1.1
Duet2 Board 1.4c
The BLTOUCH is connected to Heater 7 (Yellow Wire). See picture. I have confirmed continuity on all wires.
config.g is as follows:
; Configuration file for Duet Maestro (firmware version 2.03) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Aug 11 2020 21:45:20 GMT-0600 (Mountain Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Ender 5Pro BLT" ; set printer name ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S1 ; enable 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 M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z800.00 E273.00 ; set steps per mm M566 X1200.00 Y1200.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z12000.00 E900.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z500.00 E5000.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I50 ; 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 Z300 S0 ; set axis maxima ; Endstops M574 X1 Y1 S1 ; set active high endstops M574 Z1 S2 ; set endstops controlled by probe ;disable heater for bltouch M307 H7 A-1 C-1 D-1 ; Z-Probe M558 P9 H10 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-42 Y-12 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 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 B4092 R2200 ; set thermistor + ADC parameters for heater 0 M143 H0 S80 ; set temperature limit for heater 0 to 80C M305 P1 T100000 B4092 R2200 ; set thermistor + ADC parameters for heater 1 M143 H1 S230 ; set temperature limit for heater 1 to 230C ; Fans M106 P0 S0 I0 F500 H1 T45 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on 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 H-1 ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off ; Tools M563 P0 S"E0" D0 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 ;enable wifi M552 S1 ; needed to get wifi started on boot (despite what it says above)
retractprobe.g is as follows:
; retractprobe.g ; called to retract a physical Z probe ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Aug 11 2020 21:45:20 GMT-0600 (Mountain Daylight Time) M280 P7 S90 ; retract BLTouch
deployprobe.g is as follows:
; deployprobe.g ; called to deploy a physical Z probe ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Aug 11 2020 21:45:20 GMT-0600 (Mountain Daylight Time) M280 P7 S10 ; deploy BLTouch
Hit send without adding picture of wiring ....
Thanks in advance for any help / pointers / debugging suggestions.
Double check that you're actually plugged into heater pin 7 on the expansion header.
Alternatively, you can try using heater pin 3 as shown here:
Also, check your config-override.g file for any M307 H7 commands that may be overriding your
M307 H7 A-1 C-1 D-1
Before trying to test the probe via homing, ensure that M401 and M402 work. If they don't homing will fail.
Also check your homeall.g and homez.g to ensure you are using a G30 command to probe the bed and not a G1 H1 Z move to an endstop.
Your firmware is a bit outdated as well, so might be a good time to update to at least 2.05.1. The easiest way to do so is to upload the complete zip file as is to the /sys folder in DWC.
Don't forget to check the change log.
Thanks @ Phaedrux. Sadly - still no luck. What's next ? Check voltages ?
Here is what I tried / checked ..... I think I covered all your suggestions.
config-override.g is an empty file.
I upgraded to 188.8.131.52 then rebooted.
Neither M401 or M402 did anything.
I re-positioned the yellow wire for heater 3 (pin 8). Changed config.g to disable heater 3
;disable heater for bltouch M307 H3 A-1 C-1 D-1
M280 P3 S10 ; deploy BLTouch
M280 P3 S90 ; retract BLTouch
Neither M401 or M402 did anything.
Checked homeall.g and confirmed that it is using G30
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Aug 11 2020 21:45:20 GMT-0600 (Mountain Daylight Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-225 Y-225 F3000 ; 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-225 Y-225 F240 ; move slowly to X and Y axis endstops once more (second pass) G90 ; absolute positioning G1 X57 Y27 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
Checked homez.g and confirmed that it is using G30
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Aug 11 2020 21:45:20 GMT-0600 (Mountain Daylight Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G90 ; absolute positioning G1 X57 Y27 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
Also - one piece of information that I may not have been clear about. If I manually retract the probe then request z to home and them manually touch the probe to cause it to retract (simulating the bed contacting the probe) - nothing happens. It's not "seeing" the z-stop trigger. Should it ? Independently of M401 /402 not working?
If M401/M402 don't work, how are you manually deploying the probe?
Do any of the other M280 commands for the BLtouch work? Self-test?
Most of the time when a BLtouch isn't working, it's a wiring issue. Bad crimp, broken wire, poor contact, etc.
Manual == with finger :-). i.e. retracting the probe (red light goes off) ...
I'm just 24 hrs into duet / riprap so not familiar with the M280 commands - will look them up and try a few. I'll re-terminate the connectors at the duet end and report back.
Manual == with finger
Yeah that's not going to work. The pin is controlled by a servo which deploys and retracts it. The firmware keeps track of the deployed or retracted state. Manually pulling it out is not the same as deploying it.
M280 P3 S10work to deploy it?
See the manual for other commands.
M280 P3 S10
I changed the terminations and tried all the M280 commands - no response. I even tried from serial usb just in case there were responses I was not seeing in the web interface.
Is there anything that I can do to verify that the Duet board itself is behaving as it should (if the bltouch were working correctly)? e.g. simulate a z-stop on home? I'm beginning to suspect one or the other i.e. bltouch or duet ....
Thanks for hanging in there with me.
On a whim - I added I1 to the deployprobe.g and retractprobe.g commands i.e.
M280 P3 SXX I1 this seems to have worked. I will be more definitive once I (hopefully) get my bed probed and calibrated.
The BLTOUCH now deploys the probe on homeing the z axis and stops the bed (rising in my case) when it touches the probe.
M401 and M402 now work as expected. HOWEVER, M280 P3 S10 and M280 P3 S90 DO NOT cause anything to happen BUT adding I1 to these (and other M280) commands causes the expected behavior.
One thought though - the config.g and other files were created by the reprap configurator (without I1) and clearly the bltouch has worked for others without the I1 argument. Any idea what the differences are ?
I will continue with my configuration ....... Thanks for the help!
Doh! of course. The inversion. Half my brain is in RRF3 now, where inversion is handled differently. Sorry I should have caught that off the start.
I'll have to check the output of the configurator. When connected to the Duet Wifi expansion headers the signal needs to be inverted.
Just checked the configurator and it outputs the correct format. I chose heater Channel E6 in the bltouch servo control pin drop down, which is heater pin 7. Which is confusing in and of itself.
I suspect you might have chosen one of the Duex pin options, which does not require the inversion (It's already inverted)
; deployprobe.g ; called to deploy a physical Z probe ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Aug 12 2020 20:16:48 GMT-0600 (Central Standard Time) M280 P7 S10 I1 ; deploy BLTouch
In RRF3 the pin names become a lot more logical and the setup is a bit more straightforward. If you go through the configurator choosing RRF3 you will see the differences. RRF2 is at the end of it's road of development. Since you're new to RRF in general, it might not be a bad idea to make the jump to RRF3 now before you get to used to the old way of doing things.
hlwerschner last edited by
Perhaps I can help my adding a bit of my experience with the BLTOUCH probe. My current config for the probe was
.... M208 X0 Y0 Z0 S1 ; set axis minima M208 X500 Y490 Z300.0 S0 ; set axis maxima X: 500mm, Y: 500mm, Z: 300mm ; Endstops M574 X1 S1 P"!xstop" M574 Y1 S1 P"!ystop" M574 Z2 S1 P"!zstop" M574 E2 S1 P"!e1stop" .... ; Z-Probe ; BLTouch - via exp.heater7 M307 H7 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board. M558 P9 C"^zprobe.in" H5 R0.2 F500 T4000 X0 Y0 Z1 ; Set Z probe type/mode 9. H=Dive Height. F=Speed the bed M950 S0 C"exp.heater7" G31 P25 X11.5 Y-10 Z2.15 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment M557 X100:400 Y80:380 P5:5 ; Define mesh grid ....
I use RRF 3.11 (I believe the newest one) and have wired the probe exactly as you did. My 3 axes are all with endstops and homing is also done to reach these endstops. After homing, I usually go to the print bed center and lower the Z-axes down to about 100 mm above the print bed surface. I used "G30 S-1" to check for Z0.0 and adjusted the Z-axes max value accordingly for max = 286.5 mm. After this, the nozzle (probe offset 2.15 mm) will touch the bed when I move the hotend to Z = 0.0.
Normal G30 is then working fine (hotend + probe sty 5mm above the bed) and a subsequent G29 for the height map also is done for all requested matrix points.
The BLTOUCH docs mention several macros for Pin down/up and other actions, be sure to use the same Port P0 (from the M950 S0 C"exp.heater7" command) for example in Pin Down "M280 P0 10". I always get confused about the inconsistent namings in different commands but it is as it is.
I have run G29 several times and the results stay stable as well no hickups with the probe. I will keep it as a 2nd choice as I now have the Precision-piezo Orion 2 working and could get rid of that offsetting nozzle-probe with that variant.
I upgraded to RRF3 and have the bltouch working and bed mesh calibrated. Pretty straightforward. Only problem now is the extruder motor not recognized. I'll start another topic.
Again thanks for the assistance.