E3.STOP Endstop not working as expected
-
Hi,
Im using a Duet 2 wifi 1.04.
My wiring is confirmed, and the behavior is confirmed across several duet 2 wifi. I can only get E3.STOP to trigger if I connect it to 3.3v, grounding it like the regular endstop pins results in no signal. The problem comes when I try to re-probe the same point slower, the circuit appears to get stuck in the "ON" position after it gets triggered for a few seconds even if the endstop is immediately opened. It is an active closed switch. One person in my old post suggested adding a delay, however that feels more like a band aid and I feel like I should address the real issue. From reading literature, this behavior is not present when using a duet expansion board.
Measuring voltage at idle across one of the main endstop pins and ground I get 1.7v, across E3.STOP and ground I get 0v. Incase you are wondering, I get 1.7 ohm between the exp ground and the endstop ground, so it is the same ground.
I was wondering what the circuit looks like on the duet expansion. Im trying to make a custom board that gives me two removable driver slots and an extra endstop. Currently I have disabled my filament sensors and am cannibalizing one of those ports for the second X endstop on my machines. Obviously I would prefer not to do this.
This may be wishful thinking given that I have already ordered a set of PCB, but I am hoping it is a firmware config issue, my build is attached.
I made an old post about this before this project got moved to the top of the stack, now I am actively working on this initiative again, so I created a new post. In the old post there was a suggestion to add a delay.
[0_1616517118489_TinkerworkerSSR.zip](Uploading 100%)
-
E3_STOP does not have a pull-up resistor to +3.3 Volts like the other stop inputs do.
You can try one (or both) of these two things:
- Add a "^" character to your pin configuration to turn on the built-in pullup in the MCU.
- Add a 10K Ohm pullup from the E3_STOP input pin to 3.3 Volts.
-
Firstly thank you for your prompt and knowledgeable reply.
Secondly, is there a reason I would not want to enable the built in pullup?
-
The built-in pullup is "weak" so it might not be able to pull the signal "up" if there is noise on the signal wires, if they are very long, or if your switch has some resistance to ground even when "open".
An external pullup can be a smaller-value resistor so it will try harder to pull the signal up.
There's no reason not to leave the built-in pullup enabled even if you add an external pull-up. There's no reason to leave it enabled either with an external resistor.
-
Edit: I read up on pullup resistors and I understand now. Thanks!
-
@alankilian Ordered some 10k 1/4w resistors off amazon and tested it out. Surprise, surprise, it works! Thank you so much!
10K Ohm 1/4W 1206 Fixed Resistors, 5% Tolerance 300pcs
Fortunately for me the way my custom pcb is laid out I can solder the resistor directly between the power header pin and the signal header pin. Already have a design done the right way with the resistor having its own space, but ill only use that if I decide to make more.
The only funny thing is that I am not measuring a voltage drop like I am on the native duet endstops. Triple checked everything and there is no short, would have thought there would be a voltage drop.
-
Well that's great news!