ad sampling av sinus, rätt??

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Plotten var en ren och "riktig" sinus

Det var den första också, det var bara lite svårt att se... :-)
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

Vad har du för spänningsreferens till A/D? För vissa processorer med inbyggd A/D kan man välja om man ska använda en intern spänningsreferens eller om man ska använda matningen som referens.
Om du försöker mäta matningen och samtidigt använder matningen som referens blir det mindre bra!!
fatpo83 skrev:Egentligen inget speciellt....jag samplade som sagt matningen på USBn som varierade mycket med tiden, ± 0,5V. Jag ser ju på oscilloskopet att nivån ändras men när jag samplar det så får jag inte de "ändringarna" som jag ser på osciloskopet.

Den största ändringen jag får är på ca 2-3 enheter vilket ger 5/1024*2=0,01 V!! Gör jag rätt nu? Hur ska man sampla en DC nivå?
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg av fatpo83 »

jag använder matningen som referens...men jag även testade med vanlig spänningsdelning för halva matningen och på det sättet analysera det...

nu har jag förstått att även ad samplingen fungerar som ett "filter" då den tar bort snabba transienter. ibland kan detta faktiskt vara användbart...bara man vet vad man gör :D
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> jag använder matningen som referens...

Och som sagts tidigare kan man inte använda samma spänning som man skall "mäta" som "referens".

> men jag även testade med vanlig spänningsdelning för halva matningen och på det sättet analysera det...

Vilket inte gör den minsta skillnad, så klart. Du har väll fortfarande matningen som ref ?

> nu har jag förstått att även ad samplingen fungerar som ett "filter" då den tar bort snabba transienter.

Det beror på *när* transienten inträffar. Du kan ju ha tur/otur att träffa transienten med ett sample. Om det är regelbundna transienter som återkommer med jämna intervall, så kan du vara ganska säker på att ett sample kommer att träffa en transient någongång.

Sedan är det en annan sak att transienten kan vara snabbare än vad ADC'n hinner att uppfatta, men det har inget med sample-intervallet att göra, utan är en fråga om hur ADC'n i sig är konstruerad.

*Däremot*, om man sätter ett lowpass filter före ADC med en brytpunkt som är matchad till sample hastigheten, så är det en annan sak. Då blir ju varje sample (mer eller mindre) ett genomsnitt av spänningen mellan två sample, och den faktiska nivån på insignalen (före lowpass filtret) just när samplet tas blir mindre viktigt.

Till sist, om man vill filtrera signalen utan externa filter, måste man sampla med en rellativt hög hastighet, och sedan köra mätvärderna genom att programvarufilter.

Sampling och filtrering är två olika funktioner.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

En metod som jag brukar använda är att sampla i hög fart och göra en enkel filtrering/nersampling genom att addera 2^n samples och sedan skifta för att få fram medelvärdet. Väldigt enkelt och funkar hyffsat bra.

Extra enkelt om man tar 256ggr översampling, då kan man "skifta" genom att bara strunta i en byte i summan.
Skriv svar