I have an automatic door opener/closer that uses a car window motor, 12v car battery, 2 stop sensors (just mechanical switches) arduino uno with a motor controller shield running 2 relays. It is currently, at random times, drawing a lot of current - more than 40A - for 1-2 seconds, and draining the battery.
It worked for about 3 years. Lately I added a temperature sensor so it didn't open if it was cold - in this process I managed to break a bunch of connections, some others came unplugged, there were some programming issues, all involving a lot of debugging and many times that the motor went the wrong direction and stalled until it timed out at 4 seconds. Now it works, except for the random high current draw. I don't have a digital scope, but it was pulling more than 40A, it happened once when I had the multimeter connected. Other times I know it's happened only because the battery is low. We also just changed to a smaller battery, so it could have been happening before and we didn't know because the battery could handle it.
I had two thoughts on the problem: -maybe I've killed the motor somehow. But I haven't seen it happen when the motor is running, not sure if it has or hasn't. -maybe the relays have gone weird. The inrush current for when the motor starts is about 40A, steady state when moving is 7A, and the relays are only rated for 10A and 120AC. They're about 20 years old, I think, I used them for a robot project as a kid. -maybe something is wrong with the arduino? -maybe some connection/wire crossed/mechanical thing? I can't make it happen when I shake the box around.
Any ideas? Other than just rebuilding the whole thing with new parts and properly rated relays, how can I fix the problem?