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

    Triple Z G28/G32 homing error

    Scheduled Pinned Locked Moved
    Firmware installation
    3
    6
    301
    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.
    • Nordleundefined
      Nordle
      last edited by

      Hello,
      I'm having trouble setting up my printer to do auto bed levelling. It is a custom corexy machine using 3 individual Z motors and a bltouch as Zprobe.

      I can run M28 X, M28 Y and M28 Z individually without a problem.
      M28 however throws: ''Error: Failed to enable endstops''

      bed.g

      G28 ; home
      G30 P0 X0 Y0 Z-99999 ; probe near a leadscrew front left
      G30 P1 X369 Y0 Z-99999 ; probe near a leadscrew front right
      G30 P2 X177 Y329 Z-99999 S3 ; probe near a leadscrew rear mid. and calibrate 3 motors
      

      Also I can run:
      G30 P0 X0 Y0 Z-99999
      G30 P1 X369 Y0 Z-99999
      G30 P2 X177 Y329 Z-99999 S3
      individually, and it does work as intended
      G32 however also throws: ''Error: Failed to enable endstops''
      I assume because my bed.g starts with G28

      config.g

      ; General preferences
      M575 P1 S1 B57600                              ; enable support for PanelDue
      G90                                            ; send absolute coordinates...
      M83                                            ; ...but relative extruder moves
      M550 P"CryXY"                             ; set printer name
      M669 K1                                        ; select CoreXY mode
      
      ; Network
      M552 S1                                        ; enable network
      M586 P0 S1                                     ; enable HTTP
      M586 P1 S0                                     ; disable FTP
      M586 P2 S0                                     ; disable Telnet
      
      ; Drives
      M569 P0 S0                                     ; X physical drive 0 goes reverse
      M569 P1 S1                                     ; Y physical drive 1 goes forwards
      M569 P7 S0                                     ; Z physical drive 7 = E4-RampsZ goes reverse
      M569 P8 S1                                     ; Z physical drive 8 = E5-RampsY goes forwards
      M569 P9 S0                                     ; Z physical drive 9 = E6-RampsX goes reverse
      M569 P3 S1                                     ; E physical drive 3 goes forwards
      M584 X0 Y1 Z7:8:9 E3                           ; set drive mapping (changed to triple Zyx)
      M671 X201.5:444.5:-41.5 Y400.3:-20.6:-20.6 S6   ; level points from CAD at rear mid z, front right y, rear front left x. Snnn max correction move. Fnnn Fudge Factor
      M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z80.00 E415.00               ; set steps per mm
      M566 X900.00 Y900.00 Z900.00 E120.00           ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z6000.00 E1200.00       ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z200.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 X-18 Y-3 Z0 S1                               ; set axis minima (max travel X414 Y348 Z???)
      M208 X396 Y345 Z200 S0                         ; set axis maxima (my current offset X-18 Y-3)
      
      ; 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
      
      ; Z-Probe
      M950 S0 C"exp.heater3"                         ; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H5 F120 T6000 R0.2 A3    ; set Z probe type to bltouch and the dive height + speeds  MUA R A
      G31 P500 X24.5 Y4.35 Z2.5                      ; set Z probe trigger value, offset and trigger height
      M557 X15:215 Y15:195 S20                       ; define mesh grid DOOOOIT
      
      ; 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 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 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 S"BMG" 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
      

      Thanks

      jay_s_ukundefined 1 Reply Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk @Nordle
        last edited by

        @Nordle what's in your homeall.g?

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        Nordleundefined 1 Reply Last reply Reply Quote 0
        • Nordleundefined
          Nordle @jay_s_uk
          last edited by

          @jay_s_uk
          homeall.g

          G91                     ; relative positioning
          G1 H1 X-235 Z-205 F1800 ; move quickly to X or Z endstop and stop there (first pass)
          G1 H1 X-235             ; home X axis
          G1 H1 Z-205             ; home Z axis
          G1 X5 Z5 F6000          ; go back a few mm
          G1 H1 X-235 F360        ; move slowly to X axis endstop once more (second pass)
          G1 H1 Z-205             ; then move slowly to Z axis endstop
          G1 H2 Z5 F6000          ; lift Z relative to current position
          G1 H1 Y-215 F1800       ; move Y down stopping at the endstop
          G90                     ; absolute positioning
          
          
          Nordleundefined 1 Reply Last reply Reply Quote 0
          • Nordleundefined
            Nordle @Nordle
            last edited by

            @jay_s_uk
            I just remembered that when I first create files for this machine I selected by mistake coreXZ instead of coreXY in the configuration tool... I already changed that in config.g to corexy but didn't think of all the other files
            could there be other corruptions?

            fixed my homeall.g to:

            ; homeall.g
            ; called to home all axes
            ;
            ; generated by RepRapFirmware Configuration Tool v3.3.14 on Tue Nov 15 2022 22:25:09 GMT+0100 (Central European Standard Time)
            G91                     ; relative positioning
            G1 H2 Z5 F6000          ; lift Z relative to current position
            G1 H1 X-235 Y-215 F1800 ; move quickly to X or Y endstop and stop there (first pass)
            G1 H1 X-235             ; home X axis
            G1 H1 Y-215             ; home Y axis
            G1 X5 Y5 F6000          ; go back a few mm
            G1 H1 X-235 F360        ; move slowly to X axis endstop once more (second pass)
            G1 H1 Y-215             ; then move slowly to Y axis endstop
            G1 H1 Z-205 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
            

            now G28 does work, but G32 still throws the error

            Nordleundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
            • Nordleundefined
              Nordle @Nordle
              last edited by

              Nevermind this, was wrong again, but you got me in the right direction. Thanks for that^^

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

                @Nordle said in Triple Z G28/G32 homing error:

                G1 H1 Z-205 F360 ; move Z down stopping at the endstopG90 ; absolute positioningG92 Z0 ; set Z position to axis minimum (you may want to adjust this)

                This part needs to be replaced by a G1 X Y move to position the probe, and then G30 to use the probe to home z.

                Z-Bot CoreXY Build | Thingiverse Profile

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