Sida 1 av 2

Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 18:16:10
av MicaelKarlsson
Håller på att skissa på en liten pryl, en Mega88 som skall läsa av en varierande likspänning som jag inte vet exakt hur stor den är. Så länge den är under 5V är det inget problem men det jag oroar mig för är möjligheten att spänningen stiger över 5V. Min fråga är alltså:

Hur skyddar jag min Mega88 då den varierande likspänningen stiger över 5V?

Funktionen jag vill ha är, upp till ca: 4,5-5V skall inget ske men över det skall spänningen hållas på ca: 4,5-5V, Maxspänningen kommer inte över 12V

Funderat på optokopplare men är inte säker på om det är den bästa metoden.

Vad har ni för idéer/förslag?

Edit: Det gäller på sin höjd några få exemplar och ingen serieproduktion.

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 18:24:43
av Niklas-k
Zenerdiod

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 18:26:12
av rickardg
seriemotstånd + zenerdiod!

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 19:11:40
av grym
ovanståden för relativt långsamma signaler upp till några hundra khz, annars snabba klampingdioder mot nollan och 5v+ och naturligtvis seriemotstånd

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 19:15:36
av MicaelKarlsson
I detta fall är hundra khz ruskigt snabbt. "Signalen" kommer att röra sig från 0 upp till sitt maxvärde och sedan minska och sedan röra sig däremellan på något sätt.

Tänkte inte på zenerdiod :doh:

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 20:19:45
av victor_passe
skulle man inte kunna ha en op-amp som klarar rail-to-rail och mata den med din signal, både som matnings spänning och på en ingång.
Sedan ge exakt 5V på den andra ingången och ha op-ampen som komparator?
Den klarar kanske inte låga spänningar.

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 20:35:56
av Norpan
Du kan ju kolla här om hur Atmel tycker man ska koppla signalingången till en nollgenomgångsdetektor:
www.atmel.com/dyn/resources/prod_documents/DOC2508.PDF

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 22:00:33
av Andy
Min erfarenhet (liten men dock) säger att zenerdioder är inget bra för de läcker och påverkar signaler med lite högre impedans så att man får felaktiga värden på t ex en A/D ingång.

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 22:32:02
av Swech
En 5.6V zener och ett motstånd funkar alldeles ypperligt...

Rör det sig om enstaka enheter så kan man även kalibrera om det behövs
Swech

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 22:38:43
av Andy
Håller inte riktigt med, zenerns knä är inte perfekt. den bildar en variabel spänningsdelare tillsammans med motståndet.
Upptäckte själv detta fenomen "the hard way" när en A/D ingång gav ett logaritmiskt värde!

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 22:42:51
av Swech
Det beror lite på seriemotståndet...
Har lärt mig the hard way med 5.1V zeners... Dessa startar leda vid 4.5V
men 5.6V brukar ge ett bra resultat.

Om inte så kan man ju sätta en vanlig diod upp till +5V och seriemotstånd förståss...
Samma som Grym föreslår

Swech

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 22:45:28
av bearing
Zenerdioder kan ha olika hårda tillslag. De vanliga typerna som jag använt börjar leda märkbar ström ett 10-tal procent under märkspänningen.

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 13 augusti 2009, 22:47:32
av Andy
Det beror mycket på impedansen hos signalkällan.
Om den kommer direkt från en blyackumulator så är det inga problem. :D

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 14 augusti 2009, 08:59:19
av MicaelKarlsson
Tack för alla tipsen!

Re: Skydda I/O på mikrokontroller mot överspänning

Postat: 14 augusti 2009, 11:48:47
av jesse
VIlket skydd du ska ha beror väl på vad du har för spänningskälla (låg eller hög impedans) och hur noga du kan tänka dig att mäta.

Om du har en definierad maxspänning kanske du i stället kunde göra en spänningsdelare med motstånd. AVR:s inre referens är så onoggrann ändå, så om du ska mäta exakt spänning måste du ändå kalibrera mot en känd spänning, och då kan du använda en fritt vald spänningsdelare.

Vill du ha hög impedans på ingången behöver du en OP-förstärkare före spänningsdelaren. Att då driva OP:n med den inkommande spänningen var inget bra förslag. Dels är R-R oftast en utopi (det blir lite drop out nära V+) men framför allt förlorar du vitsen med hög inimpedans. Ingången på OP:n måste ändå skyddas med dioder och motstånd om den ska anslutas till en yttre källa (ESD). Du behöver en högre drivspänning för OP:n än inspänningen.