How can I ´protect my arduino pro against external noise?

Hi, dear fellows!

I'm new here!

Recently, I've built a project with Arduino pro mini and I've been facing a huge problem. This problem is characterized by a freezing of the program - code running in the ATMega, and I think is related to the voltage drop of my power supply (12 Vdc).

The voltage drop occurs when I turn on a set of coils, that is connected in parallel with my power supply (see image below).

I'm not an expert in electronics, so I'd like an advice on how to build a device to protect my power supply/Arduino against this issue.

Thanks!

PS: I saw on the internet that inductors can help. However, I don't know how to size a proper inductor for my need.

ArduinoProject.jpg

Inductors are the problem not the solution.

First off... if you are experiencing a voltage drop of any kind... you need a better power source.

People usually attack this "inductive spike" in the power rail due to solenoids by starting with adding capacitors not additional inductors as they are much easier to lay your hands on...

Capacitors can help tame the spike on your power rail but your wiring but be the source of the excessive noise. Is your diode on the relay coil soldered really close to the relay? Are there LONG wires involved in this solution?

Sorry for annoying questions... but your image doesn't really answer them... (Its not really that informative in its current state)

In AC circuits, there are these neat RC snubber things you can use:

ArduinoProject.jpg

Power the Arduino from a separate 9VDC external power supply.
Use flyback/snubbing diodes across DC relay coils.
Relays are to be drive by a driver.

Some driver examples:

.

Inductors are the problem not the solution.

You can use them in power supply decoupling

From De-coupling

. However, I don't know how to size a proper inductor for my need.

The bigger the better, but you are restricted by size and cost.

However if you haven't got a back EMF diode across each coil then you are asking for trouble.

I have a couple of thoughts on your issue:

  • If it is indeed a transient drop in the power supply (as opposed to the supply collapsing because of lack of capability) then you could diode isolate the Arduino board and add a two capacitors (10µF -> 100 µf // 0.1µF) across the arduino input power pins. This will allow the arduino to retain voltage (for a short period of time) while the power supply recovers.

  • However, usually the issue occurs when a coil it turned off. This will result in a positive spike on the supply (and the above will be less effective). In this case you would need to add a diode across the coil (if not already there) and some additional power supply capacitance would help (at least not hurt)

I also notice you drew the "coils" as a three terminal device which means there is more to them than just a coil. Perhaps the errant signal is sneaking in the arduino's I/O pins. If possible you may try adding a resistance in series with the coil signal.

pwillard:
Capacitors can help tame the spike on your power rail but your wiring but be the source of the excessive noise. Is your diode on the relay coil soldered really close to the relay? Are there LONG wires involved in this solution?

Hi, pwillard!

Thanks for the reply!

For the coil, I meant solenoids. My solenoids have a voltage of 110 Vac, so a diode it isn't a good solution - I think.

For the second question, there aren't long wires involved.

I already installed a RC snubber circuit in each of the solenoids contacts, but the problem persists!

larryd:
ArduinoProject.jpg

Power the Arduino from a separate 9VDC external power supply.
Relays are to be drive by a driver.
.

Hi, larryd!

I gonna power the Arduino with 9VDC external power supply. I think is a good idea.

In fact, my relays are driven by a relay module - with all the electronics i.e. transistors, optocoupler, etc.

For that reason, I thought that the problem could be related to the voltage drop - not the opposite.

JohnRob:
add a two capacitors (10µF -> 100 µf // 0.1µF) across the arduino input power pins.

Hi, JohnRob!

How can I wire it? Can you post a diagram?

Thanks!

Is the relay module in proper opto-isolated mode? Most have a jumper that can bypass the isolation.

You will get a lot of EMI from a switched solenoid, you should protect all the cables going into the Arduino.

You may be getting common-mode noise along the signal cables, direct noise injection into the PSU from
the mains.

Try to site everything well away from the solenoids as their magnetic field will induce voltages in
all nearby wiring directly.

Please provide full details of all the hardware you are talking about, the word "solenoid" is not
enough, nor is "relay module" - which solenoids? which relay module? which 12V PSU?, details of
the wiring too - all signal cables must have a ground-return(*) for instance, from that sketch we have
no idea if you've done it properly...

(*) for most relay modules its actually a Vcc return but it serves the same function.

larryd:

Larryd,

Right below the 12VDC in the picture, there is a component with three terminals (1, 2 and 3). Which component is that?

Once again, sorry for my newbie question!

Do you mean the relay contacts?

MarkT:
Do you mean the relay contacts?

The relay contacts. Definitely is that!

Thanks!