Mätning av ström, mätteknik?
Postat: 28 februari 2010, 21:33:54
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.
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.
