Forum: Mikrocontroller und Digitale Elektronik VU Meter mit PIC


von Daniel C. (dani86)


Lesenswert?

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

von Dirk S. (duerk)


Lesenswert?

Hallo Daniel, ist vielleicht von Vorteil wenn du dein programm und 
Schaltplan mal beilegst.

Gruß von Dirk

von Daniel C. (dani86)


Angehängte Dateien:

Lesenswert?

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

von Bastler (Gast)


Lesenswert?

Schrotty?
Aus H*****zell?

von Dieter Stotz (Gast)


Lesenswert?

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

von Roland Praml (Gast)


Lesenswert?

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

von Daniel C. (dani86)


Lesenswert?

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

von Dieter Stotz (Gast)


Lesenswert?

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

von Daniel C. (dani86)


Angehängte Dateien:

Lesenswert?

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

von Daniel C. (dani86)


Lesenswert?

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:)

von klaus (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.