Sensor analog spänning, 10-bit A/D = fel spänning, m.m.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Borre
Inlägg: 4570
Blev medlem: 14 juni 2007, 15:43:50
Ort: Hälsingland

Re: Sensor analog spänning, 10-bit A/D = fel spänning, m.m.

Inlägg av Borre »

Lågpassfiltrera signalen till ADCn, RC-filter alltså. Prova nått simpelt bara, 1-10k i serie med 10nF till jord.

Angående decimaler, multiplicera värdet innan du skriver ut det. Simpelt, men kanske inte mest effektivt.
Användarvisningsbild
Jan Almqvist
Inlägg: 1580
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Sensor analog spänning, 10-bit A/D = fel spänning, m.m.

Inlägg av Jan Almqvist »

Använd int istället för float vilket innebär fördelar med denna typ av processor. (Den kompilerade koden blir mindre, beräkningar går snabbare. Du kan också undvika division med konstanter helt och hållet genom att istället jobba med multiplikativa inverser.)
Användarvisningsbild
Icecap
Inlägg: 26139
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Sensor analog spänning, 10-bit A/D = fel spänning, m.m.

Inlägg av Icecap »

±2LSB är INTE 2 siffror! Det är ±2/1024 del av omvandlarens område, alltså ett mätvärde på 512 kan svänga mellan 510 och 514.

Sedan är det rätt som Jan Almqvist skriver: Gör jobbet med heltal istället.
Det är enklare att filtrera data och behandlingen går avsevärd snabbare.

Vid att omvandla ofta kan du enkelt ta medel av t.ex. 16 mätningar och få bruset ner i värde. Ska du se talen på ett display kommer allt över 3 Hz i utläsningshastighet ändå bara att vara flimmer varför du likaväl kan ta medel av omvandlingarna mellan varje display-uppdatering.

Då får du bra stabilitet i mätningarna.
Användarvisningsbild
Henry
Inlägg: 23613
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: Sensor analog spänning, 10-bit A/D = fel spänning, m.m.

Inlägg av Henry »

Nej klart det inte är siffror, tänkte dock i detta fall på 1000 då det i princip hade representerat det med ett ingångsvärde motsvarande 1000 men jag glömde de där sista 24. Filtrering till adc är förstås något som kunnat testas, dock noga testa värdena i så fall så det ändå följs åt för det kan vara både snabba och långsamma förändringar.

Har dock faktiskt petat lite med en annan kod just enbart baserad på int då jag slipper allt vad decimaler heter (funkade inte hur jag än gjorde decimaltecnet följde alltid med men jag har väl säkert gjort fel eller så) och som sagt är lite enklare att hantera. Jag råkade faktiskt på ett exempel på kalibrering med int involverat till en multimeter baserat på Arduino som verkade funka väldigt bra.

Det var mindre kod ja och lite enklare hantering och som även tar ett antal medelvärden så mätvärdet blir stabilt vilket således verkar vara helt rätt väg att gå, så tack för det tipset.

Trodde/hoppades att detta skulle vara något som tog 30 sek att få ihop för att läsa en enkel spänning men man har väl kanske blivit för bekväm med stabila multimetrar under årens lopp.
Användarvisningsbild
Icecap
Inlägg: 26139
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Sensor analog spänning, 10-bit A/D = fel spänning, m.m.

Inlägg av Icecap »

Med rätt lösningsmodell tar det inte lång tid att få medelvärde och rätt skalning samt komma placerat rätt.

Men börjar man fel blir det mesta en kamp.
Användarvisningsbild
Henry
Inlägg: 23613
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: Sensor analog spänning, 10-bit A/D = fel spänning, m.m.

Inlägg av Henry »

Så sant, inget snack om det.

Visar sig för övrigt sedan att USB-portens 5V är närapå skitigare än bilel och håller dessutom bara 4.93V plus att det nästan räcker att jag andas på USB kontakten i datorn, när den är av, för att värdet skall ändra sig för att inte tala om när jag rör vid den.

Är datorn avstängd så fladdrar värdet alltifrån knappt en siffra till inte ett dugg, så nu vet man det.
Användarvisningsbild
jesse
Inlägg: 9234
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Sensor analog spänning, 10-bit A/D = fel spänning, m.m.

Inlägg av jesse »

Du måste ju ha en stabil referensspänning att mäta mot. Beroende på hur sensorn fungerar ger den antingen ett absolut värde eller ett ratiometriskt värde ut (Där utsignalen är proportionell mot en inkommande referensspänning, vanligtvis matningsspänningen). Är utsignalen absolut behöver du en stabil spänningsreferens till ADC:n. Är den ratiometrisk kan du ofta använda t.ex. 5V-matningen, men den bör vara väl filtrerad för att inte skapa brus.
Användarvisningsbild
Henry
Inlägg: 23613
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: Sensor analog spänning, 10-bit A/D = fel spänning, m.m.

Inlägg av Henry »

Sensorn ger ut 0V vid 0 Torr och 10V vid 1000 Torr och mellan dessa värden är det linjärt, referens mot jord.

Hur sedan detta tas om hand av Arduinon är det som skapade problem för det visade sig att referenspänningen som Arduinon använde sig av, vilket var 5V matningen, var kraftigt störd av datorn den var kopplad till och faktiskt bara 4.93V. Med datorn avstängd och bara driven med det interna standby aggregatet så var värdena i princip helt stilla.

Sensorn vill ha lite småjobbiga + och - 15V vilket kommer att komma från 78 och 79 serien och sedan avkopplas på sedvanligt vis. Sensorn har en del krav på spänningen till den och den kommer att bli många ggr bättre än det som arduinon matas med när datorn är igång och förmodligen även när den är av.

Arduinon kommer förstås sedan att matas med rätt avkopplad 5V spreg så allt kommer sedan att blir stabilt och fungera som det skall.

Nu vet jag hur jag i stort skall göra mjukvarumässigt och jag skall kolla på skalning av värdet och dessa grejer sedan så värdet från sensorn är exakt det som visas på displayen då detta sedan även kommer att användas för reglergrejer.
Skriv svar