Tips kring signalanpassning innan A/D-omvandling
Tips kring signalanpassning innan A/D-omvandling
Halloj,
Försökt damma av mina gamla elektronikkunskaper, men behöver lite hjälp.
jag har en analog signal som jag vill mäta med min Arduino, men jag är bara intresserad att mäta inom ett visst intervall. I detta fall mellan 33 - 43V. Därför skulle jag vilja anpassa det till 0-5V som passar Arduinon bättre.
En enkel spänningsdelar hade väl kanske funkat, men jag har ett svagt minne av att man kuna fixa till detta med hjälp av några enkla op-amps.
Någon som har tips på vad jag kan söka vidare på?
Tack på förhand.
Försökt damma av mina gamla elektronikkunskaper, men behöver lite hjälp.
jag har en analog signal som jag vill mäta med min Arduino, men jag är bara intresserad att mäta inom ett visst intervall. I detta fall mellan 33 - 43V. Därför skulle jag vilja anpassa det till 0-5V som passar Arduinon bättre.
En enkel spänningsdelar hade väl kanske funkat, men jag har ett svagt minne av att man kuna fixa till detta med hjälp av några enkla op-amps.
Någon som har tips på vad jag kan söka vidare på?
Tack på förhand.
Re: Tips kring signalanpassning innan A/D-omvandling.
Skulle tippa att en vettig sökterm är "analog level shift".
Här fanns lite varianter
http://electronics.stackexchange.com/qu ... evel-shift
Här fanns lite varianter
http://electronics.stackexchange.com/qu ... evel-shift
Re: Tips kring signalanpassning innan A/D-omvandling.
Kan det här vara något? Det ser i varje fall ut att fungera i simulatorn.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Tips kring signalanpassning innan A/D-omvandling.
zenerdiod är inge bra för temperaturstabiliteten om man vill mäta spänningen noga
Re: Tips kring signalanpassning innan A/D-omvandling.
Vad har du för matningsspänningar tillgängliga?
Vilken noggrannhet ska du mäta med?
Vilken noggrannhet ska du mäta med?
Re: Tips kring signalanpassning innan A/D-omvandling.
Först måste du sänka 33V till 0V och det kan du
göra genom att seriekoppla 2st motstånd där det
ena kopplas till -33V och det andra till din signal
så sedan tar du ut spänningen mellan de två.
(signal) o---RESISTOR----o----RESISTOR----o (-33V)
göra genom att seriekoppla 2st motstånd där det
ena kopplas till -33V och det andra till din signal
så sedan tar du ut spänningen mellan de två.
(signal) o---RESISTOR----o----RESISTOR----o (-33V)
-
- Inlägg: 63
- Blev medlem: 1 augusti 2010, 12:45:23
Re: Tips kring signalanpassning innan A/D-omvandling.
Det här går att lösa med en opampbaserad differensförstärkare:
http://en.wikipedia.org/wiki/Differenti ... amplifiers
Den önskade funktionen kan skrivas som
y = (x-33)/2 = x/2 - 33/2
(där x är inspänning och y utspänning).
Termen 33/2 är lite tråkig eftersom vi inte har så höga spänningar (undantaget inspänningen), så vi skriver om uttrycket så att vi får lite mindre värden (jag väljer 5V eftersom den finns tillgänglig på ett Arduinokort. Har man en noggrannare referensspänning väljer man såklart den istället).
y = 33/(2*5) (5x/33 - 5) = 3.3 (x/6.6 - 5)
Detta motsvaras av kopplingen i wikipedialänken ovan med
V1=5V, V2=inspänningen delat med 6.6, R1=R2=10k, Rf=Rg=33k
Inspänningen delat med 6.6 kan man få genom att ersätta R2 med en spänningsdelare som delar med 6.6 och har inre resistansen 10kohm (enligt Thévenins teorem). Jag får 66kohm och 11.785kohm. Det senare motståndet sitter parallellkopplat med Rg, så de kan ersättas med ett motstånd på 8.864kohm.
Kopplingen ser alltså ut så här: R3 och R4 kan väljas annorlunda för att få värden som är lättare att hitta, bara förhållandet mellan dem är samma.
När jag petar runt i simulatorn ser jag att ingångarna på opampen kan hamna på 5 V, så man behöver en opamp med rail-to-rail input.
http://en.wikipedia.org/wiki/Differenti ... amplifiers
Den önskade funktionen kan skrivas som
y = (x-33)/2 = x/2 - 33/2
(där x är inspänning och y utspänning).
Termen 33/2 är lite tråkig eftersom vi inte har så höga spänningar (undantaget inspänningen), så vi skriver om uttrycket så att vi får lite mindre värden (jag väljer 5V eftersom den finns tillgänglig på ett Arduinokort. Har man en noggrannare referensspänning väljer man såklart den istället).
y = 33/(2*5) (5x/33 - 5) = 3.3 (x/6.6 - 5)
Detta motsvaras av kopplingen i wikipedialänken ovan med
V1=5V, V2=inspänningen delat med 6.6, R1=R2=10k, Rf=Rg=33k
Inspänningen delat med 6.6 kan man få genom att ersätta R2 med en spänningsdelare som delar med 6.6 och har inre resistansen 10kohm (enligt Thévenins teorem). Jag får 66kohm och 11.785kohm. Det senare motståndet sitter parallellkopplat med Rg, så de kan ersättas med ett motstånd på 8.864kohm.
Kopplingen ser alltså ut så här: R3 och R4 kan väljas annorlunda för att få värden som är lättare att hitta, bara förhållandet mellan dem är samma.
När jag petar runt i simulatorn ser jag att ingångarna på opampen kan hamna på 5 V, så man behöver en opamp med rail-to-rail input.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Tips kring signalanpassning innan A/D-omvandling
Av nyfikenhet, vilken av Sikmeister och 4kTRB lösningar är att föredra? Vilken ger bäst precision?
Jag menar 4kTRB:s lösning är ju mycket enklare och Sikmeister:s ser ut att vara lite fancy. Men vad händer i praktiken?
Jag menar i båda fallen så delar man ju ner spänningen till en lämplig mindre spänning innan den matas in till opamp eller microcontroller. Kommer man inte få samma osäkerheter då i båda lösningarna bara det att opamp lösningen klarar av att driva lite mer?
Mvh
Sebastian
Jag menar 4kTRB:s lösning är ju mycket enklare och Sikmeister:s ser ut att vara lite fancy. Men vad händer i praktiken?
Jag menar i båda fallen så delar man ju ner spänningen till en lämplig mindre spänning innan den matas in till opamp eller microcontroller. Kommer man inte få samma osäkerheter då i båda lösningarna bara det att opamp lösningen klarar av att driva lite mer?
Mvh
Sebastian
Re: Tips kring signalanpassning innan A/D-omvandling
Det är två saker som behöver göras:
1. Skala om signalen
2. Flytta signalens basnivå
I teorin kan dessa göras i valfri ordning, men brus och sånt kan ställa till det lite.
4kTRBs lösning löser väl bara punkt 2 och kräver att du har tillgång till -33 V.
1. Skala om signalen
2. Flytta signalens basnivå
I teorin kan dessa göras i valfri ordning, men brus och sånt kan ställa till det lite.
4kTRBs lösning löser väl bara punkt 2 och kräver att du har tillgång till -33 V.
Re: Tips kring signalanpassning innan A/D-omvandling
Ja precis självklart, tänkte in tillräckligt långt.
Re: Tips kring signalanpassning innan A/D-omvandling
-33 behövs inte. Om du först t.ex. delar signalen med 3
så behövs -11V. Men det klart dynamiken blir inte den samma.
Annars kanske någon typ av logaritmering fungerar?
så behövs -11V. Men det klart dynamiken blir inte den samma.
Annars kanske någon typ av logaritmering fungerar?