Z endstop not working during homez or homeall



  • 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!



  • 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



  • 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.



  • 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)



  • 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!


  • administrators

    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.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.