uC i en analog miljö - vad krävs?
-
- Inlägg: 37
- Blev medlem: 1 april 2013, 14:01:45
uC i en analog miljö - vad krävs?
Hepp!
Jag jobbar med en prototyp-design som baseras på en Arduino Uno. Nästa steg är en mer riktig (Arduino-lös) prototyp, där uC:n (som går på 5V) kommer befinna sig i en analog +/-12V-miljö. Det finns ju två delar att tänka på som jag ser det. Det första är själva funktionen, dvs att skala om signaler som ska mätas analogt, eller använda extern komparator e.dyl. (med ev hysteres) på signaler som ska mätas digitalt och där omslaget är viktigt. Den andra delen är säkerhetsaspekten - att säkerställa att uC:n inte tar skada. Och det är den delen jag är lite osäker på.
1. Ingångar. Det är väl CMOS med skyddsdioder? Räcker det inte då med ett seriemotstånd som begränsar ev. ström på ingången? Eller?
2. Utgångar. Samma sak här. Räcker det inte med ett kortslutningsskydd i form av ett seriemotstånd också där?
Jag jobbar med en prototyp-design som baseras på en Arduino Uno. Nästa steg är en mer riktig (Arduino-lös) prototyp, där uC:n (som går på 5V) kommer befinna sig i en analog +/-12V-miljö. Det finns ju två delar att tänka på som jag ser det. Det första är själva funktionen, dvs att skala om signaler som ska mätas analogt, eller använda extern komparator e.dyl. (med ev hysteres) på signaler som ska mätas digitalt och där omslaget är viktigt. Den andra delen är säkerhetsaspekten - att säkerställa att uC:n inte tar skada. Och det är den delen jag är lite osäker på.
1. Ingångar. Det är väl CMOS med skyddsdioder? Räcker det inte då med ett seriemotstånd som begränsar ev. ström på ingången? Eller?
2. Utgångar. Samma sak här. Räcker det inte med ett kortslutningsskydd i form av ett seriemotstånd också där?
Re: uC i en analog miljö - vad krävs?
1. Du har tydligt specat i databladen inom vilka gränser som insignalerna ska ligga. I ditt fall mellan 0 och 5 V.
2. Du ska aldrig kortsluta utgångarna. Vad vill du skydda dig mot ??
2. Du ska aldrig kortsluta utgångarna. Vad vill du skydda dig mot ??
Re: uC i en analog miljö - vad krävs?
Det är dåligt design att anta att de interna skyddsdioder "klarar biffen"! Signalerna till och från µC'n ska jobba inom de givna ramar och inget annat! Det kan betyda att man får bygga spänningsdelare, offsetta signaler osv. men det ingår.
Sedan ser jag inte vad ±12V har med "analogt miljö" att göra, jag är även mycket undrande på vad "analogt miljö" betyder - men du kan ju ha en plan med det.
Sedan ser jag inte vad ±12V har med "analogt miljö" att göra, jag är även mycket undrande på vad "analogt miljö" betyder - men du kan ju ha en plan med det.
-
- Inlägg: 600
- Blev medlem: 26 juli 2011, 20:58:06
Re: uC i en analog miljö - vad krävs?
1:
Jag skummade igenom ett datablad för en PIC (Lär väl vara liknande för uno'n) och dess I/O pinnar klarar spänningar på omkring 0.2*Vdd men inget under Vss. Så det borde väl ställa till med lite problem när det kommer till att skydda med dioder. För även en shotkeydiod har väl ett inte helt försumbart "forward voltage" (framåt spänning??) över sig?
2:
Beror väl helt på vad den är ansluten till?
Som sagt. Väldigt knapphändig information...
Jag skummade igenom ett datablad för en PIC (Lär väl vara liknande för uno'n) och dess I/O pinnar klarar spänningar på omkring 0.2*Vdd men inget under Vss. Så det borde väl ställa till med lite problem när det kommer till att skydda med dioder. För även en shotkeydiod har väl ett inte helt försumbart "forward voltage" (framåt spänning??) över sig?
2:
Beror väl helt på vad den är ansluten till?
Som sagt. Väldigt knapphändig information...

Senast redigerad av ElectricNooB 2 augusti 2013, 00:35:31, redigerad totalt 1 gång.
Re: uC i en analog miljö - vad krävs?
Om man vet i förväg att man har en 0-12V signal så är det
ju bara att dela ner den till 0-5V. Om man talar om generella
överspänningsskydd mot i förväg okända spänningsnivåer, så
är det hela ju en helt annan fråga.
ju bara att dela ner den till 0-5V. Om man talar om generella
överspänningsskydd mot i förväg okända spänningsnivåer, så
är det hela ju en helt annan fråga.
-
- Inlägg: 600
- Blev medlem: 26 juli 2011, 20:58:06
Re: uC i en analog miljö - vad krävs?
Jag tolkar 1an: som en överspännings fråga. Dock så skulle det ju vara fint att inte behöva tolka som en mufti... TS! 

Re: uC i en analog miljö - vad krävs?
Jag tolkar 1'an som en fråga om integrering av 12V elektronik
med 5V dito. Inte som en generell överspäningsfråga.
Sen så var det väl *analoga* 0-12V signaler, så jag fattar
inte riktigt vad det hela går ut på.
med 5V dito. Inte som en generell överspäningsfråga.

Sen så var det väl *analoga* 0-12V signaler, så jag fattar
inte riktigt vad det hela går ut på.
Re: uC i en analog miljö - vad krävs?
AN521 figur 2. Visar exakt det Icecap säger att man inte ska göra, visserligen inte samma µC men konstruktionen är likvärdig. Det finns antagligen motsvarande dokument för AVR om man bara söker.
Nu var det väl ±12V vilket jag tolkar som audio. Men om TS kan vara tydligare underlättar det ju.
Nu var det väl ±12V vilket jag tolkar som audio. Men om TS kan vara tydligare underlättar det ju.
Re: uC i en analog miljö - vad krävs?
Det är ganska ointressant att ingången på en µC tål VCC + 0.2 volt eller liknande. 12 volt kan givetvis skalas ner så att det blir 5 volt. Men det är inte där problemet ligger när det gäller att skydda processorn.
Det intressanta är att när ingången eller utgången kopplas till omgivningen så måste man räkna med att det kan uppstå ESD-urladdningar i storleksordningen 15000 volt om någon råkar pilla på en ledare t.ex. En spänning som inte får ledas vidare in till något processorben. Därför har man olika lösningar för att förhindra detta.
Till viss del kan de inbyggda dioderna skydda om man använder ett seriemotstånd på ingången. men med tanke på att det kan bli ganska stor energi och dioderna är väldigt känsliga så är det sällan tillräckligt. En extern TVS-diod är ofta lite kraftigare och kan ta upp ganska mycket energi under kort tid.
Bäst är om man använder optokopplare som galvaniskt isolerar processorn från insignalerna. Man kan även isolera med en transistor.
Man kan kombinera en transientskyddsdiod (TVS) med en kondensator och ett motstånd för att kunna leda bort oönskad ESD. Kondensatorn tar då bort snabba spikar som dioden inte hinner med.
Men är det analoga signaler så får man ju tänka på att ju fler komponenter man hänger på desto större risk för brus eller annan förvrängning av signalen.
Här en artikel jag hittade (slumpvis googlande): Is it OK to rely on an ADC's internal protection diodes?.
Här en lite mer utförlig artikel från Analog Devices om att skydda både matningsspänning, in- och utgångar:
http://www.analog.com/library/analogdialogue/archives/43-04/process_control.html (sök på ESD så hittar du de relevanta styckena i texten)
Det intressanta är att när ingången eller utgången kopplas till omgivningen så måste man räkna med att det kan uppstå ESD-urladdningar i storleksordningen 15000 volt om någon råkar pilla på en ledare t.ex. En spänning som inte får ledas vidare in till något processorben. Därför har man olika lösningar för att förhindra detta.
Till viss del kan de inbyggda dioderna skydda om man använder ett seriemotstånd på ingången. men med tanke på att det kan bli ganska stor energi och dioderna är väldigt känsliga så är det sällan tillräckligt. En extern TVS-diod är ofta lite kraftigare och kan ta upp ganska mycket energi under kort tid.
Bäst är om man använder optokopplare som galvaniskt isolerar processorn från insignalerna. Man kan även isolera med en transistor.
Man kan kombinera en transientskyddsdiod (TVS) med en kondensator och ett motstånd för att kunna leda bort oönskad ESD. Kondensatorn tar då bort snabba spikar som dioden inte hinner med.
Men är det analoga signaler så får man ju tänka på att ju fler komponenter man hänger på desto större risk för brus eller annan förvrängning av signalen.
Här en artikel jag hittade (slumpvis googlande): Is it OK to rely on an ADC's internal protection diodes?.
Här en lite mer utförlig artikel från Analog Devices om att skydda både matningsspänning, in- och utgångar:
http://www.analog.com/library/analogdialogue/archives/43-04/process_control.html (sök på ESD så hittar du de relevanta styckena i texten)
Re: uC i en analog miljö - vad krävs?
Intressant!
"Note that diodes, internal or external, are intended to prevent IC destruction BUT not to prevent malfunction in normal operation if they conduct." står det i första länken.
Men som så mycket annat beror den exakta lösning mest på den aktuella koppling och då det tydligen är en hemlighet är det svårt att ge svar. Dock finns det ett svar som gäller generellt:
* För att säkra stabil och normal funktion ska alla signaler vara anpassade per design och ingen "hoppla"-lösningar ska planeras!
"Note that diodes, internal or external, are intended to prevent IC destruction BUT not to prevent malfunction in normal operation if they conduct." står det i första länken.
Men som så mycket annat beror den exakta lösning mest på den aktuella koppling och då det tydligen är en hemlighet är det svårt att ge svar. Dock finns det ett svar som gäller generellt:
* För att säkra stabil och normal funktion ska alla signaler vara anpassade per design och ingen "hoppla"-lösningar ska planeras!
-
- Inlägg: 7110
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
Re: uC i en analog miljö - vad krävs?
Att det är bäst att använda optokopplare håller jag inte riktigt med om. Att det är enklast att använda optokopplare håller jag med om. De som konstruerar riktigt tillförlitlig utrustning undviker oftast att använda optokopplare pga att lysdioden på ingången går sönder så lätt. Och att den komponenten som har bland den sämsta tillförlitlighen är optokopplaren.jesse skrev: .
.
.
Bäst är om man använder optokopplare som galvaniskt isolerar processorn från insignalerna. Man kan även isolera med en transistor.
.
Förmodar även att du menar transformator och inte transistor att isolera med.
-
- Inlägg: 37
- Blev medlem: 1 april 2013, 14:01:45
Re: uC i en analog miljö - vad krävs?
Wow! Det här forumet är fantastiskt. Överväldigad av alla bra svar.
Dags att förtydliga lite då.
Det rör sig om en modul i en modulär synthesizer. Enskilda signaler ligger typiskt mellan +/-5V, eller 0-10V. Men kombinationerna kan naturligtvis ligga i hela matningsspännings-intervallet +/-12V. Vilt kopplande är liksom en del av själva konceptet här.
När det gäller insignaler som ska tolkas analogt så är jag bara intresserad av intervallet 0-5V. I just den här modulen är jag dessutom bara intresserad av en upplösning på tre(!) bitar, så ingen stor noggrannheten mao. Här behöver jag alltså inte skala om signalen - bara begränsa dess max- och min-värde, och utan krav på nån större precision vid min och max. Hittade den här också som var intressant: http://cds.linear.com/docs/en/application-note/an50.pdf
När det gäller digitala insignaler så antar jag att jag bör slänga på en komparator med lite hysteres. Även här kan man alltså koppla in vilka signaler som helst - långsamma oscillerande eller t.o.m. brus. (I det sistnämnda fallet garanteras ingen tydligt definierad funktionalitet dock. :-D)
Utsignalerna i det här fallet kommer bara vara digitala. De kommer kanske driva nån lysdiod, men i övrigt kopplas till den stora stygga världen utanför via mini-tele-jack. Här behövs ju iaf kortslutningsskydd. Frågan är om man behöver nåt mer?
Det svåra i alla såna här frågor, för mig som inte har så mycket praktisk erfarenhet av kretskonstruktion, är vad som är lagom. Jag vill ju inte tynga ner designen med sånt som inte behövs.
Dags att förtydliga lite då.

Det rör sig om en modul i en modulär synthesizer. Enskilda signaler ligger typiskt mellan +/-5V, eller 0-10V. Men kombinationerna kan naturligtvis ligga i hela matningsspännings-intervallet +/-12V. Vilt kopplande är liksom en del av själva konceptet här.

När det gäller insignaler som ska tolkas analogt så är jag bara intresserad av intervallet 0-5V. I just den här modulen är jag dessutom bara intresserad av en upplösning på tre(!) bitar, så ingen stor noggrannheten mao. Här behöver jag alltså inte skala om signalen - bara begränsa dess max- och min-värde, och utan krav på nån större precision vid min och max. Hittade den här också som var intressant: http://cds.linear.com/docs/en/application-note/an50.pdf
När det gäller digitala insignaler så antar jag att jag bör slänga på en komparator med lite hysteres. Även här kan man alltså koppla in vilka signaler som helst - långsamma oscillerande eller t.o.m. brus. (I det sistnämnda fallet garanteras ingen tydligt definierad funktionalitet dock. :-D)
Utsignalerna i det här fallet kommer bara vara digitala. De kommer kanske driva nån lysdiod, men i övrigt kopplas till den stora stygga världen utanför via mini-tele-jack. Här behövs ju iaf kortslutningsskydd. Frågan är om man behöver nåt mer?
Det svåra i alla såna här frågor, för mig som inte har så mycket praktisk erfarenhet av kretskonstruktion, är vad som är lagom. Jag vill ju inte tynga ner designen med sånt som inte behövs.
Re: uC i en analog miljö - vad krävs?
> ...med sånt som inte behövs.
Vad "som behövs" framgår av respektive datablad för de olika kretsar du använder.
Är det något där som är oklart så kan du peka på det och få hjälp med tolkningen.
Utöver det så är det nog ingen här som kommer att tipsa om ful-lösningar.
Vad "som behövs" framgår av respektive datablad för de olika kretsar du använder.
Är det något där som är oklart så kan du peka på det och få hjälp med tolkningen.
Utöver det så är det nog ingen här som kommer att tipsa om ful-lösningar.
Re: uC i en analog miljö - vad krävs?
"men i övrigt kopplas till den stora stygga världen utanför via mini-tele-jack" Här kan det bli problem!
Min filosofi:
Regel 1A: INGEN µC-pinne direkt till omgivningarna! Aldrig! Ska signalen lämna kretskortet ska det vara minst ett aktivt steg mellan C och det som ska drivas. Det kan vara en transistor eller drivkrets men något måste finnas!
Regel 1B: Spänningsmatningen (VDD) till µC'n får inte lämna kretskortet alls!
Regel 'liiiite lägre prioritet': Har man ett 5V µC-system kan "långsamma" signaler begränsas rimligt bra med en resistor-zenerdiod-koppling, kan det bli negativt kan man komplettera med en shottky-diod för att fånga den del. Men varje signal ska analyseras rörande spänningar som KAN finnas, deras hastighet, strömmar och krav, sedan designer man efter det.
Detta kretslopp har jag använd, det viktiga är R37, D12 & C16. R33 medger att samma ingångssteg kan användas till båda Typ-K termokopplare och PT100 - men det är en bisak i detta. Dock visar R33 hur man kan ta ut VDD till t.ex. en brytare.
Min filosofi:
Regel 1A: INGEN µC-pinne direkt till omgivningarna! Aldrig! Ska signalen lämna kretskortet ska det vara minst ett aktivt steg mellan C och det som ska drivas. Det kan vara en transistor eller drivkrets men något måste finnas!
Regel 1B: Spänningsmatningen (VDD) till µC'n får inte lämna kretskortet alls!
Regel 'liiiite lägre prioritet': Har man ett 5V µC-system kan "långsamma" signaler begränsas rimligt bra med en resistor-zenerdiod-koppling, kan det bli negativt kan man komplettera med en shottky-diod för att fånga den del. Men varje signal ska analyseras rörande spänningar som KAN finnas, deras hastighet, strömmar och krav, sedan designer man efter det.
Detta kretslopp har jag använd, det viktiga är R37, D12 & C16. R33 medger att samma ingångssteg kan användas till båda Typ-K termokopplare och PT100 - men det är en bisak i detta. Dock visar R33 hur man kan ta ut VDD till t.ex. en brytare.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Senast redigerad av Icecap 2 augusti 2013, 14:39:34, redigerad totalt 1 gång.
-
- Inlägg: 37
- Blev medlem: 1 april 2013, 14:01:45
Re: uC i en analog miljö - vad krävs?
Tack Icecap! En bild säger mer än tusen ord. Och 1A och 1B kommer härmed också att tillämpas. 
