kriege noise nicht weg aus slide-potentiometern

Hi,

ich hab echt eine menge pots, buttons, slider und encoder die mit 14x 74HC4051 gemuxt werden.

Imgur

Imgur

egal was ich versuche.. (z.b. ResponsiveAnalogRead(), smoothing) ..ich kriege den noise nicht raus.

als slide-potis verwende ich ALPS 100mm fader.. hier ist kein noise wenn die fader alle ganz unten oder ganz oben sind.. sobald man ca. 1/3 der strecke verschoben hat (egal ob von unten oder von oben) ist ein ungeheurer noise drin.

wie kriege ich das raus? kann ich hardwaretechnisch was verbessern?

Hi,

was für einen Widerstand haben denn die Slider / Potis? Die Bemerkung, daß wenn Du vom Anschlag weit genug weg bist, es sich dann besonders bemerkbar macht, deute ich so, daß es dann sehr hochohmig wird, und sich dann über die (Antennen-) Kabel aus dem getakteten Teil was einfängt.
Was ist denn bei Dir "ungeheuer noisy" 10 / 1024 (ADC) oder noch mehr.
Wenn Ub+ sauber ist, fällt mir eigentlich nur das verteilen von kleinen Kondensatoren jeweils am Mittelabgriff ein, Größe abhängig vom Widerstand und wie verzögert es reagieren darf, aber 10ms oder so sollten doch kein Problem sein.

Gruß André

Imgur: The magic of the Internet

https://imgur.com/0dwIIqm

Solche gebrauchten Kaugummis stecke ich mir nicht in den Mund.

Lade bitte die Fotos hier im Forum hoch.

Auch werden externe Fotos schnell mal eben gelöscht, und dann ist der ganze Thread im Arsch.

@combie

oh sry, hatte den link da unten komplett übersehen ^^

ich hatte grade gedacht, ein externes netzteil würde evtl helfen.. momentan läuft alles über usb.

Hi!

Du hast mit Deiner Bastelei offensichtlich einiges vor.

Ich wüsste gerne, wie „groß“ das Noise-Problem ist. Kannst Du das in Zahlen angeben oder eine Grafik erstellen? Ich nehme für derlei Zeug häufig GNUplot. Das kann einem aus aufgezeichneten Daten wunderhübsche Diagramme machen.

AdmiralCrunch:
ich hatte grade gedacht, ein externes netzteil würde evtl helfen.. momentan läuft alles über usb.

Vielleicht habe ich bislang immer nur „gutes“ USB gehabt - ich glaube nicht, dass es mit einem ext. Netzteil besser wird. Wie „gut“ Dein USB ist, solltest Du eigentlich ganz gut ermitteln können. Gerade wegen solcher Fragen spielt man ja mit Arduinos.

Evtl. ist mein Getexte zu einer Akku-Ladekurve ein Denkanstoß.

Gruß

Gregor

Hi

SpaghettiCode:
Hi,

was für einen Widerstand haben denn die Slider / Potis?

10K

SpaghettiCode:
Die Bemerkung, daß wenn Du vom Anschlag weit genug weg bist, es sich dann besonders bemerkbar macht, deute ich so, daß es dann sehr hochohmig wird, und sich dann über die (Antennen-) Kabel aus dem getakteten Teil was einfängt.

also kabel zu lang? .. habe jezt dickere solid-core kabel genommen für 3.3V und GND aber noch immer das selbe problem.

SpaghettiCode:
Was ist denn bei Dir "ungeheuer noisy" 10 / 1024 (ADC) oder noch mehr.

wie meinst das?

ja normalerweise sollte ich ja werte von 0 bis 1023 erhalten. habe es mit analogRead()+smoothing versucht, doch der noise ist zu stark.. mit resposiveAnalogRead() zwar nicht mehr sooo stark aber noch immer inakzeptabel.

was komisch ist, wenn der regler ganz unten ist, komme ich nie auf 0 .. immer so ~12

SpaghettiCode:
Wenn Ub+ sauber ist, fällt mir eigentlich nur das verteilen von kleinen Kondensatoren jeweils am Mittelabgriff ein, Größe abhängig vom Widerstand und wie verzögert es reagieren darf, aber 10ms oder so sollten doch kein Problem sein.

.. was ist ein Ub+ ? oO
.. meinst du ich soll die IC's entkoppeln? oder die potis und fader an sich?

AdmiralCrunch:
was komisch ist, wenn der regler ganz unten ist, komme ich nie auf 0 .. immer so ~12

Hm. Das klingt für mich nach billigsten popel-Fadern. Die Schiebepotis, mit denen ich bislang zu tun hatte, kamen immer bis auf 0 runter bzw. bis auf 1024 rauf.

Gruß

Gregor

gregorss:
Ich wüsste gerne, wie „groß“ das Noise-Problem ist. Kannst Du das in Zahlen angeben oder eine Grafik erstellen? Ich nehme für derlei Zeug häufig GNUplot. Das kann einem aus aufgezeichneten Daten wunderhübsche Diagramme machen.

super.. mache mich gleich dran :slight_smile:

gregorss:
Vielleicht habe ich bislang immer nur „gutes“ USB gehabt - ich glaube nicht, dass es mit einem ext. Netzteil besser wird. Wie „gut“ Dein USB ist, solltest Du eigentlich ganz gut ermitteln können. Gerade wegen solcher Fragen spielt man ja mit Arduinos.

ja bin noch ein ziemlicher noob was. Überlege jetzt erst mir ein oscilloskop anzuschaffen ^^
.. ich hatte mal aufgeschnappt dass die spannung bei ubl schwanken kann, deswegen der gedanke mit dem ext. netzteil.

Leider kann ich dir nicht helfen!

Ich sehe keinen Schaltplan.
Weiß nicht welchen µC du nutzt
Den Code kann ich auch nicht prüfen.

Deine Worte bleiben rätselhaft für mich.

gregorss:
Hm. Das klingt für mich nach billigsten popel-Fadern. Die Schiebepotis, mit denen ich bislang zu tun hatte, kamen immer bis auf 0 runter bzw. bis auf 1024 rauf.

Gruß

Gregor

nene, daran kann es nicht liegen.. wenn ich die fader alleine an einen arduino oder teensy anschließe läuft alles bestens, da ist sogar mit analogRead ohne smoothing alles fein.

AdmiralCrunch:
super.. mache mich gleich dran :)ja bin noch ein ziemlicher noob was. Überlege jetzt erst mir ein oscilloskop anzuschaffen ^^
.. ich hatte mal aufgeschnappt dass die spannung bei ubl schwanken kann, deswegen der gedanke mit dem ext. netzteil.

Ein Oszi ist auf jeden Fall etwas sehr Nützliches. Solange Du keins hast, kannst Du Dir aber prima mit aufgezeichneten/geplotteten Daten helfen. Mit der Hilfe von Gnuplot bin ich schon vielen „seltsamen“ Dingen auf die Spur gekommen.

Gruß

Gregor

AdmiralCrunch:
nene, daran [an schlechten Potis] kann es nicht liegen.. wenn ich die fader alleine an einen arduino oder teensy anschließe läuft alles bestens, da ist sogar mit analogRead ohne smoothing alles fein.

Huh?! ... pfff ... dann wäre ein Schaltplan tatsächlich hilfreich (Gruß an Combie :slight_smile:

Gruß

Gregor

gregorss:
Huh?! ... pfff ... dann wäre ein Schaltplan tatsächlich hilfreich (Gruß an Combie :slight_smile:

Gruß

Gregor

ne wirklich.. an sich arbeiten die tadellos, nur im der gesamtschaltung mit all den 4051s, kabeln, widerständen.. da krieg ich halt zu viel noise.

ich werd mal einen schaltpla anfertigen.

AdmiralCrunch:
ne wirklich.. an sich arbeiten die tadellos, nur im der gesamtschaltung mit all den 4051s, kabeln, widerständen.. da krieg ich halt zu viel noise.

D. h. dass es evtl. nicht (nur) an den Potis liegt? Naja ... vielleicht kann ja jemand anhand des Schaltplans sagen, wo's hakt.

AdmiralCrunch:
ich werd mal einen schaltpla anfertigen.

Ja, shit, den Fehler, den Schaltplan erst hinterher aufzuzeichnen, mache ich auch noch immer wieder. Das ist einklich eine blöde Gewohnheit.

Gruß

Gregor

du muxt die Analogeingänge???
Ja sind die Intervalle groß genug dass die internen ADC Zeit genug haben den Wert zu ermitteln? In welchem Intervall liest du die Werte? in welchen intervall schaltest du die Potis um?
Wie combie auch schon hingewiesen hat, ohne einen kompilierbaren Code und Schaltplan ist das Kaffeesudlesen.

noiasca:
du muxt die Analogeingänge???
Ja sind die Intervalle groß genug dass die internen ADC Zeit genug haben den Wert zu ermitteln? In welchem Intervall liest du die Werte? in welchen intervall schaltest du die Potis um?

also ich zwischen dem umschalten der 4051er habe ich 40ms.

werde das gefühl nicht los dass es an des an der verkabelung liegt. habe das mux-pcb schon 3x neugemacht.. habe jetzt für alle potis und sliders anstatt den dünnen litzen dickere solid-core-kabel genommen.. aber nur für 3.3V/GND .. die pins zum lesen sind noch immer mit diesem hauchdünnen flachbandhabel mit den 4051'ern verbunden. zudem sind die kabel locker 35cm lang.. sollte ich hierfür auch die dickeren kabel nehmen?

noiasca:
Wie combie auch schon hingewiesen hat, ohne einen kompilierbaren Code und Schaltplan ist das Kaffeesudlesen.

das wird schwierig da das programm schon enorm gewachsen ist.. ich könnte alles auf github schieben(?)

Hast Du versucht nach dem Umschalten eine Leermessung zu machen und erst die 2. Messung zu nehmen?

Grüße Uwe

uwefed:
Hast Du versucht nach dem Umschalten eine Leermessung zu machen und erst die 2. Messung zu nehmen?

Grüße Uwe

Hi

wie meinst du das mit der Leermessung? oO

ich meine, ich

  1. sende die steuer-bits an die 4051'er
  2. dann delayMicroseconds(40);
  3. lese die data-pins der 4051'er

wie würde eine Leermessung vorstattengehen?

value = analogRead(deinPin);
value = analogRead(deinPin);

einfach zwei mal aufrufen. Evtl. dazwischen etwas anderes tun.

noiasca, Du sagst es.