Hur skyddar jag bäst microkontrollerns ingångar?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
myrek
Inlägg: 38
Blev medlem: 7 april 2009, 09:52:15

Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av myrek »

Hej, jag skulle vilja ha lite tips på hur man bäst skyddar en microkontrollers ingångspinnar mot ESD. Jag använder mig av avr där hög nivå brukar motsvaras av ca 5V. Är det lämpligt att använda sig av en resistor i serie med ingången? Vilken storlek bör denna ha?

Jag testade nyligen detta och använde mig av 500 Ohm resistor för att begränsa strömmen till 10mA på ingången. Jag lyckades dock inte att få detta att fungera. Jag hade aktiverat AVR:ens pull-upp resistor och det var inte möjligt att dra linan låg till 0V med denna resistor. Vad gör jag fel? Har jag räknat helt galet?

Skyddar det något om man använder sig av en diod i serie med ingången? här får man välja en diod med väldigt lågt spänningsfall typ 0.3 V men detta kanske inte är att rekommendera?

Jag har försökt googla fram lite vettiga sidor som belyser detta ämne men jag har ännu inte hittat något. Tips uppskattas!

Tack
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av eqlazer »

Serieresistanser är inte det man brukar använda, för när det gäller ESD så är det höga spänningar och låga strömmar -> resistor verkningslös.

Titta på ESD-skyddsdioder och kondingar.
sodjan
EF Sponsor
Inlägg: 43244
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av sodjan »

> Jag hade aktiverat AVR:ens pull-upp resistor och det var inte möjligt att dra linan låg till 0V med denna resistor [500 ohm].

Det ska inte vara något problem. De inbyggda pull-upperna brukar ligga på 20-40 kohm ungefär.
Säkert att du inte gör någon annan "tavla" ?

Du bör generellt skydda på ett sådant sätt att du aldrig får spänningar på
pinnarna som ligger utanför databladets specifikationer. Då räcker det inte
med enbart ett motstånd.

Ett vanligt sätt är att sätta någon annan buffert/krets före pinnen som
har inbyggt ESD skydd och som eventuellt är enklare att byta om det behövs.
Användarvisningsbild
Icecap
Inlägg: 26624
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av Icecap »

Att skydda elektronik är svårt!

Jag har som regel att ingen långa (200mm+) ledningar får gå in direkt till en µC!

Utgångar som kan utsättas för ESD för att de kopplas till av slutanvändare ska alltid ha ett drivsteg efter, är det i produktionen är det ju i ESD-säker zon.

Ingångar skyddar jag beroende på vad som kan kopplas men är det till externa ledningar har jag alltid en 5V zenerdiod samt en keramisk kondensator mellan pinnen och GND. Sedan sitter det ett motstånd på 10k i serie med pinnen innan det blir "ingång" och ska det pull-up/down till väljer jag alltid pull-up som placeras på "utsidan" av 10k motståndet.

Och orsaken till pull-up? Det är oftast brytare som sitter på "långa" ledningar (sensorer, ändstopp osv) och en del som inte har tänkt till drar ut VDD till dessa så att de ger '1' när brytarfunktionen sluts. Bra som sådan, har dock ingen speciell programmeringsanledning och samtidig ger det störningar direkt tillgång till spänningsmatningen!

Har man däremot brytaren mellan GND och ingången samt en pull-up på ingången varefter det går igenom 10k motståndet osv kommer VDD att vara skyddat ganska väl.

Detta sätt har fungerat kanonbra i industriellt miljö och komponentkostnaden är rimlig.
myrek
Inlägg: 38
Blev medlem: 7 april 2009, 09:52:15

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av myrek »

Tack för snabba svar. Här är en liten bild över hur jag har gjort i dagsläget.

Bild

pull up är aktiverat på ingången som sagt. när jag försöker dra signalen till 0V så fungerar det inte. Någon som har en idé om vad jag har gjort fel? Precis som sodjan sa så skall den interna pull-up resistorn vara i storleksordningen 50kOhm så detta borde väl funka? direkt jag plockar bort resistorn så funkar allt som det ska igen...
Nerre
Inlägg: 27175
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av Nerre »

Antingen är ditt motstånd på 500 ohm större (500 ohm är ju f.ö. rätt ovanligt, 470 eller 630 är vanligare).

Eller så har du konfigurerat ingången fel, t.ex. konfigurerat den som utgång?
Användarvisningsbild
Porto
EF Sponsor
Inlägg: 437
Blev medlem: 27 mars 2004, 12:58:48

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av Porto »

Det är inte så att du har läst av motståndet från fel håll?
Grön, svart, brun = 500 ohm.
Brun, svart, grön = 1 megaohm.
Nerre
Inlägg: 27175
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av Nerre »

Det låter VÄLDIGT troligt. Jag satt själv och funderade lite på vad man skulle kunna läst fel och få till 500 men tänkte aldrig på baklänges.

500 ohm finns ju som sagt var knappt, det ingår ju inte i nån av de vanliga standardserierna.
sodjan
EF Sponsor
Inlägg: 43244
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av sodjan »

> (500 ohm är ju f.ö. rätt ovanligt, 470 eller 630 är vanligare).

470 eller *560*... :-)

Nej, jag tror inte heller att det är 500 ohm...
myrek
Inlägg: 38
Blev medlem: 7 april 2009, 09:52:15

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av myrek »

Hej Igen,

resistorn storlek är 500 Ohm hur otroligt det än låter :) det är en ytmonterad komponent så det går att få tag på. Jag mätte precis upp den för att verifiera.
Avr-pinnen är konfigurerad som en ingång.

Blir inte klock på detta...
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av eqlazer »

Vilka spänningar får du på AVR:ns ingång när du ändrar styrsignalen?

Och exakt hur har du konfigurerat AVR:ns IO?
sodjan
EF Sponsor
Inlägg: 43244
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av sodjan »

Det är enkelt igentligen...

500 ohm så som du har ritat (*vi* vet ju inte om det faktiskt är kopplat just
så eller om det faktiskt *är* 500 ohm) ska inte ha den effekt som du beskriver.

Hur ser spänningarna ut före resp efter 500 motståndet ?
Går den verkligen till 0V före motståndet (d.v.s mellan motståndet och 10 nF kondingen) ?
Sker det någon påverkan på AVR pinnen alls ?
Vilken ström genom 500 ohm motståndet får du med ledning av spänningsfallet ?
Fungerar det med pull-uppen avslagen ?

> Avr-pinnen är konfigurerad som en ingång.

Säger du ja, *vi* har ju igentligen inte en aning... :-)
Det är mycket bättre att du visar (med kod) vad du gör än att försöka
med egna tolkningar av vad du *tror* att du gör. Det är mycket sannolikt
att du inte alls gör det du tror...
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av dangraf »

jag har sett en annan lösning på ESD problematiken. På kretskortet har man där etsat ledningar ung som när du trycker fingrarna mot varandra (kugghjulseffekt) på ett område kanske 5x5mm mellan ingång och t.ex jord och väldigt litet mellanrum. Förklaringen jag fick var att ESD är oftast väldigt höga spänningar och då blir det lätt överslag. eftersom ledningarna går väldigt nära varandra så kommer det förhoppningsvis ske en urladdning just där. Oftast har en MCU skyddsdioder på ingångarna som gör att om man för en lite större ström så kommer strömmen gå genom skyddsdioden ner till jord vilket de oftast klarar. Men kopplar man 5v in på en 3.3V ingång är man direkt rökt ifall man inte har en resistor mellan.
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av eqlazer »

Gnistgap ja, http://www.airborn.com.au/method/sparkgap.html
Det skyddar såklart till viss del, men det är svårt att veta exakt hur bra då det finns många faktorer. Avstånd mellan kopparen, beläggningar såsom lack, oxid, smuts osv som gör att förutsättning för överslag ändras.
bos
Inlägg: 2308
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: Hur skyddar jag bäst microkontrollerns ingångar?

Inlägg av bos »

dangraf skrev:På kretskortet har man där etsat ledningar ung som när du trycker fingrarna mot varandra (kugghjulseffekt) på ett område kanske 5x5mm mellan ingång och t.ex jord och väldigt litet mellanrum.
Jag fattar inte alls det du beskriver.

URL?
Skriv svar