Forum: Mikrocontroller und Digitale Elektronik Bessere Poti Schaltung für Arduino?


von Peter (Gast)


Lesenswert?

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?

von Teo D. (teoderix)


Lesenswert?

Peter schrieb:
> Gibt es noch eine bessere feinere Möglichkeit Drehbewegungen in
> Messwerte umzuwandeln und das im Kostenbereich eines Potis?

Ich hätte da ne Idee, mit Kosten zweier Potis.....

von Peter (Gast)


Lesenswert?

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!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter schrieb:
> Soll was haptisches sein. Neu modern 2023 like…
Alle anderen nehmen Drehencoder. Das ist richtig modern. Und der Preis 
wird über die Stückzahl geregelt.

> doch ich suche noch eine bessere günstigere Lösung.
Finde den Widerspruch.

Wobei: da ist sogar schon ein netter Aluknopf dabei:
https://www.amazon.de/-/en/WayinTop-Potentiometer-Automotive-Electronics-Multimedia/dp/B08728PS6N/ref=pd_day0fbt_img_sccl_2/262-1179959-1362851

von EAF (Gast)


Lesenswert?

Peter schrieb:
> In Beispielen für den Arduino werden 10k Ohm Potis vorgeschlagen.

Ja!
Weil für einen AVR die "Geberschaltung" eine max. Impedanz von 10k haben 
soll.
Siehe zugehöriges Datenblatt.

Da liegst du mit deinen 100k wohl deutlich drüber.

von Teo D. (teoderix)


Lesenswert?

Peter schrieb:
> 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!

Schalter? Taster! ... Hoffe ich. :)

von Peter N. (alv)


Lesenswert?

Es gibt Mehrgang-Potis (Sowas wie Spindeltrimmer mit Knopf).
Aber ob die günstig sind?

Ansonsten 2 Potis hintereinander schalten, eins für grob, eins für fein.

von Michael B. (laberkopp)


Lesenswert?

Peter schrieb:
> 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

https://ams.com/as5048a

bekommt man etwas gut bedienbares, hochauflösendes, verschleissfreies 
(und nicht fernbedienbares).

von Harald W. (wilhelms)


Lesenswert?

Lothar M. schrieb:

>> Soll was haptisches sein. Neu modern 2023 like…

> 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.

von Peter (Gast)


Lesenswert?

@ Lothar M. : Danke die Dinger werde ich mal ausprobieren.

@ EAF (Gast): Impedanz ? Ist doch Vref = ca. 5 V DC.

Gleichspannung. Und wie hoch ist die (abtast) Frequenz am A1 (- A7) ???

Ist das wirklich so relevant? Wo ist der Unterschied zwischen 100k und 
10k?

Bei 7 X 10k = 5 / 10000 = 0,0005 A = 0,5 mA X 7 Potis = 3,5mA

Bei 7 X 100k = 5 / 100000 = 0,00005 A = 0,05 mA X 7 Potis = 0,35mA

Wo Impedanz?



@ Teo D.  Schalter? Taster! = Tastschalter !!! Tasten an, aus, Taster 
halten weiter Funktionen usw.

@ Michael B. https://ams.com/as5048a - auch cool.

@ Harald W. Software ist schon cool. Habe bisschen geglättet mit:

Wert = 0.6 * Wert + 0.4 * analogRead(A1);

"schwabbelige" Interruptlösung ist manchmal auch nicht schlecht, kommt 
darauf an was noch alles andere dran hängt.

von Teo D. (teoderix)


Lesenswert?

Peter schrieb:
> "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.


Peter schrieb:
> @ Teo D.  Schalter? Taster! = Tastschalter !!! Tasten an, aus, Taster
> halten weiter Funktionen usw.

Du machst wohl auch in "Stromspannung" was? ;P

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter schrieb:
> "schwabbelige" Interruptlösung ist manchmal auch nicht schlecht
An der Auswertung so eines manuellen prellenden Gebers ist genau 1 
Interrupt beteiligt: der Timerinterrupt.

Ich mache das so wie dort:
http://www.lothar-miller.de/s9y/archives/71-Drehgeberauswertung-mit-Beschleunigung.html

Das ist haptisch toll: schnelles Drehen ändert den Wert überproportional 
schnell. Und mit langsamem Drehen lässt sich ein exakter Wert 
einstellen.

Peter schrieb:
> @ Harald W. Software ist schon cool. Habe bisschen geglättet mit:
> Wert = 0.6 * Wert + 0.4 * analogRead(A1);
Solche Fließkommaberechnungen sind auch ein Weg, um den µC langsam zu 
bekommen.

Ich hätte es mit einem 16-Bit int gemacht:
1
int Mittelwert;
2
3
Mittelwert = (10*Mittelwert + 6*analogRead(A1))>>4; // Gewichtung neuer Wert: 6/16
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.

von Wolfgang (Gast)


Lesenswert?

Michael B. schrieb:
> 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.

von Joachim B. (jar)


Lesenswert?

Teo D. schrieb:
> Peter schrieb:
>> @ Teo D.  Schalter? Taster! = Tastschalter !!! Tasten an, aus, Taster
>> halten weiter Funktionen usw.
>
> Du machst wohl auch in "Stromspannung" was? ;P

Teo kennst du wirklich keine Tastschalter?
https://www.voltus.de/blog/unterschied-zwischen-tastschalter-und-wippschalter/

von Teo D. (teoderix)


Lesenswert?

Joachim B. schrieb:
> Teo kennst du wirklich keine Tastschalter?

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...."?!

: Bearbeitet durch User
von Peter (Gast)


Lesenswert?

@ Lothar M. Coool ! Ja, diese Bitverschiebung und diese Float und HEX 
usw.

Ist halt einfacher für mich so zu experimentieren.

Vielleich hast Du hier zu noch eine Idee:

Eingang 0 – 1023

Ausgang 0 – 4095

Exponentiell, also am Anfang langsam, dann schneller bis 4095 hoch.

Bisher habe ich:

Ausgang=0.4*pow(Eingang,1.29);

von EAF (Gast)


Lesenswert?

Peter schrieb:
> @ EAF (Gast): Impedanz ? Ist doch Vref = ca. 5 V DC.
>
> Gleichspannung. Und wie hoch ist die (abtast) Frequenz am A1 (- A7) ???
>
> Ist das wirklich so relevant? Wo ist der Unterschied zwischen 100k und
> 10k?

Das Datenblatt ist maßgeblich!
Dort sind die Parameter aufgeführt.

Wo der Unterschied ist?
Bei der Umladezeit des S&H Kondensators.
Die reicht schlicht nicht.

Die Abtastfrequenz ist von der ADC Einstellung und vom Anwenderprogramm 
abhängig.
Auch hier gibt das Datenblatt gerne Auskunft.

von Peter (Gast)


Lesenswert?

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. ?

Was macht die 100K so böse?

von EAF (Gast)


Lesenswert?

Peter schrieb:
> 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.

von Stefan F. (Gast)


Lesenswert?

Peter schrieb:
> Wenn ich 10k nehme habe ich 10 mal mehr Grundlast an Stromverbrauch als
> bei 100k, richtig?

Nein, denn da sind ja noch andere Bauteile, die signifikant Strom 
aufnehmen.

von Manfred (Gast)


Lesenswert?

Peter schrieb:
> Aber wer liest schon gerne Datenblätter?

Diese Weigerung wird im Forum nicht toleriert.

> 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.

von Peter (Gast)


Lesenswert?

Ok, mit 7 habe ich es noch nicht ausprobiert, aber mit drei geht es 
schon einwandfrei! Hab aber die anderen bei setup auf low gestellt.

pinMode(A3, OUTPUT);
pinMode(A4, OUTPUT);
pinMode(A5, OUTPUT);
pinMode(A6, OUTPUT);
pinMode(A7, OUTPUT);
digitalWrite(A3, LOW);
digitalWrite(A4, LOW);
digitalWrite(A5, LOW);
digitalWrite(A6, LOW);
digitalWrite(A7, LOW);

von Stefan F. (Gast)


Lesenswert?

Peter schrieb:
> 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.

von EAF (Gast)


Lesenswert?

Peter schrieb:
> Hab aber die anderen bei setup auf low gestellt.

Wie soll das gehen?
Ich vermute falsche Vorstellungen.

von Peter (Gast)


Lesenswert?

Vielleicht eine blöde Idee, ich dachte ich hätte mit einem 100k mehr 
Akkulaufzeit wie bei einem 10k?

Vielen Dank für die guten und genauen Tipps ich werde das alles mal 
sacken lassen und einiges ausprobieren.

von Stefan F. (Gast)


Lesenswert?

Peter schrieb:
> Vielleicht eine blöde Idee, ich dachte ich hätte mit einem 100k mehr
> Akkulaufzeit wie bei einem 10k?

Ja, schon, aber wenn der Rest der Schaltung 50 mA aufnimmt, spielen 1 mA 
mehr oder weniger keine Rolle.

von Peter (Gast)


Lesenswert?

@  EAF, hab ich doch geschrieben einfach alle nicht gebrauchten 
Analogopins als Ausgang definieren und auf LOW.

pinMode(A3, OUTPUT);
pinMode(A4, OUTPUT);
pinMode(A5, OUTPUT);
pinMode(A6, OUTPUT);
pinMode(A7, OUTPUT);
digitalWrite(A3, LOW);
digitalWrite(A4, LOW);
digitalWrite(A5, LOW);
digitalWrite(A6, LOW);
digitalWrite(A7, LOW);

von Peter (Gast)


Lesenswert?

@Stefan F.: Danke, war wohl jammern auf hohem Niveau.

Die vielen Antworten haben mir gut weiter geholfen, vielen Dank nochmal 
dafür.

von Stefan F. (Gast)


Lesenswert?

Stefan F. schrieb:
> Aber in der Mitte hat es 2·50Ω.

Korrektur: 2·50 kΩ

von Michael B. (laberkopp)


Lesenswert?

Peter schrieb:
> 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.

von EAF (Gast)


Lesenswert?

Peter schrieb:
> als Ausgang
Das hast du nicht geschrieben!


Peter schrieb:
> alle nicht gebrauchten Analogopins
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.

von Manfred (Gast)


Lesenswert?

Peter schrieb:
> Ok, mit

Vielleicht besitzt Du die Güte, "Markierten Text zitieren" zu benutzen, 
um Dein Gestammel zuordnen zu können?

EAF schrieb:
>> Hab aber die anderen bei setup auf low gestellt.
> Wie soll das gehen?

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.

von Harald W. (wilhelms)


Lesenswert?

Peter schrieb:

> Kann da was kaputt gehen?

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.

von EAF (Gast)


Lesenswert?

Manfred schrieb:
> Ich habe es selbst nicht pobiert, aber vermute, dasspinMode(A3, OUTPUT);
> von der IDE einfach verschluckt wird. Könnte man simpel nachmessen.

Nein, das tut genau das, was man erwartet!
DDRx |=  BitMaske

von Manfred (Gast)


Lesenswert?

EAF schrieb:
> Nein, das tut genau das, was man erwartet!

Warum sagt dann die A*-Beschreibung:
1
Wenn ein analoger Eingang mit pinMode als digitaler Ein/Ausgang
2
definiert wurde, werden aus A0 bis A5 die Pins 14 bis 19.
3
A6 und A7 kann man nicht digital nutzen.

von Peter (Gast)


Lesenswert?

Die Antworten von Lothar M.waren schon wirklich gut! :
  Wobei: da ist sogar schon ein netter Aluknopf dabei:
https://www.amazon.de/-/en/WayinTop-Potentiometer-Automotive-Electronics-Multimedia/dp/B08728PS6N/ref=pd_day0fbt_img_sccl_2/262-1179959-1362851

http://www.lothar-miller.de/s9y/archives/71-Drehgeberauswertung-mit-Beschleunigung.html

Ich hätte es mit einem 16-Bit int gemacht:

int Mittelwert;

Mittelwert = (10*Mittelwert + 6*analogRead(A1))>>4; // Gewichtung neuer 
Wert: 6/16



@ EAF  außerhalb der Messungen den Strom an den Potis wegschalten 
!!!!!!!!!!! Super Idee !

DDRx |=  BitMaske die Sprache will ich lernen

von Peter (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

Manfred schrieb:
> Warum sagt dann die A*-Beschreibung:

> 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
static const uint8_t A0 = PIN_A0;
11
static const uint8_t A1 = PIN_A1;
12
static const uint8_t A2 = PIN_A2;
13
static const uint8_t A3 = PIN_A3;
14
static const uint8_t A4 = PIN_A4;
15
static const uint8_t A5 = PIN_A5;
16
static const uint8_t A6 = PIN_A6;
17
static const uint8_t A7 = PIN_A7;

Also A0 ist 14. Egal ob analog oder digital verwendet.

von EAF (Gast)


Lesenswert?

Manfred schrieb:
> Warum sagt dann die A*-Beschreibung:

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.

Manfred schrieb:
> A6 und A7 kann man nicht digital nutzen.
Das ist eine Einschränkung des µC nicht von Arduino.

von Peter (Gast)


Lesenswert?

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

von Manfred (Gast)


Lesenswert?

EAF schrieb:
> Manfred schrieb:
>> Warum sagt dann die A*-Beschreibung:
> 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
1
pinMode(A6, OUTPUT);
2
pinMode(A7, OUTPUT);
3
digitalWrite(A6, LOW);
4
digitalWrite(A7, LOW);
unzulässig.

von Manfred (Gast)


Lesenswert?

Peter schrieb:
> Zu beachten ist bei der Nutzung von RX und TX Pin
> [..]
> Nur so als Tipp

würde ich diese zwei Ports nicht beschalten und exclusiv für 
Datenausgabe / Debugging benutzen.

von Peter (Gast)


Lesenswert?

>> A6 und A7 kann man nicht digital nutzen.

Diese Aussage finde ich falsch.

digitalWrite(A6, LOW);
digitalWrite(A7, LOW);
Ports sind LOW

digitalWrite(A6, HIGH);
digitalWrite(A7, HIGH);
Porta sind HIGH.

von EAF (Gast)


Lesenswert?

Peter schrieb:
> Diese Aussage finde ich falsch.

Deine Aussage ist falsch!
Oder das Datenblatt des ATMega328P ist falsch.

Ich glaube dem Datenblatt, und du?

von Wolfgang (Gast)


Lesenswert?

EAF schrieb:
> 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.

Beitrag #7311202 wurde von einem Moderator gelöscht.
von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Wolfgang schrieb:
> 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

EAF schrieb:
> ...

Anhang aus einem Plan rausgeschnippelt, was hättest Du an der 
Potibeschaltung auszusetzen?

von EAF (Gast)


Lesenswert?

Manfred schrieb:
> 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

von Forist (Gast)


Lesenswert?

Manfred schrieb:
> Anhang aus einem Plan rausgeschnippelt, was hättest Du an der
> Potibeschaltung auszusetzen?

Genau so.
Auszusetzen habe ich nur etwas am Schaltplan - grausig zu lesen.

von Gerd (Gast)


Lesenswert?

>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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Gerd schrieb:
> 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:
1. am ADC 1 wird ein Spannungsteiler aus zwei 1M Widerständen zwischen 
Vcc und GND angeschlossen
2. 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).

Manfred schrieb:
> was hättest Du an der Potibeschaltung auszusetzen?
220nF sind hier unnötig viel.

Peter schrieb:
> DDRx |=  BitMaske die Sprache will ich lernen
Erscheint mir sinnvoll.

: Bearbeitet durch Moderator
Beitrag #7311481 wurde von einem Moderator gelöscht.
Beitrag #7311531 wurde von einem Moderator gelöscht.
Beitrag #7311534 wurde von einem Moderator gelöscht.
von Teo D. (teoderix)


Lesenswert?

Vertraue deinem Datenblatt, bis es dich vom Gegenteil überzeugt! :)

Beitrag #7311544 wurde von einem Moderator gelöscht.
Beitrag #7311553 wurde von einem Moderator gelöscht.
Beitrag #7311759 wurde von einem Moderator gelöscht.
Beitrag #7311861 wurde von einem Moderator gelöscht.
Beitrag #7311889 wurde von einem Moderator gelöscht.
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Können wir diese Glaubensdiskussion und den persönlichen Hickhack, der 
keinen interessiert und der der Sache nichts bringt, einfach weglassen?

: Bearbeitet durch Moderator
von EAF (Gast)


Lesenswert?

Joachim B. schrieb im Beitrag #7311861:
> ich schrieb an keiner Stelle ATMega328P!

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.

Also:
Thema verfehlt, 6 setzen.

Beitrag #7311901 wurde von einem Moderator gelöscht.
von HildeK (Gast)


Lesenswert?

Stefan F. schrieb:
> Stefan F. schrieb:
>> Aber in der Mitte hat es 2·50Ω.
>
> Korrektur: 2·50 kΩ
Siehe unten. Der Quellwiderstand ist dann 25k in Mittelstellung.

Michael B. schrieb:
> 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!

von HildeK (Gast)


Lesenswert?

Lothar M. schrieb:
> 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.

Beitrag #7311974 wurde von einem Moderator gelöscht.
von Teo D. (teoderix)


Lesenswert?

HildeK schrieb:
> 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.

Bei einer Wandelrate von ~20Hz?

von HildeK (Gast)


Lesenswert?

Teo D. schrieb:
> Bei einer Wandelrate von ~20Hz?

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.

von Teo D. (teoderix)


Lesenswert?

HildeK schrieb:
> Der Thread ist lang
> und 20Hz hatte ich nicht gesehen.

Hab ich aus dem Finger gelutscht, aber allgemein gehts hier darum, mit 
Potis, händisch Werte einzustellen..... Weil Drehgeber zu teuer sind. ;D

von Manfred (Gast)


Lesenswert?

EAF schrieb:
> 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.

Forist schrieb:
> Genau so.
Danke.

> Auszusetzen habe ich nur etwas am Schaltplan - grausig zu lesen.
Du hast gesehen: "Anhang aus einem Plan rausgeschnippelt"?

Im Plan des Gesamtgerätes macht diese Anordnung Sinn,

Lothar M. schrieb:
> Manfred schrieb:
>> 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.

Teo D. schrieb:
> 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:
> 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.

Teo D. schrieb:
> Weil Drehgeber zu teuer sind.

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!

von EAF (Gast)


Lesenswert?

Manfred schrieb:
> Erheblich verzögert, immerhin 2,2 ms Zeitkonstante, wenn das Poti am
> Anschlag steht.
Am Anschlag?

Hast du da evtl falsch gerechnet?

Wo soll da die Verzögerung herkommen?
Immerhin ist die Versorgungspannung schon in der Lage recht massive 
Ströme zu liefern.
Sollte zumindest so sein.

Manfred schrieb:
> Wenn die 5V so schlecht sein würden,
Gut, dass du fundierte Aussagen über die Versorgungsschaltung des TO 
machen kannst.
Ich kann das nicht.

Manfred schrieb:
> Es ist eine ratiometrische Messung.
Nicht wirklich!
Wenn sie es wäre, dann würden sich Schwankungen in der Versorgung, und 
damit auch von ARef nicht in dem Maße bemerkbar machen.

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
Noch kein Account? Hier anmelden.