I've got a little project based on a mini-pro. It's powered by a 12 volt battery, and it switches on a number of medium power current loads (several 12 volt light bulbs ranging from 10 to 40 watts).
The bulbs are switched on via relays (driven from a digital-out pin via a resistor/transistor chain with a zener diode across the relay coil)
The device works without the bulbs connected, the relays switch on and off quite happily without problems. The problem comes when I actually connect the light bulbs. As soon as the relay switches the bulb(s) on the arduino re-starts itself.
The 12 volt battery that powers the arduino also powers the bulbs, so my guess is that switching the load creates some transient pulses that cause a glitch that the arduino doesn't like - causing the restart.
My current solution is a large capacitor across the load. This seems to be a bit drastic (it's a very large capacitor-4000 uF) is there a better/simpler solution?
The 12 volt battery that powers the arduino also powers the bulbs, so my guess is that switching the load creates some transient pulses that cause a glitch that the arduino doesn't like - causing the restart.
Yes, tungsten bulbs take about 10 times the steady state current at switch on due
to the filament being at room temperature at that point, so unless the supply can
cope with that temporary load it will droop.
Your decoupling capacitor is a common solution to things of this sort, but as MarkT points out, separate power will solve it. -you're rather defeating the point of using relays if power is shared.
The arduino is part of a stand-alone project for occasional testing of the health of a remote, off-grid device. The only way to have a separate power supply is a 2nd battery - which I'd prefer to avoid.
Your decoupling capacitor is a common solution
I'm not sure a 4000uf capacitor counts as a decoupling capacitor! one of the problems with this solution is the physical size of the capacitor - that's why I was hoping for something simpler!