Gibt es eine Möglichkeit mit einem µC den Pegel eines Audiosignals zu
messen? Klar, mit einem OpAmp in entsprechender Beschaltung und dann an
einzelne Pins des µC geht's auf jeden Fall, aber so ist man von den
Lautstärkepegeln festgelegt.
Könnte man nicht über einen Optokoppler das Signal erstmal entkoppeln
und dann über den ADC vom Atmel die Amplitude messen?
>Klar, mit einem OpAmp in entsprechender Beschaltung und dann an>einzelne Pins des µC geht's auf jeden Fall, aber so ist man von den>Lautstärkepegeln festgelegt.
Das verstehe, wer will. An was für "einzelne Pins" willst Du denn das
durch den OPV verstärkte Signal legen?
Okey, danke für wenigistens 1-2 ernsthaft gemeinte Antworten. Würde das
mit dem OpAmp nicht funktionieren?
War nur so ne fixe Idee. Habe noch nicht so den Plan.
>Gibt es eine Möglichkeit mit einem µC den Pegel eines Audiosignals zu>messen?
Ja, natürlich. Spitzenwertgleichrichter mit 2x OP aufbauen.
Einfachen RC Tiefpass zur Mittelwertbildung dahinter.
Spannung mit dem AD Wandler messen. Pegel im uC in dB umrechnen.
Fertig ist die Pegelanzeige.
audiosignal?
20hz-20khz dafür brauchst doppelte Abtastfrequenz also 40khz,
ist AD Wandler so schnell bei AVRs?
Das heisst ja, ein Sample muss in 25 mikrasekunden umgewandelt sein.
Pegel vom Audiosignal, das ist sehr unpräzise Beschreibung.
Was stellst du dir darunter?
Ein Zeitsignal ist ein riesiges Gezackel, was soll da Pegel sein?
Ich kann mir nur Vorstellen dass das ganze auf FFT rausläuft
Danke Daniel!
Ich habe mal ins Datenblatt vom atmega16 geguckt.
Der ADC dort braucht 13-260µs für die Wandlung.
Im Prinzip soll es ein Audiosignal (Kopfhörer) überwacht werden.
Ab einer einstellbaren Amplitudenwert (Laufstärke/Pegel... wie auch
immer) soll eine Lampe leuchten.
Gibt es denn noch andere Möglichkeiten das zu lösen. Bin gerne für
Vorschläge zu haben. Kenne mich echt noch nicht so toll aus.
Du kannst auch nen LM3914 nehmen und dessen ausgänge einlesen ;)
Oder du benuzt den gleich zum leuchten lassen der Lampe, dann einen der
Eingangs R's einfach als Poti auslegen.
(es muß nicht immmer nen µC sein)
Ehm, im Datenblatt vom LM3916 ist auf Seite 11 ein "FIGURE 6. Precision
Full-Wave Peak Detector" angegeben.
Der bildet dir eine Gleichspannung aus dem Audiosignal.
Habe das selber für eine VU-Bargraphanzeige auf LCD verwendet,
funktioniert prima. Durch das RC-Filter am Ausgang bleiben auch kurze
Spitzen noch messbar, da die Spannung etwas gehalten wird.
Mann sollte allerdings die Werte vom AD-Wandler noch logarithmieren,
sonst wirkt die Anzeige etwas "ungewohnt" ;-)
Danke Läubi!
Das mit dem LM3914 klingt sehr gut.
Ich habe mir das Datenblatt mal angesehen, aber leider nix zu den Zeiten
gefunden, die das Dinge braucht, bis die entsprechenden Ausgänge
angesteuert sind. Sollte möglichst schnell sein (habe ich bisher
vergessen zu erwähnen... sorry)
Edith:
Lese gerade die Anforderung, dafür braucht man nicht mal einen µC.
Den Spitzenwertgleichrichter aufbauen und eventuell einen Komparator
dahinter, der ab dem geforderten Wert umschaltet und die Lampe ansteuert
(eventuell noch einen Transitor als Stromverstärker dazwischen), fertig.
@Klaus
Da der LM3914-16 analog arbeitet, dürfte die Geschwindigkeit mehr als
ausreichend sein.
Da du aber nur einen Pegel brauchst, kommste ohne LM391x günstiger weg
mit einem OP als Komparator, der LM ist nämlich nicht ganz billig.
SNT-Opfer wrote:
> mit einem OP als Komparator, der LM ist nämlich nicht ganz billig.
Das stimmt leider.. aber naja dafür ist der AUfwand minimal in den
Anwendungsgebieten ist eine meiner ersten Schaltungen gewesen die
richtig ugt funktioniert haben :)
Gut, nochmal danke euch beiden.
Ich denke mal, ich werde beides testen. Die Schaltung ist nämlich auch
dazu gedacht, ein bisschen zu lernen ;)
Schaltzeiten sollten < 15ms sein.
Differential oder Single ended Audio Signale?
Burr Brown bietet einiges an (bei Reichelt erhaeltlich). AD628 / AD638
bzw Nachfolger AD738 für richtige True RMS messungen.
@Unbekannter
Das wäre die Kanone, mit der Spatzen erschossen werden ;-)
Er braucht weniger qualitativ die Amplitude, mehr quantitativ.
Es soll nur ab Pegel x ne Lampe leuchten...
ich hab nachgedacht und wahrscheinlich geht es beim
Audiopegel eher um die Signalenergie. FFT ist dann
ein overkill, da man mehr Information daraus bekommt als nötig wäre.
Wie wäre es mal einen gleitenden Zeitintervall von 1 sekunde
aus dem Zeitsignal rauszuschneiden und über dessen
Quadrat zu integrieren?
(Quadrat, damit negative Werte positiv zum Integral beitragen)
Also mathematisch sei x(t) das ganze Zeitsignal.
Wir bilden dann
p(t) = Integral von t-T bis t über x(tau)*x(tau)*dtau
für t>T natürlich, weil x(t) erst ab 0.
Man wird dann die Energie des Rauschens abschätzen
müssen. Wenn Energie des Zeitschlitzes grösser
als die Energie des Rauschens derselben Zeitschlitzes ist,
dann bingo ist ein Signal auf der Leitung detektiert.
Die Energieverteilung auf einzelne Frequenzen wäre
wie gesagt ein Overkill oder nice to have information.
@SNT-Opfer
>Ehm, im Datenblatt vom LM3916 ist auf Seite 11 ein "FIGURE 6. Precision>Full-Wave Peak Detector" angegeben.>Der bildet dir eine Gleichspannung aus dem Audiosignal.
.. also in der Art wie ich beschrieben habe oder
ist es Anteil der Gleichspannung im Signal, also X(0)?
Gruss, Daniel
x1(t) = sin(2*pi*fs*t)
x2(t) = 10 + sin(2*pi*fs*t)
würde LM3916 mir
Möglichkeit 1
bei x1 0 ausgeben
bei x2 10 ausgeben
oder Möglichkeit 2
bei x1 etwas >0 ausgeben
bei x2 etwas >10 ausgeben
ich les mir heute LM3916 nacher genauer durch :)
Au weia...das wird ja immer komplizierter...;-)
Der "Full Wave Peak Detector" ist nix anderes als ein modifizierter
Spitzenwert-Gleichrichter (Vollwelle). Im Datenblatt vom LM3916 ist der
nur als Schaltungs-Vorschlag angegeben um NF-Signale "vollständig"
auszuwerten.
Der LM kommt schon mit Wechselspannung am Eingang klar, er bewertet aber
nur die positive Halbwelle.
Will man ein "taugliches" VU-Meter daraus machen, benötigt man den
aktiven Gleichrichter (da ja Audio-Pegel weiter unter der Dioden
Flussspannung liegen können). Zudem ist die Schaltung so ausgelegt, das
sie eine gewisse Ansprech- und Verzögerungszeit hat, damit a) extrem
kurze (Stör) Impulse nicht angezeigt werden, aber b) der "normale"
Spitzenwert noch für das Auge sichtbar (100ms) angezeigt wird.
Im Grunde wird die Amplitudenspitze herausgeholt, daher auch Peak
Detector.
Es wird kein RMS gebildet, oder gar die Energie über die Zeit.
Nur ganz simple der höchste Punkt im Signal am Ende ausgegeben, als
positive Spannung in Bezug auf Masse.
Als Alternative zum LM3916 kann man auch einen beliebigen AVR mit ADC
nehmen und an einen Analogeingang das gleichgerichtete und
RC-TP-gefilterrte Audiosignal geben. Dann hat man schonmal was ganz
brauchbares, das z.B. mit mehr alsa 10 LEDs auch noch deutlich billiger
als ein LM3916 sein kann. Wenn man es ganz besonders toll haben will,
kann man auch mit einem LM324 o.ä. einen Vollwellengleichrichter mit
angehängtem Verstärker bauen (Faktor 4), an zwei ADC-Ins des AVR kann
gibt man dann das Signal vor dem Verstärker /4 und das danach (jeweils
über einen 10k Widerstand, da am OPA evtl etwas mehr als 5V anliegen
könnten). Wenn man das jetzt geeignet verarbeitet, hat man dann
problemlos 0,5dB Auflösung, womit man z.B. ein sehr amtliches VU-Meter
oder aber auch (z.B. mit einem PGA2310) einen
Dynamikkompressor/Peaklimiter bauen kann (das geht wirklich und klingt
garnicht mal so übel). Bei diesem Anwendungsfall sollte aber ein LM324
schon bestens reichen. Erster OPA aktiver Gleichrichter, zweiter OPA
Invertierer, danach mit drittem OPA ebenfalls gleichrichten, ausgänge
beider Gleichrichter zusammenschalten, dort einen C mit R parallel dazu
anhängen (Peak Hold) und das Signal mit dem vierten OPA im Chip mit dem
Schwellwert vergleichen - fertig ist die Laube. Bauteilbedarf: 1 LM324,
2 1N4148, 2 Widerstände 47k, 1 Widerstand 10K, 1 Elko 10µF, ggf. ein
Poti für Schwellwerteinstellung und irgendwelche Ausgangsbeschaltung
(z.B. Transistor für mehr Saft)
@Andreas
Jepp...so habe ich das in meinem Verstärker gemacht, nur mit drei
Kanälen (R;L;Sub). Der PSoC bietet die Möglichkeit eines 3-Kanal ADC
(8Bit) mit simultanem Sampling, das Signal noch logarithmieren ->
Schönes LCD-Bargraph.
Die Idee mit dem Limiter hatte ich auch schon, war bisher nur zu faul
das zu programmieren. Aufwand ist das nicht, dank des PGA mit SPI.
Meine ich ja, man kann sich den LM sparen.
Nur das Schöne ist das Datenblatt, wo der Vollwellen-Gleichrichter als
Applikation vorgestellt wird.
Mit einem einfach Komparator am Ausgang hat der Thread Eröffner das was
er sucht.
Der AVR kann auch direkt die Wechselspannung messen, wenn diese auf eine
Gleichspannung Vcc/2 mittels Kondensator überlagert wird, beide
Halbwellen lassen sich dann mit 9-Bit Auflösung messen. Die Spitzenwerte
speichert man als Peaks und mit einer entsprechenden Rücklaufzeit kann
man dann die VU-Pegel anzeigen. So habe ich mir meine
Aktivboxen-Pegelmeter gebaut und das sieht richtig fett aus. Die
Erkennbarkeit der Signale ist um einiges besser, als mit den reinen
Analog-LED-Schaltkreisen und dieser
Spitzenwert-Gleichrichter-OV-bastelei. Im Controller lassen sich bei
Bedarf auch verschiedene Anzeigemodi und Zusatzanzeigen implementieren
(Punkt-, Bandbetrieb, Peak-Hold, Effektivwerte, LED-Helligkeit über
SoftPWM etc.). Der Bauteileaufwand ist extrem gering: Controller, LEDs
mit Vorwiderständen, 1 OV zur Pegelanhebung, 4 Kondensatoren, 4
Widerstände.
@ Travel Rec.
Ja, stimmt schon. Der Reiz ist halt die sofwaremässige Anpassmöglichkeit
von Attack und Release der Anzeige.
Nur bei drei Kanälen gleichzeitg hätte das in meinem Fall wohl Probleme
mit den Berechnungen gegeben. Reine Vermutung, ob das zeitlich hinhauen
würde.
Daher habe ich die Spitzenerkennung ausgelagert und analog gelöst.
Wie hast du den effektiv Wert bestimmt ? Wäre mal interessant, da ich
noch ein Projekt im Hinterkopf habe, einen Audio-Leistungsmesser.
Der soll unbedingt OHNE Sinussignal auskommen, liebäugle schon mit einem
(bzw. 2, Spannung & Strom) integrierten AC -> RMS Wandler.
Wenn sich das aber direkt im µC erledigen lassen würde, ohne zuviel
Mathe (bremst), wäre das eine preisgünstigere Variante.
>Wie hast du den effektiv Wert bestimmt ? Wäre mal interessant, da ich>noch ein Projekt im Hinterkopf habe, einen Audio-Leistungsmesser.
Der ADC läuft mit 500kHz im AutoTrigger. Sämtliche auflaufenden Meßwerte
werden gesammelt und über ein veränderbares Zeitfenster gemittelt. Für
den Zweck eines Pegelmeters reicht das völlig. Viel interessanter wird
der Effekt, wenn man die Peaks als Punkte in der Anzeige für 2-3
Sekunden hält und über die VU-Messung blendet; gerade für genaue
Aussteuerungen ist diese Art von "Doppelmessung" sehr intuitiv. Man
verpaßt keine Spitzen und hat über das LED-Band einen guten Eindruck von
der Gesamtenergie der Musik.
Für diesen Zweck habe ich 2 Arrays angelegt, das eine wird mit den
"langsamen", gemittelten Werten in Bandform geladen und das andere mit
den jeweiligen Spitzenwerten in Punktform. Bei der Ausgabe auf die LEDs
werden beide Arrays ODER-verknüpft.
Normal gemittelt oder RMS ?
Ansonsten echt nett mit der separaten Spitzenwert Auswertung.
Ich habs mir da einfacher gemacht, die Werte von den Gleichrichtern
werden simultan von drei ADC gesampelt. Danach skaliert und
logarithmiert, anschliessend auf den 85 teilige Bargraph verteilt und
angezeigt.
Ganz nett ist der optische Effekt aufgrund der gewissen Trägheit des
LCD, die kurzen Spitzen werden mit halber Intensivität angezeigt.
Man sieht auch gut wie die 8x5 Pixel vom LCD sich von oben nach unten
aufbauen.
Hier mal ein kleines Filmchen zum angucken, bitte Windows-MediaPlayer
oder MediaPlayerClassic verwenden, die spielen das vernünftig ab ;-).
Edit: der aktuelle Winamp kann´s auch...
Travel Rec. wrote:
> Hier mal ein kleines Filmchen zum angucken, bitte Windows-MediaPlayer> oder MediaPlayerClassic verwenden, die spielen das vernünftig ab ;-).>> Edit: der aktuelle Winamp kann´s auch...
Hast du zufällig Schaltplan/Software irgenwo veröffentlichst?
>Sieht gut aus. Nur die Musik, die man in Halberstadt so hört.....*GRINS*
Was stimmt nicht mit der Musik?! ;-)
>Hast du zufällig Schaltplan/Software irgenwo veröffentlichst?
Noch nicht, da es sich bei der Schaltung um eine Steuerung für meine
Selbstbau-Aktivboxen handelt, die es bislang nur 2x als Prototypen gibt.
In Auszügen könnte man das sicher mal schick zusammenstellen. Der Code
ist auch noch etwas überarbeitungswürdig weil es mußte schnell gehen
;-). Ich denke mal drüber nach.
Ich bin auch auf der Suche in etwas in der Richtung.
Ich möchte die Eingangssignale meines Verstärkers messen.
Ich brauche aber keine Peak anzeige oder so, einfach nur ob ein Signal
da ist oder nicht.
wenn kein Signal da ist soll der Verstärker abgeschaltet werden, wenn
eins da ist wieder ein.
Kann ich einfach das Signal an nen ADC pin legen und gucken ob sich da
was tut?
Vom Prinzip her spricht nix gegen, obwohl man dafür nicht unbedingt
einen µC braucht. Wenn der aber schon da ist, warum nicht.
Man müsste nur zusehen, dass der AD-Wandler kein Problem mit den
negativen Halbwellen bekommt, ein Vorwiderstand dürfte da genügen
(sofern im µC eine Schutzdiode gegen Masse liegt, zur Not halt extern).
Was soll denn abgeschaltet werden ? der ganze Verstärker oder nur die
Endstufen ? Soll die Schaltung mit rein oder externe Kiste ?
Der Verstärker selbst wurde schon umgebaut, so das die einzelnen
Funktionen über den Hausbus gesteuert werden können. Da habe ich nen
Atmel 40 Pinner (mega8535) drine , der hat noch ein par Pins frei.
Bisher lief der eigentlich immer 24/7, habe aber mal gemessen. Der zieht
im Leerlauf 30 Watt, das muss nicht sein ;)
Was für Pegel haben so Standard Audio Signal eigentlich? Meines Wissens
liegen die doch irgendwo im mV Bereich, da wird die Flussspannung der
Dioden wahrscheinlich nichteinmal erreicht ;)
Korrekt, dachte wieder an den Ausgang, naja ;-)
Vermutlich ist es einfacher das analog zu lösen, Komparator +
retriggerbares Monoflop.
Kommt Pegel wird Monoflop getriggert, bleibt Pegel wird weiter
getriggert, fehlt Pegel läuft Monoflop (NE555) aus und macht den
Verstärker bzw. das Relais aus. Der 555 kann auch direkt Relais treiben.
Oder nur mit Komparator und das Signal des Komparators mit einem
Kondensator so lange halten wie der Verstärker an bleiben soll. Braucht
dann aber noch einen Schaltverstärker für das Relais.
Edith: Audio LINE-Pegel in der Regel 0,7V bis 1,2V (bei
Vollaussteuerung)