EMI from small engine freezing up the arduino

Hi,

I'm building a remote control snow blower using a 10 channel RC controller and a mega 2560.

I have everything working but as soon as I start the engine the Arduino freezes up.

I believe the EMI from the coil or magneto is interrupting the signals.

It's all wired with shielded wire with only one end ( at GPIO pin) to battery ground.

Since I have it in a plastic container I tried wrapping the inside and lid with foil.

Do I have to install low pass filters (capacitor & resistor) on every wire?

3 servos that run direct from the receiver to run my throttle, choke and steering are unaffected and still work fine. Only the Arduino freezes up.

I finally uploaded a photo on my reply to Pal.

Any suggestion would be appreciated

The picture I tried to load with my post didn't upload. here it is

A quick way to limit the EMI from the engine ignition is to put all the engine wiring in copper tubing for shielding, Grounding one end of the tubing to the engine metal. That includes the spark plug wire.

Paul

Hi Paul,

I'm thinking that most of the EMI is coming from the pulse of the ignition coil and/or the rotating magnets on the magneto that energizes the coil and small 8watt alternator windings that powers the headlight.

Presuming that the electronics container is not anywhere near the ignition wiring, it is probably more important how you route all your sensor and control wiring. It is particularly important to run all control and/ or supply wires bundled tightly with their respective ground returns, so as not to form any open loops.

Keeping wires tightly bound to the ground returns also provides basic shielding against capacitive pickup.

I have the same problem with a pinball machine in controlling 48 volt AC coils. the Arduino simply resets itself. I have not yet figured out an answer. The same system works fine with 24 volt AC coils, but this game is a Bally not a Gottlieb. It'll drive you crazy.

You definitely need a metal box and to ground all the shields for the cables to this box - until you
do this your circuit is far too efficient a receiving antenna for interference. Spark ignition systems are
horrendously noisy unless the plug leads are shielded (its a real nuisance that this is rarely done).

The only thing worse than spark ignition is an electric welder I believe.

Get your Ohmmeter out and set it for the lowest reading. Then press the tips of the two leads together until you get the lowest reading you can on the meter. Write this number down somewhere because you need to find this same number or close to it in the following tests. Be sure the points of the test lead probes are sharp!

Use the engine spark plug metal base as common for all tests.
Measure the resistance between your Arduino ground and the spark plug. Should be near zero. If not, make it zero by connecting more wires between the Arduino ground and the machine frame.
Measure the resistance between the spark plug and the foil in the pan you show in the picture. The resistance should be near zero. If not, fix it! Aluminum foil is covered with insulating oxide.
You mention you used shielded wire. At the Arduino end, are all the shields connected together and connected to the Arduino ground? If not, make it so.
Are the far ends of the shielded wires NOT connected to anything? If they are, you do not have a shield.
Remember ALL the spark current going to the spark plug return to the ignition system through the engine head, block, etc. So they can radiate just as well as the wire.

Paul

the only shielded wire I know of is coax. is there something else ?

STP, shielded multicore, USB cable, microphone cable (shielded twin), shielded CAT6, many sorts are available.

Time to look at the products available from an electronics supplier I think... There's a plethora of connector
types too to worry about.

FYI, a standard Ground loop test can be done using a 24Vdc power supply with current limit set to 100mA.
Identify all the GND locations relative to a CENTRAL GND,
Place the Negative PS lead on the CENTRAL GND and the Positive PS lead on each of the other GND locations
and record the voltage across the nodes.
V=IR
Let I = 0
.100A (100mA)
R = V/I = V/0.100A
Record all the "R" values to see if any are above the average.
ie:
For a node with a resistance of 0.1 ohm,
V = I
R = 0.1A * 0.1 ohm = 0.10V (10mV)
Obviously, this measurement becomes more accurate if you use a non-inverting amplifier with a gain of
20 to 100 to amplify the measured voltage across the nodes .

Also, I believe someone already mentioned this ,but you would get much better results with a NEMA enclosure
with GND lugs mounted on locations that have had the paint rubbed off with a wire brush drill bit and a cover
on the enclosure. The enclosure should be grounded to the automotive GND. (I believe that's usually the frame)

MarkT:
STP, shielded multicore, USB cable, microphone cable (shielded twin), shielded CAT6, many sorts are available.

Time to look at the products available from an electronics supplier I think... There's a plethora of connector
types too to worry about.

How does EMF cause these problems in the first place and would it help to put the Arduino in a lead lined box and to that solder the shielded cable that goes to the Arduino?

How does EMF cause these problems in the first place and would it help to put the Arduino in a lead lined box and to that solder the shielded cable that goes to the Arduino?

Standard industry practice is a soft steel [NEMA enclosure](http://"https://www.automationdirect.com/adc/overview/catalog/enclosures_-z-_subpanels_-z-_thermal_management_-z-_lighting/enclosures?utm_source=msn" cpc&utm_medium="cpc&utm_term=nema" enclosure&utm_campaign="Enclosure&utm_adgroup=Nema" enclosures&msclkid=70b4bf0d69621e14d383e0f37e4c43d2) with the paint wire brushed off with a wire brush drill bit at the mounting location of the machine screw that secures the ring terminal for the Earth
GND. (GRE with Yel stripe) In your case solid green is fine. There is no advantage to lead over soft steel
as any metal will basically block the RF. If you can't afford a NEMA enclosure an aluminum box would
probably work.

sevenoutpinball:
How does EMF cause these problems in the first place and would it help to put the Arduino in a lead lined box and to that solder the shielded cable that goes to the Arduino?

EMF is "Electro Motive Force", or voltage. EMI is what is causing your problem, "Electro Magnetic Interference". The Arduino and ALL processors of all types rely on timing signals as well as data signals. Whenever the timing signal is missing or occurs early, the processor becomes confused. EMI pulses either add their voltage to the timing signal or they reduce it to zero. A missing timing pulse, or an additional timing pulse means the processor can no longer work properly.
Paul

Paul_KD7HB:
A missing timing pulse, or an additional timing pulse means the processor can no longer work properly.
Paul

Is it even known how these extra signals get in the Arduino? Should I be looking at the ground pins or the other pins? I've tried those iron clamp on things they didn't do any good.

sevenoutpinball:
Is it even known how these extra signals get in the Arduino? Should I be looking at the ground pins or the other pins? I've tried those iron clamp on things they didn't do any good.

Every wire in your machine will act act like an antenna to transmit RF at all frequencies when it carries a sudden pulse of current. The greatest RF power transmitted will be when the particular wire is 1/4 wave length for some frequency.
Any wire in your machine will RECEIVE those RF impulses, just like your AM/FM radio or cell phone does.
If the wires connect to something that is sensitive to those RF impulses, like your Arduino, then they will cause problems.
The cure is to not allow the RF pulses to be transmitted in the first place. When that is not possible or practical, then the sensitive equipment MUST be shielded from the RF pulses. And all wire connecting to the sensitive device must be shielded from the RF pulses. That is why a metal enclosure is required. That is why shielded wire is required, whit only the Arduino end of the wire connected to ground. That is why your metal enclosure must be connected to the common ground of the device it is placed in. When all the shielding fails, then small value capacitors are added to wires to short the RF impulse to ground.
Paul

Is it even known how these extra signals get in the Arduino? Should I be looking at the ground pins or the other pins? I've tried those iron clamp on things they didn't do any good.

  • Unused pins left floating? I suggest configuring all unused pins with INPUT_PULLUP.
  • Any relays nearby? Yeah, lots of suggestions for improvement here ... opto isolation, separate power source,relays further away in a separate case, relay contact arc suppression, ferrite cores, etc.
  • [EMI/RFI Shielded Extruded Aluminum Enclosures](http://EMI/RFI Shielded Extruded Aluminum Enclosures) (many others available)

Hey Paul, I never said my problem was EMF or mentioned it. I do know the difference and why I clearly stated EMI from the motor ignition freezing the Arduino.

Your suggestion to cover the spark plug and wire with copper tubing is a bad idea. That would actually damage the ignition system and cause the points to wear out faster then the cam.

Regardless. I've decided to change things up and found a metal box actually designed for electronic test equipment. It's large enough to house the mechanical and electronics instead of the 2 containers. I also bought 2 die cast aluminum cases at the electronics shop to house the Arduino and motor drivers. I learned that's its better to use parallel over series grounding back to battery. Not to mix the signal grounds with other grounds
I ordered clamp on ferrite beads to attach to every wire and cable penetrating the box.

Starting the project last year, I didn't even know what an Arduino was. It's been one hell of a learning experience.

No you didn't. but the person trying to hijack your thread did.
Paul

Added later: Actually, I have owned two AC generators that had the spark plug wires in pipes for shielding. One was a two cylinder Wisconsin engine. The other was a two cylinder Lycoming engine. Neither produced any RFI that I could detect.

No you didn't. but the person trying to hijack your thread did.

Quote from Sevenoutpinball:

How does EMF cause these problems in the first place and would it help to put the Arduino in a lead lined box and to that solder the shielded cable that goes to the Arduino?