Adding decoupling capacitor to Vin

Hi All,

I'm working on a project where I'm driving three separate motors via relays controlled by an Arduino Uno. I have the motors supplied by a 12v x 1amp wall wort. The Arduino is also powered via this wall wort connected to its Vin pin. When running more than one motor, from time to time the Arduino will reset back to the beginning of the program. Originally, I thought that the motors were drawing too much current and causing the supply to trip out. But, I've upped the supply to a 1.5A unit and the problem still happens when the motors don't have any load. Also, if I power the Arduino from a separate power supply (i.e. USB) this problem goes away.

From searching the forums, I think I found the answer. I think that when two motors are running at the same time, they produce enough noise at the Vin pin to reset the Arduino. I've read about people fixing this by placing 220uf capacitors between the board and the power supply. But, I'm not too familiar with capacitors and how this part of the circuit looks. If I put the capacitor in-line with the 12v I have coming to the Vin, nothing seems to get power. How would I hook up a capacitor to my Vin line to filter out some noise?

Thanks for any help!

Originally, I thought that the motors were drawing too much current and causing the supply to trip out. But, I’ve upped the supply to a 1.5A unit and the problem still happens when the motors don’t have any load. Also, if I power the Arduino from a separate power supply (i.e. USB) this problem goes away.

That may still yet be the problem. What voltage are the motors being run at? If they are powered from the arduino +5vdc bus then the current limit is not what the wall wart is rated at but rather the on-board +5vdc voltage regulator which will lower it’s +5vdc output voltage if too much current or heat caused by drawing too much current from the regulator.

Lefty

The motors are 12v and are also running off of the 12v wall wort. The arduino sends signals to transistors that trip the relays through the digital out pins . I do use the +5v pin on the Arduino to supply voltage to actually trip the relays. I suppose this could be it...perhaps running the 5v to more than one relay coil could be too much. Maybe I should be supplying the 5v for the relay coils from the wall wort via a voltage regulator rather than straight from the Arduino board. I'll try this next.

I tried jumping a 330uf capacitor between the Vin and ground pins to filter out noise. No real luck there as the Arduino still trips.

Thanks for the help!

*UPDATE**

Okay, using the +5v pin to trip the relays seems to be the problem. I used a 5v voltage regulator instead and it seems to have eliminated the reset problem. I guess I don't understand why I don't get reset issues when running off of USB power, because the board still has to supply the same 5v to the relays. Maybe with 12volts coming into the Arduino and 5v going out, its just too much power transfer for the board to take.

Okay, using the +5v pin to trip the relays seems to be the problem. I used a 5v voltage regulator instead and it seems to have eliminated the reset problem. I guess I don't understand why I don't get reset issues when running off of USB power, because the board still has to supply the same 5v to the relays. Maybe with 12volts coming into the Arduino and 5v going out, its just too much power transfer for the board to take.

The real lesson to come away with is that the Arduino board is great at controlling things, but not so great at powering things.

Lefty

So those relays have diodes across them to prevent inductive spikes, right? If not then that’s the problem and one that could fry your whole circuit.