Forum: Mikrocontroller und Digitale Elektronik Lautstärke messen


von Mark Z. (noisy-tec)



Lesenswert?

Ich möchte mit einer Mikrofonkapsel Lautstärke detektieren. Es muss 
nicht genau sein. Das Signal soll über den AD-Wandler eines AT90S8535 
ausgewertet werden.
Nach dem Schaltplan aus der Anleitung habe ich einen Vorverstärker 
aufgebaut und kann beim Klopfen des Mikrofons auf dem Tisch bereits 
Werte digitalisieren.
Wie kann ich die Schaltung optimieren, so dass ich empfindlicher werde?
Ist ein Gleichrichter zum AD-Wandler nötig?
Kennt jemand für so etwas ein Patentrezept?

Danke!

von JensG (Gast)


Lesenswert?

Noch empfindlicher? Die 1000er Verstärkung reicht wohl noch nicht? Aber 
egal, wenn Du (bzw. eher die Schaltung) empfindlicher werden soll, 
sicherlich noch einen Verstärker nachschalten. Allerdings dürfte dabei 
schon das Rauschen recht hoch werden - also die Verstärkung dezent 
wählen (vielleicht noch so 10fache Verstärkung oder so).
Gleichrichter würde ich schon nachschalten mit Ausgangsfilter (so daß 
der ADC nicht direkt die Schallwellen sieht), am besten einen aktiven 
Gleichrichter.

von 6637 (Gast)


Lesenswert?

Eine Lautsaerke kann man nur im Vergleich messen. Und das bei jeder 
Frequenz. Dh man kann sich zB einen Sinusgenerator nehmen und einen 
Lautsprecher. Bei einer festen Frequenz wird die Lautstaerke linear zu 
Strom oder Leistung ueber einen Bereich verlaufen. Gegen unten ist 
irgendwo eine Grenze und gegen oben auch. Geraeusche, wie Klopfen sind 
gaenzlich ungeeignet, da nicht reproduzierbar.

von Mark Z. (noisy-tec)


Lesenswert?

Beim sprechen in die Kapsel bekomme ich aus dem AD-Wandler "nur" 0, wenn 
ich die Kapsel auf den Tisch klopfe bekomme ich hohe Messwerte.
Mir fehlt also die Reaktion bei normalen Geräuschen.
Der Ausgang des Vorverstärkers ist direkt mit dem PINA0 verbunden.
Mache ich hier etwas falsch?
Ich will ja nur das Geräusch eines Wasserstrahls erkennen, ansonsten 
herrscht Ruhe.
Also, ich will nicht das Geräusch an sich analysieren, nur ob es laut 
oder leise ist.

von JensG (Gast)


Lesenswert?

offensichtlich ist die Verstärkung einfach etwas zu gering, wenn nur das 
Klopfen etwas bringt. Also wie schon gesagt noch etwas mehr verstärken. 
Ansonsten wie schon von mir geschrieben.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Der Ausgang des Vorverstärkers ist direkt mit dem PINA0 verbunden.
>Mache ich hier etwas falsch?

Ja. Der ADC kann nur Spannungen innerhalb 0V<Uin<AREF messen, wobei AREF 
maximal 5V betragen darf. Wenn Du Wechselspannungen messen willst, mußt 
Du deren Nullpunkt auf Vcc/2 abheben, dann kannst Du beide Halbwellen 
abtasten. Die maximale Bandbreite des ADC bei schnellster Wandlung 
beträgt um 35kHz.

Übrigens hat der vorgestellte Verstärker eine viel zu hohe 
Ausgangsspannung, was bei voll aufgedrehtem Ausgangspoti zur Zerstörung 
des Controllers führen kann. Also entweder den Verstärker mit 5V 
betreiben und einen OV einsetzen, dar dann schon arbeitet, oder einen 
Strombegrenzungswiderstand 10kOhm zwischen Verstärker und ADC schalten.

von JensG (Gast)


Lesenswert?

@ Travel Rec.

>Übrigens hat der vorgestellte Verstärker eine viel zu hohe
>Ausgangsspannung, was bei voll aufgedrehtem Ausgangspoti zur Zerstörung
>des Controllers führen kann. Also entweder den Verstärker mit 5V

Die Gefahr sehe ich nicht so sehr, denn in Anbetracht der Tatsache, daß 
der LF351 bei RL=300Ohm lt. Diagramm im Datasheet gerate mal +-5V 
schafft, was nur 15mA macht, und der µC in der Regel Schutzdioden an den 
Eingängen hat, die beim AT90S8535 40mA verkraften, kann es ihn praktisch 
nicht erledigen. Allerdings kann es passieren, daß die Betriebsspannung 
des AT90S8535 über die internen Schutzdioden angehoben wird. Der LF351 
wird sozusagen zur Spannungsquelle für den AT90S8535. Da hilft dann nur 
reichlich Last an der Betriebsspannung (min. 15nmA) auf AT90S8535-Seite.
Aber ich stimme Travel Rec. zu - es ist nicht die feine Art, die 
Schaltung dahingehend zu designen, daß man einfach alles anklemmen will, 
und dabei diesen Punkt einfach zu ignorieren.

von Michael Wilhelm (Gast)


Lesenswert?

>...die beim AT90S8535 40mA verkraften,...

bist du sicher?

Die Schutzdioden in den MEGAS halten nur 1mA aus. Angabe von Atmel, bzw. 
von einem App.Ing.

MW

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

1mA ist die maximale Stromstärke durch die Body-Dioden, 40mA ist die 
maximale Portlast.

von JensG (Gast)


Lesenswert?

@ Michael Wilhelm (Gast)

>>...die beim AT90S8535 40mA verkraften,...

>bist du sicher?

>Die Schutzdioden in den MEGAS halten nur 1mA aus. Angabe von Atmel, bzw.
>von einem App.Ing.

naja, das datasheet sagt zumindest:

Absolute Maximum Ratings*
Operating Temperature ................................ -40°C to +105°C
Storage Temperature .................................... -65°C to +150°C
Voltage on Any Pin except RESET
with Respect to Ground .............................-1.0V to VCC + 0.5V
Voltage on RESET with Respect to Ground ....-1.0V to +13.0V
Maximum Operating Voltage ............................................ 
6.6V
I/O Pin Maximum Current ........................................... 40.0 
mA
Maximum Current VCC
and GND (PDIP package) ....................................... 200.0 mA
Maximum Current VCC
and GND (TQFP, PLCC package) ............................ 400.0 mA

Bei I/O Pin Maximum Current steht nicht, ob als I oder O geschaltet. 
Daher interpretiere ich es mal als universelle Angabe (1mA erscheint mir 
dagegen schon wieder als etwas sehr niedrig für Schutzdioden, zumal bei 
meinen fliegenden Testaufbauten schon oft der Rest der Schaltung über 
diese Schutzdioden aus Versehen mit "versorgt" wurde - und das waren mit 
Sicherheit weit mehr als 1mA)

von Dieter Stotz (Gast)


Lesenswert?

Hallo,

also um zum eigentlichen Problem zurückzukommen: Es wäre hilfreich, 
zunächst den Ausgang des Vorverstärkers bzw. Eingang des AD-Wandlers zu 
oszilloskopieren, um sicher zu gehen, dass da wirklich eine auswertbare 
Spannung vorhanden ist.
Besser wäre, einen Präz.-Gleichrichter nachzuschalten, zumal sich durch 
das Auskoppel-C am Vorverstärker und die Schutzdioden eine 
Arbeitspunktverschiebung einstellen kann.

Gruß

Dieter

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Der Präzisionsgleichrichter ist überflüssig. Wenn man mittels R1=R2 
(z.B. 2x 10kOhm) Spannungsteiler den ADC-Pin auf Vcc/2 einstellt und das 
Ausgangssignal des Verstärkers mittels C ankoppelt, verschiebt sich gar 
nichts. Durch messen der Werte, die von Vcc/2 abweichen, kann der ADC 
beide Halbwellen mit max. 9 Bit Auflösung auswerten. Wie gesagt, bis 
etwa 35kHz. Werden höhere Frequenzen eingekoppelt, muß ein Tiefpaß 
vorgeschaltet werden.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?


von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Man kann mit dem direkt vom ADC gewonnenen Signal eine Menge in Software 
anstellen, da braucht´s keinen speziellen Chip, wenn man nicht gerade 
auf Millivolt auflösen will. Eine log. LED-Anzeige mit 30 LEDs ist auf 
alle Fälle zu machen und mit netten Features wie 
Spitzenwert-Haltefunktion und Übersteuerungsblinken ein echter 
Hingucker.

von JensG (Gast)


Lesenswert?

@  Travel Rec.
die Frage ist nur, ob unser Fragesteller wirklich alles in Software 
verwirklichen will, oder doch lieber die Gleichrichtung/Glättung via 
(Analog-)Hardware. Das müsste er irgendwann selbst entscheiden.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Gewiß. Das ist die ewige Frage: lieber löten oder lieber 
programmieren... 1en und 0en kosten kein Geld ;-)

von Mark Z. (noisy-tec)


Lesenswert?

Danke für Eure Unterstützung!

Ich werde das mit dem Spannungsteiler ausprobieren, leuchtet mir ein und 
dürfte die Lösung für mein Problem sein.

Ich berichte, ob es geklappt hat.

von Martin G. (Gast)


Lesenswert?

Ich weiß, es ist schon etwas her ;-) wollte mal nachfragen, ob und wenn 
ja wie du deine Idee nun umsetzen konntest? LG

von Harald W. (wilhelms)


Lesenswert?

Knut B. schrieb:

> Durch messen der Werte, die von Vcc/2 abweichen, kann der ADC
> beide Halbwellen mit max. 9 Bit Auflösung auswerten.

Naja, das ist ja eigentlich nichts anderes,
wie ein Softwaregleichrichter. :-)

von Harald W. (wilhelms)


Lesenswert?

Knut B. schrieb:

> Gewiß. Das ist die ewige Frage: lieber löten oder lieber
> programmieren... 1en und 0en kosten kein Geld ;-)

Allerdings kann man ein Antialiasingfilter nicht perSoftware
realisieren. Das sollte man schon analog aufbauen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Harald W. schrieb:
> Allerdings kann man ein Antialiasingfilter nicht perSoftware
> realisieren. Das sollte man schon analog aufbauen.

Nö.
Heutige Soundchips (und auch schon die alte AD1848 Schleuder) haben 
AA-Filter, die sich je nach Sampling Frequenz mit eingestellt haben und 
brauchen dafür keine Unterstützung durch externe Filter - ausser vllt. 
einem externen C, der am Chip angeschlossen wird.
Und auch der TAS3108 DSP Chip in meinem Bassverstärker hat das alles 
eingebaut.
Mit ein bisschen Gefummel geht das sogar mit einem AVR oder STM32 ohne 
DSP Befehlssatz, siehe die Application Note AVR223:
http://www.atmel.com/Images/doc2527.pdf

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Matthias S. schrieb:

> Heutige Soundchips (und auch schon die alte AD1848 Schleuder) haben
> AA-Filter, die sich je nach Sampling Frequenz mit eingestellt haben

Du meinst, in diesen Soundchips ist ein analoges SC-Filter vor dem
AD-Wandler mit eingebaut?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Harald W. schrieb:
> Du meinst, in diesen Soundchips ist ein analoges SC-Filter vor dem
> AD-Wandler mit eingebaut?

Ich weiss nicht, was du mit SC Filter meinst, aber so stehts im 
Datenblatt des alten AD1848 Sauriers (Soundchip für ISA Karten):
1
Analog-to-Digital Datapath
2
The AD1848K ∑Δ ADCs incorporate a fourth order modulator.
3
A single pole of passive filtering is all that is required for
4
anti-aliasing the analog input due to the ADC’s high 64 times
5
oversampling ratio. The ADCs include linear phase digital deci-
6
mation filters that low-pass filter the input to 0.45 × FS (“FS” is
7
the word rate or “sampling frequency.”)

von npn (Gast)


Lesenswert?

Matthias S. schrieb:
> Ich weiss nicht, was du mit SC Filter meinst

Er meint "Switched Capacitor Filter", kurz SCF.
https://de.wikipedia.org/wiki/Switched-Capacitor-Filter

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.