hallo

Ik heb een analoge uitgang van een acceleratie sensor via een weerstand en een cap naar de analoge ingang gestuurd. de gemete waarde varieert echter tussen de 3 en 5 punten als de sensor volkome stil staat. hoe kan ik de meting stabieler maken?

De Vref ingangen zijn intern aan de + en de - gehangen.

mijn huidige situatie, R = 1K C = 0,1u


       |     ___          |
sensor |-----___----------|ADC pic ingang
       |            |     |
                   ---
                   cap
                   ---
                    |
                  aarde

Robbert

Ik zou gewoon meerdere metingen uitvoeren en hier het gemiddelde van nemen.
Deze methode gebruik ik wel vaker,de nauwkeurigheid is aanvaardbaar en het is niet al te complex.
Misschien dat iemand anders een betere oplossing heeft,we zullen zien.

Greetz

De Vref ingangen zijn intern aan de + en de - gehangen.

Hiervoor een stabiele referentie gebruiken.

Ik zou gewoon meerdere metingen uitvoeren en hier het gemiddelde van nemen.

Nadeel is dat dat tijd kost, kan me voorstellen dat je bij een toepassing met een acceleratie sensor deze tijd niet hebt.

een andere Vref zal ik dadelijk proberen, opzich heb ik wel tijd om meerdere metingen te doen. een meting duurt alles bij elkaar nog geen mS.

echter kreeg ik vreemd genoeg bij het middelen van een aantal sampels nog grotere schomelingen.

Robbert

Als de acceleratie sensor een hoogohmige uitgang heeft kan het ook lonen om er een opamp als buffer tussen te zetten.

Heb je dit op een "prikbordje" ? (dat geeft sowieso problemen)

Het scheelt werkelijk een slok op een borrel als je een goed printontwerp hebt

Verder voeding ontkoppelen, heb je toevallig een zware gebruiker op de zelfde voeding ? Signaallijn van "guides" voorzien en zoals al meer mensen opperden, goede referentie.
Let ook op hoe je nullijn loopt, vanaf de gnd van je ad chip meteen naar sensor, niet de - vanaf je voeding pakken.

Verwacht geen wonderen trouwens, de ruis kan net zo goed uit je sensor komen. Misschien zit je in een energiebaan welke zwaartekrachtfluctuaties veroorzaakt ;)

Ik weet niet wat voor ad je hebt, als het een 12+ bits is, moet je een erg goed ingangscircuit hebben, veel mensen vergeten dat dat best een hoge resolutie is.

Hier staan nog wel een paar tips:
http://ww1.microchip.com/downloads/en/AppNotes/00693a.pdf

lees dit ook:
• AN688 - Layout Considerations for 12-bit A/D
Converter Applications
• AN699 - Anti-aliasing, Analog Filters for Data
Acquisition Systems
• AN719 - Interfacing Microchip’s MCP3201 Analog
to Digital Converter to the PICmicro® Microcontroller

Kijk ook eens op dit topic MMA7260 accelerometer en ADC.

Daar staat ook een verwijzing naar een pdf over filteren.

Dit probleem heb ik ook gehad met een LM35 temperatuursensor. In de datasheet staat een RC demper http://www.national.com/ds/LM/LM35.pdf, p7 fig 4. 75 Ohm + 1 uF naar ground (gebruik zelf 100 Ohm). Hiermee kreeg ik het signaal stabiel.

http://www.uploadarchief.net/files/download/rc%20demper%20pic%20adc%20ingang.png

edit: filteralgoritme

de meeste algoritmen gaan uit van een soort moving average. Het naadeel van deze algoritmen is dat ze nogal de neiging hebben de "binnenbocht" te nemen. Als je in de appnote van RobHoi gaat kijken zie je een paar mooie voorbeelden hiervan. Een ander nadeel is dat je veel waarden moet onthouden. In de chemische processindustrie wordt volgend algoritme nogal eens gebruikt (voorbeeld in zelf uitgevonden programmeertaaltje):

for n do
x = sample
Y = Y + sample
end loop

z = ((n + m)*z + Y) / (n + m + 1)
y = 0

naarmate n en m groter worden wordt de filtering sterker. Voordelen zijn eenvoudige code en veel minder "binnenbocht" voor een vergelijkbare kwaliteit filtering.

Op 30 juni 2009 11:20:37 schreef Roland van Leusden:
[...]

Nadeel is dat dat tijd kost, kan me voorstellen dat je bij een toepassing met een acceleratie sensor deze tijd niet hebt.

niet als je sliding window algoritme gebruikt. voor elk sample in komt er ene sample uit.

Zonder oversampling lukt het prima om binnen 1mV precies te meten zonder verspringende uitlezing, en zonder condensator op de ingang.

-Goede printlayout.
-Kabels afschermen.
-Signaal bufferen.
-Stabiele voeding.
-Stabiele referentie.
-Digitaal en analoog goed scheiden.

Als je de A/D referentie aan de voeding van de PIC hebt hangen, krijg je natuurlijk nooit een stabiel geheel. Voor het analoge deel een aparte voeding gebruiken. (3 punten verschil is tenslotte maar 15mV, en daar zit je zo aan met wat digitaal 'gerommel' op de Vcc...)

hallo,

momenteel heb ik het geheeld inderdaad op een expirimenteer bordje staan. ik heb al een 2,5V referentie spanning aan de Vref+ gehangen, echter blijft de fluctuatie vrij groot. de voeding die ik gebruik is behoorlijk stabiel en wordt nouwelijks belast. de A/D converter die ik gebruik zit in een 18F4550 en heeft een 10bit uit lees waarde.

ik ga iig alle gegeven links door spitten, maar ik denk dat het expirimenteer bord opzich al redelijk storing geeft. ik ga nog even verder op het expirimenteer bordje, en als ik een idee heb hoe alles moet worden maak ik een printplaatje. mocht de A/D instabiel blijven dan ga ik denk ik voor een digitaal uitleesbare accelerometer.