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

    X, Y, Z Endstops intermittent connection

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    14
    370
    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.
    • Phrayzurundefined
      Phrayzur
      last edited by Phrayzur

      I've got a Duet 3 Mini 5 with the firmware etc.: FIRMWARE_NAME: RepRapFirmware for Duet 3 Mini 5+ FIRMWARE_VERSION: 3.4.1 ELECTRONICS: Duet 3 Mini5plus WiFi FIRMWARE_DATE: 2022-06-01 21:07:06. This board is running a Creality CR-10s printer. It's stock except for a E3D V6 Volcano.

      I'm having a problem with the X, Y, and Z endstops working intermittently. I was having problems with homing initially. At times the hotend wouldn't move in the home direction. It would simply move further along the axis away from home. And then it wouldn't. I'm using your "Endstops Monitor" plugin. It shows the X axis flickering as homed on and off randomly. Probably 1 or 2 times every second or 2. The Y axis is doing the same thing but not as frequently. And the Z axis is even less frequent.

      I've tested all the wiring and the endstops themselves. I've tried different wiring and different endstops. I did notice that, for a while, the X axis endstop was doing the same thing without anything connected to the boards X endstop connector. And then, after awhile, it didn't.

      I can't print with the hardware in this state. It's too unreliable. I'm out of ideas and beyond frustrated at this point.

      I'm not sure if this is specifically where I look for support from Duet3D, but I figure it's as good a place as any. I'm really hoping it's more helpful than their documentation.

      fcwiltundefined 1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @Phrayzur
        last edited by

        @phrayzur

        We can rule out bad board design and/or problems with the firmware.

        What sort of endstop sensors are you using?

        How are the connected to the Duet?

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        Phrayzurundefined 1 Reply Last reply Reply Quote 0
        • Phrayzurundefined
          Phrayzur @fcwilt
          last edited by

          @fcwilt I don't know what the brand is for the endstops but they're the stock Creality CR-10s ones. Here's a picture. 20220617_154312.jpg They're connected through the original Creality wiring. I've tested with different endstops from another printer that's working. Same issues.

          fcwiltundefined infiniteloopundefined 2 Replies Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt @Phrayzur
            last edited by

            @phrayzur

            IF different endstop sensors are having the same problem then the wiring itself would be the next thing to suspect.

            What sort of wiring is it? How long are the runs? Do they run along side any stepper or hotend wiring?

            Frederick

            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

            1 Reply Last reply Reply Quote 0
            • infiniteloopundefined
              infiniteloop @Phrayzur
              last edited by

              @phrayzur

              wiring. I've tested with different endstops from another printer that's working. Same issues.

              This way, you test endstops, not the wiring. I’m pretty sure the signal line suffers from voltage fluctuations. This can happen in case of NO switches with just two lines: GND (or VCC) and signal. As long as the switch is open, the signal line hangs in the air and acts as an antenna.

              Depending on your setup, a pull-up (or pull-down) resistor can stabilise the signal - if the NO switch connects to GND (i.e. active low), you can try to activate the internal pull-up of the Duet’s I/O port in your endstop configuration like this:

              M574 X1 S1 P“!^io1.in"

              But without more information about your config.g and wiring, that’s pure speculation.

              1 Reply Last reply Reply Quote 0
              • Phrayzurundefined
                Phrayzur
                last edited by

                The wiring is the stock Creality CR-10s wiring. It worked fine until I set up the new board. I've tested it all for continuity and there's no problem with that.

                I hate to admit it, but I really don't understand enough to figure out the rest of your message.

                What would the best way to upload my config.g?

                infiniteloopundefined 1 Reply Last reply Reply Quote 0
                • infiniteloopundefined
                  infiniteloop @Phrayzur
                  last edited by

                  @phrayzur said in X, Y, Z Endstops intermittent connection:

                  What would the best way to upload my config.g?

                  From the online editor, select </> from the icons above, then, paste your config into the line between the tags.

                  really don't understand enough to figure out the rest of your message

                  Don't worry, we'll figure that out 🤓

                  Phrayzurundefined 1 Reply Last reply Reply Quote 0
                  • Phrayzurundefined
                    Phrayzur @infiniteloop
                    last edited by

                    @infiniteloop Here's the config.g file.

                    ; Configuration file for Duet 3 Mini 5+ (firmware version 3.3)
                    ; executed by the firmware on start-up
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.3.10 on Wed Jun 15 2022 10:13:35 GMT-0600 (Central Standard Time)
                    
                    ; General preferences
                    G90                                          ; send absolute coordinates... - ORIGINAL
                    M83                                          ; ...but relative extruder moves - ORIGINAL
                    M550 P"CR-10s Duet 3 Mini 5+"                ; set printer name - ORIGINAL
                    M918 P1 E4 F2000000                          ; configure direct-connect display - ORIGINAL
                    
                    ; Network
                    M552 S1                                      ; enable network
                    M586 P0 S1                                   ; enable HTTP
                    M586 P1 S0                                   ; disable FTP
                    M586 P2 S0                                   ; disable Telnet
                    
                    ;Drives
                    M569 P0.0 D3 V91 S1							 ; physical drive 0.0 goes forwards
                    M569 P0.1 D3 V91 S0							 ; physical drive 0.1 goes forwards
                    M569 P0.2 D3 V18 S1							 ; physical drive 0.2 goes backwards
                    M569 P0.3 D3 V18 S1							 ; physical drive 0.3 goes backwards
                    M569 P0.4 D3 V75 S0							 ; physical drive 0.4 goes forwards
                    
                    M584 X0.0 Y0.1 Z0.2:0.3 E0.4                 ; set drive mapping
                    
                    M350 X16 Y16 Z16 E16 I1                      ; configure microstepping with interpolation - ORIGINAL
                    M92 X80.00 Y80.00 Z400.00 E400.00            ; set steps per mm - ORIGINAL
                    ; M566 X480.00 Y480.00 Z144.00 E300.00         ; set maximum instantaneous speed changes (mm/min) - ORIGINAL
                    M566 X480.00 Y360.00 Z144.00 E300.00         ; set maximum instantaneous speed changes (mm/min)
                    M203 X12000.00 Y12000.00 Z1200.00 E3000.00   ; set maximum speeds (mm/min) - ORIGINAL
                    ; M201 X1000.00 Y1000.00 Z100.00 E5000.00      ; set accelerations (mm/s^2) - ORIGINAL
                    M201 X1000.00 Y600.00 Z100.00 E5000.00      ; set accelerations (mm/s^2)
                    M906 X800 Y800 Z800 E800 I30                 ; set motor currents (mA) and motor idle factor in per cent - ORIGINAL
                    M84 S30                                      ; Set idle timeout - ORIGINAL
                    
                    ; Axis Limits
                    M208 X0 Y0 Z0 S1                             ; set axis minima - ORIGINAL
                    M208 X290 Y298 Z380 S0                       ; set axis maxima - ORIGINAL
                    
                    ; Endstops
                    M574 X1 S1 P"io5.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io5.in
                    M574 Y1 S1 P"io6.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io6.in
                    M574 Z1 S1 P"io2.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io2.in
                    
                    ; ; Z-Probe
                    ; M558 P0 H5 F120 T6000                        ; disable Z probe but set dive height, probe speed and travel speed - ORIGINAL
                    ; M557 X15:215 Y15:195 S20                     ; define mesh grid - ORIGINAL
                    
                    ; Bed Heater
                    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 - ORIGINAL
                    M950 H0 C"out0" T0                           ; create bed heater output on out0 and map it to sensor 0 - ORIGINAL
                    ; M307 H0 B1 S1.00                             ; enable bang-bang mode for the bed heater and set PWM limit - ORIGINAL
                    M307 H0 R0.154 K0.181:0.000 D0.69 E1.35 S1.00 B0 V12.1; disable bang-bang mode for the bed heater and set PWM limit
                    M140 H0                                      ; map heated bed to heater 0 - ORIGINAL
                    M143 H0 S120                                 ; set temperature limit for heater 0 to 120C - ORIGINAL
                    
                    ; Hotend Heater
                    ; M308 S1 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1 - ORIGINAL
                    M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
                    M950 H1 C"out1" T1                           ; create hotend heater output on out1 and map it to sensor 1 - ORIGINAL
                    ; M307 H1 B0 S1.00                             ; disable bang-bang mode for hotend heater and set PWM limit - ORIGINAL
                    M307 H1 R1.293 K0.255:0.000 D6.03 E1.35 S1.00 B0 V12.1	; disable bang-bang mode for hotend heater and set PWM limit
                    M143 H1 S285                                 ; set temperature limit for hotend heater 1 to 285C - ORIGINAL
                    
                    ; Fans
                    M950 F0 C"out3" Q500                         ; create fan 0 on pin out3 and set its frequency - ORIGINAL
                    ; M106 P0 S0 H-1                               ; set fan 0 value. Thermostatic control is turned off - ORIGINAL
                    M106 P0 C"Part Cooling Fan" S0 H-1           ; set fan 0 value. Thermostatic control is turned off
                    
                    M950 F1 C"out4" Q500                         ; create fan 1 on pin out4 and set its frequency - ORIGINAL
                    ; M106 P1 S1 H1 T45                            ; set fan 1 value. Thermostatic control is turned on - ORIGINAL
                    M106 P1 C"Hotend Fan" S1 H1 T45              ; set fan 1 value. Thermostatic control is turned on
                    
                    M950 F2 C"out5" Q500                         ; create fan 2 on pin out5 and set its frequency - ORIGINAL
                    ; M106 P2 S1 H-1                               ; set fan 2 value. Thermostatic control is turned off - ORIGINAL
                    M106 P2 C"CaseFan" S1 H-1                    ; set fan 2 name and value. Thermostatic control is turned off
                    
                    ; Tools
                    M563 P0 S"V6 Volcano" D0 H1 F0               ; define tool 0 - ORIGINAL
                    ; G10 P0 X0 Y0 Z0                              ; set tool 0 axis offsets - ORIGINAL
                    G10 P0 X0 Y5 Z0                              ; set tool 0 axis offsets
                    G10 P0 R0 S0                                 ; set initial tool 0 active and standby temperatures to 0C - ORIGINAL
                    
                    

                    I'm sorry about the lack of understanding of the terminology. Electrical isn't my forte 🙂

                    infiniteloopundefined 1 Reply Last reply Reply Quote 0
                    • infiniteloopundefined
                      infiniteloop @Phrayzur
                      last edited by

                      @phrayzur Thanks for the config. You've connected the end stops to io_2, io_5 and io_6 of your Duet. Can you please post a photo of these ports (with plugs) so that I can see which pins are connected?

                      In your original post, you mentioned some improper axis movement: does this still happen?

                      Phrayzurundefined 1 Reply Last reply Reply Quote 0
                      • Phrayzurundefined
                        Phrayzur @infiniteloop
                        last edited by

                        @infiniteloop I really appreciate the help. Thank you.

                        Here's the photo...
                        20220618_131846.jpg

                        The improper axis movement does still happen. I believe what it is is when homing the axis, it initially doesn't check to see if the endstop is triggered and moves away from the home position. Then, after moving away, it checks the endstop trigger and if it's registering as triggered then it stops where it is.

                        It seems like all the problems happen much more frequently with the X axis then about half as much with the Y axis and only occasionally with the Z axis.

                        infiniteloopundefined 1 Reply Last reply Reply Quote 0
                        • infiniteloopundefined
                          infiniteloop @Phrayzur
                          last edited by

                          @phrayzur said in X, Y, Z Endstops intermittent connection:

                          Here's the photo...

                          Thank you. I see that you connected GND and io.in - that's fine. Am I right that, at the switches, the two outer pins (S and V) are wired?

                          Phrayzurundefined 1 Reply Last reply Reply Quote 0
                          • Phrayzurundefined
                            Phrayzur @infiniteloop
                            last edited by

                            @infiniteloop That's right

                            infiniteloopundefined 1 Reply Last reply Reply Quote 0
                            • infiniteloopundefined
                              infiniteloop @Phrayzur
                              last edited by

                              @phrayzur OK. This means that the endstops are NC (normally closed) until they are "activated" - then, the contact is opened. That's a good thing, as the signal is normally pulled to GND. As long as the connection isn't loose (connectors, crimps, somewhere along the line), you should get a stable reading.

                              However, that's not what you experience, so let's try a modification of your config.g: Change this

                              ; Endstops
                              M574 X1 S1 P"io5.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io5.in
                              M574 Y1 S1 P"io6.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io6.in
                              M574 Z1 S1 P"io2.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io2.in
                              

                              into this:

                              ; Endstops
                              M574 X1 S1 P"^io5.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io5.in
                              M574 Y1 S1 P"^io6.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io6.in
                              M574 Z1 S1 P"^io2.in"                         ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io2.in
                              

                              It's just a caret ("^") in front of the io.in names. After a restart of the Duet, test this arrangement by pressing the contacts manually - no need to involve the steppers.

                              If this measure doesn't stabilise the readings of your endstops, please check your connectors, crimps and the cabling carefully: I can't think of any other reason for your setup not to work properly.

                              In a second step, we'll have a look at the X/YZ steppers. But first, get your endstops right.

                              Phrayzurundefined 1 Reply Last reply Reply Quote 0
                              • Phrayzurundefined
                                Phrayzur @infiniteloop
                                last edited by

                                @infiniteloop Thanks! Let me play around with this for a bit and see if the problems fixed. So far the X axis isn't rapidly switching...

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