How to protect Arduino from EMI

Good day,
i have build my project using Arduino Mega 2560 and every thing like to be fine only
facing problem when relay of Exhaust fan motor and fan motor on and off the Arduino restarting
which i reach to be electromagnetic interference, then i bought another relay board with isolation
to isolate the arduino power and i only connect 5V to relay board and not connect relay board ground to Arduino and the problem not solved, i reach to this conclusion from my post http://forum.arduino.cc/index.php?topic=343478.45
is there any solution for the problem to avoid arduino restart? and to get stable reading from analog when it need to use?
the connection diagram as the attachment,
only the deference is that relay board as i describe in beginning,
Best regards,
Sayed…

Sayed:
Good day,
then i bought another relay board with isolation to isolate the arduino power and i only connect 5V to relay board and not connect relay board ground to Arduino and the problem not solved

Can you please provide a link to the schematic of the relay board.

A proper schematic would help. I can’t understand it all, especially the SSR bit.

Why are you using the same TX and RX pins as the computer uses there are three more on the Mega.

You are much better off trying to stop the interference in the first place. Isolation alone even if you do it correctly will not stop airborne interference. That means a fly back diode and quenching circuits round the motor.

I've glossed over this and your previous post and it appears that you are switching 220VAC fan motor load(s) with a non-isolated relay board. Here's what I suggest:

  1. Replace the relay board with an opto-isolated type. Configure and connect it using full isolation mode. This usually means removing a jumper, using a separate DC supply and not making a GND connection from the relay board to the Arduino.
  2. Use suitable MOV or snubber circuit across the switch contacts or motor load.
  3. Ensure there is appropriate distance from the DC electronics and wiring to the AC load and wiring.
  4. Use a star-grounding technique for your Arduino and devices in your DC circuit.

Regards, dl

sterretje:
Can you please provide a link to the schematic of the relay board.

thanks very much,
this is the relay board that i have now, i replace the old type relay,

Grumpy_Mike:
A proper schematic would help. I can't understand it all, especially the SSR bit.

Why are you using the same TX and RX pins as the computer uses there are three more on the Mega.

You are much better off trying to stop the interference in the first place. Isolation alone even if you do it correctly will not stop airborne interference. That means a fly back diode and quenching circuits round the motor.

thank you very much,
i use this separate AC to DC to power the relay board alone,
http://www.dx.com/p/built-in-switching-power-supply-board-module-w-emi-filter-circuit-green-12v-1a-151580#.VnrYWvl97IU
and about RX,TX i move to Serial1 and keep the PC serial none use,

dlloyd:
I've glossed over this and your previous post and it appears that you are switching 220VAC fan motor load(s) with a non-isolated relay board. Here's what I suggest:

  1. Replace the relay board with an opto-isolated type. Configure and connect it using full isolation mode. This usually means removing a jumper, using a separate DC supply and not making a GND connection from the relay board to the Arduino.
  2. Use suitable MOV or snubber circuit across the switch contacts or motor load.
  3. Ensure there is appropriate distance from the DC electronics and wiring to the AC load and wiring.
  4. Use a star-grounding technique for your Arduino and devices in your DC circuit.

Regards, dl

1,4- i replace it with opto-isolated and i power it alone with separate power and i remove the ground connection and the problem still there,
about other suggestion the MOV dose not solve the problem also try capacitor and still problem there, and the 220V AC i use star grounding technique, must done on DC also?
i will try to follow the other suggestion and if i can do i will,

is there another suggestion or solution?

Yes, use star grounding on the DC side.

This is how I visualize the connections for opto-isolation and DC grounding:

i do the star grounding and the problem as i say only when switch 240VAC exhaust fan and other fan off and on,
how i can size the MOV?

A MOV should be higher than your AC supply. Such as:
Littlefuse Harris V275LA40BP or V300LA40AP
A large diameter MOV, such as these is always a good idea.

Also ensure you have complete opto-isolation. There should be absolutely no ground wire connected from the Arduino to the relay board. The relay board should have its own separate DC supply.

The Arduino should be located as far as possible from the AC circuit, fans and relay board. Test it at 2 meters away if possible.

You have a lot of devices connected to the Arduino ... the supply could be running near its thermal limit. Try testing with fewer devices connected to see if the problem goes away. Note that using a 7.5VDC supply will provide more current from the arduino's 5V pins.

Ok, 9 VDC for arduino and the the relay board totally opto isolated ground,
About the MOV only i ask for 250VAC type for our power supply 240VAC? Or tgere is way to size it?

Should be higher, (see reply #7 by Paulcs). The MOVs suggested at 275-300VAC are good options.

You haven't mentioned what your existing SSRs are used for, but I would think another good solution would be to use a zero-cross triggered SSR (like this). ON/OFF switching of this would produce no EMI/RFI.

Could you post an image of your project?

thank you dlloyd, almost result now better with the following steps,
1- isolated relay board.
2- MOV as in the post post.
3- Star grounding.
but the problem now almost in the relay board, it turn on and off when EMI effect,
i use MOV 14K271 which i found in market, across the fan and exhaust,
the SSR i connect to one of the relay board, relay 8 i remove it and connect SSR DC power connection,
the SSR used for powering heater.

What is the voltage/current/power rating of your heater and fan? What is the part number of your SSR? IF COMPATIBLE, you could use the existing SSR to control the fan and the relay to control the heater and eliminate any EMI.

However, EMI may not be the real issue. Providing 9V to the Arduino may cause thermal shutdown to occur with less than 200mA of load. Try testing with the Arduino powered by 5V through the USB connector as this will provide up to 500mA.

Note: An image of your project would be quite helpful.

thanks very much, i think almost problem solved using the MOV 271V,
but i burn the relay board by mistake while i am connecting it and now am waiting for another one,
am facing problem now with the SD card where it work with arduino uno and fail on Mega 2560
i connect it to pin 50,51,52,53 as describe in the SD library, and i try another library SDfat and same problem
it work with Uno and fail on Mega,
best regards,
Sayed…

SD_card2.ino (3.89 KB)

This type of Sd card shield
http://m.banggood.com/Arduino-Compatible-SD-Card-Module-Slot-Socket-Reader-For-Mp3-player-p-74105.html

dlloyd:
I've glossed over this and your previous post and it appears that you are switching 220VAC fan motor load(s) with a non-isolated relay board. Here's what I suggest:

  1. Replace the relay board with an opto-isolated type. Configure and connect it using full isolation mode. This usually means removing a jumper, using a separate DC supply and not making a GND connection from the relay board to the Arduino.
  2. Use suitable MOV or snubber circuit across the switch contacts or motor load.
  3. Ensure there is appropriate distance from the DC electronics and wiring to the AC load and wiring.
  4. Use a star-grounding technique for your Arduino and devices in your DC circuit.

Regards, dl

Hello,
My question was very relatable to this topic so instead of starting a new thread I am asking here itself.
Dlloyd I have been following all the points stated above and it just so came to my mind whether or not

  1. N separate MOVs should be used for an N channel relay board running mostly RESISTIVE LOADS and 1-2 inductive loads or just the one MOV at the input-AC is enough ?

  2. Also do I use snubber for resistive loads or not.

I am using MOC3021 and a BTA41 to create my own SSR board.

MrJkComedy:
My question was very relatable to this topic so instead of starting a new thread I am asking here itself.

Please read this:-
How to use this forum
Then start a new thread.

Well, the question is to whether your posting adds information to the original topic or not. If it diverges, then expecting people to read through all of the original topic just to get to your new question is unreasonable.

If I see a topic with a lot of replies then it has to be very - err - "topical" for me to even read it, let alone answer - I presume it has been "talked out".

A purely resistive load does not require a snubber. As long as you know for sure that it is purely resistive.