EMI shielding on PCB

Thread Starter

abuhafss

Joined Aug 17, 2010
307
Hi

Recently I faced a problem of false triggering of Arduino interrupt as discussed here.
Here is the portion of the circuit which was causing problem.
1666523218524.png
The interrupt would false trigger whenever there is a switching in the nearby vicinity. The major trouble-maker is a decoiler which is independent unit run by a 3-phase geared induction motor. Whenever its limit switch is turned ON the motor turns a few revolutions and then stops. This short operation which includes switching on of (the controlling) EM contactor, interferes the Arduino's interrupt.

I gave up interrupt and opted for polling, it improved but the contactor is still interfering. After following suggestions in the forum and further exploring the net, I decided to make fresh PCB design.

Here is the improved (sensor detection) circuit:

1666524756326.png

PX1 is the output from the Proximity sensor.
D12 is the digital input of Arduino. I have changed the input criteria to HIGH.

Here is the expected PCB.

1666526948981.png

The vias:

1666527056758.png

Now, before ordering for the PCB I would like suggestions for further improvements in the PCB to eliminate EMI interference into this circuit?
 

ronsimpson

Joined Oct 7, 2019
2,989
C7 & C8 are good.
Think about adding a resistor, IC1 pins 3-2. Positive feedback. Now you switch at 50% of VCC. With positive feedback it could switch at 60% of VCC on the way up and 40% on the way down.
You are using an OP-amp as a voltage comparator.
 

KeithWalker

Joined Jul 10, 2017
3,063
A possible cause of your problem is EMI pickup in the wiring between the pickup and the arduino. What is the distance between the two? Are you using cable with a grounded shield? The easiest check this is by observing with an oscilloscope, first between D2 and ground. and then across the output from the transducer.
The other possibility is power supply problems. Again, using an oscilloscope, check for glitches on the 24V and 5v power supplies when the decoiler switches on. Make sure that each supply has a seperate ground connected directly to the main power source to avoid ground loops.
 

Thread Starter

abuhafss

Joined Aug 17, 2010
307
Here is the inductive proximity sensor which I am using. Its wire is not shielded.

1666539661495.png

Here is the layout of my set-up.
1666539827185.png
The sensor is installed at an aerial distance of about 1 meter from Arduino. Its wire is about 3 meter long (un-shielded). The decoiler is placed about 3m away.

Currently, my scope is out of order. Any other way to check the glitches? BTW, if glitches present, what should I do to get rid of them?
 

KeithWalker

Joined Jul 10, 2017
3,063
Here is the inductive proximity sensor which I am using. Its wire is not shielded.



Here is the layout of my set-up.
View attachment 279156
The sensor is installed at an aerial distance of about 1 meter from Arduino. Its wire is about 3 meter long (un-shielded). The decoiler is placed about 3m away.

Currently, my scope is out of order. Any other way to check the glitches? BTW, if glitches present, what should I do to get rid of them?
Try to borrow a scope. If not, you are flying blind.
What you can try:
Run the pickup cable through a braided, grounded sleeve or through grounded flexible metal conduit.
Add extra electrolytic and ceramic smoothing capacitors across the output of the 24V and 5V supplies.
In your new circuit, you have included a capacitor across the output of the opto-isolator. That will help the eliminate false triggering from EMI pickup. You could try doing the same with your old circuit to see if it helps.
 

Thread Starter

abuhafss

Joined Aug 17, 2010
307
Hmm, okay I will try to get a scope.

Run the pickup cable through a braided, grounded sleeve or through grounded flexible metal conduit.
Here, I am little confused. In the other forum, a gentleman commented as below:

Many machines use that type of hall effect sensor with that type of cable with no problems around high current machines. Mine is a couple of meters long... If these cables have problems with rfi or emf, there would be many people complaining. A ground shield would just be a 'bigger' antenna, as you can't get to the sensor end of the wiring to ground the other end.

When the sensor switches, it sink current, ~24mA, low impedance and less prone to interference.


In your new circuit, you have included a capacitor across the output of the opto-isolator. That will help the eliminate false triggering from EMI pickup. You could try doing the same with your old circuit to see if it helps.
I already done that but the problem is still there.

As for the power supplies, apart from the smoothing caps; how wrapping both of them separately in aluminum foil? Both are enclosed in plastic bodies.
 

ronsimpson

Joined Oct 7, 2019
2,989
Remove R6 and see if D12 interrupt trips. We need to know where the noise if getting in. Or short out C7.
1666563210081.png
I cannot see your traces. Maybe the grounds are wrong or there are long traces. I think 24V, R6, C7, PX1 should be a very small loop and not connected to anything.

I have seen many boards where the computer resets every time a motor starts up.
 

Thread Starter

abuhafss

Joined Aug 17, 2010
307
Remove R6 and see if D12 interrupt trips. We need to know where the noise if getting in. Or short out C7.
View attachment 279172
I cannot see your traces. Maybe the grounds are wrong or there are long traces. I think 24V, R6, C7, PX1 should be a very small loop and not connected to anything.

I have seen many boards where the computer resets every time a motor starts up.
R6 is the current limiting resistor for the led inside the optocoupler. Shorting out C7 means shorting the input pins of the optocoupler.
Yes, 24V/R6/C7/-24V is a tiny loop and not connected to anything except 24V and 24V GND.

The lower portion of the board involves 24V interface, right portion is output for servo drive and upper portion 5V interface.
 

WBahn

Joined Mar 31, 2012
29,979
I would also recommend putting the cable from the sensor in something like a braided sheath. You only want to ground one end of it, anyway (otherwise you are creating a ground loop path).

Inspect your traces that your sensitive signals run through and identify the paths for the image currents. Remember, any current that flows in one of those traces has to make it back to where it came from. If that image path forms a big loop, that same loop is acting as a noise pickup antenna. Particularly bad places are where traces cross power/ground plane splits or where the image current has to jump from one power plane to another. Use stitching capacitors to tie tie these together at AC and keep the image current loops as small as possible.
 

KeithWalker

Joined Jul 10, 2017
3,063
Have you verified that the problem is causing a false input from the sensor? In most similar cases, a power glitch resets the microcontroller. What are you using for the supplies and how are they wired? A more detailed schematic would help.
 

Thread Starter

abuhafss

Joined Aug 17, 2010
307
Here is the picture of the current set-up.

1666598108334.png
Board A is my old PCB. All the 100nF caps were added on the bottom side of the PCB.
Board B is a secondary board, holding an ATTiny85. It had to be inducted for switching from INTERRUPT to POLLING. In my new version of the PCB both are merged
 

Ya’akov

Joined Jan 27, 2019
9,072
As @WBahn has mentioned, the proper way to attach the shield (screen) of a cable is to the ground of one side only. The purpose of the shield is to make a low impedance path to ground for signals originating outside it.

Connecting a shield on both ends (though it is often done) runs the risk of introducing a ground loop due to differences in the potential of each devices “ground”. This isn’t a problem if you have created an equipotential ground system, but it is often a problem since actually doing that is rare.

There are multiple steps in reducing induced signals, proper wiring is one of them. Twisted pair cables, which cancel signals by inverting the position of the two wires at intervals, and properly implementing shielding are two elements. The best grounding (that is, in the sense of earth ground) you can manage will also help.

One more thing is galvanic isolation. Transmitting signals via fiber when possible, and using optocouplers where they are applicable will help too. It is something that should be designed in from the start to work properly.
 

Thread Starter

abuhafss

Joined Aug 17, 2010
307
Inspect your traces that your sensitive signals run through and identify the paths for the image currents. Remember, any current that flows in one of those traces has to make it back to where it came from. If that image path forms a big loop, that same loop is acting as a noise pickup antenna. Particularly bad places are where traces cross power/ground plane splits or where the image current has to jump from one power plane to another. Use stitching capacitors to tie tie these together at AC and keep the image current loops as small as possible.
As I have already mentioned that I am about to finalize an improved version of PCB, I would like to request for suggestions for improving it.

The set-up is basically a strip feeding unit. A servo motor is connected to a pair of rollers which move the strip.

a) A 6-positon rotary switch connected to one analog input to select a "LENGTH" out of 6 predefined lengths.
b) Based on that selection, one of the six LEDs will light up to indicate which length is selected.
c) Two push-buttons are used to move the strip back or forth to align it in its initial position.
d) One proximity sensor issues signal to feed the strip to the selected length.
e) The other proximity sensor detects if the strip has really moved or not. If for some reason, the strip is not fed fully or partially a relay would be energized to pause the operation.

EDIT:
I would appreciate, if a pictorial example of how I should make the signal traces. In this case, the sensitive traces are the inputs from the opto-couplers or all the inputs to the Arduino?
BTW, my new PCB design has ground plane on both sides with vias as shown in post #1.
 
Last edited:

Thread Starter

abuhafss

Joined Aug 17, 2010
307
The proximity sensor comes with a fixed length of un-shielded 3-wire cable. To increase the length, I attached another length of a 3-wire cable.
1666602111650.png
What I understand from post #10 and #13 is that I should cut the original cable near the sensor and attach a new shielded cable. And finally connect the braided shield to GND-24. Did I understood correctly?

A question here, can't a ferrite bead do the job instead of the shielded cable?
 

Ya’akov

Joined Jan 27, 2019
9,072
The proximity sensor comes with a fixed length of un-shielded 3-wire cable. To increase the length, I attached another length of a 3-wire cable.
View attachment 279198
What I understand from post #10 and #13 is that I should cut the original cable near the sensor and attach a new shielded cable. And finally connect the braided shield to GND-24. Did I understood correctly?

A question here, can't a ferrite bead do the job instead of the shielded cable?
No, just buy some braided sleeve and add it to the cable. You can replace the cable, but you can just shield what you have. Here is an example. But yes, connect it to the GND-24.

Concerning the ferrite bead, if you are having problems with high frequency interference, it can help—but impulse noise isn’t going to notice it.
 

LowQCab

Joined Nov 6, 2012
4,029
I Vote AC Power-Supply glitches, along with,
inadequate Bulk Capacitance after the Power-Supplies.
Not "EMI".

Don't automatically assume that the most misunderstood part must be the culprit.

Over-build the basics, then start looking elsewhere if You still have a problem.

The Output of the SMPS's should maintain an adequate working Voltage for
at least 1-full-second after AC-Power loss, and preferably more like ~3-Seconds.
Until it is verified that your Power-Supplies can comfortably meet this performance goal,
I wouldn't look any further.
.
.
.
 

LowQCab

Joined Nov 6, 2012
4,029
It might,
if that's actually the problem ..............

The problem has not been verified as of yet.
You're just making guesses.
.
.
.
 

Thread Starter

abuhafss

Joined Aug 17, 2010
307
I Vote AC Power-Supply glitches, along with,
inadequate Bulk Capacitance after the Power-Supplies.
Not "EMI".

Don't automatically assume that the most misunderstood part must be the culprit.

Over-build the basics, then start looking elsewhere if You still have a problem.

The Output of the SMPS's should maintain an adequate working Voltage for
at least 1-full-second after AC-Power loss, and preferably more like ~3-Seconds.
Until it is verified that your Power-Supplies can comfortably meet this performance goal,
I wouldn't look any further.
.
.
.
The 24V SMPS maintains its output for around 3 seconds.
The 6V SMPS (basically a charger for some gadget) switches off immediately.
 
Top