Hallo ik ben bezig een analoge sensor uittelezen met de adc van de microcontroller, maar af en toe zit er dan een waarde tussen die er niet tussen hoort als ik de resultaten bekijk.
weet iemand wat ik daar aan kan doen?
ik bedoel pull down weerstanden ofzo
LaStei
carpe cerevisi
Dit zijn de leuke... Is de onjuiste waarde compleet random, dan kijken of er een EMI probleem is, pulsjes op de voedingsleidingen etc. Goede ontkoppelcondensatoren, en zorgen dat je Vref pin (indien aanwezig) echt stabiel is. Zorg er ook voor dat de massa van analoge en digitale logica alleen bij de controller aan elkaar zitten. De massa moet rotsvast blijven, anders echt een hoop rommel. Is de waarde een konstante (00 of FF o.i.d.) kijkt dan eens of je een task overrun hebt, dat je een waarde probeert te lezen terwijl de DAC nog niet klaar is. En realiseer je dat met een spanning van 5 volt een 10 bit converter een LSB waarde heeft van 5 mV, een beetje parallele printspoor met een scherpe spanningspuls op een hoogohmige ingang kan een hogere spanning als dit leveren.
Veel succes.
bedankt voor de antwoorden.
LaStei: je bedoeld dat ik niet alle grounds met elkaar moet door verbinden?
en m'n probleem is dat ik een heleboel keer de goede waarde krijg of een heel klein beetje ernaast, maar af en toe zit er een (te)grote afwijking bij.
elmowww
PA0EJE - www.eje-electronics.nl - e.jongerius[aapje]eje-electronics.nl - EJE Electronics - Elektronica/firmware ontwikkeling
Ja het gemiddelde zou kunnen, maar ja dat is ook nauwkeuriger als die rare waarde er niet bijzit.
nu gebruik ik een pull down weerstand van 10k en een weerstand van 1k voor dat het signaal de microcontroller ingaat
LaStei heeft geloof ik de oorzaken van 'grote' afwijkingen wel vermeld. Jowi onderstreept de laatste, dus...
Misschien helpt het als je vertelt waar
pull down weerstand en zo
zitten, even een schemaatje posten, PCB layout etc. Of stuur ons even een kristallen bol. Dan krijgen we de info op die manier.
Verder zou je natuurlijk er ook zelf even over na kunnen denken... (hint: als het 'meestal' werkt, wat veroorzaakt dan het soms niet werken)
gradtje
Ja... en toen ?
http://ww1.microchip.com/downloads/en/DeviceDoc/adn007.pdf
Ikzelf heb altijd waanzinnige problemen op een experimenteerbordje. Wanneer ik het spul dan heb overgezet op print valt het al stukken mee.
Je krijgt gewoon problemen met aarding en slechte contacten.
gradtje: bedankt voor je pdf.
Ik ben nu van plan om er een buffer amplifier tussen te gaan zetten om dat de ingang van m'n microcontroller 16 Mega Ohm en die van de sensor in het 10k bereik speelt.
Heeft er iemand een idee voor een(simpele), maar toch goede buffer amplifier?
LaStei
carpe cerevisi
Tips zat, mar het hangt een beetje van je applicatie af...
Een bufferversterker is niets meer of minder dan een opamp met versterkingsfactor 1. Wat is je sample rate? Wat is je output impedance van je sensor, wil je nog extra filteren (lees ruis eruit gooien en Mr. Shannon te vriend houden).
Welke voedingspanning wil je gebruiken? Tegenwoordig doet elke goede, low offset,low noise opamp datgene wat jij wilt, en dan gaan de randkriteria een rol spelen. Roept U maar...
Op 8 december 2005 16:44:34 schreef EEE:
niemand een tip
Helaas kan mijn kristallen bol even niet vinden.
Maar ik kan zo twintig dingen opnoemen die je fout zou kunnen doen en zonder extra gegevens (zoals bijv. randvoorwaarden, een schema of een stukkie code) is het moeilijk om daar iets zinvols op te zeggen.
De microcontroller heeft een ingang van 16 mega ohm, de sensor speelt in het 10k bereik. tussen de 0 en 5 volt, met een 10 bits adc. Ik heb om te testen de microcontroller nu zo staan dat deze continu waardes uitleest
LaStei
carpe cerevisi
Een buffer I.C. spec: low noise, 5V, rail to rail, als je werkelijk goed wil doen OPA350 van BURR-BROWN
gradtje
Ja... en toen ?
Ik denk dat je verder komt met eenvoud in dit soort gevallen.
Ik weet niet wat voor sensor je gebruikt, als het niet te snel fluctuerende waarden geeft, zou je een laagdoorlaat filter kunnen proberen, gewoon RC, of zelfs alleen een C als je toch al een uitgangsimpedantie in de 10k hebt.
Let trouwens ook op de voedingsspanning die in je uC als referentie wordt gebruikt !
Ik had hier een schakeling met een gsm-voeding, de spanning van deze voeding maakte zo een verschil van 0,5V wanneer ik een paar ledjes aanschakelde.
Als je dit dan ook als Vref+ gebruikt, kun je natuurlijk problemen verwachten.
