Att mäta ström med AVR
Att mäta ström med AVR
Då jag inte tycks ha nog med saker att göra ska jag äntligen börja på mitt styr och övervakningssystem för kylanläggningar.
Den första och enda frågan egentligen är att mäta strömmen som kommer från trycktransmittern som är en vanlig 4-20mA-historia. Då denna drivs med 12-30V och endast ska kopplas i serie med strömförsörjning och apparaten som läser av den kan jag inte som tidigare tänkt nöja mig med att mäta spänningsfallet över ett motstånd som ligger i serie.
Alternativet att använda en OPAMP för att ta hand om spänningsfallet och ge en spänning ut direkt till µCns AD-omvandlare existerar ju, men jag vill helst ha in så få felkällor som möjligt då jag känner att det existerar tillräckligt med sådana redan.
Edit: Hittade http://www.elfa.se/elfa-bin/dyndok.pl?l ... 228084.htm , men priset gör ju ingen glad.
Den första och enda frågan egentligen är att mäta strömmen som kommer från trycktransmittern som är en vanlig 4-20mA-historia. Då denna drivs med 12-30V och endast ska kopplas i serie med strömförsörjning och apparaten som läser av den kan jag inte som tidigare tänkt nöja mig med att mäta spänningsfallet över ett motstånd som ligger i serie.
Alternativet att använda en OPAMP för att ta hand om spänningsfallet och ge en spänning ut direkt till µCns AD-omvandlare existerar ju, men jag vill helst ha in så få felkällor som möjligt då jag känner att det existerar tillräckligt med sådana redan.
Edit: Hittade http://www.elfa.se/elfa-bin/dyndok.pl?l ... 228084.htm , men priset gör ju ingen glad.
Jag har en känsla av att det där inte blir så linjärt. Jag hade själv liknande tankar en gång i tiden men blev avrådd. Letade då fram en "analog" optokopplare som skulle ha mycket bättre linearitet. Den hade dessutom två mottagarenheter i samma kapsel där alla enheter (1 TX, 2 RX) var isolerade ifrån varandra. I ett exempelschema hade man då tagit den ena mottagardelen och med den byggt en återkoppling till sändaren. Med antagandet att även om sändare-mottagare inte är helt linjära, så bör iallafall två lika mottagare på samma chip ha nästan identisk karakteristik. På det viset kunde man kompensera bort nästan all olinearitet. Ett klart intressant exempel!
Vårt projekt lades i malpåse ungefär samtidigt så det blev tyvärr inget labbat med den där.
Vårt projekt lades i malpåse ungefär samtidigt så det blev tyvärr inget labbat med den där.
>> PaNiC
Jag hängde inte riktigt med på hur du tänkt mäta strömmen, och vad det är för fel på att buffra med en OP isåfall?
Har du ditt shuntmotstånd mot jord? Isåfall kan du ju mäta med ADC via en spänningsdelning.
Om du inte har den mot jord så kan du kanske använda en instrumentförstärkare eller någon färdig krets som är till för just shuntspänningar; MAX4173 m.fl.
Jag hängde inte riktigt med på hur du tänkt mäta strömmen, och vad det är för fel på att buffra med en OP isåfall?
Har du ditt shuntmotstånd mot jord? Isåfall kan du ju mäta med ADC via en spänningsdelning.
Om du inte har den mot jord så kan du kanske använda en instrumentförstärkare eller någon färdig krets som är till för just shuntspänningar; MAX4173 m.fl.
Shuntmotståndet kan sättas till jord utan problem ja.
Läste i någon annan tråd att en OP utgör en hyfsad felkälla i sådana här applikationer, men det kanske beror på en hel massa?
Att mäta via spänningsdelning känns som lite av en fullösning.
Nu är jag antagligen lite väl ambitiös, men det kan hända att jag kommer att tillverka sådana här saker i mindre skala.
Jag kollade på MAX4173 och fick det till att för 20mA ska rSense vara 5Ohm och gain 50 om Vout ska bli 5V som högst. Kan det stämma månne?
Var går den att handla sedan?
Läste i någon annan tråd att en OP utgör en hyfsad felkälla i sådana här applikationer, men det kanske beror på en hel massa?
Att mäta via spänningsdelning känns som lite av en fullösning.
Nu är jag antagligen lite väl ambitiös, men det kan hända att jag kommer att tillverka sådana här saker i mindre skala.
Jag kollade på MAX4173 och fick det till att för 20mA ska rSense vara 5Ohm och gain 50 om Vout ska bli 5V som högst. Kan det stämma månne?
Var går den att handla sedan?
MAX4173 är väldigt onödig att använda om du kan ha shunten mot jord. Om inget annat så är den nog svår att få tag i om du ska göra en liten serie annat än prototyp, tyvärr.
En vanlig OP tycker jag passar utmärkt! Jag förstår inte riktigt vad som är farligt med en sådan. Skaffa en som går rail-rail och om du är rädd för överslag på ingången kan du skydda den med en zener.
En vanlig OP tycker jag passar utmärkt! Jag förstår inte riktigt vad som är farligt med en sådan. Skaffa en som går rail-rail och om du är rädd för överslag på ingången kan du skydda den med en zener.
Heh, ja.... För det första måste jag erkänna att jag aldrig har använt en OP och vet således inte riktigt hur de fungerar. RCV420 och MAX4173 förstod jag så gott som direkt hur de fungerar, men en sleten OP, nej då.
Det är väl en sådan sak som alla förväntas kunna och därför ges det ingen vidare grundläggande info i databladen. Får leta upp lite litteratur imorgon.
Begrepp som slew-rate, rail, inverterande och icke-inverterande ingångar säger mig ingenting.
Det som är farligt är väl det här med själva förstärkningen. En förstärkning innebär ju som du vet även att felen förstärks, något som jag inte önskar. Dessutom fler saker som kan krångla till det.
Det är väl en sådan sak som alla förväntas kunna och därför ges det ingen vidare grundläggande info i databladen. Får leta upp lite litteratur imorgon.
Begrepp som slew-rate, rail, inverterande och icke-inverterande ingångar säger mig ingenting.
Det som är farligt är väl det här med själva förstärkningen. En förstärkning innebär ju som du vet även att felen förstärks, något som jag inte önskar. Dessutom fler saker som kan krångla till det.
Om du bara ska ha OPn till att förstärka x antal gånger, icke-inverterande (eller två i serie som är inverterande), så är det bara att hämta typ närmsta träff på google på ett sådant schema. Det är först när man ska designa egna filter och grejer man bör ha bra koll på alla parametrar.
Ja, en förstärkning förstärker även brus. Är du rädd för det, kan du slänga in ett lågpassfilter, så slipper du brus av den karraktären. Om du inte behöver snabb respons på transienter i strömmen så kan du filtrera bort väldigt mycket av skiten. Bruset som OPn genererar i sig är säkert så litet att du knappt kan mäta det med din ADC ändå. Vi snackar väl en 10-50 ggr förstärkning. Det är först med förstärkningar uppemot 10³ man får problem med OPns inre egenskaper (om vi håller oss till frekvenser för shuntmatning).
Ja, en förstärkning förstärker även brus. Är du rädd för det, kan du slänga in ett lågpassfilter, så slipper du brus av den karraktären. Om du inte behöver snabb respons på transienter i strömmen så kan du filtrera bort väldigt mycket av skiten. Bruset som OPn genererar i sig är säkert så litet att du knappt kan mäta det med din ADC ändå. Vi snackar väl en 10-50 ggr förstärkning. Det är först med förstärkningar uppemot 10³ man får problem med OPns inre egenskaper (om vi håller oss till frekvenser för shuntmatning).
Rail-to-rail betyder bara att utgången kan ge ner till GND och upp till matningsspänningen (nästan, kan fattas några mV) och tål det på ingången.
I detta fall har slew-rate ingen betydelse men det är ett mått för hur fort utgången kan svänga: har den 10V/µs och den ska svänga 2V tar det minst (2/10=) 0,2µs att "komma fram".
Inverterande ingång respektiv icke-inverterande:
En op-amp förstärkar skillnaden mellan de 2 ingånger och förstärkar den väldigt mycket. Om du då kopplar utgången direkt till - (inverterande) ingången och skicker ett styrsignal på + (icke-inv.) ingången kommer utgången att följa styrsignalen slavisk (så snabbt den hinner såklart) men nu kan du belasta signalen mycket kraftigare.
- ingången (inverterande) betyder helt enkelt att om den ingång är mer plus än + ingången kommer utgången att gå - (läs som: GND). Omvänd kommer utgången att gå till + om man låter - ingången ha lägre spänning än + ingången.
Väldigt enkelt faktisk.
Så tar du en op-amp med rail-to-rail, matar den med 5V och har en shuntmotstånd på ett lågt värde kan du mata det signal, via en 47K motstånd, in till + ingången av op-amp:en. Mellan utgången och - ingången sätter du ett motstånd (R1, uträkning sen) och mellan GND och - ingången ytterligera ett motstånd (R2).
Om vi då antar att ditt shuntmotstånd är 5 ohm kommer du då att få en signalspänning om max 0,1V. Den spänning ska då förstärkas till 5V, alltså 50 gånger. Då räknar du: Gain = (R1/R2)+1, ger R2 ett lämpligt värde (i detta fall 4,7Kohm). Detta ger: R1 = (Gain - 1) * R2 = 230Kohm.
Klart.
Nu kan utspänningen från op-ampen inte överstiga 5V (matningsspänningen) "oavsett" vad du gör på ingången, den är buffrad så AD-omvandlaren kan belasta den utan problem.
Kan det bli enklare?
I detta fall har slew-rate ingen betydelse men det är ett mått för hur fort utgången kan svänga: har den 10V/µs och den ska svänga 2V tar det minst (2/10=) 0,2µs att "komma fram".
Inverterande ingång respektiv icke-inverterande:
En op-amp förstärkar skillnaden mellan de 2 ingånger och förstärkar den väldigt mycket. Om du då kopplar utgången direkt till - (inverterande) ingången och skicker ett styrsignal på + (icke-inv.) ingången kommer utgången att följa styrsignalen slavisk (så snabbt den hinner såklart) men nu kan du belasta signalen mycket kraftigare.
- ingången (inverterande) betyder helt enkelt att om den ingång är mer plus än + ingången kommer utgången att gå - (läs som: GND). Omvänd kommer utgången att gå till + om man låter - ingången ha lägre spänning än + ingången.
Väldigt enkelt faktisk.
Så tar du en op-amp med rail-to-rail, matar den med 5V och har en shuntmotstånd på ett lågt värde kan du mata det signal, via en 47K motstånd, in till + ingången av op-amp:en. Mellan utgången och - ingången sätter du ett motstånd (R1, uträkning sen) och mellan GND och - ingången ytterligera ett motstånd (R2).
Om vi då antar att ditt shuntmotstånd är 5 ohm kommer du då att få en signalspänning om max 0,1V. Den spänning ska då förstärkas till 5V, alltså 50 gånger. Då räknar du: Gain = (R1/R2)+1, ger R2 ett lämpligt värde (i detta fall 4,7Kohm). Detta ger: R1 = (Gain - 1) * R2 = 230Kohm.
Klart.
Nu kan utspänningen från op-ampen inte överstiga 5V (matningsspänningen) "oavsett" vad du gör på ingången, den är buffrad så AD-omvandlaren kan belasta den utan problem.
Kan det bli enklare?
Ett alternativ är att använda en ström spegel...

Lite förklaring...
Q1 och Q2 bildar en ström spegel (De bör sitta väldit nära varandra för att få termisk kontat så att de håller sama tempratur... ex 71-315-50 eller två lika med krympslang som håller ihop dem)
Späningen över R1 kommer kommer att motsvara strömen
R2 fungerar som skydd mot förhög späning (max 1mA se)och tillsammans med C1 som ett lågpass filter... och C1 som impedans sänkare vid sampling...
Så håll till godo

Lite förklaring...
Q1 och Q2 bildar en ström spegel (De bör sitta väldit nära varandra för att få termisk kontat så att de håller sama tempratur... ex 71-315-50 eller två lika med krympslang som håller ihop dem)
Späningen över R1 kommer kommer att motsvara strömen
R2 fungerar som skydd mot förhög späning (max 1mA se)och tillsammans med C1 som ett lågpass filter... och C1 som impedans sänkare vid sampling...
Så håll till godo
