Endstops Not triggering in Web GUI, but trigger LEDS on Duex
-
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
-
; 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
-
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.
-
@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-endstopsFor
M98 P"config.g"
, make sure you use straight quotes, not curly quotes. Or you can leave out the quotes entirely and sendM98 Pconfig.g
.Ian
-
@droftarts said in Endstops Not triggering in Web GUI, but trigger LEDS on Duex:
M98 P"config.g"
This is what I get when I try to do an M98
-
@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
-
This post is deleted! -
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.
-
This post is deleted! -
This post is deleted! -
@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?
-
@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.
-
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.
-
@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
-
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.
-
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.
-
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.
-
@Fickert Great, glad you managed to resolve the problem.
Ian
-
-