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 MarlinM667 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 nameM552 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 modeand 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 F100Sorry 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 microswitchesYou'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! -
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.