Guten Morgen liebe Community, ich habe gestern die ersten Erfahrungen mit einem ADC gemacht. Ich habe Spannungen und Widerstände gemessen und das hat soweit alles funktioniert. :) Ich benutze einen ATtiny85. Nun habe ich folgendes Problem: Ich möchte ein Elektret-Mikrofon vom Typ MCE100 mit dem ADC verbinden. Hierzu habe ich den mit dem Gehäuse verbundenen Pin des Mikrofons auf GND gelegt und den anderen Pin über einen 4,7 kOhm Widerstand an 9V Versorgungsspannung geklatscht. Danach mit einem 1µF Kondensator zwischen R1 und Mikrofon entkoppelt und das entkoppelte Signal dann auf den ADC gelegt. Leider tut sich nichts... Ich möchte das der µC bei einem bestimmten Pegel eine LED an- oder ausschaltet. Meine Überlegung: Das Mikrofon erzeugt eine Sinusförmige Spannung. Der µC kann nur die positive Halbwelle messen. Meine Sampling rate beträgt 125kH also sollte es doch möglich sein eine Spannungsspitze zu treffen... Mein ADC hat außerdem eine Auflösung von 10-Bit. Dies bedeutet das er bei einer Referenzspannung von 5V in Abstufungen von 5V : 1024 = 0,00488V Messen kann. Das Mikrofon sollte doch in der Lage sein eine positive Halbwelle von deutlich mehr als 0,00488V zu erzeugen. Oder sehe ich das falsch ? Für Hilfe wäre ich sehr dankbar :)
:
Bearbeitet durch User
Das Signal ist ohne Transistorstufe zu schwach. Hier gehts in die Richtung : Beitrag "Simpler Klatschschalter - dynamisch geht, elektret nicht"
Was wäre wenn ich die Referenzspannung auf 1,1V herabsetzten würde ? Die Abstufungen würden noch feiner werden. Wäre es dann auch ohne Vorverstärker möglich ? Ich kenne mich mit Analogschaltungen nicht sehr gut aus...
Der Tiny85 hat doch differentielle Kanäle mit bis zu 20x gain. Probiers doch mal damit zu verstärken.
habe gerade mal in diversen Datenblätter geschaut, was aus solchen Kapseln rauskommt: die Empfindlichkeit liegt etwa bei -40dB (0dB = 1V/Pa) Bei einem üblichen Schalldruck von 60dB (Zimmerlautstärke) hat man 0.02Pa davon nochmal 40dB "Unempfindlichkeit" runter kommt man bei 200uV raus. also 0.0002V jetzt vergleich das mit deinen Zahlen. Du solltest einen Verstärker zwischenschalten. TL071 bietet sich an.
Christian Karle schrieb: > Leider tut sich nichts... Natürlich nicht. Dein uC-Einagng hat gar keine definierte Gleichspannung. Du brauchst erst mal eine Vorspannungserzeugung, am einfachsten durch einen hochohmigen Spannungsteiler +9V? +5V | | 4k7 22k | | +--1uF--+-- A/D Eingang | | Mikro 22k | | GND GND > Ich möchte das der µC bei einem bestimmten Pegel eine LED an- oder > ausschaltet. Um A/D zu messen musst du den Analogwert erfassen und dann entscheiden was zu tun ist. Hint: Das einfache Überschreiten eines Analogpegelwerts ergibt KEINEN sinnvoll funktionierenden Klatschschalter. Da muss man schon Frequenzen und Lautstärkeverlauf auf ein Muster hin überprüfen.
andi6510 schrieb: > TL071 bietet sich an. An 5V oder 9V ? You must be kidding. Nicht immer ist der billigste Schrott die richtge Lösung. Ein TL071 misst unter 3V noch nicht mal richtig und erzeugt nicht mehr als 2V (bei 5V Versorgung). TS912 sag ich mal.
Es soll kein Klatschschalter realisiert werden. Das Mikrofon wird an einer Trommel angebracht, also locker 100 oder 110 dB :D Ich denke da genügt es den Pegel zu benutzen oder ?
Christian Karle schrieb: > Ich habe hier noch einen LM2904 rumliegen, kann ich den auch verwenden ? Dein ATTiny85 ENTHÄLT bereits einen Verstärker (x20) und kann mit 1.1V full range messen (nochmal x5 gegenüber 5V), du brauchst also gar keinen externen Verstärker wenn du die Fähigkeiten deines Chips nutzt.
andi6510 schrieb: > TL071 bietet sich an ..., falls man mitsamt Schaltung in ein Zeitloch in die 70er gefallen ist. Andernfalls ist ein Opamp, der mit 5V funktioniert -- selbst ein LM358 nutzt den ADC-Wertebereich halbwegs aus -- sinnvoller.
Ich habe leider gerade nur den günstigen hier herumliegen...
Wenn ich das jetzt richtig verstanden habe, könnte ich den Vorverstärker des ATtiny85 nutzen. Ich würde die Schaltung als so belassen wie am Anfang und nur die Einstellungen im ADMUX Register ändern. Außerdem den ADC auf einen definierten Pegel legen und mein Signal dann dort ankoppeln?
Da ich mich auf dem ADC1 befinde müsste ich also schreiben: ADMUX|= (1<<MUX3) | (1<<MUX1) | (1<<MUX0); Nur was passiert dann mit ADC0 ?? Ist der Offset dann automatisch GND ?
:
Bearbeitet durch User
ADC0 (PB5) ist der Reset Pin. Keine gute Idee bei ISP. Nimm doch ADC2/ADC3. ADMUX|= (1<<MUX2) | (1<<MUX1) | (1<<MUX0); Da das aber dann in der Konfiguration differentielle Eingänge mit Gain 20 sind, müßte ADC3 noch mit GND verbunden werden und dann wie Single Ended Messung behandeln. (ohne Gewehr, da selbst noch nicht probiert) Für ADC1 und internem Verstärker sehe ich ohne ADC0 keine Möglichkeit.
Ja, ich habe es hinbekommen. Die Schaltung funktioniert jetzt. Allerdings übersteuert das Signal ein wenig. Deshalb bin ich auf eine externe Referenzspannung gewechselt. Die externe Referenzspannung wir über einen Spannungsteiler generiert, wobei R1 ein Poti ist. Über den Poti R1 kann somit auch der Pegel eingestellt werden bei dem die LED leuchten soll :) Hat mich viel Zeit und Nerven gekostet aber es funktioniert jetzt einwandfrei. Leider habe ich kein Oszilloskop... Ich würde gerne einmal messen was das Mikrofon so rausgibt... Aber kann mir leider keins leisten :D Als Schüler hat man einfach nicht das Geld dazu :D Falls jemand Interesse am Schaltplan oder dem Quellcode (in C) hat kann er sich gerne melden. Vielen Dank an alle die mir wertvolle Tipps gegeben haben :)
:
Bearbeitet durch User
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.