End stop sometimes false positive

We are using the min_endstop with firmware 0.5.1 and it’s not working correctly. The endstop itself works quite well, but now i tried to auto-home the odrive on startup. The endstop works perfectly fine when pressing it by hand.

When enabling homing, closed loop mode, startup encoder index search, offset calibration and so on it should just calibrate the motor, find the index and home itself. It does that sometimes just fine, but most of the time it starts to calibrate the motor, makes a loud beep, but only half as long as usual and then errors with ERROR_MIN_ENDSTOP_PRESSED.

So basically it seems like exactly while it’s beeping from the motor calibration it thinks the endstop is pressed, even though it isn’t. I’m asking now before doing too many investigations, because i remember that there was a bug in the firmware 0.5.1. Could this problem be related?

I remember that the bug had to do with the pullup resistors, but this can’t really be a problem in my case, because I have a normally closed switch, which pulls the pin to ground and it is set up with pullup and as active high, so because it is always closed and always pulls it to ground, this can’t really be the issue.

I can also see that the state of the endstop never changes, but there’s still a ERROR_ENDSTOP_PRESSED exactly while calibrating the motor.

Oh you know what, it might actually be the wiring. I will try to move the end stop wires further away from the motor wires. Got the idea because of the high frequency beeping, maybe there’s a current induced in the wrong wire.

If i don’t write anymore, then this might have solved the problem.

1 Like

Okay the problem is back, i think i do need some help on this one.

Wiring problem generally. Add a little RC filter to the ODrive side of your endstop wires