Sida 1 av 1

Ström och PWM

Postat: 8 maj 2007, 21:27:38
av jonas2307
Hej!

Har en fundering angående hur man mäter ström tillsammans med PWM.

Har en DC motor som kontrolleras, eller rättare sagt varieras, med hjälp av PWM.
Genereringen av PWM görs av en PIC, effekten hanteras av FET.

Jag skulle behöva mäta strömmen som motorn drar och tänkte använda ett motstånd i serie med motorn och mäta spänningsfallet med AD konvertering i PIC'en.

Men, kommer inte mätningen bli fel eftersom spänningen är PWM'ad?
Ska man sätta en kondning äver motståndet för att få en likspänning där, eller ska man ta hänsyn till dutycycle och bara mäta när spänningen är på?
Verkar lite roddigt att få till timingen, men det kanske fungerar.

Tänkte att någon borde gjort något liknande kanske...

-- Jonas

Postat: 8 maj 2007, 21:34:35
av JimmyAndersson
Stoppar man in en Ampere-meter i serie med motorn så borde man få ett medelvärde på strömmen. Så länge man inte ändrar motorns belastning eller dutycyclen för snabbt så kan man nog räkna med att det Ampere-metern visar stämmer.

Jag kan ha fel, men rent logiskt känns det rätt.. :)

Postat: 8 maj 2007, 21:38:03
av jonas2307
Hm, kanske, men jag vill kunna mäta den med PIC'en, eftersom jag vill kunna begränsa strömmen i vissa lägen.

-- Jonas

Postat: 8 maj 2007, 21:38:06
av Andy
Det är rätt Jimmy, så funkar det med PWM också.

Postat: 8 maj 2007, 21:43:33
av zeus
Kan man inte bara mäta innan man "PWM:ar"? Alltså direkt på batteriet.

Förlusterna borde man kunna räkna av.

Postat: 8 maj 2007, 21:59:37
av Andy
Det behövs inte, mät bara över en shunt som vanligt.

Postat: 8 maj 2007, 22:05:47
av Mindmapper
Med amperemeter finns det inte chans att den blir tokig om PWM sker med hög frekvens? De mätningar jag gjort med olika instrument på konstiga vågformer har visat att resultaten kan skilja mycket. Har dock aldrig jämfört så vid frekvenser över 20kHz. I varje fall är TRMS instrument mycket tillförlitligare. De har krupit neråt i pris så de är inte så blodit dyra längre.
Med PIC må det väl vara listigare att filtrera och få ett medelvärde. Det är väl inte toppströmen man vill åt normalt sett. Åtminstånne inte om man är ute efter att skydda motorn!

Postat: 8 maj 2007, 22:29:28
av grym
smidigast brukar vara en gammal analog mätare :oops:

mäta med digitalmultimeter kan resultera i mycket felaktiva värden

annars så ett shunt/motstånd och sedan ett vettigt lågpassfilter och in i pic eller multimeter

Postat: 8 maj 2007, 22:36:09
av jonas2307
Min tanke är att man måste "veta" när spänningen är på, och mäta just då, samt ta med i beräkningen vad det är för dutycycle just när man mäter.
Då kan man ju räkna ut medelströmmen, som ju är den man vill begränsa både för att skydda motorn och för att jag vill kunna begränsa effekten som motorn levererar av andra skäl.

Om man bara periodiskt mäter spänningen över motståndet så kommer den ju att vara noll om man råkar mäta just när PWM'en är av.

En del av tricket är ju att hinna mäta i den påslagna delen, beräkna kan man ju göra när man har tid.
Har inte koll på om man kan veta om den hårdvarugenererade PWM'en, i en PIC, är på eller av i varje givet ögonblick.

Eller tänker jag fel?
Vore enklast om det vore så....

-- Jonas

Postat: 8 maj 2007, 22:50:22
av sodjan
> Har inte koll på om man kan veta om den hårdvarugenererade PWM'en, i en PIC, är på eller av i varje givet ögonblick.

Jag har inte kollat av mot databladet, men det finns nog flera sätt
att "veta" om PWM är på eller av. Som sagt, jag har inte kollat, men
dels skulle man kunna kolla Timer2 (som styr PWM'en), eller läsa
av I/O pinnen direkt. Jag vet inte om man kan "enabla" interrupt
från Timer2 samtidigt som den styr PWM, men då skulle man kunna
få ett interrupt varje gång som PWM slår till (eller från).

Postat: 8 maj 2007, 22:50:44
av arvidb
Det som slås av/på med PWM är ju spänningen, inte strömmen. Motorns induktans i kombination med frihjulsdioderna över trissorna borde ju hålla strömmen hyfsat konstant, iaf vid högre PWM-frekvenser. Det borde gå fint att räkna på om man vet motorns induktans.

Så utan att egentligen veta så är min gissning att det går fint att mäta spänningen över shunten med en ADC och få ett vettigt värde, trots PWM.

Arvid

Postat: 9 maj 2007, 07:34:33
av Millox
Koppla såhär:

drivspänning -> mätmotstånd -> motor -> transistor -> jord.

koppla frihjulsdioden mellan drivspänning och transistor. Du har då alltid ström genom ditt mätmotstånd, antingen i form av magnetiskt uppladdande ström från spänningskällan genom transistor till jord, eller som magnetiskt urladdande från motor genom diod mätmotstånd och tillbaka till motorn.

Du kan då enkelt mäta strömmen genom att mäta spänningen över motståndet, och du kommer alltid att ha en ungefärlig ström, som förvisso kommer vara större om du träffar sent i perioden än om du träffar tidigt.

Du kan också koppla en kondensator parallellt med mätmotståndet, men den kommer laddas ur ganska snabbt mtp det låga motståndet i mätmotståndet. Så, denna metod ger inte lika bra värden som den tidigare men det blir lättare att implementera iom att det inte finns nån offsetspänning.

Det absolut enklaste är nog ändå att använda sig av successiv approximations-ad tillsammans med en omvandlingsfrekvens som är samma som eller långsammare än switchperioden. Då får du alltid bra värden, enkelt och smidigt. Det är normalt såhär man gör i trefasomriktare, där man för enkelhetens skull mäter mellan transistor och jord istället för att mäta strömmen ut från benen.

Postat: 9 maj 2007, 10:55:19
av jonas2307
Millox:

Ditt sista svar angående approximations-ad, vad menar du egentligen? :eh:
Ska man sampla ett antal gånger, med lägre frekvens än PWM'en?
Så har jag funderat tidigare om man inte skulle kunna få ett lämpligt medeltal som man kan förlita sig på.

Postat: 9 maj 2007, 11:52:51
av Millox
Du kan bara beskriva frekvenser som är lägre än halva samplingsfrekvensen. Samplar du då med en frekvens som är lägre än din switchfrekvens kommer du aldrig att få med switchripplet, utan du får bara den approximerade strömmen. Du måste dock ha ett hyffsat högt seriemotstånd, så att det tar ett litet tag för s/h-kretsen ett tag att ladda upp. 1 kΩ eller så kanske.