How do I home my Z axis with BLTouch?
-
Whenever I home all the Z-Axis goes down and then stops, the probe doesn't deploy (I have dual z axis by the way).
-
Post your config.g homez.g and homeall.g
Also send M122 and M98 P"config.g" and post the results. -
@phaedrux Config: ; Configuration file for Duet WiFi (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Apr 21 2022 23:00:27 GMT-0700 (Pacific Daylight Time); General preferences
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Ender 5 Plus" ; 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 S1 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
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 E409.00 ; set steps per mm
M566 X600.00 Y600.00 Z30.00 E1200.00 ; set maximum instantaneous speed changes (mm/min)
M203 X9000.00 Y9000.00 Z480.00 E7200.00 ; set maximum speeds (mm/min)
M201 X1500.00 Y1500.00 Z100.00 E6000.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E1100 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X20 Y20 Z0 S1 ; set axis minima
M208 X320 Y320 Z350 S0 ; set axis maxima; Endstops
M574 X2 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin xstop
M574 Y2 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin ystop; 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
G31 P500 X-41 Y-2 Z3.75 ; set Z probe trigger value, offset and trigger height
M557 X35:215 Y35:195 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 ; 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 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S100 ; set temperature limit for heater 0 to 100C
M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; 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 H0 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 S"Nozzle" 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
M501 ; load saved parameters from non-volatile memoryHomez.g: ; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Apr 21 2022 23:00:28 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G90
G1 H1 Z-355 F1800 ; move Z down until the endstop is triggered
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
G30; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioningM122: === Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.0 (2022-03-15 18:58:31) running on Duet WiFi 1.02 or later
Board ID: 0JD0M-9P6M2-NW4SS-6JKD8-3SN6Q-1UWMK
Used output buffers: 3 of 24 (21 max)
=== RTOS ===
Static ram: 23868
Dynamic ram: 74300 of which 0 recycled
Never used RAM 13912, free system stack 184 words
Tasks: NETWORK(ready,13.1%,226) HEAT(notifyWait,0.0%,316) Move(notifyWait,0.0%,364) MAIN(running,85.5%,460) IDLE(ready,1.3%,30), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 00:01:12 ago, cause: power up
Last software reset at 2022-04-22 10:52, reason: User, GCodes spinning, available RAM 13764, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Step timer max interval 0
MCU temperature: min 21.4, current 26.6, max 26.9
Supply voltage: min 24.0, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min n/a
Driver 1: standstill, SG min n/a
Driver 2: standstill, SG min n/a
Driver 3: standstill, SG min n/a
Driver 4: standstill, SG min n/a
Driver 5:
Driver 6:
Driver 7:
Driver 8:
Driver 9:
Driver 10:
Driver 11:
Date/time: 2022-04-22 11:15:32
Cache data hit count 2490559107
Slowest loop: 8.64ms; fastest: 0.18ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 3.3ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty
=== Network ===
Slowest loop: 15.64ms; fastest: 0.00ms
Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8- WiFi -
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.26
WiFi MAC address e0:98:06:a4:42:62
WiFi Vcc 3.36, reset reason Turned on by main processor
WiFi flash size 4194304, free heap 24560
WiFi IP address 192.168.1.148
WiFi signal strength -52dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 4 0 0 0 0 0 0 0
M98:
M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Warning: Macro file config-override.g not found - WiFi -
-
If that Z homing code was generated by the configuration tool the tool is confused.
That is homing code when you have a Z endstop sensor 0 thus the G1 H1 Z-355 F1800 command which moves the bed toward the nozzle (or nozzle toward bed) until the Z endstop sensor is activated.
But you configuration file doesn't configure a Z endstop sensor, only X and Y.
I don't home Z with my Z probe so my example code below may not be entirely correct.
This assumes X and Y have already been homed, which is a requirement for homing with a Z probe.
G1 H2 Z5 F6000 ; lift Z relative to current position - we are about to move X and Y and we want to be sure the nozzle is clear of the bed. G1 Xaaa Ybbb Fccc ; move the probe to the center of the bed - for aaa, bbb, ccc use values suitable for your printer G30 ; probe the bed and set the logical position of Z thus homing the Z axis Hope that works for you.
Frederick
-
@fcwilt So do I replace everything in homez.g with the code you provided or just specific lines. If specific lines, please mention which ones.
-
@tratoon said in How do I home my Z axis with BLTouch?:
G1 H1 Z-355 F1800 ; move Z down until the endstop is triggered
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)Really you just need to delete these lines.
Also check your homeall.g
-
@phaedrux homez.g:
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Apr 21 2022 23:00:28 GMT-0700 (Pacific Daylight Time)
M98 P"homex.g"
M98 P"homey.g"
G1 H2 Z5 F6000 ; lift Z relative to current position - we are about to move X and Y and we want to be sure the nozzle is clear of the bed.
G1 X175 Y175 F6000 ; move the probe to the center of the bed - for aaa, bbb, ccc use values suitable for your printer
G30 ; probe the bed and set the logical position of Z thus homing the Z axis; 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.10 on Thu Apr 21 2022 23:00:28 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X305 Y305 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X-5 Y-5 F6000 ; go back a few mm
G1 H1 X305 Y305 F360 ; move slowly to X and Y axis endstops once more (second pass)
G1 H1 Z-355 F360 ; move Z down stopping at the endstop
G90 ; absolute positioning
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 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioningdoes this look correct?
-
@phaedrux said in How do I home my Z axis with BLTouch?:
Also check your homeall.g
homeall.g:
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Apr 21 2022 23:00:28 GMT-0700 (Pacific Daylight Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X305 Y305 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X-5 Y-5 F6000 ; go back a few mm
G1 H1 X305 Y305 F360 ; move slowly to X and Y axis endstops once more (second pass)
G1 H1 Z-355 F360 ; move Z down stopping at the endstop
G90 ; absolute positioning
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 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioning
Is this correct? -
@tratoon said in How do I home my Z axis with BLTouch?:
G1 H1 Z-355 F360 ; move Z down stopping at the endstop
G90 ; absolute positioning
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)Delete this part and replace it with this part
G1 H2 Z5 F6000 ; lift Z relative to current position - we are about to move X and Y and we want to be sure the nozzle is clear of the bed. G1 X175 Y175 F6000 ; move the probe to the center of the bed - for aaa, bbb, ccc use values suitable for your printer G30 ; probe the bed and set the logical position of Z thus homing the Z axis