SOLVED G28 Z homing failed BL-Touch - No other Z-endstop installed
Flex12 last edited by
i'm relatively new to RRF3 and Duet in general. Last time it was possible for me to get homing for X and Y axle done.
I installed for many reasons a BL-Touch Sensor to get leveling on my large print area done. This seemed like an easy task, but unfortunatly i come to a stall when i encounter always the same error. So i thought i should ask the community again on what exactly to change in the settings or wiring.
My system is a duet wifi2 in combination with a duex2. I wired the BL-Touch servo to PWM1 on the duex and the Z-Probe to the according port on the DuetWifi2. I found a guide which seems originally written for RRF2 (https://forum.duet3d.com/topic/7972/bl-touch-install-success) and i changed a few things to match up with RRF3. This is where my struggles begun. After changing every nescessary thing to run on RRF3 i startet my machine only to find out that for G30 i need G28 for the axle to be possible to be level. So now im confused if I have to add an additional max Z Switch for my printer. I would rather go foreward with just the BL-Touch installed. I could really use some help.
Here is my config:
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sat Jan 09 2021 23:47:21 GMT+0100 (Mitteleuropäische Normalzeit) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"xxxxxxx" ; set printer name M81 ; activate power toggle ; Network M551 P"xxxxxxx" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P2 S0 ; physical drive 2 goes backwards M569 P5 S1 ; physical drive 5 goes forwards M569 P1 S1 ; physical drive 1 goes backwards M569 P0 S0 ; physical drive 0 goes forwards M569 P4 S1 ; physical drive 3 goes forwards M569 P3 S1 ; physical drive 4 goes forwards M584 X5:2 Y1:0 Z3 E4 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z400.00 E420.00 ; set steps per mm M566 X900.00 Y900.00 Z900.00 E900.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z300 E12000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E500.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 maxima M208 X720 Y420 Z390 S0 ; set axis minima M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Endstops M574 X2 S1 P"e1stop+e0stop" ; configure active-high endstop for low end on X via pin e1stop & e0stop M574 Y2 S1 P"ystop+xstop" ; configure active-high endstop for low end on Y via pin ystop & xstop ; Z-Probe M950 S0 C"duex.pwm1" ; create servo pin 1 duex for BLTouch M558 P9 C"^zstop.in" H5 F120 T3000 ; set Z probe type to bltouch and the dive height + speeds G31 P25 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X10:710 Y10:410 S50 ; define mesh grid probe from X=10 to 710, Y=10 to 410 mm with a mesh spacing of 50mm M280 P0 S10 ; send control signal to BLTouch through servo lane ; Heaters M140 H-1 ; disable heated bed (overrides default heater mapping) M308 S0 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin e0temp M950 H0 C"e0heat" T0 ; create nozzle heater output on e0heat and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H0 S280 ; set temperature limit for heater 0 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 H T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P2 S"Extr1" D1 F0 ; define tool 1 G10 P2 X10 Y10 Z10 ; set tool 1 axis offsets G10 P2 R0 S0 ; set initial tool 1 active and standby temperatures to 0C M563 P3 S"Laser" F-1 ; define tool 2 G10 P3 X0 Y0 Z0 ; set tool 2 axis offsets G10 P3 R0 S0 ; set initial tool 2 active and standby temperatures to 0C ; Custom settings are not defined
The result from the Fail Message:
G28 Z Error: in file macro line 9: G30: Z probe 0 not found Error: Homing failed
The Macro that still doesnt work:
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sat Jan 09 2021 23:47:21 GMT+0100 (Mitteleuropäische Normalzeit) G91 ; relative positioning G1 H2 Z5 F200 ; lift Z relative to current position G90 ; absolut positioning G1 X360 Y210 F2000 ; center print head G30 ; lower head, stop when probe triggered and set Z to trigger height
Results from M122:
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2.2 running on Duet WiFi 1.02 or later + DueX2 Board ID: 08DLM-996RU-N85T0-6J9FL-3SD6R-1SS3N Used output buffers: 3 of 24 (14 max) === RTOS === Static ram: 23460 Dynamic ram: 73396 of which 252 recycled Never used RAM 14972, free system stack 119 words Tasks: NETWORK(ready,186) HEAT(blocked,308) DUEX(blocked,31) MAIN(running,619) IDLE(ready,20) Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:18:22 ago, cause: software Last software reset at 2021-04-18 20:33, reason: User, GCodes spinning, available RAM 15232, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 34.0, current 36.7, max 36.9 Supply voltage: min 0.3, current 12.0, max 12.4, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: position 36000, standstill, SG min/max 0/264 Driver 1: position 21000, standstill, SG min/max 0/263 Driver 2: position 2000, standstill, SG min/max 102/387 Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0, standstill, SG min/max 0/250 Driver 6: position 0, standstill, SG min/max not available Driver 7: position 0 Driver 8: position 0 Driver 9: position 0 Driver 10: position 0 Driver 11: position 0 Date/time: 2021-04-18 20:52:22 Cache data hit count 1350640719 Slowest loop: 9.36ms; fastest: 0.13ms 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.9ms, write time 0.0ms, max retries 0 === Move === DMs created 83, maxWait 14329ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 12, completed moves 12, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === 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.60ms; fastest: 0.00ms Responder states: HTTP(0) 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.25 WiFi MAC address 84:0d:8e:b2:f6:52 WiFi Vcc 3.33, reset reason Turned on by main processor WiFi flash size 4194304, free heap 27064 WiFi IP address 192.168.0.102 WiFi signal strength -45dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0 === DueX === Read count 1, 0.05 reads/min
engikeneer last edited by
@flex12 If using a z-probe, you don't need a separate endstop on Z. I only use my BLtouch for Z-homing on my printer, Here's my config for my BLtouch on my Duet Wifi (RRF 3.2.2):
; Z-Probe M574 Z1 S2 ; Set endstops controlled by probe M558 P9 C"^zprobe.in" H3 F100 T2500 A10 S0.005 ; define BLtouch on zprobe input M950 S0 C"exp.heater7" ; define servo pin G31 X42 Y-5 Z2.45 P25 ; define offsets & trigger
The differences I can see are:
- M558, I use the Z-Probe pin on the Duet. I think you should be using this too (not the endstop pin as your command suggests). I think the endstop piun name might also be wrong (hence the Duet doesn't find the Z probe for the G30 line in your homez.g.
- You have a M280 command in your config which will deploy the probe pin when the config is run at startup. Unless you have a good reason for this, I'd take it out (note that the BLtouch will automatically do its self test when it is powered on).
Try running M98 P"config.g" from the console in DWC. That will run the config file then spit out any errors it finds. You won't see these when the config is loaded at boot because the web interface isn't up then.
M558 P9 C"^zstop.in" H5 F120 T3000
Where exactly is the bltouch white wire connected? It should be to the zprobe input pin.
Can you send M401 and M402 to test if the bltouch servo control is working correctly?
Flex12 last edited by
Thank you for helping me. My 3D-Printer finally is able to home properly and performe a mesh bed leveling procedure.