Hallo, Ich würde mir gerne ein Digitales VU-Meter mit einen ATMEGA 32 bauen. Nun habe ich mich einiges damit beschäftigt und einen Stromlaufplann erstellt, nun wollte ich hier einmal sicher gehen ob ich keinen Fehler gemacht habe und würde euch hier bitten, einmal einen kurzen Blick darauf zu werfen. Danke schon mal.
Meiner Meinung nach müßte das für ein einfaches VU-Meter reichen. Wahrscheinlich störts dabei nicht, daß die negative Halbwelle des Audiosignals komplett verschwindet. Die Widerstände zwischen Basis und Masse der LED-Treibertransistoren kannst Du vermutlich weglassen. Der AVR zieht seine Ausgänge sowieso aktiv nach Masse wenn man es nicht explizit anders möchte.
Soll eigendlich nur zur Deko werden um den Bass anzuzeigen. Müsste mann dann noch eine Diode zu den Spannungsteiller Schalten das die negative Halbwelle nicht am AVR anliegt oder hält er dies aus. ok, Noch ein Problem habe ich, ich kann das Signal nur direkt am Subwoofer abgreifen daher ändert sich der maximalpegel andauernd. Dies hätte ich so gelöst das ich ein Poti an eine der ADC channels schalte wo dann die Stellung misst. So hätte ich das dann gerechnet das sich die maximal Lautstärke verändert. z.B : LED 1 leuchtet bei einen wert von 10 LED 2 bei 20 LED 3 bei 30 und so weiter dann hätte ich den Wert vom ADCPOTI genommen : 256 / ADCPOT1 = POT1 ( Um herauszufinden welche stellung) LED 1 * POT = LED1 vergleichswert ( Um nen neuen wert für LED1 auszurechnen bei angepasster Maximallautstärke) AUDIO mit LED1 vergleichswert ,vergleichen ,wenn gleich oder höher LED1 Leuchtet THX schon mal :)
Wenn ich Audio möglichst exakt mit dem ADC eines AVR messen möchte, würd ich Vref auf die internen 2,5V schalten und das Audio-Signal über einen Kondensator auf einen ADC-Pin einkoppeln, der von einem Spannungsteiler auf 2,5V gehalten wird. Damit hätte ich beide Halbwellen abgedeckt und die Auflösung reicht für ein VU-Meter locker ohne weitere Maßnahmen. Wenn Du damit sowieso an die Lautsprecherausgänge willst, mußt Du die Spannung eh noch über einen weiteren eingangsseitigen Spannungsteiler herabsetzen. Wenn Du keine absoluten Werte angezeigt haben möchtest, sondern sich das VU-Meter an die jeweilige Lautstärke anpassen soll, kannst Du Dir in Software den Höchstwert aus dem ADC merken und das Signal an diesem skalieren. Diesen Höchstwert kannst Du dann auch absenken, wenn das Signal dauerhaft ein Stückchen darunter bleibt. Das überlasse ich mal Deiner Phantasie, da gibts viele Wege nach Rom und viele Möglichkeiten, wie es dem Anwender gefällt.
ok ich habe mal die Eingangsbeschaltung aufgezeichnet, ich hoffe ich habs richtig verstanden. Was ich noch nicht ganz kapiere warum Vref auf 2,5V stellen. Ok,
Sorry, ich hatte oben einen kleinen Fehler drin. Ich meinte 1,25V für den ADC-Pin bei 2,5V Referenz. Du kannst natürlich auch 5V Vref nehmen und 2,5V für den ADC-Pin. Wenn Du beide Halbwellen haben möchtest, mußt Du die negative über GND heben, damit der ADC sie messen kann. Wenn Du am Eingang ein Signal mit +-1,25V hast und es über einen Kondensator auf ein per Spannungsteiler auf 1,25V gehaltenen Pins koppelst, erscheint es dort als 0..2,5V Signal. Das kann der ADC messen, man muß nur beachten, daß die Nullstelle bei 1,25V liegt. Geht natürlich auch mit 5Vss (+-2,5V) Signalen und 5V Vref.
sry das ich jetzt erst antworte. Mitm messen habs ich verstanden, aber wie unterteil ich die LEDs dann wenn da negative wert mitgemessen wird, Ich hätte des jetzt z.B so gemacht das bei 1V LED1 Leuchtet, bei 2V LED3 .... bis 5V LED5 bei eien VU-Meter mit 5LEDs. Bei meinem mit 19 hätte ich die 5V natürlich Logatitmisch unterteilt für 19LEDs.
L. M. schrieb: > Müsste mann dann noch eine Diode zu den Spannungsteiller Schalten das die > negative Halbwelle nicht am AVR anliegt oder hält er dies aus. Das kommt drauf an, wer stärker ist - deine Audio-Quelle oder die interne Schutzdiode am Pin des µC. Atmel schickt in eine Application Note 230VAC über einen Widerstand direkt ohne weitere Spannungsbegrenzung auf einen I/O-Pin und nutzt dabei beide Schutzdioden (VCC und Gnd). Wenn deine Quelle also hochohmig genug ist, so dass der zulässige Strom nicht überschritten wird, ist das ok.
magic smoke schrieb: > Sorry, ich hatte oben einen kleinen Fehler drin. Ich meinte 1,25V für > den ADC-Pin bei 2,5V Referenz Prinzipiell ok, da allerdings ARef nicht mit einem Spannungsteiler belastbar wäre der niederohmig genug für AIn wäre, bräuchte man noch einen OpAmp um ARef zu buffern - da nimmt man lieber 5V für ARef und 2.5V als Musikmasse.
Mike schrieb: > Das kommt drauf an, wer stärker ist - deine Audio-Quelle oder die > interne Schutzdiode am Pin des µC. Atmel schickt in eine Application > Note 230VAC über einen Widerstand direkt ohne weitere > Spannungsbegrenzung auf einen I/O-Pin und nutzt dabei beide Schutzdioden > (VCC und Gnd). Wenn deine Quelle also hochohmig genug ist, so dass der > zulässige Strom nicht überschritten wird, ist das ok. ok, dann brauch ich mir deswegen keine Sorgen machen MaWin schrieb: > da nimmt man lieber 5V für ARef und > 2.5V als Musikmasse. Das mit der Masse hab ich kapiert, aber wie Funktioniert die Unterteilung in 19LEDs wenn ich denn Minus Wert mitmesse.
> Das mit der Masse hab ich kapiert, aber wie Funktioniert die > Unterteilung in 19LEDs wenn ich denn Minus Wert mitmesse. Wo ist dein Problem? :) Das ist alles Sache der Software. Wie ich es probieren würde: Ich würde die Anzeige nur periodisch aus Extremwerten updaten, sonst ist der AVR vermutlich viel zu schnell und die Anzeige flackert nur wild hin und her. Also sagen wir als Beispiel und ohne es nachgerechnet zu haben ein paar tausend mal messen (wieviel man in vielleicht 0,1 Sekunden schafft wenn man die Anzeige alle 0,1 Sekunden updaten will), bei den Messungen die Minimal- und Maximalwerte über diesen Zeitraum bestimmen, die Differenz dazwischen ist dann die Amplitude des Audiosignals. Wie man das dann anzeigt ist Geschmackssache. Auf jeden Fall irgendwie auf einen Anzeigebereich skalieren. Wenn man es linear 0-100% Aussteuerung haben will, bekommt man ein wenig über 5% für pro LED. Kann man natürlich auch logarithmisch anzeigen, dann muß man sich nicht so oft an das Audiosignal anpassen, weil dann kleine Signale von Hause aus höher aufgelöst werden.
MaWin schrieb: > Prinzipiell ok, da allerdings ARef nicht mit einem Spannungsteiler > belastbar wäre der niederohmig genug für AIn wäre, bräuchte man noch > einen OpAmp um ARef zu buffern - da nimmt man lieber 5V für ARef und > 2.5V als Musikmasse. Nö. Masse bleibt Masse. Auch für Audio. Der ADC-Pin wird auf ARF/2 vorgespannt, und zwar nicht von AREF aus, sondern extra mit 2 gleichen Widerständen. Da AREF auch (A)VCC sein kann, nimmt man die Vorspannung auch von (A)VCC. Für normale Line-Signale mit 2Vss ideal. Durch Oversampling kann und Dezimation man die normalen 10Bit des ADC auf 12Bit hochdrücken (die Erfassung ist dann noch schnell genug) und so noch kleinste Pegeländerungen detektieren. Been here, done that. More than once ;-) L. M. schrieb: > und würde euch hier bitten, einmal einen kurzen Blick > darauf zu werfen. Transistoren sind im übrigen unnötig, wenn Du effiziente LEDs nimmst, die mit 2mA schon sehr hell sind (viele SMD-LEDs können das bereits). Spart einen Haufen Bauelementeaufwand. Du kannst im Übrigen die doppelte Anzahl LEDs ansteuern, wenn Du ein 2. LED-Band aufbaust, welches gegenüber dem 1. verpolt ist. Dann nimmst Du 2 Transistoren mit unterschiedlicher Zonenfolge auf einen Steuerpin, der zu 50% high und zu 50% low ausgibt. Die Transistoren werden mit ihrem Kollektor auf das jeweils passende LED-Band geschaltet. Die LED-Ports werden dann gegenphasig zum Steuerpin angesteuert. Dies sollte ein Interrupt erledigen, damit nichts flackert. Somit kannst Du ein Stereo-Signal (über einen 2. ADC-Pin) auf je 24 LEDs separat ausgeben. Achte bei der Platine darauf, dass die Ströme zu den LEDs nicht am Controller entlang oder in dessen Nähe fließen können, da dadurch das Messergebnis vom ADC verrauscht wird. Getrennte Versorgungspfade (Stern Topologie und massive Planes) sind hier ein Muss.
Knut Ballhause schrieb: > Für normale Line-Signale mit 2Vss ideal. Durch > Oversampling kann und Dezimation man die normalen 10Bit des ADC auf > 12Bit hochdrücken (die Erfassung ist dann noch schnell genug) und so > noch kleinste Pegeländerungen detektieren. Been here, done that. More > than once ;-) Bräuchte gar nicht 12 Bit hatte eh vor bloß 8 zu nehmen da es eigendlich nicht genau sein muss, wird nur zur optik, keine Messungen. Knut Ballhause schrieb: > Transistoren sind im übrigen unnötig, wenn Du effiziente LEDs nimmst, > die mit 2mA schon sehr hell sind (viele SMD-LEDs können das bereits). > Spart einen Haufen Bauelementeaufwand Hab extrem helle LEDs die Plexiglassplatten zum Leuchten bringen , die mit abstand aufeinander angebracht sind. Knut Ballhause schrieb: > Du kannst im Übrigen die doppelte Anzahl LEDs ansteuern, wenn Du ein 2. > LED-Band aufbaust, welches gegenüber dem 1. verpolt ist. Dann nimmst Du > 2 Transistoren mit unterschiedlicher Zonenfolge auf einen Steuerpin, der > zu 50% high und zu 50% low ausgibt. Die Transistoren werden mit ihrem > Kollektor auf das jeweils passende LED-Band geschaltet. Die LED-Ports > werden dann gegenphasig zum Steuerpin angesteuert. Dies sollte ein > Interrupt erledigen, damit nichts flackert. Somit kannst Du ein > Stereo-Signal (über einen 2. ADC-Pin) auf je 24 LEDs separat ausgeben. Habe leider bloß ein Signal. Knut Ballhause schrieb: > Achte bei der Platine darauf, dass die Ströme zu den LEDs nicht am > Controller entlang oder in dessen Nähe fließen können, da dadurch das > Messergebnis vom ADC verrauscht wird. Getrennte Versorgungspfade (Stern > Topologie und massive Planes) sind hier ein Muss. Hab ich beim layouten schon geschaut ist Leider sehr schwer da ich alles so klein wie möglich brauche. Knut Ballhause schrieb: > Für normale Line-Signale mit 2Vss ideal Kann mein Signal nur Direkt am Subwoofer abgreifen muss, dann mit einem Spannungsteiler arbeiten. Ich habe mal den Stomlaufplann so weit verändert. Hab auf ADC0 das mit der Spannung von 2,5V gemacht für die Messung im Negativen Bereich,und auf ADC1 eine Messung nur für denn Postitiven Bereich wenn ich mal etwas rumexperimentieren will. Danke schon mal für alle Infos.
Der Spannungsteiler an AREF ist unnötig. Nimm intern Vcc als Referen und schalte nur den Kondensator an AREF. ADC1 wird ohne festes Potenzial gar nichts bzw. alles messen.
Knut Ballhause schrieb: > Der Spannungsteiler an AREF ist unnötig. Nimm intern Vcc als Referen und > schalte nur den Kondensator an AREF. Ich hab mir den für "Notfälle" eimal drin gelassen, wird aber nicht genutzt. Knut Ballhause schrieb: > ADC1 wird ohne festes Potenzial gar nichts bzw. alles messen. Messe ich so nicht was am Spannungsteiler 4 anliegt.
L. M. schrieb: > Messe ich so nicht was am Spannungsteiler 4 anliegt? Nur wenn der Jumper geschlossen ist und ADC1=ADC0 ist. Ist der Jumper offen, läd sich der Kondensator auf und aufgrund der fehlenden Stromsenke kann es zu keinem Stromfluss durch den Kondensator mehr kommen. Es wäre so, als würde ADC1 floaten. Daher misst ADC1 alles mögliche, nur nicht das Eingangangssignal.
L. M. schrieb: > Ich hab mal noch ne Verbesserung gemacht, jetzt müsste es ja gehen. Abend ich hab nochmal ne kleine frage, hab mich im Internet nochmal ein wenig umgeschaut wegen VU-Meters die analogen haben immer eine Glichrichtung mit eine Operationsverstärker vorm Eingang. Könnte mir mal bitte jemand erklären warum dieser vorhanden ist, komm gerade nicht drauf. Danke schon mal.
Lies dir mal das hier durch, da hast du schon mal den Überblick über die Geschichte hinter dem VU-Meter und dessen Vor- und Nachteile: [http://de.wikipedia.org/wiki/vu-Meter] Natürlich kann man das VU-Meter auch direkt an der NF betreiben, aber ein "richtiges" VU-Meter ist wie vieles andere eben definiert (s. URL), z.B. das Einhalten von 300ms Einschwingzeit. Der Opamp mit Gleichrichtung vor dem VU-Meter hat meist mehrere Aufgaben: - Anpassung des Eingangssignalbereichs an den des Anzeigebausteins - echte Mittelwert-Bildung oder Spitzenwertermittlung mit aktiver Gleichrichtung möglich - Kompensation der Dioden-Flussspannung ggü. einfacher Gleichrichtung - ermöglicht ein einfaches PI-Glied zur Verstärkungseinstellung bei gleichzeitiger Integration (Mittelwert-Anzeige) oder aber eine Spitzenwertanzeige durch Halten des Ausgangssignals für einen gewissen Zeitraum mit einem RC-Glied - ggf. Logarithmierung des Eingangssignals Siehe auch Datenblatt von z.B. LM3916, LM3915 (Abschnitt Application Hints) unter: [http://www.ti.com/product/lm3915] oder [http://www.ti.com/product/lm3916] Vielleicht eignet sich statt eines VU-Meters doch besser eines der [http://de.wikipedia.org/wiki/Aussteuerungsmesser] für deine Anwendung? Viel Erfolg, PdG
PdG schrieb: > Siehe auch Datenblatt von z.B. LM3916, LM3915 (Abschnitt Application > Hints) unter: > [http://www.ti.com/product/lm3915] oder > [http://www.ti.com/product/lm3916] Diese beiden hatte ich schon auf einer Platine verbaut bin leider nicht dazugekommen diese fertig zu bauen. PdG schrieb: > Vielleicht eignet sich statt eines VU-Meters doch besser eines der > [http://de.wikipedia.org/wiki/Aussteuerungsmesser] > für deine Anwendung? So etwas trift genau auf das zu was ich eigendlich bauen möchte, denn ich brauch keine festgelegten werte. Ich möchte nur um so lauter der bass kommt also um so höher die Spannung ist das um so mehr Plexiglass blatten leuchten, und diese dann logartitmisch aufgeteilt sind. ab ich das dann richtig verstanden ich muss um mich leichter zu Programmieren, also Uss rauszurechen, eine Gleichrichtung am eigang vornehmen?
Hallo, bezüglich der vielen Transistoren frage ich mich ob es nicht sinnvoller wäre, einen integrierten Treiber (z.B. ULN2803) zu verwenden. Das würde etwas Platz und Bestückungsaufwand sparen. Nur so als Tip, wenn die Transistoren schon in der Bauteilekiste sind, macht es wahrscheinlich aber keinen Sinn.
bege schrieb: > bezüglich der vielen Transistoren frage ich mich ob es nicht sinnvoller > wäre, einen integrierten Treiber (z.B. ULN2803) zu verwenden. > Das würde etwas Platz und Bestückungsaufwand sparen. > Nur so als Tip, wenn die Transistoren schon in der Bauteilekiste sind, > macht es wahrscheinlich aber keinen Sinn. Danke für den wertvollen Tipp werde es gleich ändern , da dies wirklich viel Arbeit erspart. Habe gerade geschaut find zwar SMD versionen aber die gibts irgendwie nirgendwo zum kaufen, könnte mir jemand eien shop empfehlen wo es diese in SMD geben würde. Danke schon mal, L. M. schrieb: > ab ich das dann richtig verstanden ich muss um mich leichter zu > Programmieren, also Uss rauszurechen, eine Gleichrichtung am eigang > vornehmen?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.