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
ach ja... ein kleiner Nachtrag noch: der Messintervall wird mit einem kleinen Delay von ~20ms künstlich reduziert!
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.
:
Bearbeitet durch User
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.
Wieso verwendet man nicht einfach einfach eine Gabellichtschranke mit Encoderscheibe oder einen Drehencoder statt Poti?
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; }
:
Bearbeitet durch User
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.'
:
Bearbeitet durch User
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.
m.n. schrieb: > auch wenn das viele Leute sicherlich nicht raffen. Der Schwachsinn ist dann das berühmte "Tüpfelchen auf dem i"
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;-)
:
Bearbeitet durch User
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.
Arduino F. schrieb: > einer Brücke von Avcc zu Aref Wisch Dir mal den Schaum vom Mund. Die Brücke stammt von Dir, ist mir aber auch egal.
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.
Gut, Du hast es nicht verstanden. Nur ein Weg führt nach Rom, und ich wünsche Dir eine gute Reise.
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.
:
Bearbeitet durch Moderator
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.