Mätning av ström, mätteknik?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Adden
Inlägg: 2
Blev medlem: 28 februari 2010, 21:26:22

Mätning av ström, mätteknik?

Inlägg av Adden »

Hej hej, här en längre tid läst på detta forum och nu behöver jag eran hjälp.

Jag har lite funderingar om att göra en microprocessorbaserad ström och spänningslogger och har lite frågor hur man bäst mäter strömmen.
Hur själva strömmätningen går till är jag med på, för tillfället använder jag en shunt på 0.01ohm och en "current sense amplifier" (LTC6101) som förstärker spänningsfallet (50x) till passande nivå för uCn (Arduino), i detta fall 5V vid 10A.

Däremot hur man bäst mäter med uCn, då mina programmeringskunskaper minst sagt är små, är jag inte riktigt med på. Om jag låt säga vill mäta startströmmen för en elmotor liknande en hårddisk tex bör man ju ha hög "samplig rate" (sv?) för att få tillräcklig noggrannhet/upplösning (vad tillräcklig är vet jag inte eftersom jag inte vet vad man kan vänta sig av en sån här lösning).

Använder en Arduino (Atmega328) och har testat mig fram lite. Har provat att helt enkelt mäta värdet från strömförstärkaren (current = analogRead(analogPin0);) och sedan skickat det till datorn med Serial.println((current * 5 / 1024 * 2); så långt är det ju okej antar jag. Men däremot blir det väldigt mycket data ta emot och göra något med, minns jag inte fel så sist jag provade vart det runt 500 mätningar per sekund. Det bör ju gå att göra snabbare också, kanske Arduinokoden som begränsar.
Det går ju att sätta in ett delay(x); för att minska antalet läsningar per sekund till låt säga 100/s, men då missar man ju samtidigt hur strömmen ändrar sig under detta uppehåll.

Jag har funderat på om man ska läsa analogRead(x); tio gånger och sen räkna ut ett medelvärde och skicka det till datorn, sen börjar det om igen med tio nya läsningar osv. Nackdelen med för många läsningar är ju om strömmen ändras mycket och ofta, då missar man topparna. Å andra sidan räknar jag inte med att kunna mäta varenda liten topp med exakt noggrannhet.

Hur ska man göra egentligen för att få hög upplösning men samtidigt inte överdrivet mycket data?
Ge mig gärna lite förslag på hur man kan göra och hur man bör mäta på detta sätt.
Användarvisningsbild
4kTRB
Inlägg: 21599
Blev medlem: 16 augusti 2009, 19:04:48

Re: Mätning av ström, mätteknik?

Inlägg av 4kTRB »

Här finns några tips på tekniker för att mäta med u-controller...
http://www.microlink.co.uk/dataaq.html
  • 3. Duration
    How long do you want to sample the signal for? If you are recording the data the duration determines the storage required, which may be in computer memory or on disk. The format of the stored data also affects the amount of storage space required. Data stored in ASCII format, for example, takes more space than data stored in binary format.
Användarvisningsbild
grym
EF Sponsor
Inlägg: 17779
Blev medlem: 16 november 2003, 12:22:57
Ort: i det mörka småland

Re: Mätning av ström, mätteknik?

Inlägg av grym »

välkommen till forumet

fundera på två saker

för det första , hur snabbt det du vill mäta på ändrar sig, du måste antingen mäta snabbare än så, eller dämpa insignalen till mätningen, ex via lågpassfilter

för det andra, vad vill du ha ut av det hela och hur?
det brukar vara det svåraste


ett tips är min, max, medel med hög samplingshastighet och under ex, 1,10 eller 100 sekunder, då får du tre mätvärden per tidsenhet
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: Mätning av ström, mätteknik?

Inlägg av Andax »

Ett tips är att köra med en 2-potens av samples om man vill medelvärdesbilda. Att dividera med 2,4, 8, 16 etc är mycket lätt och snabbt i en microkontroller eftersom det bara är rena skift åt höger av ett binärt tal. Att dividera med 10 är mycket krångligare och långsammare än att dividera med 16 t.ex.
Adden
Inlägg: 2
Blev medlem: 28 februari 2010, 21:26:22

Re: Mätning av ström, mätteknik?

Inlägg av Adden »

Ska läsa lite där.

Grym, tack.
Det är väl lite det som är problemet, jag vet inte. Tar vi exemplet med hårddisken har jag ingen aning om hur snabbt strömmen ändras där.

Men om vi tar ett annat exempel, jag vill mäta strömmen när en kondensator laddas upp genom ett motstånd, bara för att göra det enkelt.
En LTSpice simulering av kretsen och kondensatorn som laddas genom ett 10ohms motstånd (jag ändra lite efter simuleringen, men R1 är 10ohm och C1 10 000uF):
Bild
V(out) är spänningen ut från strömförstärkaren till uCn, för att komma tillräckligt nära grafen i simuleringen behövs ju väldigt många mätningar, men när det inte är så stora förändringar kan man kanske nöja sig med 200/s?

Så förstår jag frågan om vad jag vill ha ut av det hela rätt, är det alltså tillräckligt många värden för att kunna göra grafer som visar strömmen med hyffsad upplösning, likt simuleringen.

Vi säger att jag kan sampla 1000/s, men att skicka varje värde till datorn gör ju at det blir väldigt mycket data om det handlar om längre än några sekunder. Det tar väl även tid att skicka värdet efter varje läsning av ADCn, det är väl därför jag begränsas till ~500 mätningar sekunden som det är nu.

Så därav frågan om det går att ta ett medelvärde av ett antal mätningar och på så vis både minska datan och öka antalet samplingar av ADCn, eller om det bara är dumt och den enda lösningen är att sampla ett antal tusen gånger sekunden?

Med ett medelvärde på några mätningar vore det ju kanske smart att spara högsta värdet också.

Andax, okej, tog bara 10 som ett exempel men det du säger ska jag komma ihåg.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Mätning av ström, mätteknik?

Inlägg av blueint »

Har för mig Atmel AVR kan sampla som mest runt ~50 000 samplingar per sekund. Och med en upplösning på 8-bitar. PIC 8-bit har någon liknande max samplingshastighet har jag för mig.
Användarvisningsbild
4kTRB
Inlägg: 21599
Blev medlem: 16 augusti 2009, 19:04:48

Re: Mätning av ström, mätteknik?

Inlägg av 4kTRB »

Du är ute efter att spela in signalen och du behöver
bara spara ett nytt värde om det ändrat sig med
en förutbestämd skillnad. Har inget hänt på säg
20ms och du avslutar mätningen så kan du dra en
rät linje mellan -20ms och end.

Du får acceptera att du inte kommer att kunna mäta
signaler som ändrar sig för hastigt med en så pass
slö u-controller. Du måste ha hårdvara som är
dedikerad för uppgiften.
Skriv svar