Auf Bass gefilterte Audio-frequenzen eines aux kabels mit einem Arduino benutzen

Hey, ich möchte meinen WS2811 Led streifen zum bass der musik leuchten lassen... Das Problem an der ganzen Sache ist aber die Faulheit, keinen MSGEQ7 zu bestellen. Ich habe mir daher einen passiven Bandpass Filter (ca. 100 - 160 hz) gebaut, worin Widerstände und elektrolyt kondensatoren (die ja polarisiert sind) vorkommen. Das komische ist aber: Die ELKOs gehen nicht kaputt, obwohl ein Audio Signal ja normalerweise Wechselstrom (AC) ist. Findet bei der Ausgabe auf ein Aux Kabel eine Umwandlung auf Gleichstrom (DC) statt? Wie hoch ist die Spannung die dort über das Aux kabel ausgegeben wird und findet bei diesem passiven Bandpass Filter ein Voltage-Drop statt? Der Filter funktioniert ansonsten einigermaßen... Ich bekomme halt mit analogRead nur Werte von ca. 10-30 raus... Wäre echt nett wenn jemand helfen könnte ^^

Ich würde das per Software machen, guck mal hier:

https://github.com/jacobrosenthal/Goertzel/

thefreezers915: Das Problem an der ganzen Sache ist aber die Faulheit, keinen MSGEQ7 zu bestellen.

Du hast Glück, dass ich gerade nicht zu faul zum Schreiben bin.

thefreezers915: Das komische ist aber: Die ELKOs gehen nicht kaputt, obwohl ein Audio Signal ja normalerweise Wechselstrom (AC) ist. Findet bei der Ausgabe auf ein Aux Kabel eine Umwandlung auf Gleichstrom (DC) statt? Wie hoch ist die Spannung die dort über das Aux kabel ausgegeben wird und findet bei diesem passiven Bandpass Filter ein Voltage-Drop statt?

Nicht jedes Bauteil, das entgegen der eigentlichen Bestimmung verwendet wird, geht sofort kaputt. Warte mal zehn Jahre und melde Dich dann wieder. Ob ein „Voltage-Drop“ stattfindet, weiß ich nicht, da ich keine Ahnung habe, was Du damit meinst. Du kannst aber den Arduino leicht als Obersimpel-Oszi verwenden, indem Du zur Spannung an Analog-In eine konstante Gleichspannung (z. B. Batterie) addierst.

thefreezers915: Der Filter funktioniert ansonsten einigermaßen... Ich bekomme halt mit analogRead nur Werte von ca. 10-30 raus...

Das fände auch ich seltsam. AFAIK müsste das Analog-Signal irgendwas bis 2 V betragen, was für 2/5 von 1024 (etwa 400) reichen sollte.

Gruß

Gregor

thefreezers915: ..... Das komische ist aber: Die ELKOs gehen nicht kaputt, obwohl ein Audio Signal ja normalerweise Wechselstrom (AC) ist. Findet bei der Ausgabe auf ein Aux Kabel eine Umwandlung auf Gleichstrom (DC) statt? Wie hoch ist die Spannung die dort über das Aux kabel ausgegeben wird....

Das ist nicht komisch, sondern normal. Da die Elkos meist eine höhere Spannungsfestigkeit haben, als die Spannung, die anliegt, ist das kein Problem. Und die sind ohne weiteres für eine Wechselspannungskopplung gebaut.

Und nein, eine Wandlung passier da nicht. Die Höhe der AC-Spannung hängt sehr von der Schaltung ab und liegt meist im millivoltbereich (100 - 500mV) Ein echter Audio-Fachmann kann da sicher genaueres sagen.

Erstmal Danke fürs Antworten an alle ^^ Kann ich nun den Kondensator beibehalten und wirkt dieser als wechselstrom zu gleichstrom "Konvertierer" (ja, man merkt, ich habs mit den Fachbegriffen nicht so drauf :sweat_smile: ), da der Arduino ja sonst negative werte auslesen würde oder sogar kaputt gehen würde? Und ließe sich diese Ausgangsspannung wenn sie immer noch wechselstrom wäre, durch eine Batterie erhöhen, sodass die Werte immer im positiven Bereich liegen und somit ein Gleichstrom Signal geschaffen wurde? Freue mich wieder über neue Antworten :) Edit: Ahh und die 500MV ließen sich mit dem peak bei der "consumer audio" dieses wikipedia eintrags begründen https://en.wikipedia.org/wiki/Line_level , das würde aber bedeuten dass der negative peak nicht gelesen wird und "verschwindet"? Wie gesagt freue mich auf neue antworten :)

thefreezers915: Kann ich nun den Kondensator beibehalten und wirkt dieser als wechselstrom zu gleichstrom "Konvertierer"

Da wird nichts konvertiert. Ein Kondensator in dieser Anwendung wird ge- und entladen, im Takt der Musik, hält dabei Gleichspannung von der Eingangsquelle fern.

thefreezers915: Edit: Ahh und die 500MV ließen sich....

In der Technik sind Maßeinheiten fest definiert. Deine 500MV sind 500 Megavolt. Die hast du nirgends, evtl. beinem Blitz. Hier ist die Rede von mV, was Millivolt bedeutet. Audiosignale, welche Wechselspannungssignale sind, haben typischer Weise bis zu 1V-Spitze.

thefreezers915: Und ließe sich diese Ausgangsspannung wenn sie immer noch wechselstrom wäre, durch eine Batterie erhöhen, sodass die Werte immer im positiven Bereich liegen und somit ein Gleichstrom Signal geschaffen wurde?

Ja. Probier's einfach aus. Wenn Du Angst um Deinen Aux-Ausgangsding hast, kannst Du ja eine Diode dazwischenschalten. So ein Wechselspannungssignal lässt sich hervorragend für Spiele mit Dioden benutzen.

Wofür hat man ein Steckbrett ...

Gruß

Gregor

Okay, um eine passende Batterie zu wählen, bräuchte ich ja aber die Information, wie hoch die Spannung peak to peak maximal sein kann. (Bsp.: wenn peak to peak einem Volt entsprächen, bräuchte ich eine Batterie, die einen halben Volt Spannung ausgibt) Schließe ich die Batterie einfach so dazu oder brauche ich da noch einen Verbraucher oder ist das quasi mein arduino beim auslesen des Wertes? Der Unterschied zwischen MV und mV ist mir klar, habe mich da anscheinend verschrieben ^^ Und könnte mir jemand erklären was es nun mit der Grafik dieses Wikipedia Eintrags ( Line level - Wikipedia ) auf sich hat? Und warum geht der Arduino, wenn ich ja eigentlich nur Gleichspannung auslesen kann, nicht kaputt und zeigt nur den positiven bereich an? Diese Frage ist nämlich auch der Grund weshalb ich fragte, ob die Kondensatoren die Wechselspannung zu Gleichspannung “konvertieren”

thefreezers915: Okay, um eine passende Batterie zu wählen, bräuchte ich ja aber die Information, wie hoch die Spannung peak to peak maximal sein kann. (Bsp.: wenn peak to peak einem Volt entsprächen, bräuchte ich eine Batterie, die einen halben Volt Spannung ausgibt)

Wie kommst du auf 0,5V? Der Arduino kann max. 5V am Analogeingang ab, ist eigentlich allgemein bekannt. Aber eben auch keine negative Spannung, warum man dir zu einer Anhebung mit einer unterlagerten Gleichspannung riet.

Du kannst dir einen Spannungsteiler an den Analogeingang schalten, brauchst nicht unbedingt eine Batterie.

Ich würde, wenn überhaupt, die Spannung des Signals extern verstärken und dann auf einen Analogeingang geben. Dazu eignen sich OPVs sehr gut.

Wenn du eine Lichtorgel bauen möchtest, oder auch nur eine Basslampe, gibt es im Netz Schaltungen, auch ohne Arduino.

Und nochmals, ein Kondensator konvertiert nichts.

thefreezers915: Schließe ich die Batterie einfach so dazu oder brauche ich da noch einen Verbraucher oder ist das quasi mein arduino beim auslesen des Wertes?

Schließ' die Batterie (ich würde einfach eine Mignon nehmen) so an, als würdest Du deren Spannung messen wollen - also Minus an Masse und Plus an den Analog-Eingang.

Vom Audio-Kabel nimmst Du den Schirm und schließt den ebenfalls an Masse an. Das zu messende Signal kommt an den Analogeingang.

Im Ergebnis hast Du am Analogeingang dann die 1,5 Volt der Batterie plus dem Audio-Signal, also irgendwas um 310 +/- dem Audio-Signal.

Wenn Du den Wert des Analogeingang schnell genug auslesen und mitschreiben (loggen) kannst, kannst Du auch schöne Kurven malen. Ich habe so etwas mal mit einem Akku gemacht. Guck hier.

thefreezers915: ... könnte mir jemand erklären was es nun mit der Grafik dieses Wikipedia Eintrags ( https://en.wikipedia.org/wiki/Line_level ) auf sich hat?

Im Grunde zeigt die Grafik nur die Spannungen an, die bestimmten Pegeln entsprechen. Wobei ich dBu für Blödsinn halte, weil weder dB noch „u“ Maßeinheiten sind. Für dämlich halte ich außerdem die Legende, weil die Reihenfolgen von Legende und gezeichneten Kurven unterschiedlich sind. Vermutlich eine der Trump'schen Dämlichkeiten.

thefreezers915: Und warum geht der Arduino, wenn ich ja eigentlich nur Gleichspannung auslesen kann, nicht kaputt und zeigt nur den positiven bereich an? Diese Frage ist nämlich auch der Grund weshalb ich fragte, ob die Kondensatoren die Wechselspannung zu Gleichspannung "konvertieren"

Dass der Arduino nicht kaputt geht, hat vermutlich mit der Schaltung im Mikrocontroller zu tun. Ein Kondensator konvertiert nichts. Er arbeitet als eine Art Puffer, den man z. B. benutzen kann, um wechselnde Spannungen zu glätten. Aus Deinem Analogsignal kann man mit einem passend großen Kondensator eine arschglatte Gleichspannung machen.

HTH

Gregor

0,5V da ich die frequenz nur um die hälfte der peak to peak spannung anheben muss, um positive werte zu bekommen. Ich habe mit den 5V die der arduino ausgibt und einem spannungswandler eine spannung von ca. 0,58 V als "anhebespannung" erzielt. Ich schätze sogar, dass das ganz gut funktioniert, also die Werte sind einigermaßen akzeptabel. Im endeffekt will ich auch nur eine basslampe bauen, jedoch mit dem WS2811 und diesem effekt ( Zeitangabe vorhanden ) : https://youtu.be/Af74A0Tx-wA?t=265 Hier legt der Bass fest, mit welchem ausschlag der Led streifen von innen nach außen leuchten soll. Im Großen und Ganzen will ich eigentlich nur den Bass Bandpass Filter eines MSGEQ7 nachbauen.... Wie funktioniert das mit der "anhebespannung" eigentlich bei diesem? Ich meine hebt dieser Auch mit einer Spannung das Signal an, um es als Gleichstrom zu verarbeiten? Und findet eigentlich ein Spannungsverlust über die Widerstände statt, was die Werte verfälschen könnte? Denn nach kirchhoffs gesetz müsste ja nach so ziemlich jedem Bauteil ein gewisser Spannungsverlust vorhanden sein, richtig?

thefreezers915: ... Ich habe mit den 5V die der arduino ausgibt und einem spannungswandler eine spannung von ca. 0,58 V als "anhebespannung" erzielt. Ich schätze sogar, dass das ganz gut funktioniert, ...

Ja, statt einer Batterie kannst Du natürlich auch eine vom Arduino angebotene Spannung zum Anheben des Audiosignals benutzen. Mit einem Spannungsteiler/Poti/Trimmer kannst Du z. B. aus den 3,3 Volt, die der Arduino anbietet, irgendetwas Kleineres machen. In meinem oben verlinkten Geschreibsel ist auch ein Trimmer verbaut, der aus den 12 V des von mir benutzten Akkus etwas Kleineres macht.

Gruß

Gregor

Okay, Vielen Dank an alle die mir geholfen haben dieses Thema zu verstehen ^^ 3 Fragen Hätte ich aber noch zum Schluss :_D : 1. Wie fügt man eine gleichstrom Vorspannung einem Wechselstrom Signal hinzu? Also mit welchem Schaltkreis und wie berechnet man (falls nötig) die sich in ihm befindlichen Widerstandswerte usw.? 2. Was macht der Anti-Alias Filter in dem MSGEQ7? Und bräuchte ich so einen ebenfalls? Und 3. Was macht der Peak Detector in dem MSGEQ7? Bzw. wieso wird der überhaupt benötigt und bräuchte ich so einen in meinem Bandpass Filter ebenfalls?

Danke an alle antwortenden Personen

Gruß Lukas