Noise unterdrücken bei Potentiometern

OP #5474125
Lesenswert?

Hallo,



ich habe 32x 10k-potentiometer, bei denen ich GND/3.3V in reihe 
geschaltet habe.

Wenn die diese nun lese, kommt keiner der potis auf 0. Zudem gibt es 
sehr viele sprünge, also noise.

was wäre der beste weg, dies zu unterdrücken?

LG
Angehängte Dateien:
Gast #5474136
Lesenswert?

Vielleicht fehlt mir der Intellektuelle Zugang aber für mich sieht das 
nicht nach Reihenschaltung sondern nach Parallelschaltung aus.

Mit geringerer Auflösung abtasten könnte auch schon helfen, oder einfach 
die unteren Bits weglassen.
Gast #5474151
Lesenswert?

General E. schrieb:
> Wenn die diese nun lese, kommt keiner der potis auf 0. Zudem gibt es
> sehr viele sprünge, also noise.

Besorg dir eine bessere Brille ohne Sprünge und ein Paar Ohrenschützer. 
Mit einem richtigen Schaltplan und konkreter Beschreibung deines 
Problems könnte man das Problem auch von einer anderen Seite anfassen.
Gast #5474152
Lesenswert?

General E. schrieb:
> was wäre der beste weg, dies zu unterdrücken?

- GND und Vcc sternförmig verteilen
- ein kleines C (z.B. 100nF) zwischen Schleifer und GND
- niederohmige Potis verwenden (z.B. 1kOhm)
- Tiefpass per Software (z.B. gleitender Mittelwert)
- langsamer abtasten

Soilentgreenday schrieb:
> Mit geringerer Auflösung abtasten könnte auch schon helfen, oder einfach
> die unteren Bits weglassen.
Das reduziert zwar die Zahl der möglichen 'Sprungstellen', aber 
eliminiert das Problem nicht.
(Firma: FULL PALATINSK) Persönliche Seite #5474160
Lesenswert?

Soilentgreenday schrieb:
> Vielleicht fehlt mir der Intellektuelle Zugang aber für mich sieht das
> nicht nach Reihenschaltung sondern nach Parallelschaltung aus.
>
> Mit geringerer Auflösung abtasten könnte auch schon helfen, oder einfach
> die unteren Bits weglassen.

das liegt daran, dass man sowas nicht mit regulären Schaltzeichen zeigt
Gast #5474164
Lesenswert?

> Mit geringerer Auflösung abtasten könnte auch schon helfen, oder einfach
> die unteren Bits weglassen.
hä?
Das ist ja fast wie beim Staubsaugen wenn der rote Indikator "voll" 
anzeigt, und man dann die Luftöffnung aufschiebt, damit man weiter 
saugen kann. Lifehack 2018.
Gast #5474206
Lesenswert?

Fakten:

1) Auflösung des ADCs? Rauschen/Sprünge bei welchem Bit (gezählt vom 
MSB)?
2) Was zeigt ein Multimeter an? An der Versorgung eines Potis, an 
"Daten", am ADC-Eingang?
3) Was heisst "Daten"? Wenn, dann Schaltung (inclusive Werte der Potis, 
ggf. Spannnungsteiler, Abtastraten etc.
4) Sprünge nur beim schieben oder auch ohne (also Rauschen oder 
mechanisch)?
5) Was heisst "nicht 0"? Kommt der ADC denn überhaupt auf 0, wenn Du 
direkt am ADC mit GND kurzschließt? Hast Du den ADC unter Kontrolle?
Gast #5474651
Lesenswert?

Abgesehen von diversen Verbesserungsmaßnahmen solltest du dich darauf 
einstellen, dass alle elektronischen Bauteile mehr oder weniger 
rauschen. Bei ADC mit mehr als 8 bit kann man keine stabilen Werte mehr 
erwarten, ganz egal welchen Aufwand man drumherum treibt.
#5475169
Lesenswert?

Das ist ja noch schlimmer als fritzing :-)
Und wenn man schon kein richtiges Programm dafür hat oder bedienen kann, 
dann ist man mit ner Ascii-Zeichnung oder auch nem Foto einer Handskizze 
deutlich besser dabei als mit so einer Schrottsymbolik.
Da der Sachverhalt an sich trivial und auch nicht unbedingt neu ist, 
hätte auch ne die sprachliche Beschreibung gereicht, 99% hier hätten das 
verstanden. Sprich: du hast Arbeit in einen sinnlosen Kram vertan, die 
wirklich wichtigen Sachen aber weggelassen.

Und nun fange noch mal von vorne an, lässt sich alles lösen.
OP #5475204
Lesenswert?

Soilentgreenday schrieb:
> Vielleicht fehlt mir der Intellektuelle Zugang aber für mich sieht
> das
> nicht nach Reihenschaltung sondern nach Parallelschaltung aus.
>
> Mit geringerer Auflösung abtasten könnte auch schon helfen, oder einfach
> die unteren Bits weglassen.

Hi,

ich muss zugeben ich habe noobhaft einfach mal so "in Reihe" geschrieben 
weil es für mich so aussah. Aber wenn es Parallelschaltung heisst, dann 
hab ich schon was gelernt jetzt :)

frühmorgens schrieb:
> General E. schrieb:
>> Wenn die diese nun lese, kommt keiner der potis auf 0. Zudem gibt es
>> sehr viele sprünge, also noise.
>
> Besorg dir eine bessere Brille ohne Sprünge und ein Paar Ohrenschützer.
> Mit einem richtigen Schaltplan und konkreter Beschreibung deines
> Problems könnte man das Problem auch von einer anderen Seite anfassen.

ja ich weiss, sorry.. ich dachte ich könnte so auf die schnelle das 
Problem besser erklären.

Tom schrieb:
> General E. schrieb:
>> was wäre der beste weg, dies zu unterdrücken?
>
> - GND und Vcc sternförmig verteilen
> - ein kleines C (z.B. 100nF) zwischen Schleifer und GND
> - niederohmige Potis verwenden (z.B. 1kOhm)
> - Tiefpass per Software (z.B. gleitender Mittelwert)
> - langsamer abtasten
>
> Soilentgreenday schrieb:
>> Mit geringerer Auflösung abtasten könnte auch schon helfen, oder einfach
>> die unteren Bits weglassen.
> Das reduziert zwar die Zahl der möglichen 'Sprungstellen', aber
> eliminiert das Problem nicht.

Super danke :) .. werd das gleich mal probieren.
Könnte es auch an zu dünnen Kabeln liegen?

Lothar M. schrieb:
> General E. schrieb:
>> Wenn die diese nun lese
> Womit?
> Und wie ist das angeschlossen? Wie sieht die Leitungsführung dorthin
> aus?
> Und mit welcher Auflösung liest du da aus? Was sind "Sprünge", und wann
> treten die auf?
> Und was siehst du, wenn du dort ein Oszilloskop oder wenigstens ein
> Multimeter anschließt?

Ich lese mit einem Teensy 3.6, der die Schiebepotis sind zum testen 
direkt an den Teensy angeschlossen. Auflösung ist standardmäßig 10bit. 
Oszilloskop besitze ich leider nicht, aber mit Sprünge meine ich, dass 
die gelesenen Werte sehr "instabil" sind..  habe ich den Poti ganz unten 
auf 0% sollte dieser ja 0 ausgeben, er gibt aber aus 0, 2, 0, 1, 2, 0, 
0, 1, ... die Werte springen also.

@ der Rest.. ich erstelle mal einen Schaltplan.. sorry, ich habe 
gehofft, dass es ein allgemein verbreitetes Problem ist (und ehrlich 
gesagt auch, dass die Lösung einfach ist :D )
#5475222
Lesenswert?

General E. schrieb:
> @ der Rest.. ich erstelle mal einen Schaltplan.. sorry, ich habe
> gehofft, dass es ein allgemein verbreitetes Problem ist (und ehrlich
> gesagt auch, dass die Lösung einfach ist :D )

brauchst du nicht machen, es haben alle verstanden.

General E. schrieb:
> Ich lese mit einem Teensy 3.6, der die Schiebepotis sind zum testen
> direkt an den Teensy angeschlossen. Auflösung ist standardmäßig 10bit.
> Oszilloskop besitze ich leider nicht, aber mit Sprünge meine ich, dass
> die gelesenen Werte sehr "instabil" sind..  habe ich den Poti ganz unten
> auf 0% sollte dieser ja 0 ausgeben, er gibt aber aus 0, 2, 0, 1, 2, 0,
> 0, 1, ... die Werte springen also.

Das ist stabil für eine reale Welt. +/-1 sind von Hause aus prinzipiell 
immer drin.
Du musst dir mal vor Augen füheren dass du hier von wenigen mV redest. 
Die können allein schon durch Störungen eingekoppelt werden oder auch 
schon auf Wandlerseite selbst durch Schwankungen/Rauschen der Referenz 
entstehen. Jeder Widerstand rauscht, ein Poti durch den Schleifkontakt 
um Grössenordnungen mehr.
Dann kann man immer noch filtern, mehr oder weniger aufwendig. Auf der 
analogen Seite oder besser auf der digitalen Seite. Bei Potis hat man 
den Vorteil, dass Filterfrequenz sehr niedrig liegen kann, das Ding kann 
nun mal nur mit sehr wenigen Hz vertellt werden. Selbst die primitivste 
Mittelwertbildung liefert 6/8, was nach Ganzzahlarithmetik 0 ist.
Filtern ist das Mittel der Wahl, dafür gibts viele Verfahren.
Gast #5475238
Lesenswert?

Peter D. schrieb:
> Erzähl mal näheres (Schaltung, welcher ADC, Software usw.).
> Auch GND-Leitungen haben einen Widerstand, worüber Spannung abfällt.
> Was sollen Sprünge sein (wann, wie hoch)?

Das ist im Grunde vollkommen unerheblich, woher das Rauschen kommt. 
Möglicherweise ist es der Funkmast von irgendeinem verrückten 
Amateurfunker in der Nachbarschaft. Das Rauschen muss weg und filtern 
ist der einzige Weg. Das Einfachste ist sicher ein RC-Glied am Ausgang 
der Potentiometermittelabgriffspunkte.
Gast #5475323
Lesenswert?

> habe ich den Poti ganz unten auf 0% sollte dieser ja 0 ausgeben,
> er gibt aber aus 0, 2, 0, 1, 2, 0, 0, 1, ... die Werte springen also.

Das ist schon sehr gut. Wie gesagt kann man nur 8 stabile Bits erwarten. 
Dass bei Dir "nur" die unteren zwei Bits wackeln ist völlig normal.

> Das Rauschen muss weg und filtern ist der einzige Weg.
> Das Einfachste ist sicher ein RC-Glied am Ausgang
> der Potentiometermittelabgriffspunkte.

Das wird keine Lösung sein, denn auch RC Glieder rauschen und - was hier 
noch viel wesentlicher ist - der ADC und seine Referenzspannung rauscht.

Die unteren zwei Bits bekommst du nicht mit analogen Mitteln weg 
gefiltert. Das geht nur digital in Form von Algorithmen.
#5475331
Lesenswert?

Stefanus F. schrieb:
> Das ist schon sehr gut. Wie gesagt kann man nur 8 stabile Bits erwarten.
> Dass bei Dir "nur" die unteren zwei Bits wackeln ist völlig normal.

Ein weitverbreiter Irrtum, da er eine Scheinlösung des Problems liefert.
Was passiert nach deinem Weglass-Prinzip, wenn der Wandlerwert zwischen 
sagen wir 3 und  4 wackelt?
Du kannst sogar 9bit weglassen und bist immer noch ohne immer stabiles 
Ergebnis (wackelt zwischen 511 und 512).
Gast #5475333
Lesenswert?

H.Joachim S. schrieb:
> Stefanus F. schrieb:
>> Das ist schon sehr gut. Wie gesagt kann man nur 8 stabile Bits erwarten.
>> Dass bei Dir "nur" die unteren zwei Bits wackeln ist völlig normal.
>
> Ein weitverbreiter Irrtum, da er eine Scheinlösung des Problems liefert.
> Was passiert nach deinem Weglass-Prinzip, wenn der Wandlerwert zwischen
> sagen wir 3 und  4 wackelt?
> Du kannst sogar 9bit weglassen und bist immer noch ohne immer stabiles
> Ergebnis (wackelt zwischen 511 und 512).

Vor allem ist das "Wackeln" ja nicht das einzige Problem des TO.

General E. schrieb:
> Wenn die diese nun lese, kommt keiner der potis auf 0.
#5475334
Lesenswert?

Borsolino schrieb:
> Möglicherweise ist es der Funkmast von irgendeinem verrückten
> Amateurfunker in der Nachbarschaft.

Das würde ich als allerletztes in Betracht ziehen.
In der Regel sind es eine ungeschickte GND-Verdrahtung oder Ripple auf 
VCC/VREF.
Viele MCs haben deshalb einen Sleepmode für die AD-Wandlung, d.h. für 
die Wandlung wird die CPU angehalten, um selber keinen Ripple zu 
verursachen.
Gast #5475435
Lesenswert?

> Ein weitverbreiter Irrtum, da er eine Scheinlösung des Problems liefert...

Ich hatte damit auch nicht gemeint, dass mann die unteren Bits einfach 
weg lassen soll. Du hast schon recht, je nach Werte betrifft das wackeln 
auch höhere Bits.

Was ich meinte ist, dass man bei 10 Bit schon damit rechnen muss, dass 
die Werte um bis zu 3 Schritte hoch und runter zappeln (0-3 entsprechend 
2 Bits).

Wenn man einen 12 Bit Wandler hätte, muss man mit Schwankungen bis +/- 
15 rechnen (0-15 entsprechend 4 Bits).
Gast #5475527
Lesenswert?

Borsolino schrieb:
> Das ist eine sehr sehr schlechte Idee

Nein ist es nicht. Die wackeligsten Bits werden weggelassen. Um eine 
Änderung an einem Höherwertigen Bit herbei zu führen ist unten herum 
mehr Änderung nötig. Klar kann einer auf der Kippe stehen, aber bis zur 
nächsten Änderung ist es deutlich weiter.
Es ist doch wohl offensichtlich, daß eine höhere Auflösung auch mehr 
Rauschen abbildet.
Es ist tatsächlich nur eine Reduktion der Auflösung.
Im Zweifelsfall hilft hier einfach mal Ausprobieren.
#5475647
Lesenswert?

Auch sollte sich der TO seine Schaltung nochmals genau anschauen, 
Eingangsmultiplexer haben z.B. eine gewisse Umschaltzeit und der ggf. 
interne S/H Kondensator will auch entsprechend ge-/entladen werden, die 
man abwarten sollte. Ebenso ist der Irrglaube weit verbreitet das R/R 
Technik bei einfacher Spannungsversorgung real die Werte 0 und Vcc 
abgebildet werden können. Hier ist meistens ein unterer und oberer 
Offset zu berücksichtigen. Das Datenblatt schafft Klarheit.
OP #5475653
Lesenswert?

Hugo E. schrieb:
> H.Joachim S. schrieb:
> Vor allem ist das "Wackeln" ja nicht das einzige Problem des TO.
>
> General E. schrieb:
>> Wenn die diese nun lese, kommt keiner der potis auf 0.

ja das ist grade mein hauptproblem... keiner der potis kommt auf 0.. 
bleiben alle bei ~100 stehen wenn ich den poti auf 0% drehe.

Peter D. schrieb:
> Borsolino schrieb:
>> Möglicherweise ist es der Funkmast von irgendeinem verrückten
>> Amateurfunker in der Nachbarschaft.
>
> Das würde ich als allerletztes in Betracht ziehen.
> In der Regel sind es eine ungeschickte GND-Verdrahtung oder Ripple auf
> VCC/VREF.
> Viele MCs haben deshalb einen Sleepmode für die AD-Wandlung, d.h. für
> die Wandlung wird die CPU angehalten, um selber keinen Ripple zu
> verursachen.

ja das kam mir auch in den Sinn, ich habe diese gängigen (sehr dünnen) 
litzen verwendet.. sollte ich für GND und 3.3V dickere kabel, evtl mit 
verzinntem kern nehmen?

was bedeutet "Ripple auf VCC/VREF" ?
Moderator (Firma: Titel) Persönliche Seite #5475669
Lesenswert?

General E. schrieb:
> er gibt aber aus 0, 2, 0, 1, 2, 0, 0, 1, ... die Werte springen also.
Die "springen" nicht. Das ist normales Rauschen, das daher kommt, dass 
du vermutlich deinen Aufbau und vor allem die Leitungsführung nicht 
optimal ausgelegt hast. Deshalb meine Anregung mit dem Foto vom 
tasächlichen Aufbau.

General E. schrieb:
> gehofft, dass es ein allgemein verbreitetes Problem ist
Ist es auch. Das nennt sich EMV, Einkoppeln von Störungen, usw...

> (und ehrlich gesagt auch, dass die Lösung einfach ist :D )
Das ist sie auch:
1. du musst das Ganze EMV-tauglich aufbauen
2. du darfst nicht erwarten, dass da gar nichts zappelt

Was willst du denn mit dem Wert machen?
Wie genau und stabil muss der denn sein?

General E. schrieb:
> ja das ist grade mein hauptproblem... keiner der potis kommt auf 0..
> bleiben alle bei ~100 stehen wenn ich den poti auf 0% drehe.
Und was passiert, wenn du den Schleifer herunter schiebst und mit einer 
Drahtbrücke nach GND verbindest?
Persönliche Seite #5476372
Lesenswert?

Soilengreenday schrieb:
> Nein ist es nicht. Die wackeligsten Bits werden weggelassen. Um eine
> Änderung an einem Höherwertigen Bit herbei zu führen ist unten herum
> mehr Änderung nötig. Klar kann einer auf der Kippe stehen,

Das ist aber keine gute Lösung. Das Spektrum des Rauschens wird damit 
tieffrequenter, weil es seltener kippt und zugleich absolut größer. Das 
sollte man anders lösen (s.u)

General E. schrieb:
> Wenn die diese nun lese, kommt keiner der potis auf 0.

Man kann die Potis mit Widerständen und negativen Spannungen trimmen, 
damit sie exakte Spannungen abgeben. Bei hochwertigen Analogpulten macht 
man das mit OPV-Schaltungen, die gleich filtern und die Verstärkung 
einstellen. Bei ditialer Verarbeitung kann man sich das schenken:

Du brauchst nur eine Skalierung, eine Offsetverschiebung und einen 
beidseitigen Limiter, um die digitalen Werte abzubilden und dann einen 
adaptiven Rauschfilter. All das macht man in SW. Das Rauschen auf den 
Leitungen sollte Dir helfen, die Auflösung des Potentiometers um 4 Bit 
hochzuschrauben, dass du gut Skalieren kannst.

Der Offset des Potis oder des Wandlers werden einfach unterdrückt.
Üblicherweise schneidet man die unteren digit weg und schiebt alles 
offsetmäßig auf Null. D.h. dein Potentiometer gibt schon auf den letzten 
Millimetern oben und unten das Maximum und die Null aus. Damit 
korrigiert man man eigentlich alles, wenn man will, sogar auch die 
Einbaulage, wenn sie nicht genau 270 Grad haben und gfs. auch 
Lichtlinearität.

http://www.96khz.org/htm/midicontroller16.htm

Ich verwende bei mir z.B. eine Abtastrate von knapp 1kHz für die Potis 
in meinem Controller, filtere sie mit einem RC-Filter individuell und 
schiebe sie über Analog-MUX in den ADC. Von da aus in ein IIR-Filter. Da 
kommen dann aus einem LTC-ADC mit 12/14 Bits effektiv 16Bits raus, die 
man fein genug auf 12 Bit skalieren kann. In Deinem Fall sollte es mit 
10+4 gehen. Wenn Du dann nach der ersten Filterung und Skalierung Werte 
von z.B. 10 bis 1050 fertig hast, kommt dann noch eine Hysterese drauf, 
z.B. gibt man eine Änderung erst weiter, wenn sie mindestens 2 oder 3 
finale digit waren. Dann wird der Offset abgezogen und auf 0 / 1000 
limitiert. Das Limiten und Skalieren kann man auch dynamisch machen, 
wenn man die Potis zu Beginn eintrainiert.

Habe mal ein Bild eingefügt: Blau ist der Winkel des Potis von 
theoretisch -135 Grad ... 135 Grad, das 10fach überzeichnete Rauschen 
des Wandlerwertes und die prozessierte Kurve (ebenfalls mit 10fach 
erhöhten Schritten).
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren