View previous topic :: View next topic |
Author |
Message |
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
ESD protection/problem for our device/PIC |
Posted: Wed Apr 12, 2006 3:21 am |
|
|
Hello,
recently we've tested our device for EMI and I experienced 3 ESD problems that are surely PIC- related.
This is our device.
It's the Euroscope 20 and it is a PDA for visually impaired people. It has 4 PCB's inside:
* 1 carrierboard with i/o, power
* 1 small processorboard on the carrier (has an Intel PXA250)
* 1 keyboardprint (PIC is on that) connected through a board to board connector on the carrierboard
* 1 cursorrouting board: on the picture you can see the braille cells (blind can read via that); under the grey 'caps' is a small pcb with 20 pushbuttons next to each other:
The bottom of the device is a aluminium plate connected to ground.
Our Pic is a picLF877A.
ESD compatibility is tested with a charged ESD gun of +/- 8kV. That gun is hold close to all i/o and all pushbuttons and to the housing.
Now we are experiencing 3 problems:
1/ Gun is hold close to the bottom of device, near the hole for the resetbutton. What happens is a spark to the metal housing of the button. The spark goes into the PIC via /MCLR => device reset.
The line is pulled up via 100K to Vpic = 3V.
2/ Gun is hold close to the braille reading device. Under the grey caps are the same buttons as the resetbutton. Those 20 smd pushbuttons are connected in a PIC keyboard 8 x 9 matrix. Spark goes up to housing of the pushbutton; spark goes through input/output of PIC => PIC reset (=> device reset)
3/ Gun shoots to ground 'net'. 3 Possible things sometimes happen:
* If the spark is really powerful => device reset
* If the spark is not that powerful => nothing happens
* Sometimes the external RB0 interrupt is triggered; unwanted sending serial data (position on/off switch)
I hope you guys can give me some tips to prevent this; many thanks,
Chr |
|
|
newguy
Joined: 24 Jun 2004 Posts: 1907
|
|
Posted: Wed Apr 12, 2006 11:14 am |
|
|
I guess I need to ask you some more questions before I can give you a decent answer.
Does your device incorporate any ESD protection devices now? If not, you need to add protection for every vulnerable line. Vulnerable lines are those that are connected to pushbuttons and/or any line that enters/leaves the device enclosure, such as a serial cable, power cable, etc.
The ESD protection networks I like the best, especially from a price perspective are: http://www.onsemi.com/PowerSolutions/product.do?id=MMQA5V6T1
These are quad transient voltage suppressors (TVS) in a 6 pin package. 4 pins for lines you want to protect, two for ground. They work really well.
Once all the data/input/output lines are protected, then I'd turn my attention to the power network. All Vdd lines also have to have protection, and I usually just use TVS zeners for that. You also need to have adequate capacitance distributed evenly between your Vdd and ground planes. If the power grid does take a "hit" (worse if it is ground that gets zapped), then the distributed capacitance will lessen the impact on the power grid.
I've made several products with this protection scheme, and I've never lost one yet. I haven't heard of any "funny" behaviour either, so I assume the protection is doing its job. One of these products is for rough service/extreme environment automotive, and it is constantly being.....let's say "rearranged" by the mechanic/driver. No issues with it at all.
Hope this helps. |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Thu Apr 13, 2006 1:02 am |
|
|
Well, I haven't got any kind of protection as for now.
You are suggesting fast zener protection diodes?
What do you mean by distributed capacitance?
I have vcc = 4,3 a 5V
Vpic = 3V
5V = 5V
All voltages are coupled to ground via capacitors close to the ic, most of them 100nF. I guess that is not enough.. |
|
|
angelkato
Joined: 12 Apr 2006 Posts: 2 Location: FRANCE
|
ESD protection and design rules |
Posted: Thu Apr 13, 2006 1:17 am |
|
|
Hi,
I work on electronic automotive device and your problem is normal with your design.
Give this rules to improve ESD capability (for 8kV contact ESD and 15Kv Air discharge with humain body model 2Kohm/330pF):
ESD capacitor to all input and output = 10nF / 50V min
Use VDR (36V) to protect line communication
You must reduce all wire impédance. Your MCLR line doen't have 100K impédance (use 22K max) and place the résistor near the µC. If your MCRL line is long, place ground line in each side of your MCLR Line.
In your case, place ESD capacitor on each input line connected to your keyboard.
By |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Thu Apr 13, 2006 1:18 am |
|
|
And when you have pushbuttons implemented; where would you place the TVS? At the input or output side of the pic of the button? |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Thu Apr 13, 2006 1:41 am |
|
|
Angelkato,
this is my pic-schematic :
SCAN0-9 : outputs switching from floating to ground
D0-7 : inputs reading in matrix
So I have to place 10nF/50V on the D0-7 lines close to the PIC? I'll try that
What is a VDR ? |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Thu Apr 13, 2006 3:22 am |
|
|
newguy: where do you place those TVS? Next to the PIC inputs/outputs or close to the pushbuttons? |
|
|
JPH
Joined: 02 Feb 2005 Posts: 9 Location: Finland
|
|
Posted: Thu Apr 13, 2006 3:49 am |
|
|
Hello
VDR is voltage dependent resistor. Google will help you how use it. Shortly when voltage rises resistor value goes down. Suppressors must placed as close as possible place where electric disarge comes in. Firstly I would choose switches that have external ground pin which conduct over voltage to ground instead of processor. For bus protection I would choose example PHILIPS bza100 chip for protecting whole bus. |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Thu Apr 13, 2006 4:00 am |
|
|
Hey JPH... it's impossible to change the switches and we cannot ground every housing of each button (although that would be the solution).
In my case the spark can hit 2 lines; SCAN line or Data line; should I place a diode on every line? |
|
|
Ttelmah Guest
|
|
Posted: Thu Apr 13, 2006 4:04 am |
|
|
Normally you want to stop signals getting ino the board. If you suppress close to the PIC, and the wires route close to other lines, you have the potential for the signal to couple onto these lines,and possibly to other circuitry.
This is why you will see things like 9/25 pin D-type connectors, with suppresion capacitors 'built in'.
The starting point, must be a good ground plane on the PCB, or a ground 'strip', if only using a single sided board. The best trap/suppression, depends on the nature of the signals. For instance, 'logic' lines, can be trapped using Tranzorbs/MOV's, while an analog signal line, may be better handled by something like a 'Pi' or 'T' network (combination of inductors/capacitors). For high impedance signals, Tranzorbs can introduce non-linear loading, well below their rated voltage. Remember that the lower the actual impedance of a line, the less problems it is likely to exhibit. Also though that problems can exist 'backwards'. So (for instance), if you have a section of a board, that links to another component internal to the unit, you may well think that there is not a problem here. However if a spike arrives at the first area, the voltages on this may move relative to that of the rest of the board, and you then see problems 'back' across the connection. This is normally more of a problem with lower impedance spike sources than the 'human body' model, but should be borne in mind.
Best Wishes |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Thu Apr 13, 2006 5:18 am |
|
|
tried capacitors, zener diodes and combinations... doesn't help.. |
|
|
Ttelmah Guest
|
|
Posted: Thu Apr 13, 2006 5:53 am |
|
|
Capacitors are very dependant (as with all the devices), on just how good the ground is to which they are attached. Also you need to be very careful on device selection. 'bigger is better', is definately not the case for a capacitor, since in most cases larger capacitors have worse transient behaviour.
You need to be using Zener diodes designed for suppression applications. Normal Zeners can be too slow, and breakdown suprisingly easily.
Have a look at:
<http://www.microsemi.com/support/micnotes.asp>
Look particularly at note 109, and the comments about parasitic inductance in the conductive path.
Best Wishes |
|
|
Christophe
Joined: 10 May 2005 Posts: 323 Location: Belgium
|
|
Posted: Thu Apr 13, 2006 6:50 am |
|
|
I've read the note, and I understand the theory; but the switches have 2 nodes. At which node should I place the TVS?
* Are there clamping diodes inside the PIC ?
* Why does my PIC sometimes reset/does something strange when a spark hits ground? What can I do about it? |
|
|
Ttelmah Guest
|
|
Posted: Thu Apr 13, 2006 7:12 am |
|
|
The PIC pins with output drives, have clamping diodes. This _excludes_the MCLR pin, and A4 on some chips. You want to protect all lines. When the switch is 'open', there is no connection between the pins, and the lines will need individual protection. However the line that is normally 'driving', will have the relatively low impedance of the drive circuit itself present, which will help massively.
On the effect when the spark hits 'ground', this could be the second effect I commented on (if there is circuitry going outside the board), or could show a lack of enough HF decoupling between the rails.
Seriously it is all down to design. I have systems that are built inside industrial printing machines, with large motors being switched only inches from the board. These have (as yet!...), shown no transient problems at all, but they are built with four layer boards, using a good ground-plane, series resistors, and 'T' networks on the local logic line interconnections, opto-coupling on the external inputs for the detectors, isolated power, and opto-coupling on the RS485 serial outputs. The transient survival requirements on these, were 4Joule, at 50Kv, making the 'human body' test seem relatively minor.
As another comment, does a 'reset' matter?. If you design your code to 'warm boot' quickly and reliably, this is still acceptable as 'survival' of the spike.
Best Wishes |
|
|
SherpaDoug
Joined: 07 Sep 2003 Posts: 1640 Location: Cape Cod Mass USA
|
|
Posted: Thu Apr 13, 2006 7:12 am |
|
|
You should put suppression on any line from the ESD source to the PIC whether it is an input or an output. In your case you need to protect both scan and data lines. Also the signal should go from the button to the cap THEN from the cap to the PIC. If you just add a cap to an existing line from button to PIC the inductance and impedance of the cap leads may make it useless. The best would be to use "feedthrough" caps, but they are a pain. I like 490-2548-1-ND from Digi-Key for this use. They have three terminals, 2 for signal in & out and one ground. _________________ The search for better is endless. Instead simply find very good and get the job done. |
|
|
|