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

    Z endstop not working during homez or homeall

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    6
    952
    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.
    • iamthebest22undefined
      iamthebest22
      last edited by

      Hi all, thanks for the help on the other one dc42, I'm still looking at that, but I just have another problem. Home X and Y is working on my COREXY printer, but the endstop not getting recognized when triggered. Basically I have the Makerbot mechanical endstop for my HEVO, which is using this setup: https://www.thingiverse.com/thing:2520022 when i press the microswitch, the red light lights up, so it is being recognized, but the z axis still keeps pushing the plate up. I followed the wiki and did M574 Z1 S0. Here is my full config.g:

      P.S. I took this from someone who is using 1.17, but I'm using 1.19, would that be part of the problem?
      ; Configuration file for Duet WiFi (firmware version 1.17)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool on Fri Oct 20 2017 20:23:53 GMT-0700 (Pacific Daylight Time)

      ; General preferences
      M111 S0 ; Debugging off
      G21 ; Work in millimetres
      G90 ; Send absolute coordinates…
      M83 ; ...but relative extruder moves
      M555 P2 ; Set firmware compatibility to look like Marlin

      M667 S1 ; Select CoreXY mode
      M208 X0 Y0 Z0 S1 ; Set axis minima
      M208 X300 Y300 Z260 S0 ; Set axis maxima

      ; Endstops
      M574 Z1 S0 ; Define active low and unused microswitches
      M574 X1 Z0 Y1 S1 ; Define active high microswitches

      ; Drives
      M569 P0 S0 ; Drive 0 goes forwards
      M569 P1 S0 ; Drive 1 goes forwards
      M569 P2 S0 ; Drive 2 goes reverse
      M569 P3 S1 ; Drive 3 goes forwards
      M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
      M92 X80.52 Y81.81 Z400 E804 ; Set steps per mm
      M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
      M203 X18000 Y18000 Z180 E1200 ; Set maximum speeds (mm/min)
      M201 X500 Y20 Z250 E250 ; Set accelerations (mm/s^2)
      M906 X800 Y800 Z800 E1200 I30 ; Set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout

      ; Heaters
      M143 S280 ; Set maximum heater temperature to 280C
      M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
      M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
      M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1

      ; Tools
      M563 P0 D0 H1 ; 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

      ; Network
      M550 PHEVO (Hypercube Evolution) ; Set machine name

      M552 S1 ; Enable network

      M586 P0 S1 ; Enable HTTP
      M586 P1 S0 ; Disable FTP
      M586 P2 S0 ; Disable Telnet

      ; Fans
      M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
      M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
      M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

      ; Custom settings are not configured

      Here is my Homez.g:
      ; homez.g
      ; called to home the Z axis
      ;
      ; generated by RepRapFirmware Configuration Tool on Fri Oct 20 2017 20:23:53 GMT-0700 (Pacific Daylight Time)
      G91 ; relative mode
      G1 Z4 F200 ; raise head 4mm to ensure it is above the switch trigger height
      G90 ; back to absolute mode
      G1 X0 Y0 F2000 ; put the head wherever you want it to be when you home Z (omit this line if it doesn't matter)
      G91 ; relative mode
      G1 Z-200 S1 F100 ; move Z down until the switch triggers
      G90 ; back to absolute mode

      and my Homall.g:
      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool on Fri Oct 20 2017 20:23:52 GMT-0700 (Pacific Daylight Time)

      ; Relative positioning
      G91 ; relative mode
      G1 Z4 F200 ; raise head 4mm
      G1 X-240 Y-240 F3000 S1 ; move up to 240mm in the -X and -Y directions until the homing switches are triggered
      G1 X4 Y4 F600 ; move slowly 6mm in +X and +Y directions
      G1 X-10 Y-10 S1 ; move up to 10mm in the -X and -Y directions until the homing switches are triggered
      G90 ; back to absolute mode
      G1 X150 Y150 F2000 ; put head over the centre of the bed, or wherever you want to probe
      G30 ; lower head, stop when probe triggered and set Z to trigger height

      ; Uncomment the following line to lift the nozzle after probing
      ;G1 Z5 F100

      Sorry for being a noob, read the wiki, but for some reason can't get this to work, trying to go between reprapfirmware and Marlin is confusing me >.< but I'll get it!

      1 Reply Last reply Reply Quote 0
      • elmoretundefined
        elmoret
        last edited by

        M574 Z1 S0 ; Define active low and unused microswitches
        M574 X1 Z0 Y1 S1 ; Define active high microswitches

        You're defining the Z-endstop twice, once as low end active low, and then defining it as not present.

        https://duet3d.com/wiki/G-code#M574:_Set_endstop_configuration

        1 Reply Last reply Reply Quote 0
        • zerogeeundefined
          zerogee
          last edited by

          you need one M574 line like this:

          M574 X1 Y2 Z1 S0 ; Define active low and unused microswitches

          the X1 defined the switch on the low end and Y2 is on the Y highside. and S0 A normally-closed endstop switch. this is the line in my GCode and it works perfect.

          1 Reply Last reply Reply Quote 0
          • zerogeeundefined
            zerogee
            last edited by

            In your code delete: ; M574 Z1 S0 ; Define active low and unused microswitches

            and change this line: M574 X1 Z0 Y1 S1 ; Define active high microswitches

            to: M574 X1 Z1 Y1 S0 ; Define active high microswitches

            Im not sure where you switches are so I'm assuming they are all on the low end. if not change the axis (x,y,z) number to 1 (low) and 2 (high)

            1 Reply Last reply Reply Quote 0
            • iamthebest22undefined
              iamthebest22
              last edited by

              Thanks Zerogee and Elmoret I'm an idiot xD, I switched the two lines and it worked! SO it's now
              M574 X1 Z0 Y1 S1 ; Define active high microswitches then followed by
              M574 Z1 S0 ; Define active low and unused microswitches and that seems to work!

              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators
                last edited by

                Odd, if all 3 endstop switches are the Makerbot ones and they are wired correctly, then the corresponding LEDs on the Duet should be on when they are triggered, and you should need S0 for all of them in the M574 command. See https://duet3d.com/wiki/Connecting_endstop_switches#Makerbot_Mechanical_Endstop_v1.2.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

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