Forum: Mikrocontroller und Digitale Elektronik Eigenrauschen des Analogeingangs am Arduino extrem hoch


von Tom T. (tom_t725)



Lesenswert?

Hallo liebe Leute,

ich bin gerade am nachbauen/umbauen einer Lichtorgelregelung die 
momentan im Takt der Musik, eine normalen LED ansteuert, später soll da 
ein LED-Strip draus werden (s. Schaltplan nur Tiefpassanteil /oben 
rechts). Jetzt habe ich aber das Problem, dass das Rauschen des Arduino 
und/oder der Schaltung so groß ist, dass ich in den Daten kaum ein 
positives Ereignis finde. Eigentlich war eine Logik im stiele von "Wenn 
Volt > x ist, dann Leuchte" angedacht.

Folgendes habe ich probiert.
- Kabel überhaupt an nichts angeschlossen (s. Bild). Dann habe ich ein 
rauschen, aber nicht extrem
- Kabel an den Fingern deutliches Rauschen erkennbar
- Bei LED (s. Bild blauer Kreis) ist am Anfang ein Ereignis (sprich die 
LED) leuchtet, dies kann man aber mit keiner Logik erfassen. Hätte ich 
es nicht gesagt, wäre es wahrscheinlich nicht mal aufgefallen, dass da 
was passiert ist auf dem Bild. Mittelwert (DC) nimmt langsam ab und 
steigt beim nächsten Ereignis wieder auf 5V. Heist aber auch, wenn viele 
direkt hintereinander kommen ist es längerfristig bei ca. 5V
- Nach Widerstand bei der LED (Bild LED+R / grüner Kreis) also direkt am 
Collector habe ich das beste Ergebnis. Hier bekomme nach dem Signal ein 
deutliches fallen auf ca. 0V. Hier könnte man mit spielen und sagen, 
"Wenn Volt ungefähr 0 ist, dann Leuchte". Problem ist, läuft länger 
keine Musik fällt die Spannung ja irgendwann gegen 0 und die LED fangen 
an von alleine zu blinken...
- Nach dem Widerstand an der Base (nach widerstand base / lila Kreis) 
gibt es mäßig aber die zweitbesten Erfolge. Immer noch viel 
Eigenrauschen. Das Signal geht jedoch schnell wieder auf den Ursprung 
zurück. Leider immer noch schwierig ein Volt > x zu definieren was 
erfolg bringt.
- Direkt an Base (roter Kreis / kein Bild) Signal geht auf 0 aber 
Rauschen liegt schon zwischen 3 bis 0V... Bringt also gar nichts

Habt ihr gute Vorschläge wie ich das retten kann? Kann doch nicht sein, 
dass das Rauschen vom Arduino einfach alles an verwertbaren Daten 
frisst...

: Verschoben durch Moderator
von Tom T. (tom_t725)


Angehängte Dateien:

Lesenswert?

> - Nach dem Widerstand an der Base (nach widerstand base / lila Kreis)
> gibt es mäßig aber die zweitbesten Erfolge. Immer noch viel
> Eigenrauschen. Das Signal geht jedoch schnell wieder auf den Ursprung

Hier das richtige Bild

P.S.:
Als ich die Schaltung mal an eine LED-Streifen direkt gehangen habe 
(also LED-Streifen Parallel zur LED) hat das super funktioniert. Die LED 
leuchtet auch die ganze Zeit sehr zuverlässig. Ich kann es nur nicht 
reproduzieren mit einer Logik in Arduino...

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Tom T. schrieb:
> Jetzt habe ich aber das Problem, dass das Rauschen des Arduino
> und/oder der Schaltung so groß ist, dass ich in den Daten kaum ein
> positives Ereignis finde.

Ein Tipp:
Die meisten Arduinos haben gar keinen Analogausgang. Eine der wenigen 
Ausnahmen ist der Arduino Due. Um welchen geht es bei dir?

von Tom T. (tom_t725)


Lesenswert?

> Ein Tipp:
> Die meisten Arduinos haben gar keinen Analogausgang. Eine der wenigen
> Ausnahmen ist der Arduino Due. Um welchen geht es bei dir?

Es geht um einen Arduino R3 Uno. Ich nehme das Signal ja aber auch per 
Analog In auf. Ausgabe an die LED erfolgt über Digital Pin out.

Also Kabel an jeweiligen Ort stecken -> Datenverarbeitung in Arduino -> 
NeoPixel Bibliothek um WS2812b anzusteuern über Digital Out. So kann ich 
halt die LED ansteigen lassen und verrückten kram machen. Wenn ich sie 
direkt Analog ansteure geht halt nur alle Hell oder alle Dunkel.

: Bearbeitet durch User
von Nyquist Shannon (Gast)


Lesenswert?

Bist du dir sicher das das keine alias Effekte sind?

von Sebastian (Gast)


Lesenswert?

GND miteinander verbunden? Sorry, aber gab es alles schon ...

LG, Sebastian

von FFT! (Gast)


Lesenswert?

FFT?

von Harald W. (wilhelms)


Lesenswert?

Sebastian schrieb:

> GND miteinander verbunden? Sorry, aber gab es alles schon ...

Ich vermute sowieso, das es sich nicht um Rauschen,
sondern eher um die Störstrahlung eines sich in der
Nähe befindlichen Schaltnetzteil handelt.

von Armin J. (arminj)


Lesenswert?

Was misst Du am Kollektor, wenn Du statt der LED und 390 Ohm 100kOhm 
oder mehr nimmst?

von Andre (Gast)


Lesenswert?

Beim blauen oder grünen Kreis musst du eigentlich sehr aussagekräftige 
Signale haben, ansonsten würde die LED permanent oder nie leuchten.

Dein Messaufbau muss da ne Macke haben. Läuft die Schaltung wie 
gezeichnet mit 9V und übersteuert damit den ADC?

von Tom T. (tom_t725)


Lesenswert?

Andre schrieb:
> Beim blauen oder grünen Kreis musst du eigentlich sehr aussagekräftige
> Signale haben, ansonsten würde die LED permanent oder nie leuchten.
>
> Dein Messaufbau muss da ne Macke haben. Läuft die Schaltung wie
> gezeichnet mit 9V und übersteuert damit den ADC?

Sollte man auch dazu sagen, ich betreibe die Schaltung mit 3 x AA 
Batterien = 4,5V was für die 5V LED reicht, weil ich gehört habe, wie 
OpAmps das Signal verrauschen können wenn mit Netzteil betrieben

: Bearbeitet durch User
von uwe (Gast)


Lesenswert?

Was kommt denn aus der Quelle raus (Oszilloskopbild), wie hochohmig ist 
Quelle (bzw. wie sieht die Innenbeschaltung aus. Was für LEDs verwendest 
du an der Analogen Ansteuerung?

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


Lesenswert?

Tom T. schrieb:
> weil ich gehört habe, wie OpAmps das Signal verrauschen können wenn mit
> Netzteil betrieben
Du hast da Käse gehört. Viele Zigmilliarden OPs laufen ganz problemlos 
an Netzteilen.

Und jetzt kommt der Knackpunkt: bei deiner Leuchtschnuranwendung ist es 
völlig egal, wenn der OP im 10mV-Bereich rauscht.

> Kann doch nicht sein, dass das Rauschen vom Arduino einfach alles an
> verwertbaren Daten frisst...
1. der Arduino rauscht bestenfalls auf den letzten paar Bits.
2. das, was du da siehst, ist kein Rauschen, sondern es sind 
irgendwelche Störeinkopplungen und Abtastartefakte.
3. zeig doch mal die Schaltung und Fotos vom Aufbau. Dort ist nämlich 
der Hund begraben.

BTW: mach doch nicht für das immergleiche Projekt laufend neue Threads 
auf:
- Beitrag "Potentiometer in Abhängigkeit vom Schalldruck möglich?"
- Beitrag "Empfehlungen für einen handlichen Akku für mobile LED-Strips?"
- Beitrag "Mein erstes mal eine Schaltung auf eine Lochplatine bringen. Ideen oder Verbesserungen?"

Du verlierst da ja selber noch den Überblick...

: Bearbeitet durch Moderator
von Michael M. (Firma: Autotronic) (michael_metzer)


Angehängte Dateien:

Lesenswert?

Hör dir doch mal das Signal im violetten Kreis mit einem 64 Ohm 
Kopfhörer an, dann hörst du sofort direkt die Störgeräusche, falls 
welche vorhanden sind. 🎧

von Stefan F. (Gast)


Lesenswert?

Tom T. schrieb:
> Eigentlich war eine Logik im stiele von "Wenn Volt > x ist, dann
> Leuchte" angedacht.

Nein, die Schaltung hat einen analogen Ausgang.

von Zeno (Gast)


Lesenswert?

Äh ist da an mir was vorbei gegangen? Ich sehe in der Schaltung gar 
keinen Arduino.

von Michael M. (Firma: Autotronic) (michael_metzer)


Lesenswert?

Zeno schrieb:
> Äh ist da an mir was vorbei gegangen? Ich sehe in der Schaltung
> gar keinen Arduino.

Der Arduino soll später mal in den grünen Kreis eingebaut werden und 
wird dann der nachgeschalteten LED noch weitere Features zur Verfügung 
stellen können.

von Stefan F. (Gast)


Lesenswert?

Das Eigenrauschen kannst du ermitteln, indem du den analogen Eingang mit 
GND verbindest.

Michael M. schrieb:
> Der Arduino soll später mal in den grünen Kreis eingebaut werden und
> wird dann der nachgeschalteten LED noch weitere Features zur Verfügung
> stellen können.

Das hast du dir gerade ausgedacht, oder?

Nach meinem Kenntnisstand will der TO damit später eine ganze 
Lichterkette ansteuern, die für 12 Volt 1,2 Ampere ausgelegt ist. Den 
Mikrocontroller nutzt er vermutlich nur als Ersatz für ein fehlendes 
Oszilloskop. Er hat auch klar gestellt, dass er seine Lichtorgel nicht 
auf Basis eines µC bauen will, sonst hätten wir uns die zahlreichen 
Threads zu der analogen Schaltung sparen können.

von Michael M. (Firma: Autotronic) (michael_metzer)


Lesenswert?

Stefan ⛄ F. schrieb:
> sonst hätten wir uns die zahlreichen Threads zu der analogen Schaltung
> sparen können.

Aber in einem seiner zahlreichen Threads will er die Lichterkette um 
seinen Körper drumwickeln und damit in der Disco tanzen.

Als Zusatzfeature könnte er noch einen Stroboskopblitzer 
dazuprogrammieren und noch den Morsecode für "Ich liebe Dich" abspielen 
lassen, um damit noch ein paar geile Weiber in der Disco aufzureißen.

von Tom T. (tom_t725)



Lesenswert?

Stefan ⛄ F. schrieb:
> Das Eigenrauschen kannst du ermitteln, indem du den analogen Eingang mit
> GND verbindest.

Dann bin ich bei wirklich 0. Kabel raus stecken, dann bin ich bei dem 
ersten Bild. Wenn ich das Kabel dann einfach nur zwischen die Finger 
halte, bekomme ich bereits das Bild von hier mit viel Rauschen. Und wenn 
ich es an Ground vom Steckbrett anstecke (ohne das eine Batterie oder 
sonst was die Schaltung bestromt!) bekomme ich das andere Bild mit 
ebenfalls viel Rauschen...


> Nach meinem Kenntnisstand will der TO damit später eine ganze
> Lichterkette ansteuern, die für 12 Volt 1,2 Ampere ausgelegt ist. Den
> Mikrocontroller nutzt er vermutlich nur als Ersatz für ein fehlendes
> Oszilloskop. Er hat auch klar gestellt, dass er seine Lichtorgel nicht
> auf Basis eines µC bauen will, sonst hätten wir uns die zahlreichen
> Threads zu der analogen Schaltung sparen können.

Also der Arduino soll nicht perse eingebaut werden, sondern einen Wert 
abgreifen und den an eine 5V WS2812b weiter geben, der braucht ja 
bekanntlich Daten und nicht nur Spannung. Volt an einen 5050 (5V) 
LED-Streifen weitergeben geht ohne Probleme direkt über die Schaltung 
und funktioniert auch gut, wie oben beschrieben. Jemand hatte ja 
angemerkt, dass es ja nicht an der Schaltung liegen kann, wenn diese ja 
macht was sie soll. Ist ja auch richtig. Nur der Arduino bekommt so ein 
merkwürdiges Signal. Hätte ich ein (gutes) Oszilloskop hätte ich eine 
zweite Meinung zumindest gehabt.

P.S. gibt es eine Möglichkeit Bilder zu entfernen aus dem eigenen 
Beitrag? Hab aus versehen zwei mal das gleiche Bild reingestellt und 
weiß nicht wie ich es entfernen kann.

: Bearbeitet durch User
von Gerald B. (gerald_b)


Lesenswert?

Offene Eingänge sind bei CMOS nie eine gute Idee, da misst du 
Hausnummern.
Ein Tiefpass am Eingang (RC Glied) filtert Störnebel von 
Schaltnetzteilen und anderem gut weg.
Der Arduino misst nur so gut oder schlecht, wie seine Referenzspannung 
ist. Analoge Spannungsreferenz mit einem (Folien)kondensator um dessen 
Rauschen zu glätten, ist eine gute Idee. Bei KerKos immer auf nicht 
erwünschte Mikrofonie achten. Nicht alle Dielektrika sind davon 
betroffen. Getrennte Analog und Digitalpins für Ub und Masse macht der 
Hersteller nicht dran, weil er noch Pins übrig hatte ;-)
Früher, wo ADCs separate ICs waren, die entsprechend Außenbeschaltung 
brauchten, und nix anderes konnten, wurde in deren AppNotes und 
Bastelbüchern ausführlich auf derlei Probleme eingegangen, bzw. wie man 
sie umschifft.
Dieses Wissen kann man in der µC Welt durchaus gebrauchen, leider geht 
es in der Generation Arduino und Raspi verloren.
Bestenfalls kauft man noch einen ADC mit zig Bit Auflösung dazu, der 
dann auf dem Steckbrett Wunder vollbringen soll.

von Christian S. (roehrenvorheizer)


Lesenswert?

Wenn ich die Bilder anschaue, brummt es bei mir eher als daß es rauscht.

mfg

von Michael M. (Firma: Autotronic) (michael_metzer)


Lesenswert?

Tom T. schrieb:
> ...gibt es eine Möglichkeit Bilder zu entfernen?

Leider Nein! Die bleiben jetzt bis zum St. Nimmerleinstag für die 
Nachwelt erhalten.

von Stefan F. (Gast)


Lesenswert?

Tom T. schrieb:
> Dann bin ich bei wirklich 0. Kabel raus stecken, dann bin ich bei dem
> ersten Bild.

Das ist völlig normal, jede Leitung ist auch eine Antenne. Ebenso dein 
Körper.

> Und wenn ich es an Ground vom Steckbrett anstecke bekomme ich das
> andere Bild mit ebenfalls viel Rauschen...

Wie gesagt, jede Leitung ist auch eine Antenne. Zudem haben die Dupont 
Kabel und die Kontakte in Steckbrettern einen erheblichen 
Innenwiderstand.

Löste die Schaltung auf eine Platine und verbinde deren GND mit dem 
Mikrocontroller mit einem kurzen dicken gelöteten Kabel. Dann wird das 
viel besser aussehen.

Tom T. schrieb:
> Also der Arduino soll nicht perse eingebaut werden, sondern einen Wert
> abgreifen und den an eine 5V WS2812b weiter geben, der braucht ja
> bekanntlich Daten und nicht nur Spannung.

Das ist doch schon wieder von hinten durch die Brust. Du bringst hier 
alle paar Tage neue Varianten deines Aufbaus, oft ohne das klar zu 
sagen. Wie soll man da noch durch blicken? Warum schließt du das 
Mikrofon nicht direkt an den analogen Eingang des Mikrocontrollers an, 
ganz ohne analoge Verstärker?

von Tom T. (tom_t725)


Lesenswert?

OMG... Also ich hab mein großes Problem gefunden. Ich muss die Batterie 
anschließen UND Ground vom Arduino auch noch auf die Ground-Leitung 
legen. Dann habe ich ein ziemlich klares Signal... Wieder was gelernt.

von Stefan F. (Gast)


Lesenswert?

Zeige bitte ab jetzt immer Pläne, die dem aktuellen Stand entsprechen, 
incl. Stromversorgung, Mikrocontroller und Lichterkette.

von Tom T. (tom_t725)


Lesenswert?

> Du bringst hier
> alle paar Tage neue Varianten deines Aufbaus, oft ohne das klar zu
> sagen.

Weil hier auch immer gute Ideen einprasseln das ganze besser zu machen. 
Die Lichtorgel kam ja auch von jemandem und so wachsen meine neuen 
Ansätze von Tag zu Tag. Am Anfang waren es ja auch noch EL-Kabel... 
¯\_(ツ)_/¯

> Warum schließt du das
> Mikrofon nicht direkt an den analogen Eingang des Mikrocontrollers an,
> ganz ohne analoge Verstärker?

Weil das ALC verlockend klang. Einfach irgendwo hin und das Ding regelt 
sich von alleine. Besser geht es ja nicht. Dann kam das Problem, dass 
das ja auch seine Grenzen hat und auf dem Festival ist das ja erheblich 
lauter. etc. Gain Control wird noch mein größtes Problem bleiben gehe 
ich von aus. Egal ob Analog oder Digital

Stefan ⛄ F. schrieb:
> Zeige bitte ab jetzt immer Pläne, die dem aktuellen Stand entsprechen,
> incl. Stromversorgung, Mikrocontroller und Lichterkette.

Ist nur fair. Mache ich!

: Bearbeitet durch User
Beitrag #7139087 wurde vom Autor gelöscht.
von Stefan F. (Gast)


Lesenswert?

Gain Control kann man bei vielen Mikrocontroller per Software 
umschalten. ALC kann man per Software implementieren. Man kann es 
natürlich auch analog aufbauen.

von Sebastian (Gast)


Lesenswert?

Sebastian schrieb:
> GND miteinander verbunden? Sorry, aber gab es alles schon ...

Tom T. schrieb:
> OMG... Also ich hab mein großes Problem gefunden. Ich muss die Batterie
> anschließen UND Ground vom Arduino auch noch auf die Ground-Leitung
> legen. Dann habe ich ein ziemlich klares Signal... Wieder was gelernt.

:)

LG, Sebastian

von Christian S. (roehrenvorheizer)


Lesenswert?

Tom T. schrieb:
> Ich muss die Batterie
> anschließen UND Ground vom Arduino auch noch auf die Ground-Leitung
> legen.

Da haut's mich echt ins Eck davon.

Aber: spannende Beschreibung und aufregende Fehlerananyse. Letztendlich 
stellt sich der Erfolg doch noch ein.

mfg

von Tom T. (tom_t725)


Lesenswert?

Stefan ⛄ F. schrieb:
> Gain Control kann man bei vielen Mikrocontroller per Software
> umschalten. ALC kann man per Software implementieren. Man kann es
> natürlich auch analog aufbauen.

Kannst du mich direkt an Beispiele oder weiterführende Literatur 
verweisen? Weil im moment läuft es für eine bestimme Lautstärke super. 
Aber sobald ich mich außerhalb dieser Lautstärke befinde ist alles schon 
wieder so lala. Der analoge ALC scheint also nur so mittelmäßig bzw. 
einen sehr geringen Lautstärkebereich zu funktionieren.

von Benj (Gast)


Lesenswert?

Audio-Isolationstransformer wäre ein Versuch wert.

Wenn ich das richtig verstehe, hast du die Masse von deiner Schaltung 
(Inkl. dessen Stromversorgung) über die Audioleitung mit der Masse vom 
Arduino verbunden. Darüber könnte es zu Ausgleichsströmen kommen.

von Harald W. (wilhelms)


Lesenswert?

Tom T. schrieb:

> OMG... Also ich hab mein großes Problem gefunden. Ich muss die Batterie
> anschließen UND Ground vom Arduino auch noch auf die Ground-Leitung
> legen.

Hast Du denn den Beitrag von sebastian am 24.7. um 23.21 Uhr gelesen?

von Stefan F. (Gast)


Lesenswert?

Tom T. schrieb:
> Kannst du mich direkt an Beispiele oder weiterführende Literatur
> verweisen?

Nein. Ich habe den ADC bisher immer anhand des Datenblattes 
programmiert. mehr brauchte ich dazu nicht. Und eine automatische 
Lautstärkeanpassung habe ich bisher noch nicht in Software umgesetzt, 
bis aber 100% sicher das ich es tun könnte wenn ich es bräuchte. Wenn 
ich das kann, kannst du es wahrscheinlich auch.

Die Grundidee ist ja einfach: Das Eingangssignal wird durch eine Faktor 
dividiert (leiser gemacht). Dieser Faktor wird in regelmäßigen Abständen 
angepasst: +0.1 wenn das Signal noch zu laut ist, oder -0.1 wenn es zu 
leise ist.

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.