Forum: Mikrocontroller und Digitale Elektronik AVR an Line In


von Sepp -. (sepp_o)


Lesenswert?

Tag alle zusammen.

Ich will ein mit einem AVR generiertes Audiosignal an den LineIn eines 
10mW Audio-/Videosenders übertragen.
(Beide Geräte werden über den selben 7,4V Akku versorgt.)

Ich verwende einen ATmega32 bei 5V und 16MHz.

Wie kann ich am einfachsten aus 0V/+5V -> +/-0.7V machen wenn beide 
Geräte die selbe Masse haben?

Ich habe schon die Suche hier im Forum und Google verwendet, habe aber 
nichts brauchbares gefunden.

Momentan stehe ich irgendwie auf dem Schlauch.
Kann mir bitte jemand einen Tipp geben wie ich das anpacken kann?

von Gast (Gast)


Lesenswert?

0-5 V per Spannungsteiler auf 0-1.4V und dann per Kondensator weiter.

von Sepp -. (sepp_o)


Lesenswert?

Wird da der Line in nicht übersteuert?

Denn der Kondensator ist ja nur dazu da dass keine Gleichspannung 
durchgeht.
Oder sehe ich dass falsch?
Wenn ich nicht falsch seher kommen trotzdem 0V/1,4V Pulse beim LineIn 
an.

.

Mir kommt da eine Verrückte Idee.
Würde es funktionieren wenn ich die Masse des Senders um 0,7V anhebe?
(Spannungsteiler/OPV-Schaltung die man normalerweise verwendet um U/2 zu 
erzeugen)
Dann müsste es eigentlich mit dem vom Gast erwänten Spannungsteiler 
funktionieren.
Oder habe ich da einen Denkfehler?

von O. D. (odbs)


Lesenswert?

> Wenn ich nicht falsch seher kommen trotzdem 0V/1,4V
> Pulse beim LineIn an.

Nö. Bei (symmetrischen) Wechselspannungssignalen liefert der AVR ja 
einen Gleichspannungsanteil von 2,5V. Nach dem Spannungsteiler werden 
daraus 0,7V.

Der Kondensator lädt sich dann auf den Gleichspannungsanteil von 0,7V 
auf. Das heißt "links" das Beinchen am Spannungsteiler hat 0,7V, 
"rechts" das Beinchen an der Soundkarte 0V. Für Wechselspannung ist der 
Kondensator "durchlässig". Weil die so schnell hin- und herschwankt und 
der Durchschnitt immer 0,7V bleibt, lädt oder entlädt er sich auch 
nicht. Er verschiebt also einfach das Potential um 0,7V nach unten. So, 
als würdest du eine Batterie mit -0,7V in Reihe zu der Soundkarte 
schalten.

Vielleicht wird es so anschaulich.

von O. D. (odbs)


Lesenswert?

Masse verschieben geht, ist aber keine saubere Lösung und aufwendiger 
als die Kondensator-Lösung.

Vergiß nicht, einen Widerstand (ca. 100kOhm) von der "rechten" Seite des 
Kondensators auf Masse zu legen. Dann knackt es nicht so beim Einstecken 
in den Soundkarteneingang.

von Sepp -. (sepp_o)


Lesenswert?

Danke für den Schubs.
Jetzt bin ich von der Leitung heruntergestiegen.
(Man sollte sich eine solche Schaltung doch besser im eingeschwungenen 
Zustand anschauen.)

Ich habe da noch ein paar Fragen.

Es bleibt trotzdem noch die Frage was im Einschaltmoment passiert.
Wird da der LineIn nur heillos übersteuert, oder kann man da etwas durch 
die Überspannung zerstöhren?

Wie schaut es eigentlich mit der zu erwartenden Tonqualität aus?
Wird man abgespielte wav-Samples verstehen können?
Wenn zwischen den abzuspielenden Samples Pausen sind, sollte man da ein 
Signal oberhalb/unterhalb der Hörgrenze ausgeben um zu verdindern dass 
sich der Kondensator entläd?

Noch ein kleiner Hinweis:
Ich will das Ganze nicht an einen PC/Soundblaster hängen.
Den AVR wird wie beim 1. Beitrag erwähnt an einen Audio-/Videosender 
gehängt.
Seine Aufgabe wird das akkustische Übertragen von Informationen mittels 
wav-Sampels sein.

von O. D. (odbs)


Lesenswert?

> Es bleibt trotzdem noch die Frage was im Einschaltmoment passiert.
> Wird da der LineIn nur heillos übersteuert, oder kann man da etwas durch
> die Überspannung zerstöhren?

Der Kondensator muß sich aufladen können. Dazu braucht man auf der 
"Ausgangs-Seite" einen Widerstand nach Masse. Ob du den selbst einbaust 
oder ob schon einer im Eingang des Transmitters verbaut ist, ist dabei 
egal. Es gibt einen "Einschaltknacks", der den Eingang evtl. auch 
übersteuert. Kaputt geht davon aber nichts.

> Wie schaut es eigentlich mit der zu erwartenden Tonqualität aus?
> Wird man abgespielte wav-Samples verstehen können?

Kommt drauf an, was für eine Auflösung/Samplingrate du mit PWM 
hinbekommst. 8 bit und 11kHz wären Telefonqualität.

> Wenn zwischen den abzuspielenden Samples Pausen sind, sollte man da ein
> Signal oberhalb/unterhalb der Hörgrenze ausgeben um zu verdindern dass
> sich der Kondensator entläd?

Im Ruhezustand möchtest du 2,5V am AVR-Ausgang haben. Also eine PWM mit 
50% Tastverhältnis.

Ich bin mir nicht sicher, ob wir nicht aneinander vorbeireden. Du 
möchtest analoge Signale nicht über einen D/A-Wandler, sondern direkt 
über einen Portpin ausgeben, richtig? Also PWM. Da du positive und 
negative Signale ausgeben möchtest, mußt du einen Ruhepegel in der Mitte 
(2,5V) des Aussteuerbereichs haben (0 bis 5V).

Du musst dich damit beschäftigen, wie die Samples in der WAV-Datei 
abgelegt sind. Bei 16 bit in der Regel im Zweierkomplement.

von Sepp -. (sepp_o)


Lesenswert?

Danke für deine Hilfe.

>Kommt drauf an, was für eine Auflösung/Samplingrate du mit PWM
>hinbekommst. 8 bit und 11kHz wären Telefonqualität.
Dass wird schon reichen.
Es soll ja keine Musikübertragung werden, sondern nur über Stöhrungen 
usw. informieren. Und um den erhobenen Zeigefinger zu vermeiden: Die 
Schaltung wird weder im industriellen Bereich, noch in 
sicherheitskritischen Bereichen eingesetzt.

>Ich bin mir nicht sicher, ob wir nicht aneinander vorbeireden.
>Du möchtest analoge Signale nicht über einen D/A-Wandler, sondern direkt
>über einen Portpin ausgeben, richtig? Also PWM. Da du positive und
>negative Signale ausgeben möchtest, mußt du einen Ruhepegel in der Mitte
>(2,5V) des Aussteuerbereichs haben (0 bis 5V).
Wie es eindeutig zu erkennen ist, habe ich im Audio-Bereich absolut 
keine Ahnung. Was ich wissen wollte ist, ob ich in "Ruhestellung" mit 
der PWM- Frequenz außerhalb des hörbahren Bereiches gehen soll um 
diverse Stöhrungen zu vermeiden. (Ich denke da an das durch PWM erzeugte 
Pfeifen bei der Motorregelung.)
Ich war mir nur nicht sicher ob ich mich da wieder in irgend einen 
Unsinn verrannt habe.

>Du musst dich damit beschäftigen, wie die Samples in der WAV-Datei
>abgelegt sind. Bei 16 bit in der Regel im Zweierkomplement.
Danke für die Information.
Aber so weit bin ich noch nicht.
Erst möchte ich es hinbekommen diverse Sinustöne sauber zu übertragen 
bevor ich mich daran mache WAV-Dateien aus der SD-Karte auszulesen.
Ich Zerteile meine Projekte gerne in kleine, übersichtliche Teilbereiche 
um den Überblick nicht zu verlieren.

Die Teilbereiche sind aktuell:
1.: Sinus mit dem AVR mittels Sender Übertragen.
2.: Mittels USART übergebene Audiodaten übertragen
3.: Mittels SD Karte bereitgestellte Audiodaten übertragen
4.: Die auf der SD-Karten vorhandenen Audiodaten Scriptbasierend 
übertragen.

von O. D. (odbs)


Lesenswert?

Du musst mit deiner PWM-Frequenz immer deutlich über dem hörbaren 
Bereich sein! Schließlich möchtest du ja eine gewisse Auflösung bei 
Audiofrequenzen schaffen.

Die Zahlenbeispiele von oben waren nur als Mindestanforderung gedacht, 
ob man die mit einem AVR überhaupt schafft, habe ich nicht geprüft!

von Sumynona (Gast)


Lesenswert?

Samplingfrequenz:

Um ein Digitalsignal (1 Bit) einer bestimmten Bitrate zu übertragen, 
muss die gewählte Übertragungsfrequenz mindestens doppelt so hoch sein.


Um ein mehrstufiges Digitalsignal (8 Bit) einer bestimmten Samplingrate 
zu übertragen, muss die gewählte Übertragungsfrequenz mindestens ... 
256x so hoch sein.
Dh bei 11 KHz muss dein portpin ~2,8 MHz auflösend sein (gottseidank 
kümmert sich die PWM darum)

von A. W. (wiwil)


Lesenswert?

Hallo,

vielleicht hilft dir diese Application note von Atmel, ein bisschen 
analoge Filtertechnik wirst du bei PWM wohl brauchen...

www.atmel.com/dyn/resources/prod_documents/doc1456.pdf

Gruß
WiWil

von Sepp -. (sepp_o)


Lesenswert?

Dass man für den Betrieb eine gewisse Samplingrate benötigt ist mir 
klar.
Meine Frage war ja wie es mit den Pausen ausschaut.
Da das Ganze ja auf Akkubetrieb läuft, möchte ich den Verbrauch so weit 
senken wie es geht.
Desswegen war ja meine Überlegung die PWM-Frequenz so weit zu senken wie 
es sinnvoll möglich ist.
Dass werde ich dann wohl durch Versuche herrausfinden müssen.

@Andreas Wiese
Danke für den Link.
Das PDF werde ich mir einmal gründlich zu Gemüte führen.
(Ich wollte eigentlich den Melodiegerator von Hannes Lux als Vorbild 
nehmen.)

von O. D. (odbs)


Lesenswert?

So viel mehr Stromverbrauch hast du durch die PWM nicht, wenn der 
Prozessortakt nicht durch einen Sleep-Modus abgeschaltet ist. Das Senken 
der Frequenz bringt auch nichts. Wenn, dann ganz abschalten und den 
Prozessor schlafen legen. Das gibt dann einen leichten "Knacks", weil 
sich der Kondensator entladen kann.

von Sepp -. (sepp_o)


Lesenswert?

Danke euch allen für eure Hilfe.
Ihr habt mir sehr geholfen.

mfg Sepp

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.