PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenübertragung über Audiokanal



globe
28.02.2005, 23:01
Nachdem Interesse an meiner Schaltung zu Übermittlung von Daten (max. 300Baud) über den Audiokanal z.b von einem Videosender besteht. Habe ich noch nachträglich eine Skizze von der Schaltung gemacht. Leider nur mit der Hand da mir gerade kein Eagle zur Verfügung steht und es so auch wesentlich schneller geht.

Zunächst mal zum ersten Thema:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=64295#64295


Der dem 2313 vorgeschaltete OP wird als nichtinventierter Verstärker beschaltet. Also so:
http://www.elektronik-kompendium.de/sites/slt/0210151.htm

Mit einer Verstärkung so etwa 20fach. Am besten ein Poti nehmen und probieren. Aber das ist ja nix besonderes mehr.

maw_hn
01.03.2005, 07:16
Hallo globe,

erst Mal find ichs klasse, dass du deine Schaltung hier zur Verfügung stellst. Wenn ichs richtig verstanden hab ist dass ein Sener, oder? Wenn ja, gibts da auch nen Empfänger dazu? Oder ist das ein Sender und Empfänger?

MfG Marco

globe
01.03.2005, 07:36
Guten Morgen.

Ja das ist nur Teil zwischen Controller und Sender. Auf der Empfängerseite wird nur der 2313 mit vorgeschaltetem OP benötigt Der nach dem angegebenen Link beschaltet wird.

Die genaere Erklärung wie es funktioniert findest du in dem ersten Linkt

Ich weis ist leider nicht sehr übersichtlich aber ich bin gerade anderweitig sehr im Streß.

RCO
01.03.2005, 08:15
Die genaere Erklärung wie es funktioniert findest du in dem ersten Linkt

Dazu hätte ich nochmal ne Frage:
Wie genau sieht dein Programm aus, dass das Signal wieder konvertiert. Du musst ja auf der einen Seite sowohl jedes Signal das ankommt erfassen, als auch das ganze noch mit dem Timing einer RS232-Schnittstelle hinkriegen. Wenn ich das richtig verstehe hast du ja so eine Art Software RS232 selber geschrieben, oder?

MFG moritz

globe
01.03.2005, 11:37
Nein hab ich nicht. Es wird senderseitig nur das ganznormale serielle Signal auf die Schaltung gegeben. Es ist nur leider notwendig die Sofware UART zu nehmen da es bei mir mit der Hardware UART nicht geklappt hat nur 300 Baud zu machen.

Hir mal das senderseitige Programm:

$regfile = "at26def.dat"
$crystal = 3686400
Ddrb = &B00001000


Do
Open "comb.1:300,8,n,1" For Output As #1
Print #1 , "HAllo! Es geht!"
Waitms 100
Loop


Auf der Empfängerseite wird nur überprüft ob jetzt eine hohe oder eine niedrige Frequenz anliegt. Und je nach dem wird ein Pin von high auf low umgeschaltet. Das Timing macht also quasi schon der die Schnittstelle des Senders.

Hir mal das Prog des Empfängers


$regfile = "2313def.dat" 'AT90S2313-Deklarationen
$crystal = 8000000 'Quarz: 3.6864 MHz
Config Portd = Output
'Portb = &B00000000





Dim Fr As Integer
Dim Merk As Bit
Dim X As Integer
Dim Temp As Integer


Config Timer1 = Timer , Prescale = 1
On Timer1 Timer_irq
Const Timervorgabe = 60000
Enable Timer1
Enable Interrupts


Do


If Merk <> Pinb.0 Then
Fr = Fr + 1
Merk = Pinb.0
End If

Loop

Timer_irq:

If Fr < 2 Then
Portd.2 = 0
Else
Portd.2 = 1
End If

Fr = 0
Timer1 = Timervorgabe

Return


Das Empfängerseitige könnte man wohl noch deutlich verbessern (Interrupts usw.) woduch sich mit Sicherheit auch noch die Übertragungsgeschwindigkeit erhöhen ließe. Müßte ich eigentlich nemnächst mal probieren.

maw_hn
01.03.2005, 16:50
Hallo ich bins nochmal...

ich glaub ich steh im Moment ein bisschen auf dem Schlauch. Wenn ichs richtig verstanden habe sieht die Empfängerschaltung ungefähr so aus wie im Anhang.
Was ich net versteh ist, wie du das Datensignal wieder demodulierst. Machst du das mit Software?

Sorry wenn ich nerv aber irgendwie blick ich noch net so ganz durch...

MfG Marco

RCO
01.03.2005, 17:35
Ja, das wird mit der Software gemacht.
Wenn ich das richtig sehe, dann wird einfach ine ienr bestimmten Zeiteinheit die Anzahl der Events gezählt, je nachdem wieviele es sind, wird dann eine 0 oder 1 ausgegeben. das heißt, das natürlich noch das fertige empfangene Byte nicht zur Verfügung stehe. Sondern nur das Rs232 signal. Man könnte es natürlich einfach wieder an den Eingang hängen.

Mint Interrupts wäre das ganze sicher eleganter, wie globe auch schon gesagt hat. Vermutlich könnte man damit auch die Datenrate deutlich erhöhen.

@globe, hast du schon mal die Übertragung mit ner Manchestercodierung ausprobiert?

MFG Moritz

globe
02.03.2005, 13:24
Hi Ihr!

Sorry das ich mich erst jetzt melde. War über Nacht bei der Freundin und da ist nix mit Internet...

@ Marco: Kein Problem du nervst doch net. Die Schaltung in deinem Anhang ist genau richtig. Einfach auf nen beliebigen Pin am Controller und das Programm anpassen oder eben einen Interrupt benutzen. Der Controller auf der Emfängerseite erkennt dann eben auf Grud der Frequenz die am Audiokanal anliegt ob eine 0 oder eine 1 gesendet wird und gibt diese dann an
einem anderen Pin wieder aus. Der dann quasi wieder als Schnittstelle dient.


@ RCO: Meinst du jetzt das Siganal wieder direkt an die UART zu hängen des
2313 zu hängen um diese dann weiterauszuwerten? Ich wollte dafür eigentlich
nen 2. Controller nehmen. Damit ich zum Beispiel die Daten von ner GPS Maus wieder mit 4800 Baud in einen PC schicken kann damit siel ein Naviprogramm auswerten kann.
Manchaster Codierung hab ich mir mal angeschaut. Es würde halt die Programmierung von Sender und Empfänger erschwehren.
Würde die Sache dadurch schneller werden? Also 1200 oder sogar 2400 Baud sollten ja eigentlich schon drin sein aber viel mehr wird die Bandbreite nicht zulassen.


Kennt vielleicht noch jemand die guten alten Packet Radio Modems? Wie funktionieren die überhaupt? Die machen ja glaubich auch 2400 Baud.

Gruß Georg


Gruß Georg

RCO
02.03.2005, 16:20
@ Globe:

Es lief halt in diesem Thread:

RS232 per Audio-Funk-Übertragung (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=6801)

so in die Richtung, ich habe es aber bisher noch nicht ausprobiert.

MFG Moritz

globe
03.03.2005, 00:35
@ RCO:

Den Threat hab ich gar net gesehen aber das ist ja fast genau so wie ich es gemacht habe.
Du willst also einfach den NE555 weglassen und direkt den Ausgang des Controllers auf an den Audiokanal hängen und mit Hilfe von Manchester Codierung das Signal übertragen. Man müßte sich mal am Oszi anschaun am Empfängerausgang so abgeht wenn man den Sendereigang auf "high" bzw. auf "low" legt und das auch noch schnell wechselt . Ich befürchte allerdings das das Signal ziehmlich verwischen wird bzw. man sieht erst ab einer recht hohen Frequenz überhaupt was (Kapazitäten).

matzö
12.04.2005, 15:27
Hehe.. so - um nicht über ewig viele Ecken zu gehen poste ich dann doch hier rein. Meine aktuelle Frage ist, ob man das eventuell hörbar ist, wenn man einen Lautsprecher dranklemmen würde. Was ist eigentlich mit Audioeingang des Senders gemeint - kann ich das auf den Mikrofoneingang legen - und wenn ja, wie funzt das dann - sind ja eigentlich zwei Anschlüsse oder ist es ansonsten einfach nur mono, oder geht's gar nedd? :-$

uwegw
12.04.2005, 18:09
hab grad mal das bild im ersten thread gesehn und spontan probiert was bei nen bisschen nachbearbeitung mit irfan view rauskommt...
echt verblüffend wie viel man aus den dunkelen bereichen am unteren rand noch rausholen kann...

MrQu
19.08.2005, 21:59
Hi Ihr, *:-)*

hatte beim lesen gerade eine idee.

Wenn man dauerhaft ein festes Tonsignal am Mic-Eingang einspeist und den sende schalter des Funkgerätes durch einen Digitallen Schalter, mit TTL Pegel am Steuereingang, ersetzt.
Dann habe ich doch quasi eine Digitale version der Übertagung.

Beim Empfänger muß ich dann doch nur einen Bandpass anschliessen und habe dann doch direckt ein digitales signal.

Ich denke bei dieser Lösung müsste ich die höchte und sicherste Übertragungs Rate zu stande bringen. Oder???

Die jetzige Version ist doch eher so eine Art AM übertragung - Modulation der Frequenz.

Die neue Version ist doch eher so wie FM übertragung- Modulation der Impulslänge.


Was meint Ihr???


Gruß MrQu

globe
20.08.2005, 12:04
Hallo MRQu,

Leider wird deine Version nicht so ohne weiteres funktionieren. Hauptproblem ist das der Sender sich ständig neu einschwingen muß und das geht nunmal nicht so schnell wie es eine vernünftige Datenübertragung benötigen würde. Du bräuchtest nicht mal ein Tonsignal senden sondern könntest am Empfänger nur schaun ob ein Signal da ist oder nicht.

Deine Modulationsart wäre weder AM noch FM aber eher AM. Bei AM wird das Signal der Amplitude(Sendeleistung) aufmoduliert. Dein System hingegen würde die Sendeleistung an und aus schalten.

Das oben genannte Verfahren nennt sich FSK-Modulation und es ist egal ob zur Übertragung ein AM oder FM Träger genutzt wird.

Gruß Georg

Furtion
20.09.2005, 16:05
was wird da eigendlich wie versendet?

iBot
01.11.2012, 15:12
Hallo Robotler,
tut mir leid diesen Uralt-Thread nochmal ausgraben zu müssen, aber ich hab womöglich einen Fehler in der Schaltung gefunden.
Um die Kondensatoren C1 und C2 aufladen zu können braucht man noch positives Potential, hab das gelöst in dem ich Pin 2 und Pin 6 verbunden habe.

Wollte das nur mal los werden, da ich mir schon seit einer Ewigkeit über die Schaltung gedanken mache, warum sie nicht hinhaut.
Vlt hilft es ja noch jemand anderem...