mäta strömförbrukning hos DC-Motor

Övriga diskussioner relaterade till komponenter. Exempelvis radiorör, A/D, kontaktdon eller sensorer.
myrek
Inlägg: 38
Blev medlem: 7 april 2009, 09:52:15

mäta strömförbrukning hos DC-Motor

Inlägg av myrek »

Hej, jag håller på med ett litet projekt där jag bl.a. vill mäta strömförbrukning hos en liten 12V DC motor under drift. Jag övervakar mätningen med en AVR och skriver ut värden till en liten LCD display.
Jag tänkte använda mig av en resistor på 1 ohm i serie med motorn och sedan mäta spänningen över
resistorn. Motorn drar ca. 250mA vid drift och ungefär 1A vid full belastning.
Motorn styrs av en uC och en h-brygga bestående av P- och N-kanls MOSFET.
Mitt problem är att motorn genererar mycket störningar, Jag har testat att sätta en kondensator parallellt med resistorn vilket hjälper lite men jag har fortfarande väldigt mycket rippel.

Har någon tips på hur jag kan få ner störningarna? För tillfället gör jag lite medelvärdesberäkningar i uC:n men jag skulle helst vilja slippa detta..

Tips mottages gärna.
Mindmapper
Inlägg: 7106
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Re: mäta strömförbrukning hos DC-Motor

Inlägg av Mindmapper »

Du får sätta in ett lågpass filter. Problemet är att ett passivt filter dämpar spänningen, vilken redan nu är i lägsta laget för att du ska kunna använda ADC hela upplösning. Det får alltså bli ett aktivt LP-filter med en op.
Janne
Inlägg: 99
Blev medlem: 12 januari 2005, 10:51:58
Ort: Tyresö

Re: mäta strömförbrukning hos DC-Motor

Inlägg av Janne »

"Problemet är att ett passivt filter dämpar spänningen". Varför? Jag föreslår ett LP-filter med 1 kOhm i serie och 100 mikrofarad i parallell före mikroprocessorn.
xxargs
Inlägg: 10189
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: mäta strömförbrukning hos DC-Motor

Inlägg av xxargs »

Först måste man identifiera vilken typ av störningar som är jobbiga - är det spikstörningar så är LP-filter rätt steg - men beror det på att motorn faktiskt drar olika ström under varvet den snurrar och dessutom kanske beroende på inställningen av PWM:t - ja då är det mättekniskt mycket svårare att lösa och det kräver klur som tillräckligt hög samplingshastighet, RMS-mätning och intergrering över tid. - styr du PWM samtidigt som du mäter så kan man göra en viss samordning som att samplingen görs i samma takt som PWM-pulserna eller en fraktion av det.

är det fristående PWM-styrning utan synkning till mätningen så är det värre då man kan får svävningseffekter för att samplingen och PWM inte går i exakt samma takt.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: mäta strömförbrukning hos DC-Motor

Inlägg av jesse »

Jag antar att det är medelströmmen du vill få fram, och då duger nog Jannes lösning perfekt. DU ska inte ha en kondensator över ditt 1Ω motstånd utan vid ingången på ADC:n , efter det "höga" motståndet. Ju högre värde på motstånd och kondensator desto mindre rippel, men långsammare reaktion på förändringar, och tvärt om. Upp till 33k går nog att sätta i serie med ingången utan att resultatet påverkas märkbart, men kanske 1-10k är att rekommendera. kondingen kan vara mellan 1 och 1000 µF... jag skulle nog testa med ca 220 µF och 10k. Det borde plocka bort det mesta ripplet. Om du har högfrekvent rippel kanske du ska lägga på en 100nF keramisk på ingången också. Annars kan ADC:n räkna fel om det kommer snabba spikar.

Hänger resistorn "i luften" eller är ena är den kopplad till GND? om du kör differentiell mätning över motståndet behöver du ju samma filter på båda ingångarna. Det kan bli lite lurigare att få riktigt om "common mode" spänningen varierar kraftigt.

Jag skulle lägga kondensatorn mellan de båda ingångarna, men en elektronikingengör som jobbar med ADC:er på Linear Technology anser att varje ingång ska ha separat filter gentemot GND. Men jag gillar inte idén - det är ju inte common-mode spänningen man vill filtrera bort, det är ju den differentiella spänningen som ska filtreras. Man jag har kanske fel. Höga frekvenser och spänningar på "common mode" kanske slår igenom i ADCn och förstör mätningen trots att den differentiella spänningen är snygg?


Ändrade orden fram till första kommatecknet till små bokstäver.
Man bör inte skrika (dvs skriva med enbart stora bokstäver) på ett forum.
//Jimmy
myrek
Inlägg: 38
Blev medlem: 7 april 2009, 09:52:15

Re: mäta strömförbrukning hos DC-Motor

Inlägg av myrek »

Det stämmer att det är medelströmmen jag vill mäta. Jag ritade upp min koppling lite snabbt för att förklara hur det ser ut. Just nu har jag alltså direkt kopplat den här mätpunkten till ADCn på uC. Jag bifogar även en liten bild på hur spänningen ser ut. Det är inte en differentiell mätning över resistorn utan en single ended.

Har jag förstått rätt om jag skall koppla resistorn på 10k till mätpunkten sedan en 220uF konding i serie med denna och till jord. sedan ansluter jag punkten mellan resistorn och kondingen till ADC?
du får gärna rita en liten bild om du har tid.

Bild
så här ser min koppling ut.

Bild
det här är vad jag skickar till ADC:n... utan nån form av filtrering naturligtvis...
H.O
Inlägg: 5914
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: mäta strömförbrukning hos DC-Motor

Inlägg av H.O »

Nånting i den här stilen:
Bild)
(Bild delvis lånad/stulen från Wikipedia

Med 10k/220uF får du en tidskonstant på ~2s vilket känns oerhört långt om PWM frekvensen är 20kHz. Testa med 1k och 1uF, det ger ca 1mS i tidskonstant vilket motsvarar 20 PWM cycler.
myrek
Inlägg: 38
Blev medlem: 7 april 2009, 09:52:15

Re: mäta strömförbrukning hos DC-Motor

Inlägg av myrek »

Jag hoppades att det skulle räcka med ett passivt filter. Jag använder inte PWM över huvudtaget. Motorn går för fullt (~12V) i båda riktningarna.
Vilken OP-amp är att föredra om jag måste köra en aktiv lösning?
H.O
Inlägg: 5914
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: mäta strömförbrukning hos DC-Motor

Inlägg av H.O »

Du måste inte använda OP'n om du inte vill men den gör att du kan utnyttja ADCn's upplösning bättre. En annan möjlighet är ju att använda en lägre VRef än 5V (om det är det du har) men jag har inte koll på hur AVR fungerar på den biten.

I princip vilken OP som helst fungerar, men tänk på att dess utgång inte kommer att nå ända ner till 0V ifall du inte tar en rail-to-rail OP eller matat med +/- spänning.

Då tolkade jag skärmdumpen från skopet fel, jag såg 22kHz där och antog felaktigt att det var PWM-frekvensen.
myrek
Inlägg: 38
Blev medlem: 7 april 2009, 09:52:15

Re: mäta strömförbrukning hos DC-Motor

Inlägg av myrek »

Tack för snabbt svar. Jag testade med den passiva lösningen, då jag inte hade någon OP-amp liggandes. Detta förbättrar resultatet avsevärt. Jag kan nu läsa ut en bra signal som AVR:en tolkar utan problem. Det blir dock ett stort spänningsfall.
Jag mäter ca 0.250V innan lågpass filtret(motsvarar 250mA) och 0.050V efter. Hur räknar jag ut att filtret dämpar fem ggr?

Blir det helt galet om jag multiplicerar värdet jag läser in med 5 för att hamna i rätt område?
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: mäta strömförbrukning hos DC-Motor

Inlägg av jesse »

Bild

De flesta AVR har antingen 1.1 eller 2.6 volts referenser beroende på vilken AVR du använder. (dessa är ej så exakta, men de ändrar sig inte mycket, så när man väl kalibrerat mot en känd spänning så visar den rätt.

Kanske 1.1 v är lite snävt, om strömmen skulle gå upp över 1.1A vid belastning så kommer du över max. (det skadar inte din AVR men du kan inte läsa av värdet då).

1Ω motståndet bör ha 1% tolerans och av typen "metallfilm" (MF). Dessa ändrar inte värde efter temperatur. Det gör de vanliga kolfilmsmotstånden.

Lägg en exakt spänning på 1.0 volt över AVR-ingången. Läs av värdet med ADC.
Om du använder 2.6 volt referens får du ett värde på omkring 390. Detta värde motsvarar 1A.

Antingen kan du använda en trimpot som spänningsdelare över ADC_ingången (tiiräckligt högohmig för att inte påverka 1Ω motståndet, dvs > 1kΩ. Eller så gör du en avancerad matematisk operation i din AVR och beräknar en konstant som du ska multiplicera ditt mätvärde med för att få resultatet i mA. (inte så svårt egentligen, men man måste förstå tekniken att använda "binaler" (binära talsystemets motsvarighet till decimaler - t.ex 10.01100101001 = ca 2.395)

EDIT: spänningsfallet:

Nej, du kan inte räkna om värdet med 5 för att få "rätt". Du ska få ut ett medelvärde, och det blir i stort sett exakt. Kan bli någon tiondels procent fel om elektrolyten har en läckström, men inte så att det ska påverka resultatet. Det ska inte bli något spänningsfall över filtret, då är något fel. För högt motstånd? Trasig / dålig elektrolytkondensator (felvänd?)

Du verkar ju ha ett oscilloskop till hands. Kan du bekräfta spänningsfallet med det?
myrek
Inlägg: 38
Blev medlem: 7 april 2009, 09:52:15

Re: mäta strömförbrukning hos DC-Motor

Inlägg av myrek »

Tack för svaret jesse, Jag kör för närvarande med den interna spääningsreferensen på 1.1 V.
1 ohmsmotståndet är av metallfilmstyp.

så om jag har förstått rätt, så ska jag inte få så stort spännigsfall som jag nu har? Jag mätte upp ett medelvärde på den brusiga signalen innan filtret. Som du ser på bilden är den 267mV, efter filtret får jag en signal som är 44.2mV så bör deta alltså inte vara? Bör jag laborera med Resistorns storlek? minska den till ett betydligt mindre värde? Jag vet inte riktigt hur jag skall räkna fram ett värde som ger optimalt värde från filtret.

före LP
Bild

Efter LP
Bild
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: mäta strömförbrukning hos DC-Motor

Inlägg av Andax »

Om filtermotståndet är mycket mindre än oscilloskopsprobens impedans och komponenterna inte är trasiga (eller felmärkta) så bör du få en spänning över filterkondensatorn som är i princip samma som medelspänningen innan filtret, dvs över 1 ohmsmotståndet.
Kan du posta ett uppdaterat schema med de aktuella komponentvärdena på?
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: mäta strömförbrukning hos DC-Motor

Inlägg av jesse »

Om du använder en spänningsdelare med motstånd efter filtret så påverkar det värdet avsevärt. men inte om du bara kör rakt in på ADCn. Så det måste vara något fel på kopplingen eller komponenterna.
Skriv svar