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

    Endstops not stopping motors

    Scheduled Pinned Locked Moved Solved
    Duet Hardware and wiring
    3
    17
    547
    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.
    • Harryniceundefined
      Harrynice
      last edited by Harrynice

      Hi all,

      I am having a really strange issue with my endstops not working correctly. For some reason, when I attempt to home either Y or Z, they continue to move even though the endstops have been triggered. X was like this for a while but now seems to be working OK

      So, to start with some basic information:

      I am using a Duet 2 WiFi, firmware version 3.1.1. I have 3 standard microswitch endstops, all at low end, all active low. The board LEDs all switch off when the switches are triggered, and I can see the endstop states changing in Machine Specific settings when they are pressed.

      Running M119 shows the correct endstop states, as well as 'Z-Probe: at min stop' (though I have no probe attached at the moment and I assumed it would be disabled by my M558 entry below).

      I feel so close to actually starting to print now (first thing will be a mount for my probe), but so far away every time I experience an issue like this. I would really appreciate if someone could point me in the right direction please!

      My config.g is below (I have attached homeall, homex, homey and homez):

      ; General preferences
      G90                                                ; Send absolute coordinates...
      M83                                                ; ...but relative extruder moves
      
      ;Network
      M552 S1                                            ; enable network
      M550 P"#####"                                      ; set printer name
      M551 P"#####"                                      ; set password
      M552 P192.168.1.13                                 ; set IP address and enable network
      M554 P192.168.1.1                                  ; Gateway (not used yet)
      M553 P255.255.255.0                                ; Netmask
      M586 P0 S1                                         ; enable HTTP
      M586 P1 S1                                         ; enable FTP
      M586 P2 S0                                         ; disable Telnet
      
      ;PanelDue
      M575 P1 B57600 S1                                  ; Set auxiliary serial port baud rate and require checksum (for PanelDue)
      
      ; Drives
      M564 H0                                            ; allow axis movement without homing
      M569 P0 S1                                         ; physical drive 0 goes forwards
      M569 P1 S1                                         ; physical drive 1 goes forwards
      M569 P2 S0                                         ; physical drive 2 goes backwards
      M569 P3 S0                                         ; physical drive 3 goes backwards
      M584 X0 Y1 Z2 E3                                   ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
      M92 X160.00 Y160.00 Z800.00 E837.00                ; set steps per mm
      M566 X900.00 Y900.00 Z12.00 E120.00                ; set maximum instantaneous speed changes (mm/min)
      M203 X1000.00 Y1000.00 Z250.00 E1000               ; set maximum speeds (mm/min)
      M201 X1000.00 Y1000.00 Z240.00 E1000.00            ; set accelerations (mm/s^2)
      M906 X800 Y800 Z800 E800 I30                       ; 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 minimum
      M208 X200 Y200 Z180 S0                             ; set axis maximum
      
      ; Endstops
      M574 X1 S1 P"xstop"                                ; configure active-low endstop for low end on X via pin xstop
      M574 Y1 S1 P"zstop"                                ; configure active-low endstop for low end on Y via pin ystop
      M574 Z1 S1 P"ystop"                                ; configure active-low endstop for low end on Z via pin zstop
      
      ; Z-Probe
      M558 P0 H3 F120 T6000                              ; disable Z probe but set dive height, probe speed and travel speed
      ;M557 X0:200 Y0:200 S20                            ; define mesh grid
      
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4138     ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat 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"e0temp" Y"thermistor" T100000 B4138      ; configure sensor 1 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
      M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
      
      ; Fans
      M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 H1 T45                                  ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
      M106 P1 S1 H1 T45                                  ; set fan 1 value. Thermostatic control is turned on
      
      ; Tools
      M563 P0 D0 H1 F0                                   ; 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
      
      ; Misc
      M501                                               ; read stored parameters
      

      homeall.g
      homex.g
      homey.g
      homez.g

      JoergS5undefined 2 Replies Last reply Reply Quote 0
      • JoergS5undefined
        JoergS5 @Harrynice
        last edited by

        @Harrynice said in Endstops not stopping motors:

        ; Endstops M574 X1 S1 P"xstop" ; configure active-low endstop for low end on X via pin xstop M574 Y1 S1 P"zstop" ; configure active-low endstop for low end on Y via pin ystop M574 Z1 S1 P"ystop" ; configure active-low endstop for low end on Z via pin zstop

        Is it a typo that you connect Y1 with zstop and Z1 with ystop, or is it a mistake?

        Harryniceundefined 1 Reply Last reply Reply Quote 1
        • JoergS5undefined
          JoergS5 @Harrynice
          last edited by

          @Harrynice you should also check the following chapter:

          in https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3
          "Endstop type S0 (active low switch) is no longer supported in M574 commands. Instead, use type S1 and invert the input by prefixing the pin name with '!'. Ex: M574 X1 S1 P"!xstop". Invert the input when using an NPN output inductive or capacitive sensor, or using a NO switch (not recommended, use a NC switch instead)."
          You said you have active low endstops, so you may need the ! parameter.

          Harryniceundefined 2 Replies Last reply Reply Quote 1
          • Harryniceundefined
            Harrynice @JoergS5
            last edited by

            @JoergS5 well spotted - I probably did this while troubleshooting today. Will correct it.

            1 Reply Last reply Reply Quote 0
            • Harryniceundefined
              Harrynice @JoergS5
              last edited by

              @JoergS5 I have actually tried this; as soon as I add '!' to any of the stops, WiFi stops working...

              JoergS5undefined 2 Replies Last reply Reply Quote 0
              • JoergS5undefined
                JoergS5 @Harrynice
                last edited by

                @Harrynice What do you mean by stopping: it says immediately that endstops activated, or do you mean something else?

                Harryniceundefined 1 Reply Last reply Reply Quote 0
                • JoergS5undefined
                  JoergS5 @Harrynice
                  last edited by

                  @Harrynice do you have a sys/config-override.g file, because you call M501 at the end of config.g?

                  Harryniceundefined 1 Reply Last reply Reply Quote 0
                  • Harryniceundefined
                    Harrynice @JoergS5
                    last edited by

                    @JoergS5 I do - have attached it to this post

                    config-override.g

                    JoergS5undefined 1 Reply Last reply Reply Quote 0
                    • Harryniceundefined
                      Harrynice @JoergS5
                      last edited by

                      @JoergS5 said in Endstops not stopping motors:

                      @Harrynice What do you mean by stopping: it says immediately that endstops activated, or do you mean something else?

                      Sorry - not sure what you are referring to here...

                      1 Reply Last reply Reply Quote 0
                      • Harryniceundefined
                        Harrynice @JoergS5
                        last edited by

                        @JoergS5 said in Endstops not stopping motors:

                        @Harrynice you should also check the following chapter:
                        in https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3
                        "Endstop type S0 (active low switch) is no longer supported in M574 commands. Instead, use type S1 and invert the input by prefixing the pin name with '!'. Ex: M574 X1 S1 P"!xstop". Invert the input when using an NPN output inductive or capacitive sensor, or using a NO switch (not recommended, use a NC switch instead)."
                        You said you have active low endstops, so you may need the ! parameter.

                        I tried this again just to double check; once the '!' was added and the board rebooted, when i pressed home for any of the axes, z moved up as expected and then the other axes moved about 5mm or so in the wrong direction.

                        So, I removed the '!', rebooted and tried again and now all of the axes are homing properly!

                        I am REALLY confused now - that is the only change I made other than correcting the stop naming mistake you spotted earlier. I dont know what happened here but it looks (for the moment at least) like it is fixed!

                        Thank you so much for your help!

                        JoergS5undefined 1 Reply Last reply Reply Quote 0
                        • JoergS5undefined
                          JoergS5 @Harrynice
                          last edited by

                          @Harrynice in config-override is nothing special.

                          1 Reply Last reply Reply Quote 0
                          • JoergS5undefined
                            JoergS5 @Harrynice
                            last edited by

                            @Harrynice That's god news!!! Enjoy your first printing!

                            Harryniceundefined 1 Reply Last reply Reply Quote 1
                            • Harryniceundefined
                              Harrynice @JoergS5
                              last edited by Harrynice

                              @JoergS5 Afraid not - both of my heaters are now giving me faults (heating more slowly than expected). This happened yesterday too, but seemed to be fixed after I ran M303.

                              I am destined never to print with this board!

                              JoergS5undefined 1 Reply Last reply Reply Quote 0
                              • JoergS5undefined
                                JoergS5 @Harrynice
                                last edited by JoergS5

                                @Harrynice don't give up!

                                There is a wiki about thermistors, you may use the wrong parameters. I would ignore the bed heating and concentrate on the hotend. To begin you can print pla without bed heating.

                                Harryniceundefined 1 Reply Last reply Reply Quote 0
                                • Harryniceundefined
                                  Harrynice @JoergS5
                                  last edited by

                                  @JoergS5 I managed to fix it and am currently printing a calibration cube - will let you know how it goes but looking good so far...

                                  Thanks so much for your help - it has been a long journey to get here! 😊

                                  1 Reply Last reply Reply Quote 1
                                  • Phaedruxundefined
                                    Phaedrux Moderator
                                    last edited by

                                    What did you do to fix it?

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    Harryniceundefined 1 Reply Last reply Reply Quote 0
                                    • Harryniceundefined
                                      Harrynice @Phaedrux
                                      last edited by Harrynice

                                      @Phaedrux Embarrassingly, I didnt realise that my previous M303 hadn't been stored, so the heaters weren't actually configured! 😊

                                      Unfortunately, my cubes are printing with a backwards lean, so have raised another question to see if anyone can help.

                                      The best thing is that this is all in preparation for transitioning from a prusa clone to a hypercube evolution, so I can imagine I will have a lot more questions to ask again once I start using the new build!

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