Config BLTouch on Duet2 for Z Homing
-
I have just finishing a CoreXY D-Bot controlled by a Duet2 Ethernet with no expansion boards. I have the BLTouch installed so that it has an X offset of -23. At X0, the BLTouch is not over the bed, it is maybe 15mm from the edge.
I have two questions.
-
On the Reprap config tool page for drives, what endstop pin option do I select for the Z drive (Z-Stop, Z-Stop (Active-Low), Z-Stop (Pull-up), Z-Stop (Active-Low, Pull-up)?
-
Can I use the BLTouch for Z Homing even though at X0 it is not over the bed?
Sorry for the noob questions. I went through about 20 pages of a search for BLTouch and didn't find the answer.
I am currently using a Ordbot Hadron I built 10 years ago and have always run repetier firmware so this is my first reprap machine.
-
-
@flyboy369
to 1.
select not assigned
to 2.
Yes, that is possible and not unusual.
The homing of the axes happens first for X and Y and then for Z.
For the homing of Z the printhead usually is moved to the center of the bed.
But this needs to be adjusted later in the homing files.
As far as i have seen in the config tool the head is only moved until the sensor is at the edge of the print area.
It is important that the offset for the sensor is specified correctly. -
@DIY-O-Sphere Thanks for the help. I will get it wired up tomorrow and see about getting the config fixed up.
-
Post your homing files and config.g if you want a sanity check.
It would help to know your firmware version as well. -
@Phaedrux Got it wired up tonight and it passes the static test.
Here is the config.g
; Configuration file for Duet WiFi (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Apr 29 2023 09:58:12 GMT-0700 (Mountain Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"TroysDBot" ; set printer name
M669 K1 ; select CoreXY mode; 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 S1 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 Z4 I0 ; configure microstepping without interpolation
M350 X16 Y16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E420.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z100.00 E250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800 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 X320 Y278 Z250 S0 ; set axis maxima; Endstops
M574 X1 S1 P"!^xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !^xstop
M574 Y1 S1 P"!^ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !^ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
G31 P500 X-23 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X15:300 Y15:270 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B1 S1.00 ; enable 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"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 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 are not defined
; 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 -
@Phaedrux Here is the homex.g
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Apr 29 2023 09:58:12 GMT-0700 (Mountain Standard Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-325 F3000 ; move quickly to X axis endstop and stop there (first pass)
G1 X5 F6000 ; go back a few mm
G1 H1 X-325 F360 ; move slowly to X axis endstop once more (second pass)
G1 H2 Z-5 F6000 ; lower Z again
G90 ; absolute positioningHomey.g
; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Apr 29 2023 09:58:12 GMT-0700 (Mountain Standard Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 Y-283 F3000 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y5 F6000 ; go back a few mm
G1 H1 Y-283 F360 ; move slowly to Y axis endstop once more (second pass)
G1 H2 Z-5 F6000 ; lower Z again
G90 ; absolute positioningHomez.g
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Apr 29 2023 09:58:12 GMT-0700 (Mountain Standard Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G90 ; absolute positioning
G1 X38 Y15 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 positioningHomeall.g
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.3.16 on Sat Apr 29 2023 09:58:12 GMT-0700 (Mountain Standard Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-325 Y-283 F3000 ; move quickly to X or Y endstop and stop there (first pass)
G1 H1 X-325 ; home X axis
G1 H1 Y-283 ; home Y axis
G1 X5 Y5 F6000 ; go back a few mm
G1 H1 X-325 F360 ; move slowly to X axis endstop once more (second pass)
G1 H1 Y-283 ; then move slowly to Y axis endstop
G90 ; absolute positioning
G1 X38 Y15 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 positioningThanks for the help.
-
@flyboy369 said in Config BLTouch on Duet2 for Z Homing:
Remove that line from the config.g
M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
Check the endstop settings
usually the look like thisM574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
Check the microstepping for Z
M350 Z4 I0 ; configure microstepping without interpolation<
In the homez.g and in homeall.g
changeG1 X38 Y15 F6000 ; go to first probe point<
to
G1 X183 Y139 F6000 ; go to first probe point
That should be the center....
-
@DIY-O-Sphere Thanks! Made the changes and will try to finish the bltouch calibration today.
-
@flyboy369 Got it working. Thanks for all of the help. I was able to do an initial mesh compensation map as a test.