Endstops on expansion connector not working



  • Hi!
    I'm trying to get work any of endstop pins on expansion connector. I've connected GND (pin2) and E2_STOP (pin4) to normaly closed emergency stop button. Put in config.g M581 E0:6 S1 C0 T0, restarted board. But nothing happens when I pushing and releasing the button. I tried to connect button to another slot pins (2+14, 2+24), no luck. But it works perfectly when connect to E0_STOP or E1_STOP.
    Duet Web Control at tab "machine properties" shows changing of status for drive's 0-4 endstops, but 5-9 always in status Endstop hit No, 10-11 - yes.

    Firmware Name: RepRapFirmware for Duet WiFi
    Firmware Electronics: Duet WiFi 1.0
    Firmware Version: 1.20 (2017-12-23)
    WiFi Server Version: 1.20
    Web Interface Version: 1.20

    Thanks for help.

    config.g:

    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Tue Feb 13 2018 20:09:36 GMT+0200 (EET)

    ; 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
    ; Automatic saving after power loss is not enabled
    M208 X0 Y0 Z-207 S1 ; Set axis minima
    M208 X212 Y117 Z0 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y2 Z2 S0 ; Set active low endstops
    M558 P0 H0 F120 T3600 ; Set Z probe type to switch and the dive height + speeds
    G31 P600 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M557 X15:215 Y15:195 S20 ; Define mesh grid

    ; Drives
    M569 P0 S0 ; Drive 0 goes backwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X400 Y400 Z400 E420 ; Set steps per mm
    M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X3000 Y3000 Z2400 E1200 ; Set maximum speeds (mm/min)
    M201 X50 Y50 Z50 E250 ; Set accelerations (mm/s^2)
    M906 X700 Y700 Z700 E1000 ; Set motor currents (mA)
    M84 S0 ; Disable motor idle current reduction

    ; Heaters
    M141 H2 ; Assign chamber heater to heater 0
    M301 H2 P-1 ; Set heater 2 to bang-bang mode
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    M305 P2 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 2
    M143 H2 S50 ; Set temperature limit for heater 2 to 50C

    ; 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

    ; 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 H T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H2 T30

    ; Custom settings are not configured
    M581 E0:6 S1 C0 T0

    ; Miscellaneous
    T0 ; Select first tool


  • administrators

    To use the endstop connections on the expansion connector, you need to use firmware 1.21RC1 or later.



  • Thank you for answer, dc42
    I've updated firmware:
    Firmware Electronics: Duet WiFi 1.02 or later
    Firmware Version: 1.21RC1 (2018-01-25)
    WiFi Server Version: 1.21RC1
    Web Interface Version: 1.20

    Endstop now displays inverted (Machine properties->Drive Configuration).
    The state changes to "No" when endstop is touched (home position, led is on now on duet board).
    See screenshot
    Endstops 0-2 (x,y,z) on screenshot was activated (shorted to gnd, home position); E0 & E1 not connected at all. Previous fw (v1.20 duet & v1.20 web server) displayed "Yes" in the same situation for 0-2 and "No" for 3,4.

    And about endstops on expansion conn – nothing changed after fw update, trigger not working, state not changes at tab "machine properties").


  • administrators

    Do you still have S0 in your M574 command, or have you changed it?

    It's normal for E0 and E1 to show as triggered when nothing is connected to them and they have no corresponding axes, because in the absence of a M574 command to configure them (which you can only do if you have another 2 axes) they default to active high.



  • @dc42:

    Do you still have S0 in your M574 command, or have you changed it?

    M574 X1 Y2 Z2 S0

    @dc42:

    It's normal for E0 and E1 to show as triggered when nothing is connected to them and they have no corresponding axes, because in the absence of a M574 command to configure them (which you can only do if you have another 2 axes) they default to active high.

    Sometimes I see drive 8 endstop state randomly changes. Tried to pull-up Epin_STOP with 10k to 3.3v, tried different pins, tried to connect STOP pin directly to to GND, state not changes.

    I flashed fw 1.20 again:
    Firmware Name: RepRapFirmware for Duet WiFi
    Firmware Electronics: Duet WiFi 1.0
    Firmware Version: 1.20 (2017-12-23)
    WiFi Server Version: 1.21RC1
    Web Interface Version: 1.20

    In same conditions, just after update "Machine properties" – see screenshot


  • administrators

    I am sorry, the pin assignments for the expansion connector endstop inputs are wrong in the 1.21RC1 firmware. Please try 1.21RC2 which I hope to release later today.



  • Thank you!
    I've updated to 1.21RC2, endstops on expansion connector works well.
    But there area strange behavior. The button (normally closed) connected to E2 pin.
    M581 E0:6 S1 C0 T0 – trigger for E2 does not work
    M581 E2 S1 C0 T0 – trigger for E2 pin works well


  • administrators

    Command M581 E2 S1 C0 T0 is the correct command for setting up a trigger on the E2 endstop input. Why were you expecting M581 E0:6 S1 C0 T0 to have anything to do with the E2 pin?



  • On the basis of the documentation https://duet3d.com/wiki/G-code#M581:_Configure_external_trigger
    Example
    M581 E1:2 S1 T2 C1 ; invoke trigger 2 when a rising edge is detected on the E1 or E2 endstop input and a file is being printed from SD card

    I thought that E1:2 indicates a range in that example. What does symbol ":" exactly means in this command (M581) ?


  • administrators

    Yes, it means exactly the numbers in the colon-separated list.


Locked
 

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