Analoger Input

Hallo zusammen,

ich würde gerne ein Analoges Audiosignal mit dem Arduino verabeiten. (Chinchpegel Hochpegelquelle)
Da habe ich ja jetzt negative Anteile in dem Signal. Tut das dem Analoginput beim Arduino weh, oder
stellt er die einfach als Digital 0 dar ?
Ansonsten eine Diode ins Kabel, so das nur die positven Anteile durchkommen ?

Ulli

Oder über einen LM358 eine “Virtuelle” Masse herstellen und über einen Widerstand das Signal einkoppeln dann hast du +/-2.5V.
Quick and Dirty siehe im Anhang
Gruß
Der Dani

So würde ich es machen.
Mit einer Diode nimmst du dann auch dem Positive Anteil ca 0,7V bei der einer Standart Diode mit einer Gremanium Diode sind das 0,2V (Typ AA133)

R3, (in deinem Beispiel 4k7) und R2 (2k2) bilden einen Spannungsteiler für das Analog-Signal, richtig ?
d.h. bei deinen Werten sollte die Eingangs-Amplitude <= 7V sein, da der Spannungsteiler das auf ca. 1/3 verkleinert.

Bei kleineren Signalen sollte R3 entsprechend kleiner, und/oder R1/R2 größer sein ?

Da beim Arduino ein analogRead ca 120 µs dauert, ist das Ganze max. für Signale bis 8 kHz machbar, oder sehe ich das falsch ?

Und was mit dem “verarbeiteten” Signal in welcher Zeit gemacht werden soll, ist mir eigentlich auch vollkommen unklar.

Es soll ein ganz einfaches VU-Meter werden.

Ulli

Noch einmal die Frage,
wenn ich mit einem Chinch NF-Signal auf den analogen Eingang gehe so liegt die
Spannung zwischen -600 und 600 mV. Ist dieser negative Anteil für den
Arduino an seinem Wandler schädlich ?
Ich habe im Netz schon einige Schaltungen gesehen wo das einfach so gemacht wurde !

Ulli

beeble2:
Ist dieser negative Anteil für den Arduino an seinem Wandler schädlich ?

Ja, ist schädlich.
Grüße Uwe

Und wie baut man einen simplen Gleichrichter für +- 0.6 V ?
Standard-Dioden haben ja eine Vf in dieser Größenordnung ?
Daran scheitern auch die normalen Spannungsverdoppler-Schaltungen ?

uwefed:

beeble2:
Ist dieser negative Anteil für den Arduino an seinem Wandler schädlich ?

Ja, ist schädlich.
Grüße Uwe

Haben die Eingänge nicht Schutz-Dioden, so dass man "nur" aufpassen muss, dass -- falls sie Spannung kleiner als -0.5V oder größer als Vcc+0.5V ist, keine (hohen) Ströme fliessen ? Statische Stör-Spannungen überlebt ein Arduino doch in der Regel klaglos, oder ?

michael_x:
Und wie baut man einen simplen Gleichrichter für +- 0.6 V ?

Wie gesagt, Schottky- oder Germanium-Dioden haben eine geringe Durchlass-spannung. Aber da fällt immer noch mind. 1/3 ab.

beeble2:
Es soll ein ganz einfaches VU-Meter werden.

Das wird aber so nix.
Es sei denn, du hast nur das Signal einer Pauke auf der Leitung! :slight_smile:

Ich weiß nicht, wie schnell genau der Arduino analogread ist, aber sicherlich zu langsam, um höhere Frequenen zu sehen.

Besser wäre es m.E. eine einfachen Spitzenwertgleichrichter zu nehmen, der den Maximalwert immer nur kurz speichert:

Hier wird der maximale Wert der Spannung kurz gespeichert, den kannst du abfragen und entsprechend weiterverarbeiten. Das ist viel einfacher als eine Wechselspannung (gleichgerichtet oder nicht) abtasten zu wollen.

Die 100 ms ( 10µF * 10k ) Abkling-Zeitkonstante ist schon ok für ein VU-Meter und Arduino analogRead() ist reichlich schnell genug.

... aber, wenn es sich um Spannungen ~ 0.6 V handelt, ist der Spannungsabfall an der 1N4148 deutlich bemerkbar, fürchte ich.

... und dann noch den von volvodani gemachten Vorschlag hier
http://forum.arduino.cc/index.php?topic=176866.msg1312228#msg1312228
einfliessen lassen und ein wenig die Werte der R's angepasst - dann sollte das doch funzen.
Die negative Halbwelle ist bei einem VU-Meter eigentlich auch eher uninteressant, weil überwiegend eh symetrisches Signal.

michael_x:

uwefed:

beeble2:
Ist dieser negative Anteil für den Arduino an seinem Wandler schädlich ?

Ja, ist schädlich.
Grüße Uwe

Haben die Eingänge nicht Schutz-Dioden, so dass man “nur” aufpassen muss, dass – falls sie Spannung kleiner als -0.5V oder größer als Vcc+0.5V ist, keine (hohen) Ströme fliessen ? Statische Stör-Spannungen überlebt ein Arduino doch in der Regel klaglos, oder ?

Sie haben Schutzdioden, die aber durch zuviel Strom zerstört werden. Das Überleben des Eingangs hängt also vom Innenwiderstand (max Strom) der am Eingang angeschlossenen Schaltung ab.
Einem Anfänger erzähle ich aber solche Sachen nicht, da er nicht beurteilen kann, ob eine Spannungsquelle hochohmig genug ist oder nicht.
Wenn das Musiksignal eine vom Arduino getrennte Masse hat, würde ich, wie bereits geschrieben mit einem Spannungsteiler eine 2,5V Spannung erzeugen und die Masse des Musiksignals dranhängen. Den anderen Pol des Audiosignals an den analogen Pin. Um noch eine einfachere Schaltung zu haben einfach die 3,3V als Bezugspunkt statt Spannungsteiler nehmen.

Die von guntherb vorgeschlagene Schaltung hat aber den Vorteil, daß man eine Gleichspannung mißt die bereits geglättet ist und somit nicht mehr den Hochfrequenzteil hat, den mann ansonsten rechnerisch herausfilten muß. Wenn man ein Audiosignal (sagen wir mal das übliche a mit 440Hz) nehmen dann muß ich während der 2,2µS einer Periode öfters messen, damit ich den Maximalwert finde und nicht zufällig einen niedrigeren Wert der Sinussannung messe

Viele Grüße Uwe

… und wer hat hier dieser Tage noch behauptet, das Eingänge generell ‘hoch-ohmig’ sind und es (sinngemäß) keine Geige spielt, welche Spannung da (in welcher Polarität ?!) ansteht ?
Ts ts ts …

Nachtrag:
Die Frage zur Auswahl von R und C zur integration ist dann aber auch eine Frage, wie schnell / häufig ein analoger Eingang abgefragt wird und wie ‘zappelig’ letztendlich die Anzeige sein soll.

michael_x:
... aber, wenn es sich um Spannungen ~ 0.6 V handelt, ist der Spannungsabfall an der 1N4148 deutlich bemerkbar, fürchte ich.

Da hast du recht, das habe ich nicht bedacht!

Dann hilft ein echter Spitzenwertgleichrichter:

Ich bin aber nach wie vor der Meinung, dass das direkte Abtasten eines Audio-signals mit dem Arduino keinen Sinn macht!

Hallo,

ich habe eine ähnliche Funktion 'mal für eines meiner Tonbandgeräte gebaut.
Experimente mit verschiedenen einfachen Gleichrichtungen verliefen enttäuschend (Spannungsabfall an der Diode, Frequenzverlauf). Zum Schluß ist dann eine Schaltung mit 2 OP-Amps daraus geworden. Der Schaltplan ist hier zu finden :

Das Ganze basiert auf der Meßgleichrichter-Schaltung dieser Seite (soweit ich mich erinnere):

Die Werte sind für meine Bedürfnisse etwas angepasst.
Das analoge Signal ist in diesem Fall 0,775 Volt für 0 dB.
Das wird soweit verstärkt, das der analoge Input des Arduino fast voll genutzt werden kann. Evtl. kann man noch eine Zenerdiode gegen zu hohe Spannungen vorsehen.
Die Daten (0 bis 1023) werden dann via Ethernet-Shield an ein Java-Programm auf einem PC weitergereicht. Dieses Java-Programm übernimmt dann die Anzeige und auch die nötige "logarithmierung" der Daten.

Gruß
Christoph

Ahhh, Messgleichrichter. Das kam bei mir in der theoretischen Abschlussprüfung zum Elektroniker dran und ich habe ewig rumgegrübelt was das sein soll. Vorher noch nie davon gehört. Seit dem habe ich irgendwie ne Abneigung gegen die Dinger :slight_smile: