SOLVED Duet 3 endstops do not working properly



  • This is what I currently have in my config file.

    ; Endstops
    M574 X1 S1 P"io1.in" ; Map the X endstop to io1.in
    M574 Y1 S1 P"io3.in" ; May the Y endstop to io3.in

    They show as triggered when I push the endstop switches.

    When I home they act like they never even touched them and keep slamming into the side. Am I missing something?



  • post your config and homing files



  • ; Configuration file for Duet 3 (firmware version 3)

    ; General preferences
    G21
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"RailcoreOrange" ; set printer name
    M669 K1 ; select CoreXY mode

    ; Drives
    ;X&Y
    M569 P0.0 S0 ; physical drive 0.0 goes backwards
    M569 P0.1 S0 ; physical drive 0.1 goes backwards
    ;Z
    M569 P1.0 S1 ; physical drive 1.0 goes forwards Front Left Z
    M569 P1.1 S1 ; physical drive 1.1 goes forwards Rear Left Z
    M569 P1.2 S1 ; physical drive 1.2 goes forwards Right Z
    ;Extruders
    M569 P0.3 S1 ; physical drive 0.3 goes forwards
    M569 P0.4 S1 ; physical drive 0.4 goes forwards

    ;Leadscrew locations
    M671 X-10:-10:333 Y22.5:277.5:150 S7.5 ;Front left, Rear Left, Right S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew

    ;Stepper Mapping and Settings
    M584 X0.0 Y0.1 Z1.0:1.1:1.2 E0.3:0.4 ; set drive mapping
    M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
    M92 X200.00 Y200.00 Z1600.00 E837.00:837.00 ; set steps per mm
    M566 X1000.00 Y1000.00 Z100.00 E1500.00:1500.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X24000.00 Y24000.00 Z900.00 E3600.00:3600.00 ; set maximum speeds (mm/min)
    M201 X3000.00 Y3000.00 Z100.00 E1500.00:1500.00 ; set accelerations (mm/s^2)
    M906 X1500 Y1500 Z1000 E800:800 I20 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X230 Y230 Z300 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"io1.in" ; Map the X endstop to io1.in
    M574 Y1 S1 P"io3.in" ; May the Y endstop to io3.in

    ; Z-Probe
    M557 X15:215 Y15:195 S20 ; define mesh grid

    ;BLTouch
    M558 P9 C"io7.in" H5 R1 F120 T6000 A5 S0.02 B1 ; Define the bltouch input on io7.in
    M950 S0 C"io7.out" ; Define the bltouch servo on io7.out
    G31 X-30 Y0 Z1.90 P25 ; Set the offsets for the bltouch

    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0 ; create bed heater output on out0 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"temp1" Y"thermistor" T500000 B4723 R4700 C1.196220e-7 ; configure sensor 1 as thermistor on pin temp1
    M950 H1 C"out1" T1 ; create nozzle heater output on out1 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
    M308 S2 P"temp2" Y"thermistor" T500000 B4723 R4700 C1.196220e-7 ; configure sensor 2 as thermistor on pin temp2
    M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2
    M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M143 H2 S450 ; set temperature limit for heater 2 to 450C

    ; Fans
    M950 F0 C"out7" ; Hotend fan 0 on pin out7 and set its frequency
    M106 P0 S1 H1:2 T30 ; Hotend fan 0 value. Thermostatic control is turned on
    M950 F1 C"out8" ; Layer Fan 1 on pin out8 and set its frequency
    M106 P1 S0 H-1 ; Layer fan 1 value. Thermostatic control is turned off

    ; Tools
    M563 P1 S"standard" D0 H1 F0 ; define tool 1
    G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
    G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
    M563 P2 S"magnum" D1 H2 F0 ; define tool 2
    G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets
    G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C

    ; Custom settings are not defined

    ; Miscellaneous
    M575 P1 S1 B57600 ; enable support for PanelDue
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

    ; Filament Sensor
    M591 D0 P7 C"io6.in" S0 E50 L1.25 R25:175 A1



  • ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.9 on Fri Nov 27 2020 22:19:43 GMT-0600 (Central Standard Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-235 F1800 ; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F6000 ; go back a few mm
    G1 H1 X-235 F360 ; move slowly to X axis endstop once more (second pass)
    G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning


    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.9 on Fri Nov 27 2020 22:19:43 GMT-0600 (Central Standard Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 Y-235 F1800 ; move quickly to Y axis endstop and stop there (first pass)
    G1 Y5 F6000 ; go back a few mm
    G1 H1 Y-235 F360 ; move slowly to Y axis endstop once more (second pass)
    G1 H2 Z-5 F6000 ; lower Z again
    G90 ; absolute positioning


    ; homez.g
    ; called to home the Z axis
    ;
    G91
    G1 Z5 F800 H2
    G90
    G1 X130 Y130 F2400
    G30
    G1 Z2 F200



  • are you on firmware 3.1.1?

    are you sure you did not get x and y switched?



  • 3.2 beta 4

    I tried swapping the endstops and still had the same issue.



  • just to be sure, post the output of M119 once without and once with pressing the x endstop



  • m119
    Endstops - X: not stopped, Y: not stopped, Z: no endstop, Z probe: not stopped

    m119
    Endstops - X: at min stop, Y: at min stop, Z: no endstop, Z probe: not stopped



  • I also checked and y is y and x is x.



  • it looks ok.

    and you are pressing single home actions instead of homeall? as you did not post the homeall.



  • Whoops no I'm doing home all.

    M98 P"homex.g"
    M98 P"homey.g"
    M98 P"homez.g"


  • Moderator

    Can you send M98 P"config.g" and report any errors?

    Can you send M122 and report the results?

    Your homeall calling the other macros is fine.

    Something seems amiss though. The endstops are showing as getting triggered when pressed but not stopping homing.

    Are you editing the files in the system tab in DWC?

    You're sure the X endstop is physically wired to io1.in?

    What type of endstop switch is it?



  • I will get you what I can when my bed PID tune is done for some reason it is going on 2 hours now, but it finally seems to be at the last step I hope.



  • I am editing through the dwc yes.
    100% yes that x is in io1.in and y is in io3.in


  • Moderator

    @Vampora said in Duet 3 endstops do not working properly:

    I will get you what I can when my bed PID tune is done for some reason it is going on 2 hours now, but it finally seems to be at the last step I hope.

    This would be due to using 3.2 beta 4 and the new tuning algorithm. Do you intend to be doing beta testing? If this is a new build I might suggest sticking to 3.1.1.



  • Never mind I'll just do it. The tuning failed anyways.

    The endstop switch is one of these little guys.

    https://www.amazon.com/gp/product/B07167R6D1/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

    As far as beta I normally do it just to play around. I normally don't have issues honestly. I had issues with the 3.1.1 firmware not installing properly for whatever reason and ended up getting the beta loaded on easy peasy. It has been a long couple of days.

    M98 P"config.g"
    Error: M550: Machine name must consist of the same letters and digits as configured by the Linux hostname

    m122
    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.2-beta4 running on Duet 3 MB6HC v1.01 or later (SBC mode)
    Board ID: 08DJM-956BA-NA3TN-6JTD0-3SS6J-1V92V
    Used output buffers: 1 of 40 (11 max)
    === RTOS ===
    Static ram: 123212
    Dynamic ram: 138480 of which 88 recycled
    Never used RAM 130412, free system stack 178 words
    Tasks: Linux(ready,53) HEAT(blocked,189) CanReceiv(blocked,947) CanSender(blocked,371) CanClock(blocked,352) TMC(blocked,54) MAIN(running,1179) IDLE(ready,19)
    Owned mutexes: HTTP(MAIN)
    === Platform ===
    Last reset 02:23:25 ago, cause: software
    Last software reset at 2020-11-29 12:32, reason: User, none spinning, available RAM 130476, slot 0
    Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0xffffffff Task Linu
    Error status: 0x00
    MCU temperature: min 36.7, current 37.6, max 41.9
    Supply voltage: min 24.1, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
    12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0
    Driver 0: position 0, standstill, reads 9094, writes 17 timeouts 0, SG min/max 0/0
    Driver 1: position 0, standstill, reads 9094, writes 17 timeouts 0, SG min/max 0/0
    Driver 2: position 0, standstill, reads 9101, writes 11 timeouts 0, SG min/max 0/0
    Driver 3: position 0, standstill, reads 9096, writes 17 timeouts 0, SG min/max 0/0
    Driver 4: position 0, standstill, reads 9097, writes 17 timeouts 0, SG min/max 0/0
    Driver 5: position 0, standstill, reads 9103, writes 11 timeouts 0, SG min/max 0/0
    Date/time: 2020-11-29 14:56:09
    Slowest loop: 69.54ms; fastest: 0.10ms
    === Storage ===
    Free file entries: 10
    SD card 0 not detected, interface speed: 37.5MBytes/sec
    SD card longest read time 0.0ms, write time 0.0ms, max retries 0
    === Move ===
    Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves 0, completed moves 0, StepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
    === AuxDDARing ===
    Scheduled moves 0, completed moves 0, StepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    === GCodes ===
    Segments left: 0
    Movement lock held by null
    HTTP* is doing "M122" in state(s) 0
    Telnet is idle in state(s) 0
    File is idle in state(s) 0
    USB is idle in state(s) 0
    Aux is idle in state(s) 0
    Trigger* is idle in state(s) 0
    Queue is idle in state(s) 0
    LCD is idle in state(s) 0
    SBC is idle in state(s) 0
    Daemon is idle in state(s) 0
    Aux2 is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Filament sensors ===
    Extruder 0 sensor: no data received
    === CAN ===
    Messages queued 34390, send timeouts 0, received 14, lost 0, longest wait 1ms for reply type 6018, free buffers 47
    === SBC interface ===
    State: 0, failed transfers: 0
    Last transfer: 19ms ago
    RX/TX seq numbers: 40224/40225
    SPI underruns 0, overruns 0
    Number of disconnects: 0, IAP RAM available 0x20a28
    Buffer RX/TX: 0/0-0
    === Duet Control Server ===
    Duet Control Server v3.2.0-beta4
    Code buffer space: 4096
    Configured SPI speed: 8000000 Hz
    Full transfers per second: 35.17



  • Oh wow.... im sorry for wasting all of your time. I figured it out.

    My Y motor was turning the wrong direction. i needed to have the X reversed and the Y forward. It looked just like it should have when homing normally, so i didn't question it.


Log in to reply