In Beispielen für den Arduino werden 10k Ohm Potis vorgeschlagen.
Ich habe bessere Erfahrungen mit 100 k Ohm Potis gemacht.
Ein größerer Widerstand der Potis reduziert den Gesamtstrom. Der Messstrom muss aber noch hoch genug sein um vernünftige Werte zu liefern.
Die haptische Abtastrate, also das Gefühl beim Drehen und die dabei angezeigten digitalen werte sind schon gut.
Gibt es noch eine bessere feinere Möglichkeit Drehbewegungen in Messwerte umzuwandeln und das im Kostenbereich eines Potis?
Die Potis die ich mit 100k Ohm hier habe, finde ich schon gut, kosten ca. 1,80€ Stück.
Ich kenne auch Potis mit Getriebe, z.B. bei hochwertigen Anlagen doch ich suche noch eine bessere günstigere Lösung.
Für schiebe Potis wie bei Mischpulten könnte man ja vielleicht ein Touchscreen nehmen, habe ich noch nicht richtig ausprobiert. Doch zum Drehen suche ich was Besseres als ein einfacher Touchscreen. Soll was haptisches sein. Neu modern 2023 like… Vielleicht so ein Tick dreh Schalter der so digital immer ein Impuls pro Drehweite gibt. Der soll aber ohne so Einraste Funktionen bei der Drehung sein. Fahren wie ein echtes einfaches Poti halt. Hat jemand eine gute Idee?
Einfach mehrere Stufen mit einem zusätzlichen Schalter einbauen, ist zwar nicht ganz nach dem was ich gesucht habe aber auf jeden Fall ein Gimmig was ich zusätzlich noch einbauen werde. Danke!
Einfach mehrere Stufen mit einem zusätzlichen Schalter einbauen, ist
zwar nicht ganz nach dem was ich gesucht habe aber auf jeden Fall ein
Gimmig was ich zusätzlich noch einbauen werde. Danke!
Doch zum Drehen suche ich was Besseres als ein einfacher Touchscreen.
Soll was haptisches sein. Neu modern 2023 like…
Lieber 1956.
Denn Potis waren damals erheblich besser, als sie noch Leute mit Dachverstand bauten und nicht BWL Marketinghansel.
Metallachse in Metalllager mit ich-weiss-nicht-was (Vaseline?) geschmiert liess sich perfekt drehen, ganz anders als heute die geölten Plastikachsen in Plastiklagern.
Perfekt drehen heisst, mit wenig Kraft ganz kleine Winkel einstellen und benötigte mehr Kraft um schneller zu drehen.
Incrementalencoder sind dagegen der letzte Scheiss, die braucht man nur wenn der Einstellwert auch von woanders verändert werden soll, ein Poti müsste dazu nämlich ein Motorpoti sein (was an meinem Verstärker aber auch sehr gut funktioniert dank Rutschkupplung). Meistens lösen Incrementalencoder auch miserabel auf, nur 16 oder 32 Stellungen pro Umdrehung (es gibt aber bessere).
Wenn wir aber mal die gute Metallachse imperfekt geschmierten Metalllager von annodazumals mit einem magnetischen Winkelencoder versehen
Alle anderen nehmen Drehencoder. Das ist richtig modern.
Wobei die Stellungsanzeige über eine "vernünftige" Software mit Zu-
standsauswertung erfolgen sollte und nicht irgendwelche "schwabbelige" Interruptlösung. Dann gibts auch keine Probleme mit Prellen.
"schwabbelige" Interruptlösung ist manchmal auch nicht schlecht, kommt
darauf an was noch alles andere dran hängt.
Nee, nur muss man den IRQ dermaßen "kastrieren", das der Aufwand nich lohnt.... Oder dir ist scheißegal, das der Drehgeber früher oder später amok läuft.
Das Schlaue daran ist, dass sogar die nötige /16 Division durch das >>4 auf ein paar kurze Bitmanipulationen abgebildet wird. Geschwindigkeitsvorteil: locker Faktor 20, eher mehr.
Meistens lösen Incrementalencoder auch miserabel auf, nur 16 oder
32 Stellungen pro Umdrehung (es gibt aber bessere).
Also schreib doch gleich: "Miserabel auflösende Incrementalencoder lösen miserabel auf".
Genauso gibt es welche, die z.B. 100000 Schritte auflösen und auch vernünftig gelagert sind (WDG 58C-25000 ...).
Die gibt es dann allerdings nicht für 90ct beim Buchhändler.
Hmmm, ja stimmt eigentlich schon, nu macht das in meinen Ohren, das selbe Geräusch, wie beim sich ins Kniebohren. Und sowas blende ich gerne aus.... :-}
PS: Nur was nützt bei denen das "Taster halten...."?!
Ok, das mit dem „des S&H Kondensators“ versuche ich noch zu verstehen. Aber wer liest schon gerne Datenblätter? Ich habe ein 100K Poti an A1 und 0 – 1024.
Kann da was kaputt gehen? Die Schaltung liefert zuverlässig 0-1024, je nach Potistellung. Lässt sich auch cool mit p3 als Graph darstellen. Was passiert im Hintergrund?
Wenn ich 10k nehme habe ich 10 mal mehr Grundlast an Stromverbrauch als bei 100k, richtig?
Das ist der Vorteil den ich bei 100k sehe. Warum dann 10k wenn doch 100k funktioniert.
Ich verstehe das nicht. Mit dem nö nö nö Die reicht schlicht nicht. ?
Das ist der Vorteil den ich bei 100k sehe. Warum dann 10k wenn doch 100k
funktioniert.
Funktioniert eben nicht!
Zumindest nicht, wenn du mehrere Potis an die Pins anschließen möchtest.
Die beeinflussen sich dann gegenseitig.
Eben, wegen der S&H Umladung.
Wenn ich 10k nehme habe ich 10 mal mehr Grundlast an Stromverbrauch als
bei 100k, richtig?
Das ist ja furchtbar, 10k an 5 Volt ergibt wieviel Kilowatt Verlust?
Was macht die 100K so böse?
Die Tatsache, dass für eine zuverlässige Messung eine geringere Quellimpedanz gefordert ist.
Für Deinen Spielaufbau ist das ziemlich egal, in realen Anwendungen möchte man maximal 10kOhm als Quelle haben.
Ich habe ein Gerät, wo ich am Arduino-Nano mit zwei Potis Sollwerte einstelle, natürlich habe ich da 10k genommen. Dann war ich noch so frei, 0,22µF von den Schleifern nach GND zu schalten.
Zu Deiner Ursprungsfrage sage ich lieber nichts, ich empfinde den Text als wirr ohne klare Fragestellung.
Das ist der Vorteil den ich bei 100k sehe. Warum dann 10k wenn doch 100k
funktioniert. Ich verstehe das nicht.
Ich dachte das wurde gut erklärt.
Bei jeder Messung lädt der ADC einen internen Kondensator mit der Spannung vom gewählten analogen Eingang auf. Dann trennt er die Verbindung zum Eingang wieder und misst die Ladung in dem Kondensator.
Wenn die Quelle(dein Poti) zu hochohmig ist, kann der Kondensator nicht schnell genug auf die richtige Spannung geladen werden. Der Strom fließt zu langsam.
Das ist dir vielleicht noch nicht aufgefallen, weil das Poti ab den beiden Endanschlägen Null Ohm hat. Aber in der Mitte hat es 2·50Ω. Um die Mitte herum wird die Messung am ungenauesten sein - insbesondere dann, wenn du mehrere analoge Eingänge mit unterschiedlichen Spannungen abfragst.
Aus eigener Erfahrung weiß ich, dass der ADC an 100 kΩ prinzipiell funktioniert. Nur halt nicht so genau, wie das Datenblatt verspricht.
Du kannst das Poti mit einem 100nF Kondensator zwischen dem Mittelkontakt und GND unterstützen. Wenn du zwischen den Messungen genug Pause machst, kann sich dieser Kondensator auf die eingestellte Spannung laden und als Reservoir zum Beliefern des ADC dienen.
Warum dann 10k wenn doch 100k funktioniert.
Ich verstehe das nicht.
Das ist schlimm, denn er bedeutet, dass du Datenblätter nicht verstehst.
In denen steht, sass die Eingangsimpedanz max. 10kOhm betragen soll, wenn man keine Fehler grösser als 1 digit bekommen will, d.h. maximal ein 20k Poti.
Dort steht auch, dass der Leckstrom 1uA betragen kann, was an deinem 100k Poti in Mittelstellung also 50k Impedanz zu 0.05V Fehler führen kann, bei 5V wären das glatte 10 digit, also Stufen von 5/1024. Daher 10k, das macht nur 0.005V Fehler und damit nur 1 digit.
Es funktioniert bei dir, weil es bloss ein Poti ist, da muss man nichts genau ausmessen sindern dreht so lange bis der Wert passt. Hat man mehrere Potis an mehreren Analogeingängen kann aber das eine Poti das andere beeinflussen:
Man misst A0 und bekommt 22, man misst A1 und bekommt 510, man misst A2 und misst 999 und wenn man dann wieder A1 misst, bekommt man 512 statt 510, weil die Restladung der 999 im sample&hold Kondensator nicht ganz umgeladen werden kann weil 100k zu viel sind.
Also: bloss weil du kein Problem siehst, heisst das noch lange nicht, dass es kein Problem gibt, und die einzige seriöse Quelle um Probleme zu vermeiden ist ein Blick ins Datenblatt.
Unbenutzte Eingänge oder Ausgänge sind erstmal uninteressant.
Sie haben keinen Einfluss auf den Messwert.
Damit ist hier erstmal völlig egal, was du mit den unbenutzten anstellst.
Sicherlich mack die Antennenwirkung offener Pins zu leicht erhöhter Stromaufnahmen und zu einem eher winzigen Rausch im Chip führen, aber das sind nicht die Effekte um die es sich bei der Quellimpedanz dreht.
Wenn du unbedingt Strom sparen willst, könntest du außerhalb der Messungen den Strom an den Potis wegschalten. Oder Impedanzwandler einsetzen, welche natürlich selber wieder Strom benötigen. Abwägungssache.
Mit der ArduTROLL-IDE 7.12 geht das. Wenn ich mir das so ansehe, ich glaube, der meint das ernst :-(
Man kann die Analogports vom Uno / Nano digital benutzen, allerdings werden sie dann nicht als A_irgendwas angesprochen.
Ich habe es selbst nicht pobiert, aber vermute, dass
1
pinMode(A3,OUTPUT);
von der IDE einfach verschluckt wird. Könnte man simpel nachmessen.
Details kann er in den Arduino-Beschreibungen oder Foren selbst suchen, sonst wird das nichts und ich komme wieder zu meiner bekannten Empfehlung: Kuchen backen oder Blumen züchten.
Nein, aber die AD-Wandlung arbeitet ungenau. Wenn Du den Einstellwert
aber sowieso am Bildschirm digital abliest, spielt das keine Rolle.
Bei 100k-Potis hast Du allerdings auch eine erhöhte Empfindlichkeit
gegen Störeinstreuungen.
Man kann fast alle Pins eines Arduino NANO als Ausgang definieren und sogar per Software PWM drüber laufen lassen.
Hab mal einen LED Weihnachtsbaum gebaut. Mit kleinen roten LED, etwas kleiner als normal. Mit richtigem Vorwiederstand. 23 oder so. Hat funktioniert. Konnte jede LED eine eigene Helligkeit zuordnen.
Wenn ein analoger Eingang mit
pinMode als digitaler Ein/Ausgang
definiert wurde, werden aus A0 bis A5 die Pins 14 bis 19.
A6 und A7 kann man nicht digital nutzen.
Besser in die Quelltexte gucken:
1
#define PIN_A0 (14)
2
#define PIN_A1 (15)
3
#define PIN_A2 (16)
4
#define PIN_A3 (17)
5
#define PIN_A4 (18)
6
#define PIN_A5 (19)
7
#define PIN_A6 (20)
8
#define PIN_A7 (21)
9
10
staticconstuint8_tA0=PIN_A0;
11
staticconstuint8_tA1=PIN_A1;
12
staticconstuint8_tA2=PIN_A2;
13
staticconstuint8_tA3=PIN_A3;
14
staticconstuint8_tA4=PIN_A4;
15
staticconstuint8_tA5=PIN_A5;
16
staticconstuint8_tA6=PIN_A6;
17
staticconstuint8_tA7=PIN_A7;
Also A0 ist 14. Egal ob analog oder digital verwendet.
Zu beachten ist bei der Nutzung von RX und TX Pin das die LED anders blinken wenn Serial genutzt wird. Erst wenn der gesamte Sketch geladen wurde blinken auch angeschlossene LED an RX und TX per Software PWM. Nur so als Tipp
Die ist verwirrend.....
Bei einem z.B. Nano ist es völlig wurscht, ob man 14 schreibt, oder A0.
Beide verweisen auf den selben Pin.
Beide Schreibweisen tun es sowohl mit den analogRead() als auch den
digitalxxx() Funktionen.
Danke, ich habe das als gegeben genommen und nicht hinterfragt. Ich habe Anwendungen, wo ich Analogports digital nutze, da wäre mir die Schreibweise mit Ax deutlich übersichtlicher gewesen.
A6 und A7 kann man nicht digital nutzen.
Das ist eine Einschränkung des µC nicht von Arduino.
Jou, das sieht man im Blockdiagramm des AT328.
Damit sind also zumindest
Funktioniert eben nicht!
Zumindest nicht, wenn du mehrere Potis an die Pins anschließen möchtest.
Die beeinflussen sich dann gegenseitig.
Eben, wegen der S&H Umladung.
Unsinn
Da an den Potis nun wirklich nur mit mäßiger Geschwindigkeit gedreht wird, schadet es überhaupt nichts, jeweils einen Kondensator an die Pin zu schalten und die Eingänge nicht mit maximal möglicher Abtastrate zu scannen.
Der Kondensator hat dann genug Pep, um Mux- und S&H-Kapazitäten zügig umzuladen.
Da an den Potis nun wirklich nur mit mäßiger Geschwindigkeit gedreht
wird, schadet es überhaupt nichts, jeweils einen Kondensator an die Pin
zu schalten
was hättest Du an der
Potibeschaltung auszusetzen?
Ich?
Eigentlich wenig....
Meine einzigen Bedenken:
Im Prinzip ist das (fast) eine Ratiometrische Messung.
Dummer Weise sorgen die C dafür, dass der Mittelabgriff nicht die Schwankungen auf der 5V Seite mit macht, bzw. nur verzögert.
Die Qualität des Ergebnisses liegt also u.A. dann daran, wie sauber die 5V wirklich sind.
Bei einer echten ratiometrischen Messung wäre das kein Problem
Aus eigener Erfahrung weiß ich, dass der ADC an 100 kΩ prinzipiell
funktioniert. Nur halt nicht so genau, wie das Datenblatt verspricht.
Das ist ohnehin eine Falschinterpretation des Datenblatts, bzw. spielt die Eingangsimpedanz des AD-Wandlers für den Anschluss eines Potis überhaupt keine Rolle, weil man den entstehenden Offset durch die Potistellung automatisch korrigiert.
spielt die Eingangsimpedanz des AD-Wandlers für den Anschluss eines
Potis überhaupt keine Rolle, weil man den entstehenden Offset durch die
Potistellung automatisch korrigiert.
Doch natürlich spielt diese Eingangsimpedanz eine Rolle. Und zwar immer dann, wenn nicht dauernd nur 1 Kanal gewandelt werden soll. Denn erst dann, wenn mal zwischendurch ein anderer Kanal "drankommt", muss der Sample-Kondensator umgeladen werden.
Ein kleiner Testaufbau bei dem 2 ADC-Kanäle werden verwendet werden, zeigt das:
am ADC 1 wird ein Spannungsteiler aus zwei 1M Widerständen zwischen Vcc und GND angeschlossen
am ADC 2 wird ein Poti mit 10k zwischen Vcc und GND angeschlossen
Und jetzt wird in der Software folgendes gemacht:
a) nur der ADC 1 gewandelt
b) abwechselnd der ADC1 und der ADC 2 gewandelt
Was passiert?
Im Fall a) zeigt der Ausgang des ADC 1 stabil die halbe Vcc an. Sehr gut, war zu erwarten.
Im Fall b) ändert sich der Ausgang vom ADC 1 abhängig von der Potistellung am ADC 2. Hoppla!
Einfach mal selber ausprobieren. Stolpert eh' jeder mal drüber...
Abhilfe: ein 10nF-Pufferkondensator (oder mehr) vom ADC1 Eingang nach GND. Wieso grade 10nF?
10nF sind 1000 mal größer als die 10pF des Sample-Kondensators (konkreter Wert siehe Datenblatt des ADC) und damit ist bei einem 10Bit-ADC (= 1024 Werte) der Fehler beim "Aufschalten" eines völlig entladenen Samplekondensators zu einem voll geladenen Pufferkondensators grade mal 1 LSB (= 1/1024).
Es dreht sich um die Quellimpedanz, welche beim AVR nicht überschritten werden sollte und die Angabe findet sich halt u.A. im ATMega328P Datenblatt
Aber: Das ist dir ja egal.
Du möchtest lieber über falsch eingelötete Transistoren jammern.
In denen steht, sass die Eingangsimpedanz max. 10kOhm betragen soll,
wenn man keine Fehler grösser als 1 digit bekommen will, d.h. maximal
ein 20k Poti.
Nein.
Ein Poti mit 40k erfüllt bereits die Bedingung, wenn das Signal am Poti niederohmig ist. Denn dann ist in der Mittelstellung der Quellwiderstand Rp/2 || Rp/2, bei 40k Potiwert also genau 10k.
Wenn der TO 100k nehmen will, so liegt er im worst case bei 25k Quellwiderstand. Kann er sich zu einem 47k-Poti durchringen, so ist er schon sehr nahe an der Datenblattforderung. Und sobald er die Mittelstellung etwas verlässt, dann passt es sogar perfekt!
10nF sind 1000 mal größer als die 10pF des Sample-Kondensators
(konkreter Wert siehe Datenblatt des ADC) und damit ist bei einem
10Bit-ADC (= 1024 Werte) der Fehler beim "Aufschalten" eines völlig
entladenen Samplekondensators zu einem voll geladenen Pufferkondensators
grade mal 1 LSB (= 1/1024).
Alles richtig.
Was aber fehlt, ist die Betrachtung über die Zusammenhänge von Ta=1/fa, dem externen Kondensator C und dem Innenwiderstand Ri der Quelle. Die dem C durch den Sample-C entnommene Ladungsmenge muss in der Zeit Ta wieder zugeführt werden können, sonst gibt es eine dauerhafte Ablage. Und die wird größer bei größerem C und/oder großem Ri.
Deine genannten 10nF könnten, je nach Ta, schon eine obere Grenze sein.
Alles richtig.
Was aber fehlt, ist die Betrachtung über die Zusammenhänge von Ta=1/fa,
dem externen Kondensator C und dem Innenwiderstand Ri der Quelle.
Da nicht. Bei den Werten gehen auch 100nF oder mehr. Der Thread ist lang und 20Hz hatte ich nicht gesehen.
Aber allgemein gilt das für jede Rate, wenn die äußere Beschaltung nicht dazu passt.
Im Prinzip ist das (fast) eine Ratiometrische Messung.
Es ist eine ratiometrische Messung.
Dummer Weise sorgen die C dafür, dass der Mittelabgriff nicht die
Schwankungen auf der 5V Seite mit macht, bzw. nur verzögert.
Erheblich verzögert, immerhin 2,2 ms Zeitkonstante, wenn das Poti am Anschlag steht. Wenn die 5V so schlecht sein würden, hätte ich deutlich andere Probleme.
was hättest Du an der Potibeschaltung auszusetzen?
220nF sind hier unnötig viel.
Ich gebe zu, dass ich bei solchen Simpelanwendungen über den Daumen gucke und Bauteile bevorzuge, die in Menge vorhanden sind. Ich bin sicher, dass 'unnötig viel' hier keinerlei Probleme verursacht.
Hab ich aus dem Finger gelutscht, aber allgemein gehts hier darum, mit
Potis, händisch Werte einzustellen.....
So ist das in meiner Anwendung: Der eine eingestellte Wert wird gelesen, wenn ich die Start-Taste drücke, also beliebig langsam. Das zweite Poti wird alle 10s oder sogar nur 30s eingelesen.
Im Gegensatz zu den Bedenken
Michael B. schrieb im Beitrag #7310760:
Denn Potis waren damals erheblich besser,
[..]
ganz anders als heute die geölten Plastikachsen in Plastiklagern.
habe ich China-Potis verbaut, mit Metallachse und gefühlt ordentlicher Haptik. Lästig ist nur deren sehr mäßige Linearität.
Drehgeber muß man nutzen, weil sie in Mode sind? Ich habe mich schon geärgert, dass ich in meiner Lötstation einen Drehgeber anstatt eines simplen Potis eingesetzt habe.
Bitte nicht stumpf nach besser schreien, sondern die individuelle Anwendung betrachten!