Help needed setting up BL touch
-
You've got a Z endstop defined as well as the probe. Are you intending to use both? Having a Z max endstop can be handy on i3 style printers.
There's a few issues with your files.
@tinken said in Help needed setting up BL touch:
M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch
Not needed in RRF3. Remove it.
@tinken said in Help needed setting up BL touch:
G31 P500 X23 Y10 Z15 ; set Z probe trigger value, offset and trigger height
15mm seems highly unlikely for a BLTouch trigger height. It should be closer to 2mm, and should be measured. The 10mm dive height is also a bit much. Try M558 H5 instead. Part of the problem may be that the trigger height is larger than the dive height.
https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe
In your homing files you have a endstop homing move in addition to the G30 probe command. Best to just remove the endstop part entirely.
G1 H1 Z-215 F1800 ; move Z down until the endstop is triggered G92 Z0 ; set Z position to axis minimum (you may want to adjust this) G30 ; home Z by probing the bed
Remove that in homeall/homez and replace it with
G90 ; absolute position G1 X150 Y150 F6000 ; move probe to center of bed G30
I can't really tell from your photos how it;s wired up but it should look like this:
https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+3+Mini+5++Guide+Part+1:+Wiring/87#s336 -
@phaedrux Thank you very much for helping me.
I do plan on keeping my Z-axis end stop, but I have reengineered the stop for a microswitch.
I have changed everything you have recommended. My wiring is exactly like the image you have posted. Except, I did have a bad crimp on io3.in. This has been resolved.
Now, send G29. The hotend moves down about 30mm and deploys the probe as if to probe the bed. However its short by about 190mm of reaching the bed. It is 211.05mm to the bed.
Also instead of slowly moving down to probe the bed, it raises as if either it is inverted or my z-axis is inverted.
-
Can you post your updated files with the changes you've made?
-
; Config.g ; Configuration file for Duet 3 Mini 5+ (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Pulse E-423S" ; 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 S0 ; disable Telnet ; Drives M569 P0.0 S0 ; physical drive 0.0 goes backwards M569 P0.1 S1 ; physical drive 0.1 goes forwards M569 P0.2 S0 ; physical drive 0.2 goes backwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E409.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X1080000.00 Y1080000.00 Z90000.00 E15000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E1000.00 ; set accelerations (mm/s^2) M906 X1000 Y1200 Z1200 E1200 I40 ; 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 X250 Y220 Z210 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io5.in" ; configure active-high endstop for low end on X via pin io5.in M574 Y1 S1 P"io6.in" ; configure active-high endstop for low end on Y via pin io6.in M574 Z1 S1 P"io2.in" ; configure active-high endstop for low end on Z via pin io2.in ; Z-Probe M950 S0 C"io3.out" ; create servo pin 0 for BLTouch M558 P9 C"io3.in" H5 F120 T600 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X23 Y10 Z0 ; set Z probe trigger value, offset and trigger height M557 X20:230 Y20:200 S20 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4066 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 A421.6 C860.4 D14.2 S1.00 V24.0 B0 ; 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"temp1" Y"thermistor" T100000 B4066 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 R2.648 C163.1:161.1 D6.32 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S315 ; set temperature limit for heater 1 to 315C ; Fans ; M950 F0 C"out3" Q500 ; create fan 0 on pin out3 and set its frequency ; M106 P0 C"PartCool" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"out4" Q500 ; create fan 1 on pin out4 and set its frequency M106 P1 C"HotEnd" S1 H1:0 T35 ; set fan 1 name and value. Thermostatic control is turned on M950 F2 C"out5" Q500 ; create fan 2 on pin out5 and set its frequency M106 P2 C"CaseFan" S1 H1:0 T35 ; set fan 2 name and value. Thermostatic control is turned on ; Tools M563 P0 S"Hotend" D0 H1 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 M280 P0 S160 ; Clear any alarms M402 ; Retract pin just in case ; Miscellaneous M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z0 F1800 ; lift Z relative to current position G1 H1 Z-215 F1800 ; move Z down stopping at the endstop G1 H1 X-255 Y-225 F1800 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y5 F1800 ; go back a few mm G1 H1 X-255 Y-225 F360 ; move slowly to X and Y axis endstops once more (second pass) G90 ; absolute positioning G92 Z0 ; set Z position to axis minimum (you may want to adjust this) ; Custom settings M280 P0 S160 ; Clear any alarms M402 ; Retract pin just in case ; Uncomment the following lines to lift Z after probing ; G91 ; relative positioning ; G1 Z10 F100 ; lift Z relative to current position ; G90 ; absolute positioning
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z0 F6000 ; lift Z relative to current position G90 ; absolute positioning G1 H1 Z-215 F1800 ; move Z down until the endstop is triggered G92 Z0 ; set Z position to axis minimum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing ; G91 ; relative positioning ; G1 Z10 F100 ; lift Z relative to current position ; G90 ; absolute positioning
-
-
Two things.
What's with the insane max speeds?
And check what I posted above for the homing files.
You've got a g92 z0 in there to force the position as homed and wherever the z axis currently is. You need to remove that and replace it with a g30 command to use the probe. Also helps to position the probe at the center of the bed first with a g1 XY move.
Then you can measure the probe trigger height.
-
Removed G92 Z0. Insane speeds from Matterhackers config file. Reduced speeds to F360.
-
Also had to change the M569 in Config.g from S0 to S1 in order to invert the drive motor. Homeall and Homez will have to be inverted back to correct the direction.
-
I made a few more changes, so far everything is working properly. Thank you Phaedrux for all your help.
; Config.g ; Configuration file for Duet 3 Mini 5+ (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Pulse E-423S" ; 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 S0 ; disable Telnet ; Drives M569 P0.0 S0 ; physical drive 0.0 goes backwards M569 P0.1 S1 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; physical drive 0.2 goes backwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E409.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X1080000.00 Y1080000.00 Z90000.00 E15000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E1000.00 ; set accelerations (mm/s^2) M906 X1000 Y1200 Z1200 E1200 I40 ; 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 X250 Y220 Z210 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io5.in" ; configure active-high endstop for low end on X via pin io5.in M574 Y1 S1 P"io6.in" ; configure active-high endstop for low end on Y via pin io6.in M574 Z1 S1 P"io2.in" ; configure active-high endstop for low end on Z via pin io2.in ; Z-Probe M950 S0 C"io3.out" ; create servo pin 0 for BLTouch M558 P9 C"io3.in" H5 F120 T600 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X23 Y10 Z0 ; set Z probe trigger value, offset and trigger height M557 X20:230 Y20:200 S20 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4066 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 A421.6 C860.4 D14.2 S1.00 V24.0 B0 ; 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"temp1" Y"thermistor" T100000 B4066 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 R2.648 C163.1:161.1 D6.32 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S315 ; set temperature limit for heater 1 to 315C ; Fans ; M950 F0 C"out3" Q500 ; create fan 0 on pin out3 and set its frequency ; M106 P0 C"PartCool" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"out4" Q500 ; create fan 1 on pin out4 and set its frequency M106 P1 C"HotEnd" S1 H1:0 T35 ; set fan 1 name and value. Thermostatic control is turned on M950 F2 C"out5" Q500 ; create fan 2 on pin out5 and set its frequency M106 P2 C"CaseFan" S1 H1:0 T35 ; set fan 2 name and value. Thermostatic control is turned on ; Tools M563 P0 S"Hotend" D0 H1 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 M280 P0 S160 ; Clear any alarms M402 ; Retract pin just in case ; Miscellaneous M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H1 X-255 Y-225 F1000 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y5 F360 ; go back a few mm G1 H1 X-255 Y-225 F360 ; move slowly to X and Y axis endstops once more (second pass) G90 ; absolute position G1 X95 Y100 F1000 ; move probe to center of bed G30 ; Uncomment the following lines to lift Z after probing ; G91 ; relative positioning ; G1 H1 Z215 F800 ; lift Z relative start position ; G90 ; absolute positioning
; homex.g ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time) G90 ; absolute position ;G1 H2 Z0 F1000 ; Do not lift Z relative to current position ; G1 H2 Z-10 F1000 ; lift Z relative to current position G1 H1 X-255 F1000 ; move quickly to X axis endstop and stop there (first pass) ; G30 G1 H2 X5 F1000 ; go back a few mm G1 H1 X-255 F360 ; move slowly to X axis endstop once more (second pass) ;G1 H2 Z0 F1000 ; Do not lower Z again
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z0 F1000 ; lift Z relative to current position G1 H1 Y-225 F1000 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y5 F1000 ; go back a few mm G1 H1 Y-225 F360 ; move slowly to Y axis endstop once more (second pass) ;G1 H2 Z0 F6000 ; lower Z again G90 ; absolute positioning
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sun May 23 2021 16:36:21 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G90 ; absolute position G1 X95 Y100 F1000 ; move probe to center of bed G30
-
Something I can also recommend to you, is splitting the home[all|x|y|z].g files into seperate ones.
I had trouble with homeall not working while x or y separately worked well.homeall.g
; homeall.g ; called to home all axes M98 P"/sys/homex.g" ;start homing x M98 P"/sys/homey.g" ;start homing y M98 P"/sys/homez.g" ;start homing z G1 H1 X0 ; return 0 X axis G1 H1 Y0 ; return 0 Y axis
and then put for code for x y z homing in separate files.
This also helps to find bugs when it comes to "why homez doesn't work standalone, but works when homeall is used" kind of things.