Mäta liten spänningsskilnad med uC

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Knut
Inlägg: 210
Blev medlem: 14 september 2008, 20:22:11
Ort: Färjestaden

Mäta liten spänningsskilnad med uC

Inlägg av Knut »

Jag har en signal från en givare som jag skulle vilja mäta med en uC. (arduino) Adc:n i atmega 328 är 10bitar. (men det vet ju alla redan) Vilket ger en upplösning på 0.00488V/bit.

Problemet jag har är att amplituden på utsignalen är ganska liten +-0.24v. Symetriskt kring 2.55V. Jag skulle vilja mäta förändringar i utsignalen på ca 0.00008V-0.0008V. (0.08-0.8mV) Till detta skulle jag behöva en upplösning på 16bitar. (0.000076V/bit)

Är detta rimligt? Eller ska man försöka sig på någon form av förstärkning av signalen? Med 10bitar kommer jag i alla fall inte att kunna mäta tillräckligt noga. Jag kan maximalt förstärka 10ggr innan jag kommer utanför mätområdet på 5V. Och då får jag en maximal upplösning på 0.000488V/bit sett från givaren. Visserligen inom önskat intervall men ändå inte tillräckligt bra.

Eftersom det är vanligt att bättre idéer dyker upp när man vet hela "sagan" kommer bakgrunden här.
Ska mäta ström i min elbil. Shunten finns redan och är 50mV/500A. Jag skulle vilja mäta ner till 0.1-1A. Har en isolerande förstärkare från texas instruments gjord för ändamålet AMC1200. Men jag inser nu (lite försent) att den bara förstärker 8ggr. Och om jag har räknat rätt blir jag tvungen att mäta med noggrannheten 0.08mV för att få till mitt önskemål om 0.1A noggrannhet.

Sen kommer ju frågan om hur stora fel som uppstår vid förstärkning osv. Störningar mm.

Jag tyckte att AMC1200 verkade vara en grej som skulle lösa mina problem med strömmätningen. Men jag tycker inte jag kommer ända fram. :(

/Knut
Användarvisningsbild
kankki
Inlägg: 3369
Blev medlem: 2 januari 2010, 15:05:12
Ort: Nykarleby, Finland

Re: Mäta liten spänningsskilnad med uC

Inlägg av kankki »

Låter lite som du först måste subtrahera 0.24V från 2.55 (nollpunkten, som signalen håller sig kring, förstod jag?), sen förstärka upp så du får 0-5V full skala.

EDIT: Subtrahera 2.31 från 2.55 menade jag...
Senast redigerad av kankki 21 november 2013, 23:03:09, redigerad totalt 1 gång.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4736
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Mäta liten spänningsskilnad med uC

Inlägg av Swech »

ta en differential AD omvandlare och sätt imellan så får du en lösning som
inte är en hög med kompromisser

Swech
Användarvisningsbild
SeniorLemuren
Inlägg: 8333
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Mäta liten spänningsskilnad med uC

Inlägg av SeniorLemuren »

Knut skrev:Jag har en signal från en givare som jag skulle vilja mäta med en uC. (arduino) Adc:n i atmega 328 är 10bitar. (men det vet ju alla redan) Vilket ger en upplösning på 0.00488V/bit.

Ska mäta ström i min elbil. Shunten finns redan och är 50mV/500A. Jag skulle vilja mäta ner till 0.1-1A.
Det är mitt i natten och jag kanske är lite trött, men om du skall mäta från 0,1 till 500 Amp i steg om 0,1 Amp så blir det 5000 steg. 10 bitar är ju 1024. inte ens en 12bitars (4096) räcker riktigt fram eller har jag missuppfattat hur du vill ha det?
Knut
Inlägg: 210
Blev medlem: 14 september 2008, 20:22:11
Ort: Färjestaden

Re: Mäta liten spänningsskilnad med uC

Inlägg av Knut »

kankki:
Nollpunkten håller sig vid 2.55V. Och det eftersom strömmen i en elbil inte är enkelriktad mot drivlinan. Vid motorbroms går strömmen tillbaka in i batteriet. Samt när man laddar batteriet. Meningen är att uC ska hålla reda på laddningsgrad, förbrukning mm.
Alltså kan man inte flytta ner nollpunkten till 0V. Även om det hade varit toppen. :)

Swech:
Detta låter intressant. Förstärkaren har en differentiell utgång. Men jag vet inte exakt vad detta innebär. Men en AD omvandlare som har en likadan ingång kanske är en bra idé. Får man dubbla spänningen eftersom den ena signalen är inverterad då? Måste försöka lära mera om detta...

SeniorLemuren:
Ja du är nog på rätt spår. Men eftersom jag är ute i pereferin av mina kunskaper just nu så vet jag inte riktigt hur man räknar/tänker. Men det är väl detta som är bästa sättet att lära? Hitta på något du vill göra och lär dig tillräckligt mycket (gärna mer) för att lösa problemet.

Jag missade att skriva det i ursprungsposten men strömmen som ska mätas är max 300A ur batteriet och runt 150A in i batteriet, vid motorbroms. Men shunten är märkt 50mV/500A. Jag antar att det är svårt att hålla på och flytta nollpunkten så därför siktar jag på ca +-300A.
Om man då tänker som SeniorLemuren så får jag +-300A --> 600A mätområde vilket med 0.1A uplösning blir 6000steg. dvs 16bitars AD.
jappelino_1
Inlägg: 81
Blev medlem: 13 april 2010, 14:40:04
Ort: Stockholm

Re: Mäta liten spänningsskilnad med uC

Inlägg av jappelino_1 »

Jag har gjort något liknande i min båt med en Texas MSP430F2013.
Den har 16 bitars AD som kan köras diffrentiellt.
Det finns ett litet kit som kostar under 200 kronor, du skulle kunna låta den mäta och sedan skicka resultatet seriellt alternativt skippa Arduinon.
Användarvisningsbild
Icecap
Inlägg: 26610
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Mäta liten spänningsskilnad med uC

Inlägg av Icecap »

Att flytta nollpunkten är mycket enkelt, man gör det i samband med förstärkningen till full skala.

Du vill mäta från -150A till +300A, alltså ett område på 450A. Med en 10 bit omvandlare ger det då 438,5mA per steg som bäst, verkligheten blir då runt 450mA per steg då det brukar försvinna en aning i båda ändar av skalan. Vill du ha bättre upplösning får du skaffa en bättre A/D-omvandlare.
superx
Inlägg: 1127
Blev medlem: 19 juni 2012, 23:28:16
Ort: Linköping

Re: Mäta liten spänningsskilnad med uC

Inlägg av superx »

Den här kanske kan vara något:
http://www.adafruit.com/blog/2012/11/05 ... 6-bit-adc/

Då får du 16 bitar, differentiell ingång och dessutom en inbyggd förstärkare som du kan styra digitalt.

Jag tror nästan att differentiell ingång är ett måste här. Det gör nämligen att störningar på matningsspänningen till omvandlaren inte lika lätt tar sig in i mätvärdena, och jag gissar att man kan förvänta sig en hel del störningar i miljön där denna kommer sitta.
Användarvisningsbild
SeniorLemuren
Inlägg: 8333
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Mäta liten spänningsskilnad med uC

Inlägg av SeniorLemuren »

Enklaste sättet kanske vore att skippa shunten och använda en bidirectional hall-baserad strömgivare på t.ex +-400A samt en 12-bitars AD-omvandlare kopplad till µC.
svanted
Inlägg: 5247
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: Mäta liten spänningsskilnad med uC

Inlägg av svanted »

batterikapaciteten kan ju mätas m.h.a. batterispänningen, är det så att det tillförs energi p.g.a. motorbromsning så kommer ju det att märkas på polspänningen.
inte för att jag vill ifrågasätta själva idén men graden bromsåtervinning av energin är försvinnande liten om man inte befinner sig i kilomterlånga bilköer,
som rör sig genom acceleration och inbromsningar..

för det är ju först när man trampar på bromsen som ngt kan återvinnas....

om inte folk varit så d-a kåta på att köra om så fort det finns en lucka framför bilen framför hade man kunna mjuka upp rörelserna i köerna genom att lägga sig på
en låg men konstant fart...då kunde massor av bränsle/el sparas...
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4736
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Mäta liten spänningsskilnad med uC

Inlägg av Swech »

Eller ta en AD som är anpassad för jobbet......

Swech
Knut
Inlägg: 210
Blev medlem: 14 september 2008, 20:22:11
Ort: Färjestaden

Re: Mäta liten spänningsskilnad med uC

Inlägg av Knut »

Icecap:
Förstärkning till full skala med förflyttning av "nollpunkten".
Finns det någon referensdesign med en opamp som du kan tipsa om? Eller använder man inte opampar till detta?

SeniorLemuren:
Ja en hallbaserad givare kanske inte är så dum. Dock vill jag försöka använda befintlig shunt för att slippa ändra i högspänningssystemet. Att passa in en hallsensor är ju iof relativt enkelt.

svanted:
Att med hjälp av batterispänningen försöka ta reda på batteriets nuvarande status är enligt min uppfattning helt omöjligt. Polspänningen varierar relativt kraftigt beroende på strömuttag. Man skulle kanske kunna göra en god _gissning_ om man alltid mätte polspänningen efter 24h vila utan någon ström in eller ut ur batteriet. Men det är ju inte speciellt enkelt i en elbil. Man kan ju inte stanna och vänta 24h varje gång men vill veta status.
På blybatterier kan man troligen göra en bättre _gissning_ än på lithiumbatterier som i detta fall. Men det är fortfarande efter en lång vila.

Min bil har motorbroms i gaspedalen.(om det nu heter gaspedal på en elbil) Vilket innebär att jag har tillgång till helt steglös motorbroms. Oftast kan jag köra bilen helt utan att använda den vanliga färdbromsen. Men ibland måste man stanna fort och då räcker inte motorbromsen till. Man kan se det som en vanlig förbränningsmotordriven bil med en mycket kraftig motorbroms. Faktiskt ganska bekvämt att köra bil med bara en fot. Att man sedan inte sparar speciellt mycket energi på motorbromsen är en annan sak. Bekvämlighet är en stor grej här.

Dock så håller jag med dig om bilköer. Men det är ju ett annat ämne.

Swech
Tycker du att den AD:n som det tipsas om här ovan är anpassad för jobbet. Jag tycker att det verkar som om den är ok för uppgiften.
ads1115

/Knut
Användarvisningsbild
Icecap
Inlägg: 26610
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Mäta liten spänningsskilnad med uC

Inlägg av Icecap »

Referensdesign har jag inte, det viktiga är att veta ditt budget. Bra op-amp med rail-to-rail är viktiga, ett exempel kan vara OP196/OP296, resten är rent faktisk bara en fråga om att rita och räkna lite.

Du har ju redan ett signal med ett stabilt nollpunkt, alltså är det mest en fråga om att förstärka det signal samtidig som det introduceras en offset i nollpunkten. Exakt hur man ska göra det beror på utgångsimpedansen på det signal du redan har.

Sedan är det ju frågan om huruvida du har vald rätt µC. ATmega är ju inte precis nyskapande och tar man t.ex. en PIC32MZ har du 12 bit i A/D-omvandlaren direkt, dock kör PIC32AZ på 3,3V så det kan vara lite mer knepigt om du måste ha ett 5V system. Ska det vara 5V är Renesas RX210 kanske en lösning - fast är man inte väldigt van med µC är den inte enkel att komma igång med.

Självklart är det möjligt att använda en extern A/D-omvandlare för att få upplösning nog, det är rent av en bra lösning då det oftast är "kelat" mer för att få bra resultat i en dedikerat krets.
bellasoda
Inlägg: 168
Blev medlem: 10 maj 2012, 13:48:52

Re: Mäta liten spänningsskilnad med uC

Inlägg av bellasoda »

Du kan justera referensspänningen på din mätning genom att lägga på 2.54 V på ben 21 (Aref) på din atmega328.

Det finns kretsar, t ex attiny25 som har intern spänningsreferens på 2.56V och 20x intern förstärkning (styrs via mjukvara). Om du nu inte tvunget måste använda kretsen atmega328.

Nu kan jag inte hela atmels produktutbud i huvudet, men du borde kunna hitta en krets med programmerbar intern förstärkning och extern spänningsreferens som kanske till och med är pin-ekvivalent med atmega328. Då behöver du inte så många avancerade externa komponenter.
Användarvisningsbild
kankki
Inlägg: 3369
Blev medlem: 2 januari 2010, 15:05:12
Ort: Nykarleby, Finland

Re: Mäta liten spänningsskilnad med uC

Inlägg av kankki »

Jag byggde faktiskt strömmätning till bil som slutarbete.. :P

http://elektronikforumet.com/forum/view ... il&start=0

Om du får något ut från det vet jag inte, men kanske någon idé.
Skriv svar