Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    G28 Z homing failed BL-Touch - No other Z-endstop installed

    Scheduled Pinned Locked Moved Solved
    Using Duet Controllers
    3
    4
    870
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Flex12undefined
      Flex12
      last edited by

      Hello Everyone

      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
      
      engikeneerundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
      • engikeneerundefined
        engikeneer @Flex12
        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.

        E3D TC with D3Mini and Toolboards.
        Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
        i3 clone with a bunch of mods

        1 Reply Last reply Reply Quote 1
        • Phaedruxundefined
          Phaedrux Moderator @Flex12
          last edited by Phaedrux

          @flex12 said in G28 Z homing failed BL-Touch - No other Z-endstop installed:

          M558 P9 C"^zstop.in" H5 F120 T3000

          Yes that is likely your main problem. Change zstop.in to zprobe.in.

          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?

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • Flex12undefined
            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. 👍

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            Unless otherwise noted, all forum content is licensed under CC-BY-SA