Hallo Zusammen,
ich habe ein 10Gang-5k Poti... das ganze nimmt von einem Garagentor die
Stellung ab
momentan ist das Stur an einem Arduino mit 5V angeschlossen,... die
Kabel sind keine 10cm lang.
dennoch habe ich gut Störungen und die zahl schwankt nicht nur im
einstelligen bereich sondern macht auch "hin und wieder" komische
Sprünge.
> Der tausch des Potis hilft zwar etwas, aber ganz bekomme ich die "Fehler" nicht
weg.
nun meine Fragen:
1. was kann ich Hardwaremäßig verbessern => Widerstände / Kondensatoren
2. wie kann ich Softwaremäßig das ganze so Glätten, dass ich eine
konstante Zahl habe
auf die "Genauigkeit" kommt es hier nicht an, ob das Tor nun 10cm weiter
oben erkannt wird oder 10cm weiter unten spielt keine Rolle... dennoch
sollten die (etwa 7 gebrauchen) Umdrehungen möglichst gut zurückgegeben
werden.
Vielen Dank
- Jan
Du sammelst z.B. 16 Werte, addierst sie auf und teilst nach 16 Messungen
die Summe durch 16. Das wäre dann eine einfache Mittelung. Es schadet
aber sicher nicht, zwischen ADC Eingang und Masse noch einen
Glättungskondensator zu schalten, z.B. 10nF - 100nF. Auf Geschwindigkeit
kommts ja hier nicht an.
Jan schrieb:> 1. was kann ich Hardwaremäßig verbessern
Mit einem RC-Glied.
Jan schrieb:> 2. wie kann ich Softwaremäßig das ganze so Glätten
Mit einem Datenvorratsspeicher von max. 0,5 Sekunden. Ist aber
wahrscheinlich zu aufwendig. Ich würde mir dabei selber die Karten
legen.
Du darfst einen Eingang nicht so einfach laufen lassen. Da sollte immer
ein Pullup Widerstand mit dran hängen. Irgend etwas zwischen 4,4k und
10k. Ein Bein auf 5V das andere an den Eingang.
Dann noch einen 100nF Keramikkondensator, ein Bein auf GND und das
andere ebenfalls an den Eingang.
Du solltest dich generell mit dem ganzen Thema Entstörung etwas mehr
befassen, so ein Arduino stürzt auch gerne mal ab bei Störungen. Nicht
genutzte Pins am Arduino z.B. als Ausgang konfigurieren.
Dann suche noch nach einer Anleitung für den Reset Pin vom Arduino. Auch
der hätte gerne noch einen Widerstand + Kondensator.
Zwischen mal fix auf dem Steckbrett für 5min, oder irgendwo eingebaut
über Monate, ist schon ein gewaltiger Unterschied.
Was für eine Stromversorgung hast du? Da schadet der eine oder andere
Kondensator meist auch nicht.
PeterL. schrieb:> Du darfst einen Eingang nicht so einfach laufen lassen. Da sollte immer> ein Pullup Widerstand mit dran hängen. Irgend etwas zwischen 4,4k und> 10k. Ein Bein auf 5V das andere an den Eingang.
Solange das Poti am Eingang hängt, wird der Eingang wohl nicht offen
laufen.
Ein Schaltplan, der die momentane Verschaltung wiedergibt, wäre nicht
die schlechteste Möglichkeit, um zu erfahren, wie das Poti mit dem
Arduino angeschlossen ist?
Dann kann man mehr sagen.
PeterL. schrieb:> Du darfst einen Eingang nicht so einfach laufen lassen. Da sollte immer> ein Pullup Widerstand mit dran hängen. Irgend etwas zwischen 4,4k und> 10k. Ein Bein auf 5V das andere an den Eingang.
Das ist Unsinn. Damit verfälscht man nur die Messung und hat kein
bisschen geglättet.
Ein 5k 10-Gang Poti ist ja nun auch keine besonders hochohmige Quelle.
Der RC Tiefpass ist da die richtige Wahl, zusätzlich eine Mittelung in
Software.
Das RC-Glied und eine saubere Versorgungsspannung wurden bereits
erwähnt.
Oft vorhandene Fehler durch eingestreute 50Hz-Felder können per Software
praktisch vollständig herausgefiltert werden:
Viele Messungen Über genau 20ms (oder Vielfache davon) mitteln.
Matthias S. schrieb:> Der RC Tiefpass ist da die richtige Wahl, zusätzlich eine Mittelung in> Software.
Bevor man mit irgendwelchen Filtern auf die Störungen einschlägt, sollte
man erstmal klären, wieso die Messwerte überhaupt so extrem rumzappeln.
Bei 10cm Leitungslänge und 5kΩ Potiwiderstand muss irgendetwas oberfaul
sein. Da sollte man das Übel an der Wurzel packen und nicht
irgendwelchen Dreck mit unbekannter Ursache einfach platt bügeln.
Jan schrieb:> dennoch habe ich gut Störungen und die zahl schwankt nicht nur im> einstelligen bereich sondern macht auch "hin und wieder" komische> Sprünge.
Ob mehr als einstellige Schwankungen einer Zahl ernst sind, hängt davon
ab, wie groß die Zahl ist.
Schaltung, Log von Messdaten, Oszibild vom Eingangssignal - das würde
jetzt weiter helfen.
Matthias S. schrieb:> Du sammelst z.B. 16 Werte, addierst sie auf und teilst nach 16 Messungen> die Summe durch 16. Das wäre dann eine einfache Mittelung.
Zusätzlich werfe ich die beiden Grenzwerte weg, also Minimum und Maximum
(man schaue in die Befehlsreferenz "min" und "max").
Aus mir unklaren Gründen habe ich auch schon mehrfach eine sinnlose 1023
bei der ersten Messung bekommen, ich werfe diese generell weg.
> zwischen ADC Eingang und Masse noch einen Glättungskondensator zu schalten, z.B.
10nF - 100nF.
Das sollte Standard sein?
> Auf Geschwindigkeit kommts ja hier nicht an.
Genau, die Tormechanik ist so langsam, dass man sich eine
Mehrfachabtastung problemlos leisten kann.
Manfred schrieb:> Aus mir unklaren Gründen habe ich auch schon mehrfach eine sinnlose 1023> bei der ersten Messung bekommen, ich werfe diese generell weg.
Und du bist sicher, dass die Wandlung bereits beendet war, als du diese
Zahl ausgelesen hat.
AVCC und VCC sind entkoppelt, AVCC ist separat abgeblockt, das Poti
hängt mit an AVCC, an ARef hängt ein Pufferkondensator - dann ist ja
gut.
Wolfgang schrieb:>> Aus mir unklaren Gründen habe ich auch schon mehrfach eine sinnlose 1023>> bei der ersten Messung bekommen, ich werfe diese generell weg.>> Und du bist sicher, dass die Wandlung bereits beendet war, als du diese> Zahl ausgelesen hat.
Ich wüsste nicht, dass man das in der Arduino-Umgebung abfragen kann.
Ich mache irgendwann im Programmablauf ein "analogRead(Pinnummer)" und
muß hoffen, dass der Wert passt. Da mein Zeug relativ zeitunkritisch
ist, hatte ich noch keine Not, das beforschen zu müssen.
Int Irgendwas = analogRead(Pinnummer)
delay(1)
Danach habe ich noch nie eine unpassende 1023 bekommen.
Jens schrieb:> Wieso verwendet man nicht einfach einfach eine Gabellichtschranke mit> Encoderscheibe oder einen Drehencoder statt Poti?
Teuer und nicht besser, denn die prellt auch ein bischen. Ein Poti mit
RC ist schon die richtige Lösung. Dann dahinter aber ein
Hysteresefilter, das erst nach Erreichen einer minimalen Differenz einen
Wert weitergibt. Dann ist das Rauschen wech.
Alles Quatsch was hier geschrieben wird, leider.
Folgendes; Du speicherst 16 Werte in eine Liste, sortierst sie, löschst
jeweils die zwei höchsten und zwei niedrigsten Werte. Anschließend
addierst du die Einzelwerte deiner Liste in einer Schleife auf, teilst
diesen Wert durch 12 und hinterlegst den in einer Variable (zb
AlterWert)
Im nächsten Schritt tust du das gleiche noch einmal mit dem Unterschied,
dass du den neuen gemittelten Wert in einer zweiten Variablen
hinterlegst (zb NeuerWert)
Nun berechnest du:
AlterWert= NeuerWert*(1-Filterfaktor) + AlterWert*(Filterfaktor);
Mit einem Filterfaktor (zb 0.001 bis 0.999) deiner Wahl.
Gruß
Vielleicht kratzt das Poti und der niedrigste Wert ist der richtige
Wert. Dann ist der Median richtiger Bockmist, weil der richtige Wert
dabei weggeschmissen wird.
Vielleicht sammelt es sich Störungen von Sonstwas ein und beim Störer
muss nur der Gehäuseschirm mal wieder festgeschraubt werden.
Vielleicht liegt auch ein elementarer Schaltungsfehler vor.
Hier ist URSACHENFORSCHUNG und nicht SCHÖNRECHNEREI gefragt.
Jan, es hört sich an, als gibt es da einen oder mehrere FEHLER in deinem
System. Finde die, bevor du darüber nachdenkst, sie zu kaschieren.
Miss den Eingang mit oszi, um zu sehen, ob es Probleme im Analogteil
gibt.Geh Mal mit konstanter Spannung rein, ließ das Datenblatt zum
ADC-eingang, Übersprechen der Nachbarn etc.
Printe lle rroh-adc-werte aus, um da Muster zu entdecken.
Einfach mitteln ist Quatsch.
Vor dem Eingang eines AD-Wandler kommt immer ein Aliasing filter:
http://www.ti.com/lit/an/slyt626/slyt626.pdf
Danach kannst du eventuell noch einen FIR Filter per Software machen
oder den Mittelwert bilden.
Falls dein Poti Spruenge macht so bezeichnet man das als Ausreisser.
Dafuer gibt es statistische Verfahren wie man soetwas erkennt und aus
seinen Daten rauswirft.
https://de.wikipedia.org/wiki/Ausreißertest_nach_Grubbs
Olaf
Wolfgang schrieb:> Hier ist URSACHENFORSCHUNG und nicht SCHÖNRECHNEREI gefragt.
So isses.
Die erste Frage ist mal, wie das Poti angeschlossen ist. Es sollte
direkt mit AGND, AIN, AREF des MC verbunden sein und nirgends sonst. Am
besten über ein geschirmtes Kabel. Dann müßte eigentlich jede Messung
stehen wie ein Fels.
Istdochso schrieb:> Nun berechnest du:>> AlterWert= NeuerWert*(1-Filterfaktor) + AlterWert*(Filterfaktor);>> Mit einem Filterfaktor (zb 0.001 bis 0.999) deiner Wahl.
Was soll das bewirken?
diese art filter ist bekannt als linear recursive exponential filter.
der genannte "filterfaktor" ist die gewichtung alt gegen neuen wert.
je nach gewichtung stellt sich somit ein neuer stationärer wert erst
nach x interationen ein und somit werden ausreiser/sprünge nicht
durchgereicht. die "kunst" ist jetzt die gewichtung passend zur
gewünschten systemantwortzeit zu defininieren.
diese art filter wird oft und gerne eingesetzt, wenn die latenzzeit im
sinne von echtzeit kein problem darstellt.
wie man leicht erkennt ist bei weight = 1 der filter wirkungslos, daher
der neue wert wird direkt durchgereicht und umgekehrt bei weight = 0
geblockt. beide fälle wären im sinne eines filter eigentlich sinnlos.
weight < 0.5 "bevorzugt" den alten wert, daher dauert es länger bis ein
neuer wert sich am ausgang zeigt und der smooth faktor is noch größer.
mt
---
float expFilter (float weight, float *currentValue, float newValue) {
//linear recursive exponential filter, weight e.g. 0.3=30%
//y(t)=(1-w)*y(t-1)+w*x(t)
*currentValue = (1 - weight) * (*currentValue) + weight * newValue;
return *currentValue;
}
Apollo M. schrieb:> diese art filter wird oft und gerne eingesetzt,
Ich suche noch ein Filter, was mir aus Zufallszahlen die richtigen Werte
für den ADC generiert. Dann könnte man sich das Poti doch komplett
sparen?
Olaf schrieb:> Vor dem Eingang eines AD-Wandler kommt immer ein Aliasing filter:>> http://www.ti.com/lit/an/slyt626/slyt626.pdf
Auch Quatsch. Wenn in dem Eingangssignal keine (nennenswerten)
Signalanteile oberhalb der halben Abtastfrequenz sind, braucht man kein
Anti-Aliasing Filter. Und wenn die darüberliegenden Anteile so klein
sind, dass einen Aliasing nicht stört, braucht man es auch nicht.
Die Position eines Garagentores sollte nur relativ niederfrequente
Signalanteile enthalten, solange das Tor beim Bewegen nicht fürchterlich
schwingt.
Manfred schrieb:> Aus mir unklaren Gründen habe ich auch schon mehrfach eine sinnlose 1023> bei der ersten Messung bekommen, ich werfe diese generell weg.
Jajaa das allg. Problem wenn man nur Arduino macht ohne Kenntnisse!
Schaue er ins Datenblatt, da ist erklärt, unter ADC, was zu beachten ist
wenn man Kanalumschaltung betreibt, ebenso wenn man den ADC-Kanal per
Software mit 0000 auf GND legt, ist die erste Messung grundsätzlich
Schrott.
Manfred schrieb:> Ich wüsste nicht, dass man das in der Arduino-Umgebung abfragen kann.> Ich mache irgendwann im Programmablauf ein "analogRead(Pinnummer)" und> muß hoffen, dass der Wert passt. Da mein Zeug relativ zeitunkritisch> ist, hatte ich noch keine Not, das beforschen zu müssen.
Ernsthaft?????????
Wie wertest du denn es aus das der ADC fertig ist ? Polling oder mit
Interrupt ?
Und ja wenn man sich mal das DB angeschaut hätte, wüsstest du das man
nicht einfach wild den ADC ausliest....
Zur Auswertung selbst gibt es zB. evtl. andere Verfahren wie die Nutzung
einer Impulsscheibe am Motor was die gesamte Auswertung deutlich
einfacher macht als mit nem Poti.
Apollo M. schrieb:> diese art filter ist bekannt als linear recursive exponential filter.
Was für ein toller Name.
Früher (tm) hätte man das "Tiefpass 1. Ordnung" genannt. Nur wurde es
damals z.B. mit einer simplen Widerstand-Kondensator Kombination
realisiert und nicht mit tausenden von Transistoren ;-)
Untersuche mal dein Poti alleine, mit Oszillograf beim drehen
beobachten, ob es nicht kratzt und Sprünge macht. Kommt bei
Potis oft vor, daß der Schleifer keinen richtigen Kontakt gibt.
Ich kenne das, wenn ich sie bei NF-Verstärker als Lautstärkesteller
benutze.
> Auch Quatsch. Wenn in dem Eingangssignal keine (nennenswerten)> Signalanteile oberhalb der halben Abtastfrequenz sind, braucht man kein> Anti-Aliasing Filter.
Nein, doppelt negierter Quatsch ist wieder richtig. :-)
Klar, man braucht niemals einen Filter wenn man immer weiss das es
nichts zu filtern gibt. Aber in der Praxis kommt es eben doch mal vor
das WDR2 oder das Handy in der Tasche auf der Leitung sind. Da tut ja
wohl eine RC-Kombination nicht weh. Zumal man ja das C oft sowieso
benoetigt um den Strombedarf des ADC zu befriedigen.
Olaf
Arduino F. schrieb:> Ihr seid doch irre....> Hört ihr euch auch selber zu?
Ist doch alles gut - wie immer.
Es ist Freitag, der TO liefert keine Fakten und hat sich zurück gezogen,
die Spekulationen und exotischen Vorschläge treiben munter ihre Blüten.
Wolfgang schrieb:> Es ist Freitag, der TO liefert keine Fakten und hat sich zurück gezogen,> die Spekulationen und exotischen Vorschläge treiben munter ihre Blüten.
Was soll er hier auch weiter zu beitragen? Die Tips wird er womöglich
nicht verstehen. Ich denke er baut einen Filter, glättet zusätzlich mit
einem Mittelwert, lässt dieses Thema beruhen und die Leute sich zanken.
Curby23523 N. schrieb:> lässt dieses Thema beruhen und die Leute sich zanken.
Und er hat recht. Wenn dann Tipps kommen a là man soll 'das Poti an AREF
anschliessen', dann kann man nur hoffen, das er das nicht tut.
Sinnvoller wäre z.B.
'Schliesse an AREF noch einen Kondensator mit z.B. 100nF gegen Masse
an.'
Matthias S. schrieb:> Wenn dann Tipps kommen a là man soll 'das Poti an AREF> anschliessen', dann kann man nur hoffen, das er das nicht tut.
Och, ein bißchen ratiometrisch könnte bei einem Potentiometer nicht
schaden.
Und wenn man den ADC richtig konfiguriert, ist auch Aref an AVcc kein
Problem, auch wenn das viele Leute sicherlich nicht raffen.
Matthias S. schrieb:> Wenn dann Tipps kommen a là man soll 'das Poti an AREF> anschliessen', dann kann man nur hoffen, das er das nicht tut.
Natürlich muß das Poti an die Referenzspannung, damit sich Änderungen
von UREF rauskürzen. Ansonsten hat man Meßfehler.
Sinnvoller Weise konfiguriert man UREF = AVCC, d.h. das Poti kommt an
AVCC.
Eine externe Referenz ist natürlich auch denkbar, dann kommt das Poti
dort ran.
Die interne Referenz zu nutzen ist ungünstig, dann braucht man für das
Poti noch einen Spannungsfolger. Auch ist nicht bei allen AVRs die
interne Referenz außen abgreifbar.
Peter D. schrieb:> d.h. das Poti kommt an AVCC.
Sinnvoll!
Aber nicht das Poti an Aref!
Der Pin ist nicht belastbar.
Außerdem möchte man da keine Antenne dran haben
Über einen Impedanzwandler, ok...
Ja, bei einem Poti ist eine ratiometrische Messing wohl das Beste.
Aber dann, wie vorher vorgeschlagen den Mittelabgriff mit 10µF zu
stützen?
NO!
Damit macht man sich die ratiometrische Messung kaputt.
Schwankungen des Avcc werden nicht mehr ausgeglichen.
Ein paar pF oder nF, ok, aber keine vielen µF.
----
Aref fest an Avcc zu klemmen,
> auch wenn das viele Leute sicherlich nicht raffen.
Ist schwachsinnig.
Damit ist das Board auf eine feste Aref festgelegt.
Das ist gerade bei Arduino Bastelboards wenig sinnvoll.
Das kann/sollte bei der ADC Konfiguration gemacht werden.
Die Arduino analogRead() Funktion tut das.
analogReference() setzt die Referenz nur in einem Merker, nicht im ADC
selber. Das tut erst analogRead(),
Was auch der Grund dafür ist, dass der erste gelesene Wert derbe daneben
liegen wird/kann. Es braucht halt etwas bis Aref den eingestellten Pegel
erreicht hat.
Die alternative wäre die ADC Register händisch zu manipulieren und ein
Zeitchen zu warten. Dann ist auch der erste gelesene Wert ok.
Wolfgang schrieb:> Und du bist sicher, dass die Wandlung bereits beendet war, als du diese> Zahl ausgelesen hat.
Ich bin mir sicher!
analogRead() wartet auf des Ende der Konvertierung.
Das ist fest eingebaut.
Die Ursache für die erste Fehlmessung habe ich schon beschrieben.
----
Und ja, ich stimme meinen Vorrednern zu, welche sagen, erst die erst die
von extern hereingetragenen Störungen dämpfen/vermindern, bevor man
anfängt die Messwerte schön zu rechnen.
Von vorne bis hinten verdrillte und gut geschirmte Leitungen. So ein
System wird schnell zur Antenne.
Auf ordentliche Masseverbindung achten.
Die Leitungen nicht nach dem Motto: Darf es denn auch ein bisschen mehr
sein? verlegen, sondern so kurz wie möglich.
Parallel zum Poti ein dicker Kondensator. Am Poti.
Parallel zum Schleifer ein nicht zu kleiner Kondensator und eventuell
eine Spule in Reihe. Natürlich erst im Messsystem.
Keine unnötig hohe Abtastfrequenz. Es geht um Mechanik, da tut sich im
Mikrosekundenbereich nichts. Auch würden die vorgeschlagenen
Kondensatoren was dagegen haben. Solltest Du dem Drang, nach kurzen
Messzyklen nicht widerstehen können: Alle integrieren.
... falls der TO überhaupt noch unter den Lebenden weilt;-)
Arduino F. schrieb:> Aber nicht das Poti an Aref!> Der Pin ist nicht belastbar.
Wenn man intern AVcc auf Aref schaltet, ist Aref durchaus belastbar.
Beim ATmega328 ist der Innenwiderstand rund 60 Ohm. Gegenüber der 5 kOhm
Last ist das vernachlässigbar gering und hebt sich wegen der
ratiometrischen Messung sowieso völlig auf.
Sebastian S. schrieb:> Von vorne bis hinten verdrillte und gut geschirmte Leitungen. So ein> System wird schnell zur Antenne.> Auf ordentliche Masseverbindung achten.> ... dicker Kondensator, nicht zu kleiner Kondensator, eine Spule> ... und und und
Am besten noch 10 mm² in purem Gold als Anschluß.
Habt Ihr alle einen Schiss vor 10 cm Zuleitungen :-(
m.n. schrieb:> Und wenn man den ADC richtig konfiguriert, ist auch Aref an AVcc kein> Problem, auch wenn das viele Leute sicherlich nicht raffen.
Traust du dem internen über das ADMUX Register gesteuerten Schalter
nicht, oder wozu soll das gut sein?
Wolfgang schrieb:> Traust du dem internen über das ADMUX Register gesteuerten Schalter> nicht,
Doch, doch. Ich schrieb doch, daß er rund 60 Ohm hat, was überhaupt
nicht stören muß, wenn man es begreift.
m.n. schrieb:> wenn man es begreift.
Ja, wenn man es begreift, dass man sich damit eine Frikadelle ans Knie
nagelt.
Wenn der interne Schalter doch so toll ist, warum muss man sich mit
einer Brücke von Avcc zu Aref, für alle Zeiten die interne Referenz
vernageln?
Das ist doch Schwachsinn.
Ich halte das für einen vollkommen dämlichen Tipp.
m.n. schrieb:> Die Brücke stammt von Dir, ist mir aber auch egal.m.n. schrieb:> Matthias S. schrieb:>> Wenn dann Tipps kommen a là man soll 'das Poti an AREF>> anschliessen', dann kann man nur hoffen, das er das nicht tut.>> Och, ein bißchen ratiometrisch könnte bei einem Potentiometer nicht> schaden.> Und wenn man den ADC richtig konfiguriert, ist auch Aref an AVcc kein> Problem, auch wenn das viele Leute sicherlich nicht raffen.
Du hast "anschließen" zitiert!
Und damit hast du hier die Brücke "Aref an AVcc" gesetzt!
Sollte ich dich dabei falsch verstanden haben?
Dann ist alles gut... und wir sind uns einig.
Aber ein bisschen blöd, oder missverständlich, ist das dann doch
formuliert.
m.n. schrieb:> Wenn man intern AVcc auf Aref schaltet, ist Aref durchaus belastbar.
Das ist ja auch Quatsch. Dann schliesst du das Poti an AVcc an und nicht
an AREF.
Für andere Anschlüsse an AREF mal schauen, was das Datenblatt dazu sagt.
Oh, das klingt hier aber so:
" In either case, the external AREF pin is directly connected to the
ADC, and the reference voltage can be made more immune to noise by
connecting a capacitor between the AREF pin and ground. VREF can also be
measured at the AREF pin with a high impedance voltmeter. Note that VREF
is a high impedance source, and only a capacitive load should be
connected in a system."
Also nichts mit 'Poti an AREF'. Wie o.a. ist die Referenz so gut wie
nicht belastbar. Wer AREF auch extern nutzen möchte, sollte sie
tunlichst mit einem Spannungsfolger puffern.
Matthias S. schrieb:> Dann schliesst du das Poti an AVcc an und nicht an AREF.
Sobald im ADMUX Register das entsprechende Bit gesetzt ist, gibt es da
außer dem geringeren Innenwiderstand aber keinen Unterschied, d.h. die
ratiometrische Messung ist trotzdem sicher gestellt, solange VRef nicht
stärker als AVCC beruhig wird.
Peter D. schrieb:> Es sollte> direkt mit AGND, AIN, AREF des MC verbunden sein und nirgends sonst.
Gemeint war natürlich UREF des ADC, wo auch immer die herkommt.
Wichtig ist aber, daß das Poti nirgends sonst angeschlossen ist.
Z.B. gemeinsame GND-Leitung mit dem Stellmotor ist ne ganz blöde Idee.
Peter D. schrieb:> Gemeint war natürlich UREF des ADC, wo auch immer die herkommt.
Das Datenblatt verwendet AREF als Bezeichnung für den Pin, was aber
identisch zu Vref oder Uref ist.
Verwendet man AREF als Spannungsquelle, so hat man unabhängig von der
ext. Last immer eine 100% ratiometrische Messung, selbst wenn bei
niederohmiger Last die Spannung an AREF einbrechen sollte.
Sofern der ADC nicht anderwärtig gebraucht wird, kann man in den
Messpausen das Poti als Last auch komplett abschalten, was bei
Batteriebetrieb günstig ist.
Wie auch immer, auch ohne spezielle "Maßnahmen/Tricks" muß der ADC
saubere Werte liefern. Bei einem Poti mit 5 kOhm ist die Quellimpedanz
erfahrungsgemäß niederohmig genug, um auch mit höherer Meßrate wandeln
zu können.
m.n. schrieb:> Verwendet man AREF als Spannungsquelle, so hat man unabhängig von der> ext. Last immer eine 100% ratiometrische Messung, selbst wenn bei> niederohmiger Last die Spannung an AREF einbrechen sollte.
Das gute ist, wenn man den AREF-Pin nicht als Spannungsquelle
verwendet, bricht die Spannung gar nicht erst zusammen und es tritt
(praktisch) kein Spannungsabfall am internen Schalter auf, so man AVCC
als Referenzspannung wählt.
Beim derzeitigen Stand der Dinge ist die Diskussion "externe Brücke
zwischen ARef und AVCC" oder "direkt über den internen Schalter" mit
vielleicht 60Ω wohl eher noch ein Nebenschauplatz.
Dir auf deinem Weg auch gute Reise.
Bernhard schrieb:> Was soll das bewirken?
Rechenzeit verbrauchen. Wer schneller fertig sein will, der nimmt den
üblichen auf Zweierpotenzen optimieren Algorithmus. Siehe z.B. im
Beitrag "PT1-Filter in C"m.n. schrieb:> Verwendet man AREF als Spannungsquelle, so hat man unabhängig von der> ext. Last immer eine 100% ratiometrische Messung, selbst wenn bei> niederohmiger Last die Spannung an AREF einbrechen sollte.
Ist das Poti zwischen Vcc und GND angeschlossen und versuche erwendet
man Vcc als Referenz, dann gilt das auch.
Lothar M. schrieb:> Ist das Poti zwischen Vcc und GND angeschlossen und versuche erwendet> man Vcc als Referenz, dann gilt das auch.
Wie sauber das Messergebnis ist, hängt dann aber sehr von irgendwelchen
Störungen auf VCC ab, zumindest wenn ARef über einen Kondensator
gefiltert wird, dass Poti aber an der dreckigen VCC hängt.
Nicht ohne Grund hat Atmel VCC und AVCC getrennt.
Wer weiss, ob das Potiüberhaupt überhaupt mit 3 Pins angeschlossen ist.
Ein Schaltplan steht immer noch aus.