Hallo, mein NAme ist Daniel und ich bin neu hier im Forum... Ich mache eine Ausbildung als Elektroniker für Geräte und Systeme. In diesem Zusammenhang programmiere ich viele Microcontroller, vorwiegend PIC's. Nun war meine Idee ein VU Meter mit einem PIC zu realisieren. Da man aber für ein VU Meter Spannung und Strom benörigt, habe ich mich erstmal darauf beschränkt, zunächst nur die Spannung am Boxenausgang via LED's anzeigen zu lassen...Ich habe nun ein kleines Programm in C geschrieben, aber irgendwie stimmt da was nicht... Grundsätzlich funktioniert die Spannungsauswertung am Netzteil, aber an der Stereoanlage nicht, warscheinlich bedingt durch die Frequenz. Ich habe meine Schaltung mal an einen Frequenzgenerator gehangen und ich kann maximal 1 Hz mit meinen LED's darstellen und mehr geht nicht:( Für eine Stereo natürlich zu langsam...kann mir jemand von eich helfen wie ich die Abtastrate des ADC's höher bekomme und wie ich es schaffe, dass meine Schaltung auch die Spannungsschwankungen der Boxenausgänge wiedergeben kann? Vielen dank schonmal, Gruß Daniel
Hallo Daniel, ist vielleicht von Vorteil wenn du dein programm und Schaltplan mal beilegst. Gruß von Dirk
Sorry:) hier ist zunächst einmal mein Programm, einen Schaltplan habe ich noch nicht auf dem PC...diesen Liefere ich noch nach... Das Programm ist durch die IF-Abfragen ziemlich lang gewurden...dies würde sicherlich auch kürzer gehen, aber zur generellen Funktion ist es ok... um noch hinzu zu fügen... als Programmierumgebung benutze ich MPLAB und den CCS-Compiler
Daniel, ein VU-Meter (Volume Unit) zeigt ein logarithmisches Maß einer Audiosignalspannung an (mit einer bestimmten Trägheitscharakteristik). Es ist eine völlig andere Situation, wenn Du Ausgangsleistung eines Leistungsverstärkers messen willst. Dieter
Du brauchst noch einen Gleichrichter (simple Diode reicht evtl.) und einen Kondensator, so wie hier z.B. http://www.elv-downloads.de/service/manuals/VU19/VU19_KM_G_020417.pdf Übrigens: Ein LSP-Ausgang liefert u.U. mehr als 5V und dann ist der PIC hin. Gruß Roland
An Dieter: Das ist gut zu wissen...genau darauf wollte ich mich nämlich letztendlich beschränken. Zuerst war die überlegung die Leistung zu messen, aber da dies doch etwas umständlicher ist, da der Strom erst errechnet werden muss etc. habe ich mich darauf beschränkt, wirklich nur die Spannunganzeigen zu lassen. Ich weiß halt nicht ganz genau in wiefern ich noch eine Vorschaltung vor dem ADC brauche, da mein PIC ja scheinbar bei 1 Hz schon schlapp macht. An Roland: Danke dir, das mit der Diode und dem Kondesator ist eine gute Sache. Die Schaltung ist auch echt verlockend. Ähnliche habe ich mir auch schon angesehen, aber da es halt in meine Ausbildung hinein passt, wollte ich versuchen das ganze irgendwie mit einem PIC zu realisieren. Das Problem mit den 5V habe ich auch schon bedacht, aber da könnte man ja vielleicht mit einem Spannungsteiler oder ähnlichem Arbeiten, damit die maximale Spannung am PIC auch nur ca. 5V beträgt und zusätzlich vielleicht als Schutz sogar mit einer Z-Diode oder 2 Schottky Dioden arbeiten...?!?! Gruß Daniel
Daniel, bei 1 Hz schlapp? Kann ich mir fast nicht vorstellen. Eine einfache Routine zum Einlesen eines ADC-Wertes kann man üblicherweise mehrere hundert Mal pro Sekunde machen. Zur Direktmessung ungeeignet, aber mit Gleichrichtung und Glättung ist der PIC immer noch deutlich schneller als die vorhergehende Schaltung. Ich würde mind. 6 Bauteile verwenden: 1 Diode, 1 Widerstand in Serie zur Diode, 1 Elko (am besten Tantal), 1 Widerstand parallel zum Elko, 1 Schutzwiderstand (ca. 10k) zum PIC-Eingang, 1 Diode (vorzugsweise Schottky)vom PIC-Eingang nach +5V. Zur Bemessung der beiden Widerstände von der Diode zum Elko und parallel zum Elko muss man noch die (genormten) VU-Standards beachten (die ich gerade nicht auswendig weiß). Dieter
Hi, ich hatte in letzter Zeit nicht viel Zeit um mich großartig weiter um mein VU-Meter zu kümmern. Aber ich habe schonmal mein Programm etwas verfeinert. Ich verwende den Timer0-Interrupt um den ADC aus zu lesen. Somit ist sicher gestellt, dass der ADC auch kontinuirlich mit der gleichen Abtastrate ausgelesen wird. Hier habe ich auch schonmal das "neue" Programm in den anhang gepackt. Zudem habe ich vor dem ADC einen Tiefpass geschaltet, welches Frequenzen über 15khz filtert. Natürlich sollen die LEDs des VU-Meters im Prinzip die Spannungssprünge ausgeben, dazu habe ich jetzt den Begriff des "Peak-Hold" gehört! KAnn mir jemand sagen was es damit auf sich hat und wie ich sowas am besten im Programm realisiere? :) Gruß Daniel
Hi, ich habe das mit dem PeakHold mal ausgetestet, aber jetzt habe ich das problem, es wird ja immer die oberste LED durch das PeakHold anglassen, aber der rest meines Programmes hebt das ganze wieder auf und somit sieht man das gernicht das irgendwann mal die höchste LED an geblieben ist. Wie kann man das im dem Programm klug lösen, dass man es doch erkennt?? ich bin grad etwas ratlos:)
hi ver"oder"e das peak-hold-byte mit dem messwert-byte vor der ausgabe: if (wert<10) ausgabe_wert = 0x00; else if ((wert>=1)&&(wert<26)) ausgabe_wert = 0x01; else if ((wert>=26)&&(wert<51)) ausgabe_wert = 0x02; else ... ... ... peak_hold_wert = ??? //irgendwie speichern, aber das gibts ja schon... ... ... port = peak_hold_wert | ausgabe_wert; ...so ähnlich würde ich es machen...
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.