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

    Endstops Not triggering in Web GUI, but trigger LEDS on Duex

    Scheduled Pinned Locked Moved Solved
    Duet Hardware and wiring
    4
    18
    588
    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.
    • Fickertundefined
      Fickert
      last edited by Fickert

      As the title states, I am currently assembling our new Big 60 V4 for work, and have an odd endstop issue. Using the configuration for the Big 60 provided, none of the end stops trigger in the Web GUI, but on the Duex expansion board, the appropriate leds trigger on and off.

      They are using optical sensors.

      Any help would be greatly appreciated.

      Config and M122 below:

      ; Modix Big-60 V4, Duex Expansion, IDEX single extruder
      ; Configuration file for Duet WiFi (firmware version 3.4.5)
      ; Generated by Modix - Version 3.4.5 Config D 
      global config_version = "Version 3.4.5 Config D"
      global generation = 4 											; generation 4 printer
      global printhead  = 1 											; Griffin printhead
      global printheads = 1											; dual extruder
      global expansion = 1 											; Duex expansion board is installed
      global idex = 0													; idex setup
      ; for macro commands
      global pausetime = 0											; record pauzing time
      global fan_0_speed = 0 											; Used to store the fan0 speed
      global fan_1_speed = 0 											; Used to store the fan1 speed
      global filamentswitch = 0 										; filament switch disabled (edited) 
      global changer_count = 0 										; Counter for tool changer continous. 
      global toolstate = 0											; used for pauses
      
      ; General preferences_________________________________________________________
      G90																; send absolute coordinates...
      M83																; ...but relative extruder moves
      M555 P2															; Set output to look like Marlin
      M575 P1 B57600 S1												; Set auxiliary serial port baud rate and require checksum (for PanelDue)
      
      ; Network_____________________________________________________________________
      M550 P"Big 60 V4"												; set printer name
      ;M551 P"MODIX3D"												; Set password (optional)
      M98 P"config_networking.g"										; enable network
      ;M552 P0.0.0.0													; Uncomment this command for using Duet Ethernet board
      G4 P300															; wait 300ms
      
      ; Drives_________________________________________________________________________
      ;Main board______________________________________________________________________
      M569 P0 S1														; Physical drive 0. X-B-M
      M569 P1 S0														; Physical drive 1. X-F-M
      M569 P2 R-1														; Physical drive 2. U Secondary
      M569 P3 S1                                                  	; Physical drive 3. E0-Extruder.
      M569 P4 S0                                                 		; Physical drive 4. E1-Extruder.
      ;Duex5 board_____________________________________________________________________
      M569 P5 S0														; Physical drive 5. Y
      M569 P6 S1														; Physical drive 6. Z-Back-Left (ZBL)
      M569 P7 S1														; Physical drive 7. Z-Front-Left (ZFL)
      M569 P8 S1														; Physical drive 8. Z-Front-Right (ZFR)  
      M569 P9 S1														; Physical drive 9. Z-Back-Right (ZBR) 
      
      ;Settings_________________________________________________________
      M584 X0:1 Y5 Z6:7:8:9 E3:4 P4									; Driver mapping
      M671 X-185:-185:668:668 Y668:-46:-46:668 S30    				; Anticlockwise 
      ;___________________________________________________________________
      M350 X16 Y16 Z16 E16:16 I1										; Configure microstepping with interpolation
      M92 X80 Y80 Z2000 E400:400										; Set steps per mm
      M566 X500 Y500 Z30 E3000:3000 P1 								; Set maximum instantaneous speed changes (mm/min)
      M203 X18000 Y18000 Z400 E6000:6000 								; Set maximum speeds (mm/min)
      M201 X3000 Y3000 Z240 E1000:1000 								; Set accelerations (mm/s^2)
      M204 P1000 T3000 												; Set print and travel accelerations  (mm/s^2)
      M906 X1800 Y1800 Z1800 E1000:1000 I50							; Set motor currents (mA) and motor idle factor in per cent
      M84 S100														; Set idle timeout - 100 seconds
      
      ; Axis Limits
      M208 X0 Y0 Z-2 S1                               				; set axis minima
      M208 X600 Y600 Z1200 S0											; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"duex.e5stop + duex.e6stop"							; configure switch-type (e.g. microswitch) endstop for low end on X via pin e5stop + e6stop
      M574 Y1 S1 P"duex.e4stop"										; configure switch-type (e.g. microswitch) endstop for low end on Y via pin e4stop
      ; Automatic Z Offset Calibration____________________________________
      M574 Z1 S1 P"!duex.e2stop"										; configure switch-type for Automatic z-offset
      
      ; Z-Probe
      M558 P9 C"zprobe.in" H3 F180 T12000 A1 R0.5						; BLTouch probing settings
      M950 S0 C"duex.pwm5"											; sets the BLTouch probe
      M376 H100			                							; Height (mm) over which to taper off the bed compensation
      G31 P500 X0 Y32.4												; BLTouch X and Y offset
      M557 X{move.axes[0].min + sensors.probes[0].offsets[0] + 1, move.axes[0].max + sensors.probes[0].offsets[0] - 1} Y{move.axes[1].min + sensors.probes[0].offsets[1] + 1, move.axes[1].max + sensors.probes[0].offsets[1] - 1} P10:10
      																; The M557 is used to define the mesh grid area. It uses the P parameter to set the amount of probing points. P10:10 would be a 10x10 grid. Supports up to a 441 point grid. 
      M98 P"config_probe.g"											; Load the Z-offset from the config_probe.g file
      																; The Z_offset value is now set in config_probe.g, not in config.g
      																; Adjust the values there, do not adjust anything here.
      
      ; Heaters___________________________________________________________
      M140 H-1                                       					; disable heated bed (overrides default heater mapping)
      
      ;E0_________________________________________________________________
      ;M308 S0 P"e0temp" Y"thermistor" T100000 B4725   				; configure sensor 0 as thermistor on pin e0temp
      ;M308 S0 P"spi.cs1" Y"rtd-max31865"								; Configure sensor 0 as PT100 via the daughterboard
      M308 S0 P"e0temp" Y"pt1000"										; Configure sensor 0 as PT1000 on pin e0temp
      M950 H0 C"e0heat" T0                            				; create nozzle heater output on e0heat and map it to sensor 0
      M98 P"PID_tune_E0.g" R1											; PID calibration
      M143 H0 S300                                    				; set temperature limit for heater 0 to 285C
      
      ; Fans______________________________________________________________
      M950 F0 C"fan0" Q500                            				; create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 H-1 C"Primary blower fan"							; set fan 0 value. Thermostatic control is turned on
      M950 F3 C"duex.fan5" Q500                       				; create fan 3 on pin fan5 and set its frequency
      M106 P3 S255 H0 T45                             				; set fan 3 value. Thermostatic control is turned on
      ; LED______________________________________________________________
      M950 F2 C"duex.fan7" Q500                            			; create LED on pin fan7 and set its frequency
      M106 P2 S0 H-1 C"LED Primary"                            		; Disable fan channel for LED
      M950 F5 C"duex.fan8" Q500                            			; create LED ENC on pin fan8 and set its frequency
      M106 P5 S0 H-1 C"LED ENC"                              			; Disable fan channel for LED
      M106 P5 S255													; Enclosure LED on by default
      M106 P2 S255													; Primary LED on by default
      
      ; Tools______________________________________________________________
      ;T0_________________________________________________________________
      M563 P0 S"E0 Primary" D0 H0 F0 	                				; define tool 0
      G10 P0 X0 Y0 Z0                                 				; set tool 0 axis offsets
      G10 P0 S210 R180                                  				; set initial tool 0 active and standby temperatures to 210 and 180c by default
      
      ; Automatic power saving____________________________________________
      M911 S22.0 R23.5 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"   	  	; Set voltage thresholds and actions to run on power loss. Power Failure Pause
      
      ; Primary hotend Clog detector__________________________________________________
      M591 D0 P7 C"e0stop" S1 L3.14 E10 R10:300						; Clog Detector E0 [Add-On]
      
      ; Crash detector__________________________________________________
      M950 J2 C"zstop" 												; create Input Pin 2 on pin E4 to for M581 Command.
      ;M581 P2 T0 S0 R0												; Crash Detector   [Add-On]
      
      ; Emergency stop button__________________________________________________
      M950 J3 C"ystop" 												; create Input Pin 3 on pin ystop to for M581 Command.
      M950 J4 C"xstop" 												; create Input Pin 4 on pin xstop to for M581 Command.
      M581 P3 T0 S1 R0 												; Emergency stop [Add-On]
      ;M581 P4 T0 S1 R0												; Emergency stop [Add-On]
      
      ;M501
      
      m122
      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.5 (2022-11-30 19:36:12) running on Duet WiFi 1.02 or later + DueX5v0.11
      Board ID: 0JD0M-9P6M2-NW4SD-6JKDG-3SJ6L-KAQMK
      Used output buffers: 1 of 26 (18 max)
      === RTOS ===
      Static ram: 23836
      Dynamic ram: 76156 of which 0 recycled
      Never used RAM 9232, free system stack 182 words
      Tasks: NETWORK(notifyWait,13.5%,237) HEAT(notifyWait,0.0%,333) Move(notifyWait,0.0%,363) DUEX(notifyWait,0.0%,24) MAIN(running,86.3%,438) IDLE(ready,0.2%,30), total 100.0%
      Owned mutexes: WiFi(NETWORK)
      === Platform ===
      Last reset 00:08:52 ago, cause: software
      Last software reset at 2023-08-14 09:11, reason: User, GCodes spinning, available RAM 8980, slot 0
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      Aux0 errors 0,0,0
      Step timer max interval 0
      MCU temperature: min 33.3, current 34.3, max 34.8
      Supply voltage: min 24.1, current 24.3, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 99/14, heap memory allocated/used/recyclable 2048/208/4, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: standstill, SG min n/a
      Driver 1: standstill, SG min n/a
      Driver 2: standstill, SG min n/a
      Driver 3: standstill, SG min n/a
      Driver 4: standstill, SG min n/a
      Driver 5: standstill, SG min n/a
      Driver 6: standstill, SG min n/a
      Driver 7: standstill, SG min n/a
      Driver 8: standstill, SG min n/a
      Driver 9: standstill, SG min n/a
      Driver 10: 
      Driver 11: 
      Date/time: 2023-08-14 09:20:46
      Cache data hit count 4294967295
      Slowest loop: 12.18ms; fastest: 0.19ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 0.5ms, write time 2.5ms, max retries 0
      === Move ===
      DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
      === GCodes ===
      Segments left: 0
      Movement lock held by null
      HTTP is idle 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
      Daemon 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
      === DueX ===
      Read count 1, 0.11 reads/min
      === Network ===
      Slowest loop: 38.52ms; fastest: 0.00ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
      HTTP sessions: 1 of 8
      = WiFi =
      Network state is active
      WiFi module is connected to access point 
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.27
      WiFi MAC address c8:c9:a3:40:13:bb
      WiFi Vcc 3.45, reset reason Power up
      WiFi flash size 2097152, free heap 25288
      WiFi IP address 192.168.237.66
      WiFi signal strength -61dBm, mode 802.11n, reconnections 0, sleep mode modem
      Clock register 00002002
      Socket states: 0 0 0 0 0 0 0 0
      
      droftartsundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @Fickert
        last edited by

        @Fickert

        ; Endstops
        M574 X0:1 S1 P"duex.e5stop + duex.e6stop"							; configure switch-type (e.g. microswitch) endstop for low end on X via pin e5stop + e6stop
        M574 Y5 S1 P"duex.e4stop"										; configure switch-type (e.g. microswitch) endstop for low end on Y via pin e4stop
        

        This isn't a valid configuration for the endstops. The X and Y parameter refer to where the endstop is, not what driver they are connected to. See https://docs.duet3d.com/User_manual/Reference/Gcodes#m574-set-endstop-configuration

        Xnnn Position of X endstop: 0 = none, 1 = low end, 2 = high end.
        Ynnn Position of Y endstop: 0 = none, 1 = low end, 2 = high end.

        Assuming endstops are at the low end, try:

        ; Endstops
        M574 X0 S1 P"duex.e5stop + duex.e6stop"							; configure switch-type (e.g. microswitch) endstop for low end on X via pin e5stop + e6stop
        M574 Y0 S1 P"duex.e4stop"										; configure switch-type (e.g. microswitch) endstop for low end on Y via pin e4stop
        

        Sending M98 P"config.g" in the console will often show up these sorts of errors.

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        Fickertundefined 1 Reply Last reply Reply Quote 0
        • Fickertundefined
          Fickert @droftarts
          last edited by Fickert

          @droftarts

          Hey Ian, so the X0:1 Y:5 was my mistake, I was just trying stuff to see what would work. That was not the issue. Sorry to add the confusion.

          Ignoring my mistake, none of the estops function properly. I also tried "exp.e5stop" by getting the reference from the RRF config tool, but still no luck.

          Also for some reason M98 P"config.g" did not work for me when I attempted it in the console.

          droftartsundefined 1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @Fickert
            last edited by

            @Fickert See the Duet 2 section here: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Sensors_endstops#duet-endstop-inputs

            Each input has a pullup resistor and red LED between the STP pin and +3.3V. The LED will be illuminated when an endstop switch or other device connected to the input holds the voltage close to 0V (ground). Whether the LED is illuminated when the endstop switch is triggered or not triggered depends on whether your endstop switch produces and active-high or active-low output:

            • An endstop switch with an active-high output holds the input pin at about 0V when the switch is not triggered, and about +3.3V when it is triggered. A typical example is a normally-closed microswitch. The LED on the Duet will be illuminated when the switch is connected but not triggered.
            • An endstop switch with an active-low output holds the input pin at about 3.3V when the switch is not triggered, and about 0V when it is triggered. One example is a normally-open microswitch (which is not recommended, because a normally-closed switch is safer). Another example is a Hall sensor with an open-drain output that is connected directly to the Duet endstop input. The LED on the Duet will be illuminated when the switch is connected and triggered.

            If the endstop LED illuminates when the endstop is triggered, most likely the output is inverted from what RRF expects. Invert the output by adding a ! to the pin name, eg:

            ; Endstops
            M574 X0 S1 P"!duex.e5stop+duex.e6stop"
            M574 Y0 S1 P"!duex.e4stop"
            

            I can't remember if you'll need a ! on both e5 and e6stop. Also, test endstops using M119; see https://docs.duet3d.com/en/How_to_guides/Commissioning#h-8-check-endstops

            For M98 P"config.g", make sure you use straight quotes, not curly quotes. Or you can leave out the quotes entirely and send M98 Pconfig.g.

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            Fickertundefined 1 Reply Last reply Reply Quote 0
            • Fickertundefined
              Fickert @droftarts
              last edited by

              @droftarts said in Endstops Not triggering in Web GUI, but trigger LEDS on Duex:

              M98 P"config.g"

              a3bd8d4e-4ef8-4b8b-af69-6f1670620fe7-image.png

              This is what I get when I try to do an M98

              droftartsundefined 1 Reply Last reply Reply Quote 0
              • droftartsundefined
                droftarts administrators @Fickert
                last edited by

                @Fickert That's cause by the 4th line of config.g:

                global config_version = "Version 3.4.5 Config D"
                

                But only because it has already been created, at start up. If that's the only error message you get, it might be stopping running through config.g at that point, so won't report errors in your config.g.

                Ian

                Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                Fickertundefined 2 Replies Last reply Reply Quote 0
                • Fickertundefined
                  Fickert @droftarts
                  last edited by

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • Fickertundefined
                    Fickert @droftarts
                    last edited by

                    @droftarts

                    I guess what is the purpose of doing a M98 P"config.g"? Just a proper way to print out the config and use in the forum?

                    on another note, my x axis upon start up is not triggered, but if I trigger it once with the endstop manager it remains triggered even if I push the gantry away from the endstops. Still making zero sense.

                    A Former User? 2 Replies Last reply Reply Quote 0
                    • A Former User?
                      A Former User @Fickert
                      last edited by

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • A Former User?
                        A Former User @Fickert
                        last edited by

                        This post is deleted!
                        Fickertundefined 1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined
                          Phaedrux Moderator @Fickert
                          last edited by

                          @Fickert said in Endstops Not triggering in Web GUI, but trigger LEDS on Duex:

                          I am currently assembling our new Big 60 V4 for work

                          Have you been in touch with Modix support yet?

                          Z-Bot CoreXY Build | Thingiverse Profile

                          Fickertundefined 1 Reply Last reply Reply Quote 0
                          • Fickertundefined
                            Fickert @A Former User
                            last edited by

                            @Herve_Smith

                            All of the endstops are Omron EE-SX4164-P2.

                            Checked the wiring to the sensor, it seems on par of whats in the datasheet and pinout of the duex.

                            M119 always shows "axis at min" regardless if its triggered or not. Even with the LEDS showing that it is registering them being triggered.

                            And sorry, never generally used M98 to post code on the forum. I tried to start doing such, but after the 5th attempt of ";" out things it kept asking for I gave up.

                            1 Reply Last reply Reply Quote 0
                            • Fickertundefined
                              Fickert @Phaedrux
                              last edited by Fickert

                              @Phaedrux

                              I did email them, but waiting for a response. I worry this is a defective Duex board (I swapped out the Duet Wifi for a spare I had sitting at home). Which that will not be fun.

                              Everything else seems to function flawlessly. All the macros for fans, leds, gantry movements, hotend, etc all work fine.

                              droftartsundefined 1 Reply Last reply Reply Quote 0
                              • droftartsundefined
                                droftarts administrators @Fickert
                                last edited by

                                @Fickert Does your Duex follow the advice about the ground wire? https://docs.duet3d.com/Duet3D_hardware/Duet_2_family/DueX2_and_DueX5#power-wiring

                                Do not run separate ground wires from each terminal block back to the power supply unless the power supply is very close (less than 100mm) to the Duet 2 and DueX. Instead, run a very short and thick ground wire directly from the negative (-) terminal of the VIN terminal block on the DueX board to the negative VIN terminal of the Duet. Also connect the negative wire from your power supply to the negative VIN terminal of the Duet.

                                This is important, because otherwise you get grounding issues, as any potential difference between the Duet and Duex are grounded through small traces connected by the ribbon cable. Endstops are connected to ground.

                                Ian

                                Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                Fickertundefined 1 Reply Last reply Reply Quote 0
                                • Fickertundefined
                                  Fickert @droftarts
                                  last edited by

                                  @droftarts

                                  Yes, it is wired as described.

                                  I finally did get the M98 print command to show I had "invalid number of visible axes". Changed the M584 P value to 3 instead of 4 (it should remain 4 due to the extruder right?) but still no change in homing issues.

                                  1 Reply Last reply Reply Quote 0
                                  • Fickertundefined
                                    Fickert
                                    last edited by

                                    To add confusion but yet some clarity of where to go next with this, I ended up swapping out the endstop on the y axis for a standard mechanical switch. Printer was able to home the y axis with me manually triggering the switch in my hand. What was odd though was that the endstop manager plugin still did not indicate it was working, but the m119 did. A lot of inconsistency going on. Hopefully this is just an endstop issue. In contact with Modix, and will see what they think of it.

                                    1 Reply Last reply Reply Quote 1
                                    • Fickertundefined
                                      Fickert
                                      last edited by

                                      So didn't get a response from Modix yet, but just a general update, the issue is solved. As pathetic as it sounds my 2a 3.3v - 5v fuse was bad. Had continuity but was failing under load.

                                      Check your fuses kids.

                                      droftartsundefined 1 Reply Last reply Reply Quote 2
                                      • droftartsundefined
                                        droftarts administrators @Fickert
                                        last edited by

                                        @Fickert Great, glad you managed to resolve the problem.

                                        Ian

                                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                        1 Reply Last reply Reply Quote 0
                                        • Phaedruxundefined Phaedrux marked this topic as a question
                                        • Phaedruxundefined Phaedrux has marked this topic as solved
                                        • First post
                                          Last post
                                        Unless otherwise noted, all forum content is licensed under CC-BY-SA