Forum: HF, Funk und Felder GPS-Daten als Audiosignal senden


von Andreas I. (andreas92)


Lesenswert?

Hallo,
Als kleines Projekt habe ich mir vorgenommen, einen Antennentracker für 
FPV-Moodellflug zu bauen. Ich empfange also im Flieger die GPS Daten mit 
z.B. einem UBLOX NEO 6M, der liefert die Daten via UART mit 
beispielsweise 9600 Baudrate.

Die Sender, die das Videosignal der Kameras senden haben meistens noch 
einen freien Eingang für Audio Signale, der in dem Fall unbenutzt wäre. 
Hierüber hatte ich nun vor, die GPS-Daten zu senden. Da ich hiermit noch 
keine Erfahrungen gemacht habe nun zu meiner Frage:
Kann man erstmal allgemein und unabhängig vom Sendermodul sagen, ob die 
Daten über den Audiokanal ganz normal gesendet und am Empfangsgerät 1:1 
ankommen und so aussehen, wie vor dem Senden? Oder müssen die Signale 
irgendwelche Richtlinien einhalten, werden bearbeitet/verzerrt oder 
Ähnliches?
Als Empfangsmodul käme hierbei z.B. der LawMate RX-1260 in Frage, und 
als Sendermodul z.B. der ImmersionRC 5.8GHz 25mW Video Transmitter.
Wäre das damit so einfach realisierbar oder habe ich etwas übersehen und 
es treten sonstige Probleme dabei auf?

Ich würde mich über eure Hilfe freuen.

Mit freundlichen Grüßen
Andreas

von Achim H. (anymouse)


Lesenswert?

Ich vermute, dass für die Audio-Daten nur eine begrenzte Bandbreite zur 
Verfügung steht. Naiv würde ich auf irgendwas mit 20Hz - 20kHz tippen, 
Faktor 2. Besonders DC-Anteile dürften herausgefiltert werden.

Am besten wäre es, wenn man die UART-Daten über eine entsprechende 
Modulation ins Audio-Band überträgt, und anschließend wieder 
demoduliert.

Da kommen mir spontan alte Telefon-Modem-Schaltungen in den Sinn :) Die 
9600 Baud sollten kein Problem darstellen.

: Bearbeitet durch User
von Jay (Gast)


Lesenswert?

Daten über einen Audiokanal zu übertragen macht man schon seit langer 
Zeit. Schau dir mal unter dem Stichwort Modem die alten 
Übertragungstechniken für Daten über Telefonleitungen an, besonders 
Simplex-Übertragungstechniken. Auf der Sendeseite brauchst du kein 
vollständiges Modem (Modulator/Demodulator), sondern einen Modulator. 
Auf der Empfangsseite einen Demodulator.

von Andreas I. (andreas92)


Lesenswert?

Erstmal vielen Dank für eure schnellen Antworten.
Habe mich jetzt mal in dem Bereich versucht einzulesen.
Das ganze sollte also z.B. über eine Frequenzmodulation zu machen sein, 
oder?
Ich erzeuge also bspw. eine 10kHz Trägerfrequenz und die wird abhängig 
von einem NF-Signal moduliert. Im Netz ist das Signal nach dem die 
Trägerfrequenz moduliert wird jedoch eine reine Wechselspannung, 
funktioniert da das UART-Signal überhaupt?
Auf der Seite http://dh2mic.darc.de/afu-kurs/pdffiles/modulation.pdf 
sind ein paar ICs für die Demodulation genannt, im Netz habe ich den 
LA72912V für Modulation/Demodulation gefunden.
Bin ich damit auf dem richtigen Weg oder könnt ihr andere Schaltungen, 
ICs oder Vorgehensweisen empfehlen?
Gruß Andreas

von Achim H. (anymouse)


Lesenswert?

Andreas I. schrieb:
> im Netz habe ich den
> LA72912V für Modulation/Demodulation gefunden.

Die Variante "Video Signal Modulator" ist leider nicht für das 
Audio-Band geeignet, da hier die Trägerfrequenz von 10..12MHz liegt.

Ich würde Dich mal auf folgenden Weg schicken:
http://www.edaboard.com/thread200908.html

von oszi40 (Gast)


Lesenswert?

Lies auch Beitrag "Anfängerhilfe AT-Befehle GSM-Modem"
Eine weitere Frage ist, ob es reicht, ständig Daten zu senden und die 
gestörten wegzuwerfen oder ob eine Rückmeldung nötig ist, damit die 
Sendung nochmals wiederholt wird oder ob aus den Resten 4711%5656:123gty 
der gesendeten Daten noch was brauchbares mittels Prüfzahlen usw. 
rekonstruiert werden kann.

von Michael M. (technikus)


Lesenswert?

Achim Hensel schrieb:
> Am besten wäre es, wenn man die UART-Daten über eine entsprechende
> Modulation ins Audio-Band überträgt, und anschließend wieder
> demoduliert.

Stimmt, vor diesem Problem standen die Funkamateure schon vor 
Jahrzehnten. Sie haben es mit RTTY oder Packet Radio (1200 bit/s) 
gelöst. Das Zauberwort ist AFSK = Audio Frequency Shift Keying. Da 
1k2-Packet Radio in der Spielart APRS immer noch eingesetzt wird, gibt 
es entsprechende Lösungen mit geringem Aufwand. Auf Empfängerseite 
sollte eine PC-Soundkarte reichen, beim Sender nach APRS-Tracker oder 
TNC suchen.

Auch wenn die GPS-Daten primär mit 9600 bit/s kommen braucht man diese 
Datenrate meist nicht kontinuierlich, könnte also durchaus mit den 1200 
bit/s Datenrate hinkommen.

Servus
Michael

von Wolfgang (Gast)


Lesenswert?

Michael M. schrieb:
> Auch wenn die GPS-Daten primär mit 9600 bit/s kommen

Der NMEA Standard für GPS-Daten sieht Datenraten von 4800 Bd vor. Für 
die reine Übertragung der Position reichen z.B. Teile des 
GPRMC-Datensatzes. Den Rest kann man sich dann sparen.

von Andreas I. (andreas92)


Lesenswert?

Michael M. schrieb:
> beim Sender nach APRS-Tracker oder
> TNC suchen.

Habe mich dazu mal umgeschaut und bin auf den IC MX614P gestoßen, der ja 
auch schon hier erwähnt wurde

Achim Hensel schrieb:
> Ich würde Dich mal auf folgenden Weg schicken:
> http://www.edaboard.com/thread200908.html

Die meinen in dem Thread jedoch, dass der IC bei 9600 Baud nicht gut 
funktioniere. Zu den anderen vorgeschlagenen ICs habe ich nicht viel 
gefunden.

Michael M. schrieb:
> Auch wenn die GPS-Daten primär mit 9600 bit/s kommen braucht man diese
> Datenrate meist nicht kontinuierlich, könnte also durchaus mit den 1200
> bit/s Datenrate hinkommen.

Müsste ich dafür auch das GPS Modul auf 1200 Baud reduzieren? Käme dann 
auch vielleicht der MX614P in Frage?
Ihr merkt sicherlich, dass ich noch nicht soviel Ahnung zu dem Thema 
habe und ich bin mit den vielen guten Ratschlägen ein wenig überfordert. 
Wenn die AFSK nun die beste Lösung wäre, würde ich diese am liebsten 
zumindest auf Senderseite mit einem kleinen IC realisiert bekommen, da 
die ganze Sache relativ leicht sein sollte.
Die Demodulation auf Empfängerseite einfach mit einer Soundkarte wäre ja 
schonmal eine gute Umsetzung.

Würde mich über weitere Hilfe sehr freuen.
Gruß

von npn (Gast)


Lesenswert?

Wolfgang schrieb:
> Michael M. schrieb:
>> Auch wenn die GPS-Daten primär mit 9600 bit/s kommen
>
> Der NMEA Standard für GPS-Daten sieht Datenraten von 4800 Bd vor. Für
> die reine Übertragung der Position reichen z.B. Teile des
> GPRMC-Datensatzes. Den Rest kann man sich dann sparen.

Das stimmt zwar, aber man kann die Baudrate bei den meisten 
GPS-Empfängern verändern. Und wenn man sie auf 1200 Baud einstellt, ist 
immer noch reichlich Zeit zur Verfügung. Die Datensätze kommen 
normalerweise einmal pro Sekunde. Und ob dann das sekündliche Datenpaket 
mit 1200 oder 4800 Baud übertragen wird, ist völlig egal.

von Wolfgang (Gast)


Lesenswert?

npn schrieb:
> Und ob dann das sekündliche Datenpaket
> mit 1200 oder 4800 Baud übertragen wird, ist völlig egal.

Das kommt drauf an, was das Modul alles von sich gibt. Wenn die ganzen 
Daten zu empfangbaren und genutzen Satelliten mit übertragen werden, ist 
man bei 1200Bd verloren. Alleine ein typischer RMC Datensatz hat brutto 
etwa 700 Bit, so dass der Kanal damit schon zu mehr als 50% ausgelastet 
wäre.
Wenn die Info reicht und sich die Daten entsprechend filtern lassen, 
würde das also gerade gut reichen, aber auch nur dann.

von Andreas I. (andreas92)


Lesenswert?

So ich bin jetzt nochmal alle Kommentare durchgegangen und habe einige 
Zeit recherchiert. Jetzt wo ich die ganze Thematik verstanden habe ist 
mir die Idee gekommen, die Modulation über einen kleinen Schaltkreis mit 
einem NE555 zu realisieren. Dann bin ich auf zahlreiche Artikel 
gestoßen, wo dies bereits geschildert ist.
http://electronicsproject.org/frequency-shift-keying-fsk-demodulator/
Viele Artikel zeigen immer wieder die selbe Schaltung, jedoch lediglich 
mit einem 150Hz Eingangssignal.
Ein 1200 Baud Eingangssignal ist jedoch erheblich größer. Ist die 
Geschwindigkeit für den NE555 ein Problem, oder würde die Schaltung 
problemlos meinen Zweck erfüllen?
Gruß

von Michael U. (amiga)


Lesenswert?

Ich würde es da mit folgendem Ansatz versuchen:
Baudrate 1200, sonst wird der Rest aufwändig.
FSK mit 2 Frequenzen möglichst weit oben, z.B. 7,5kHz/9,5kHz.
FSK, damit immer Mark oder Space anliegt, sonst ärgert Dich die 
automatische Pegelregelung der TV-Strecke.
Die Frequenzen so hoch, weil der Decoder mehrere Schwingungen braucht, 
bis er reagiert.
Erzeugen kann man das mit einem 555, dem frequenzbestimmenden Widerstand 
mit einem Transistor einen Widerstand parallelschalten, der bekommt an 
die Basis das TX-Signal.
Die genauen Frequenzen sind unkritisch, ob allerdings die 
Frequenzstabilität reicht, ist fraglich.
Sonst das lieber einen Tiny-AVR o.ä. machen lassen und notfalls dem 
einen Quarz gönnen.
Auf der Empfängerseite einen NE567 als Decoder, einfach auf eine der 
beiden Frequenzen abstimmen.
Dahinter dann eben die Pegelanpassung zu RS232 o.ä.

Wenn man die Teile in der Kiste hat, sollte sich an einem Nachmittag 
rausfinden lassen, ob das so tragfähig ist.

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Thomas W. (Gast)


Lesenswert?

Michael U. schrieb:
> Baudrate 1200, sonst wird der Rest aufwändig.
> FSK mit 2 Frequenzen möglichst weit oben, z.B. 7,5kHz/9,5kHz.

Und was spricht gegen die Verwendung von Signalen nach Bell 202 
Standard?
Tausende von Modems für APRS laufen damit.
http://de.wikipedia.org/wiki/Bell_202-Modem

von Michael U. (amiga)


Lesenswert?

Es spricht garnichts dagegen, wenn man diese oder die ICs (speziell der 
Empfänger) verfügbar hat.
Da man für die 1 z.B. nur eine Schwingung zur Verfügung hat, muß 
aufwendiger auswertet werden. Das können die Modem-ICs, wenn man sie 
hat.
Der Materialaufwand dürfte aber an beiden Enden mit den Modem-ICs größer 
sein und ob er ein komplettes Modem einbauen will, bezweifle ich mal.

Mein Vorschlag ging dahin, die Demodulation mit einem NE567 zu machen, 
der braucht aber ein paar Schwingungen zum reagieren.
Andererseits reicht die NF-Bandbreite vermutlich bis 12kHz oder höher 
und ist nicht auf die 300Hz - 3400Hz einer Telefonleitung beschränkt.
Er kann, muß sich aber nicht an irgendwelch FSK-Frequenzen halten, Mark 
und Space sollten nur ein krummes Verhältnis zueiander haben, damit der 
NE567 nicht auf harmonische angespricht.

Gruß aus Berlin
Michael

von Thomas W. (Gast)


Lesenswert?

Michael U. schrieb:
> Da man für die 1 z.B. nur eine Schwingung zur Verfügung hat, muß
> aufwendiger auswertet werden. Das können die Modem-ICs, wenn man sie
> hat.

Das sind doch Lösungen aus dem vorigen Jahrhundert. Seit vielen Jahren 
gibt es µC-Lösungen mit wenigen Bauelementen, die Modulation und 
Demodulation nach Bell 202 direkt machen, z.B. von N4TXI auf einem 
ATmega8.

von Michael U. (amiga)


Lesenswert?

Naja, wenn ich so schaue, was so alles an Lösungen aus dem vorigen 
Jahrhundert so seinen zuverlässigen Dienst macht... ;-)

Das Problem für ihn dürfte doch sein, etwas machbares zu finden.
Wenn ich danach google, finde ich etliche Webseiten mit Codebeispielen, 
Erklärungen usw. usw., aber nichts halbwegs fertiges.

Dieser link wäre z.B. was handliches:
https://sites.google.com/site/wayneholder/attiny-4-5-9-10-assembly-ide-and-programmer/bell-202-1200-baud-demodulator-in-an-attiny10

Selbst da müßte man aber Tiny10 auftreiben oder die Software anpassen...

Ich habe das auch nicht weiter verfolgt, er hätte damit ja doch keine 
fertige Lösung. Da wäre dann die Frage seiner Fertigkeiten auf diesem 
Gebiet bzw. ob er jemanden findet, der ihm das so zusammschmiedet, daß 
er es eben an beiden Enden einfach anstecken kann.

Gruß aus Berlin
Michael

von Thomas W. (Gast)


Lesenswert?

Michael U. schrieb:
> Naja, wenn ich so schaue, was so alles an Lösungen aus dem vorigen
> Jahrhundert so seinen zuverlässigen Dienst macht... ;-)

Der Fortgang der Zeit bedingt nur, dass, wie du schon richtig bemerkt 
hast, etliche Spezial-ICs aus der damaligen Zeit nur noch schwierig oder 
gar nicht mehr zu beschaffen sind, weil Mikrocontroller die Funktion 
übernommen haben.

von Holler (Gast)


Lesenswert?

Thomas W. schrieb:
> weil Mikrocontroller die Funktion
> übernommen haben.

man kann das sicher in einem Microcontroller so hinbasteln, haber ich 
glaube kaum dass damit eine akzeptable Performance (Empfindlichkeit, 
Störsicherheit) rauskommt. In den 90iger Jahren verwendete man für die 
simplen FSK-Verfahren analog-ICs, die komplexeren ab V.22bis (2400 
duplex mit QAM-Modulation) wurden mit maskenprogrammierten DSPs 
realisiert.

Statt Bell 202 würde ich das standardisierte V.23 empfehlen. Dafür gibts 
z.B. in der Bucht noch China-Nachbauten des standard TI-Chips TCM3105. 
Die Performance reicht nicht ganz ans Original heran, aber es 
funktioniert. Das Teil wurde auch lange im Packed Radio eingesetzt, 
Stromlaufpläne gibts überall.

von Andreas I. (andreas92)


Angehängte Dateien:

Lesenswert?

Hallo,
Hatte die letzten Tage wenig Zeit, deshalb melde ich mich jetzt erst.
Habe mir die nötigen Teile bestellt, um einen Modulator wie hier 
http://www.gadgetronicx.com/2013/08/frequecy-shift-keyingfsk-modulator.html 
und einen Demodulator wie hier 
http://www.circuitstoday.com/fsk-demodulator aufzubauen. Habe dann 
Baudrate und die Frequenzen gewählt, wie Michael sie vorgeschlagen hat.

Michael U. schrieb:
> Baudrate 1200, sonst wird der Rest aufwändig.
> FSK mit 2 Frequenzen möglichst weit oben, z.B. 7,5kHz/9,5kHz.

Habe dann erstmal testweise einfach 2 Arduino aufgebaut und diese mit 
1200 Baud kommunizieren lassen. Wenn ich jedoch meinen Modulator und 
Demodulator dazwischen schalte bekomme ich keine richtige Ausgabe hin.
Ich habe mal Beispielbilder des Spannungsverlaufes der Modulation und 
Demodulation angehängt. Die gemessenen Frequenzen der Modulation stimmen 
im groben mit den berechneten übereinander. Für den Widerstand bei dem 
Demodulator der die Free-Running Frequenz bestimmt habe ich dann erstmal 
einen Poti eingesetzt. Dann bekomme ich auch eine Ausgabe bei bestimmten 
Widerständen, jedoch nichts brauchbares. (Als Beispielausgabe: 
"ÿûÔ㻣Í~ùùleâ(õJÇu»uãóó~ûÞVÊkHxÜÿò¿ùö­÷")
Jetzt habt ihr ja auch zahlreiche Vorschläge gemacht, wie man 
insbesondere die Demodulation umsetzen könnte. Z.B. per Software mit 
einem Mikrocontroller oder auch über Modem IC's. Der TCM3105 ist in der 
Tat sehr teuer und bei Alternativen bin ich z.B. auf den CMX469 oder 
FX614 gestoßen.
Bevor ich jetzt jedoch wieder etwas neues kaufe wollte ich gerne wissen, 
ob ihr zu meinem jetzigen Aufbau vielleicht 
Verbesserungs-/Änderungsvorschläge wisst, damit es damit vielleicht auch 
klappen könnte.
Gruß Andreas

von Martin S. (led_martin)


Lesenswert?

Bei Demodulation.jpg sind die steigenden Flanken sehr verschliffen, die 
Fallenden deutlich steiler, wenn das das Signal ist, das zum UART geht, 
ist das so nicht gut, wenn man schon eine Zeitverzögerung drin hat, 
sollte die bei steigender und fallender Flanke etwa gleich sein. 
Versuche es doch mal langsamer, z.B. 300 Baud. Stimmt der Ruhepegel? 
Ruhepegel ist '1' das Startbit ist '0'. Wenn die Übertragungsstrecke 
invertiert, kommt nur Müll am empfangenden System an.

Mit freundlichen Grüßen - Martin

von Andreas I. (andreas92)


Lesenswert?

Hab alles nochmal aufgebaut und nochmal nachgemessen.
Also im Ruhezustand liegt am Ausgang -5V und nicht 5V an. 
Dementsprechend kann ja nur Müll ankommen, oder? Was sind denn die 
einfachsten Möglichkeiten das Signal zu invertieren? Oder ist die beste 
Lösung dafür einfach ein Inverter IC?
Gruß

: Bearbeitet durch User
von Martin S. (led_martin)


Lesenswert?

Ein Inverter wird die -5V nicht mögen, und die +14V auch nicht, der 
Mikrocontroller will das auch nicht, da hast Du hoffentlich einen 
Serienwiderstand drin (4,7k .. 10k), dann begrenzen die 
Eingangs-Schutzdioden die Spannung auf verträgliche Werte, ohne 
kaputtzugehen. Die Invertierung bekommst Du auch ohne zusätzliche 
Bauteile, wenn Du die beiden Eingänge (+ und -) des Komparators 
vertauschst.

Mit freundlichen Grüßen - Martin

von Andreas I. (andreas92)


Angehängte Dateien:

Lesenswert?

Du meinst damit die Eingänge, die ich auf dem angehängten Bild markiert 
habe, oder? Wenn ich die vertausche habe ich das gleiche Ergebnis.
Gruß

von Martin S. (led_martin)


Lesenswert?

Ja, genau die meine ich, wenn Du da das gleiche Ergebnis hast, ist noch 
was
Anderes faul. Der Ruhepegel, den Du im Post vom 18.03.2015 23:41 
beschreibst, ist definitiv falsch, ich würde die Vertauschung der 
Komparator-Eingänge mal drin lassen, und nach weiteren Ursachen 
forschen. Hast Du die kleinere Baudrate mal probiert? Der Arduino gibt 
doch die UART-Pins direkt nach draußen? Oder ist da eine RS232 drauf? 
Der RS232 Treiber invertiert nämlich die Signale, und braucht höhere 
Pegel. Eine '1' auf UART-Seite wird bei RS232 mit -12V dargestellt, die 
'0' mit +12V, -5V bis +5V ist undefiniert.

Mit freundlichen Grüßen - Martin

von Andreas I. (andreas92)


Lesenswert?

Also wenn man die Serielle Ausgabe unabhängig von der Modulation 
betrachtet, erkennt man auf jeden Fall das UART Protokoll. Der 
Spannungspegel schwankt da wie erwartet zwischen 0V und 5V. Weniger als 
1200 Baud gibt der Mikrocontroller nicht her, da es da Hardwareseitige 
probleme bei der runterskalierung geben soll, denn die minimale reelle 
Baudrate, also ohne Skalierung, soll bei 2400 liegen. Das Problem ist 
wohl aber bekannt. Bei eingestellten 300 Baud wird nur Müll übertragen. 
Einen Serienwiderstand hatte ich vergessen, mit ihm komme ich aber auch 
auf kein Ergebnis.
Trotzdem vielen Dank für deine Hilfe soweit, ich schau nochmal den 
Aufbau durch, vielleicht findet sich da ein Fehler.
Gruß Andreas

von Wolfgang (Gast)


Lesenswert?

Andreas I. schrieb:
> Ich habe mal Beispielbilder des Spannungsverlaufes der Modulation und
> Demodulation angehängt.

Die sollen aber nicht die selben Daten vor bzw. nach der 
Übertragungsstrecke zeigen, oder? Und wie sind die Signale skaliert?

Die steigende Flanke hinter dem Demodulator sieht übel aus. Hast du da 
tatsächlich den 710 drin oder einen anderen Komparator?

von Martin S. (led_martin)


Lesenswert?

Was Du zur Baudrateneinstellung sagst, kommt mir sehr komisch vor, bei 
einem ATmega328, mit 20MHz getaktet, kann man bis 305 Baud runter per 
Teiler (12 Bit im Baudrate-Register), sauber einstellen, bei 16MHz sogar 
244 Baud. Was ist da für ein Atmel auf den Arduinos? Macht da die LIB 
irgendwelche Einschränkungen. Vielleicht jittert dein Signal auch zu 
stark, das Verhältnis der Modulationsfrequenzen zur Baudrate ist ja 
nicht so groß. Eventuell sollte man als Modulationsfrequenzen 
ganzzahlige Vielfache der Baudrate verwenden, wird mit dem NE555 
natürlich etwas schwierig, das hinzufummeln. Ich, als 'Assembler-Freak' 
würde auf dem sendenden ATmega Software-UART machen, und gleich das 
modulierte Signal ausgeben, dann kann man die Frequenzen natürlich genau 
passend machen. Bei 16MHz Takt, und 1200 Baud, ist ein Bit immerhin 
13333,333 ... Takte lang, in Assembler eine kleine Ewigkeit.

Edit:
Was mir noch eingefallen ist, der NE555 erzeugt ja keinen symmetrischen 
Rechteck, das Signal ist also nicht gleichspannungsfrei, und das 
Tatverhältnis ändert sich auch mit der Frequenzumtastung der Modulation. 
Vielleicht mag die Übertragungsstrecke, oder der Demodulator, das nicht. 
Vielleicht sollte man den NE555 auf die doppelte Frequenz einstellen, 
und ein Flip-Flop als Frequenzteiler nachschalten, dann hat man ein 
symmetrisches Rechteck-Signal.

Mit freundlichen Grüßen - Martin

: Bearbeitet durch User
von Michael U. (amiga)


Lesenswert?

Hallo,

laß den UART erstmal UART sein. Modulator fest auf auf eine Frequenz 
(Eingang auf GND). Schauen, ob der Demodulator sauber einrastet und 
umschaltet. Dann Eingang auf 5V (die andere Frequenz) und Demodulator 
begutachten.

Problem ist, wie schnell die PLL einrastet, die in Deinen Links 
angegeben Schaltungen dürften mehr als 300Baud kaum hinbekommen.

Gleichspannungsanteil und Tastverhältnis sind ziemlich egal, der 
Demodulator ist sowieso kapazitiv gekoppelt und solange das 
Tastverhältnis nicht zu extrem wird (ich schätze alles zwischen 1:1,5 
macht keine Probleme), kommt die PLL schon klar damit.

Bei 300Baud und rund 1kHz/1,2kHz sind das nur 2-4 Schwingunszüge, mit 
denen die PLL zurechtkommen muß.
Den NE567 hatte ich vorgeschlagen, weil der alles schon drin hat und mit 
einem Einstellregler auf die gewünschte Frequenz eingestellt werden 
kann.

Wenn Du einen 2-Kanal-Oszi hast, hänge einen Kanal an den Eingang des 
Modulators, den andern an den Ausgang des Demodulators, mache einen 
Singelshot und schau Dir die Verzögerung zwischen H/L am Eingang und der 
Pegeländerung am Ausgang an. Dann kannst Du ausrechnen, wielange der 
Demodulator zum Erkennen der Frequnzänderung braucht und die theoretisch 
mögliche Baudrate ausrechnen.

Gruß aus Berlin
Michael

von Andreas I. (andreas92)


Angehängte Dateien:

Lesenswert?

So ich melde mich jetzt auch mal zurück.
Erst einmal Danke für die weitere Hilfe, jetzt ist es geschafft bzw. 
nicht geschafft :) .
Ich hab beim Modulator mal die Funktionen zur Bestimmung der beiden 
Frequenzen beiseite gelassen und einige Zeit mit dem Poti rumprobiert. 
Dann hatte ich irgendwann genau 7200 und 9600Hz eingestellt.

Martin Schlüter schrieb:
> kann man bis 305 Baud runter per
> Teiler

Das habe ich auch gelesen. 305 Baud einstellen geht, jedoch zeigt mir 
der Serial Monitor nur 300 Baud an.
Hab es aber mal gemacht, wie Michael es vorschlug. Bei 1200 Baud war es 
in der Tat so, dass die PLL zu langsam war. Auf 305 Baud hab ich dann 
mal zwei Singleshots gemacht und sie euch angehängt. Die hat die PLL 
geschafft.
Daraus kann ich eine Verzögerung von 1.8ms ablesen. Oben ist der 
Modulator, unten der Demodulator.
Ein Bild mit normalem und ein anderes mit invertiertem Eingang des 
Komparators.
Bei der richtigen Anordnung des Eingangs gibt die PLL zwar das richtige 
Muster wieder, jedoch ist dabei die 0 bei -5V und die 1 bei 0V. Das 
müsste dann doch eigentlich um 5V nach oben verschoben sein für das 
richtige UART Protokoll, oder?
Abgesehen davon funktioniert die Anordnung ja jetzt, bloß nicht auf 1200 
Baud.
Ich überlege gerade nur, ob man das GPS Signal auf 1200 Baud (geringere 
Baudrate gibt es nicht aus) auf einem Mikrocontroller zwischenspeichert 
und dann auf 305 Baud wieder ausgibt an den Sender. Die kann ich am 
Boden mit der Anordnung ja verarbeiten. Dann kann ich mir gleich die 
notwendigen Daten aus dem GPS rausfiltern und nur die paar Zahlen wieder 
ausgeben, die ich auch brauche.
Wenn das so ginge, wäre das einzige nur noch das Problem mit der 
Spannung des ausgegebenen Signals, wie ich oben beschrieben habe, 
vielleicht kann mir dabei jemand noch helfen.
Trotz alldem nochmal vielen Dank für die viele Hilfe.
Gruß Andreas

: Bearbeitet durch User
von Martin S. (led_martin)


Lesenswert?

Also nach Deinen aktuellen Bildern ist die Polarität bei 
Komparator_richtig.jpg tatsächlich richtig, das war bei den früheren 
Bildern nicht klar ersichtlich. Was mir auffällt, und was die 
UART-Datenübertragung nicht mag, ist, daß die Verzögerung sehr 
unsymmetrisch ist, bei der fallenden Flanke ist sie wesentlich größer 
als bei der Steigenden (Polarität vor dem Modulator). 1,8ms sind recht 
viel, da sind 1200 Baud unerreichbar, 300 Baud sind da schon hart an der 
Kante. Wie ich schon geschrieben habe, kommt man, wenn man den 
Mikrokontroller mit weniger als 20MHz taktet sogar auf den Standardwert 
300 Baud.

Wie fit bist Du in der Mikrocontrollerprogrammierung? Bist Du bereit, 
dich da tiefer einzuarbeiten? Wenn, wie Du zuletzt schreibst, der 
Einsatz eines Mikrocontrollers in der Übertragungskette denkbar ist, 
könnte man überlegen, die Modulation, und Demodulation, auf dem 
Mikrokontroller zu machen, da sollte mehr drin sein, als 300 Baud. Schau 
Dir doch mal an, wie man das bei der Datasette des C64 gemacht hat. Da 
könnte man auch verschiedene Modulationsverfahren durchprobieren, und 
sehen, was Deine Audio-Übertragung am besten verdauen kann.

Edit:
Das mit der Spannung ist seltsam, die -5V sind klar, aber warum geht das 
nicht höher bei einer logischen '1'? Habe gerade mal das Datenblatt des 
uA710 angeschaut, Der hat noch einen Anschluß 'Null' (Pin 2 bei 
DIL-Gehäuse), der taucht in dem Schaltplan des Demodulators nicht auf. 
Muß der vielleicht noch angeschlossen werden?


Mit freundlichen Grüßen - Martin

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Der Thread ist mir jetzt zu lang ... wieviele Bytes benötigst du in 
welchem Zeitabstand?

Die Baudrate von Sende- und Empfangsmodul zur jeweiligen Außenwelt muss 
ja nicht die gleiche sein, wie innerhalb der "akustischen" 
Übertragungsstrecke.

Man nimmt also Senderseitig ein Datenpaket am Eingag entgegen, puffert 
es und tickert die Bits dann "in aller Ruhe" als Audiosignal durch die 
Übertragungsstrecke.

Der Empfangsbaustein decodiert das Signal, puffert und checkt bis es 
vollständig ist und sendet es dann mit x-beiebiger Baudrate wieder aus.

Ich würde sowas mit zwei ATTiny (oder Arduino Micro/Nano) und einem 
simplen 2-Frequenz-Verfahren machen (z.B. 3kHz=0 und 5kHz=1, im 
Empfänger in die Begrenzung fahren und auszählen), die Gesamtdatenrate 
bei z.B. 1 Koordinatensatz pro Sekunde keine wahnsinnig hohe Datenrate 
...

Schätzen wir mal grob: Für GPS (Länge, Breite, Höhe) je 5 Byte sind also 
15 Byte, dazu etwas Overhead (Parität, Start, Stopp, Reserve ... 
weitere 5 ... sind also 20 Byte, d.h. 160 Bit. Bei 3000 Perioden pro 
Sekunde sind das 18 Schwingungsperioden pro Bit - sollte machbar sein. 
Zur Not kann man die Audiofrequenzen soweit erhöhen, wie des die 
Übertragungsstrecke hergibt.

: Bearbeitet durch User
von Andreas I. (andreas92)


Lesenswert?

Mit Mikrocontrollern habe ich bereits Erfahrung, das dürfte kein Problem 
sein.
Ich werde das jetzt auf jedenfall auf Softwarebasis versuchen zu 
realisieren.
Da ich noch ein paar ATmega8 rumliegen habe, widme ich mich mal dem 
WhereAVR, wie es ja auch schon vorgeschlagen wurde.

Thomas W. schrieb:
> Das sind doch Lösungen aus dem vorigen Jahrhundert. Seit vielen Jahren
> gibt es µC-Lösungen mit wenigen Bauelementen, die Modulation und
> Demodulation nach Bell 202 direkt machen, z.B. von N4TXI auf einem
> ATmega8.

Dafür gibt es schöne Dokumentationen. Daran werde ich mich jetzt mal 
ausprobieren.
Gruß Andreas

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.