PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Funkdatenübertragung geht nicht



Alex20q90
17.05.2005, 18:26
Hallo,

ich habe ein Problem beim Empfangen der Seriellen Daten an meinem Mega32 :



Open "comb.7:2400,8,o,2,INVERTED" For Input As #2

Do 'Beginn der Schleife


Adbit = Inkey(#2)

If Adbit > 0 Then


If Adbit = 128 Then Sound Soundpin , 30 , 300


End If


Loop


Ich benutze die Funkmodule von Aurel OOK AM die es bei Conrad gibt!
Die Module arbeiten beim Einlesen einer Funksteckdosenfernbedienung gut, und ich kann auch damit selber schalten!

Nun wollte ich einfache Ascii-Werte per Seriell übertragen, geht irgendwie nicht!

Als Quelle nutze ich einen ATTiny2313 mit einem Sendemodul! Im Logikanalysator bei 2400,8,O,2 kommen die Daten auch perfekt am Empfänger an! Leider werden sie nicht richtig verarbeitet!

Wer hat ähnliche Probleme?

Grüße
Alex

didi0108
20.05.2005, 18:31
Hallo Alex,

ich kenne das Funkmodul nicht. Meine Frage ist aber, muss hier nicht mit Manchester-Code gearbeitet werden?

mfg.

Dietmar

Alex20q90
20.05.2005, 18:58
Hallo,

also jetzt hab ich wieder zeit zum schreiben (war mit grippe im Bett)

Also die Module sind von Aurel und bei Conrad erhältlich :

TX-SAW 433.92MHz/s-Z-RFM Nr: 190224
RX 433MHz 5V LC AC-RX Nr : 190276

Ich habe testweise das Modul über den code :


Open "comd.1:4800,8,n,1,inverted" For Output As #1

angesteuert. Der Witz ist (und das hab ich erst vorher im Forum gelesen) daß das Modul initialisiert werden will (also eine einfach preamble um den Empfänger aufzuwecken)

Das mach ich jetzt so :


For I = 1 To 5
Print #1 , Chr(170) ;
Next I

Sendet das Modul mehr wie 10mS nicht mehr, kommt am Anfang nur müll raus! Auch wenn die Sendepausen 10mS überschreiten passiert das!

Ich habe durch diesen Code fast keine Datenverluste bekommen!
Das einzigste Problem ist die Reichweite der Module selbst! Aber bei dem Draht wo ich nutz ist das auch kein Wunder! Ne richtige Antenne und gut is !

Grüße
Alex

hacker
21.05.2005, 10:09
wie weit kommste denn ungefähr mit deiner "drahtantenne" ?

Alex20q90
21.05.2005, 15:53
Hi,

also ich hab nen Hof mit 60m zur verfügung, und da klappt es einwandfrei! sogar hinter LKW und Transporter. Hat mich echt gewundert bei dem Billigteil!

Grüße
Alex

RCO
21.05.2005, 16:11
Könntest du zu dem ganzen noch etwas mehr schreiben, denn die Datenübertragung mit solchen Billigmodulen interessiert mich sehr! Wie genau regelst du es,, das am Empfänger nicht nur Mist raus kommt und er "falsche" von "richtigen Daten-Pulsen" unterscheidet. Am Anfang setzt du dafür ja ein Par "Dummy-Daten" ein. Aber wennd er Sender nicht aktiv ist, zappelt der Ausgang des EMpfänger doch vermutlich wie wild rum, oder? Wie genau hast du sender und Empfänger angeschlossen, oder sind die für 5V ausgelegt? Der Sender sendet invertiert, kommen die Daten am Empfänger auch invertiert an?

Wäre dir sehr dankbar, wenn du alles einer wnig näher beschreiben könntest!

hacker
21.05.2005, 16:53
würd mich auch interessieren..kauf mir dann des vllt. auch

Vitis
21.05.2005, 18:48
Hab mit den Dingern auch gearbeitet,

einfach den SAW an den UART hängen und den auf 19200 Baud konfigurieren ... fertig.

Ist für 5V ausgelegt kein Problem.

Nur wie er schon geschrieben hat schwingt das ganze nach 10ms ca. aus und man muß ne Präambel schicken bevor man die "echten" Daten sendet.

Es gibt von Aurel aber auch FM-Module, da passiert das nicht, Datenübertragung 1:1 ohne Präambel und sind auch nicht teurer

Alex20q90
21.05.2005, 21:31
Ja genau so wie es Vitis beschrieben hat gehts!

Aber mit 19200 ?? Bissle arg schnell 9600 mach schon schlapp!

Ich empfele 2400 oder 1200 für diese Dinger! 4800 hab ich auch gestestet, klappt! Nur nicht 9600!!

Grüße
Alex

Vitis
22.05.2005, 10:48
Stimmt, hast recht mit der Geschwindigkeit,

hab mich mit den easy-radio Modulen vertan.


(Asche auf Haupt streu)

hacker
22.05.2005, 17:07
Es gibt von Aurel aber auch FM-Module, da passiert das nicht, Datenübertragung 1:1 ohne Präambel und sind auch nicht teurer

gibts die auch bei conrad?

Vitis
23.05.2005, 07:43
ja,

Empfänger: Best Nr.: 190300

Sender: Best Nr.:190312

Ich hab mit den Dingern durch 2 Stahlbetondecken in den Keller
gesendet, ging super durch

hacker
23.05.2005, 09:27
ahja, dankeschön :)

gruss hacker

BlaueLed
23.05.2005, 19:10
Hi Alex20q90,

könntest du bitte vielleicht nen kompletten code in bascom für den sender und empfänger hier posten ? wäre sehr nett
danke

Alex20q90
26.05.2005, 10:49
Sodale, jetzt hab ich mir mal die Mühe gemacht und es so einfach wie möglich zu machen :

Ich nutze einen Mega32m und die Aurel AM-Funkmodule (die gaanz billigen von C):


$regfile = "m32def.dat" 'AT90S2313
$crystal = 16000000 'Quarz 8MHz


Open "comd.7:2400,8,n,1,inverted" For Output As #1

Do
Print #1 , "Dies ist eine Testaussendung ! "
waitms 5
Loop

end

Am Mega32 sitzt das Sendemodul, und am PC ein Empfangsmodul mit inverter! Da die RS232 bei 0 immer High gibt, wäre das für diese Module nicht geeignet!

Deshalb auch "inverted" und am PC (z.b. Transistor) das Signal wieder von 0 auf High umwandeln.

Dann klapts auch mit der Datenübertragung!

Achja, da die Sendemodule alle auf der tollen Autoschlüsselfrequenz ist, konnte mein Nachbar bei meinen Test nicht per Funk aufsperren! Nutzt man dann den Schlüssel, geht die Alarmanalge runter :-) (ist so, hab das selbe Auto :-( ) Seitdem sperre ich nicht mehr per Funk zu, nur noch auf!

Grüße
Alex

BlaueLed
28.05.2005, 21:29
Hallo Alex20q90,

vielen dank für die Antwort und den Code. ich finde es genial, das das mit den modulen von Conrad funktioniert. Ich hab jetzt nur noch eine kleine Frage: Du gehst mit der TX Leitung vom AVR über einen MAX232 an den Eingang vom Sendemodul ? Vom Empfangsmodul gehste über nen MAX232 + Transistor ( z.B. BC546 ? ) an RX vom PC ? Ist das so richtig ?

gruß Kay

Alex20q90
28.05.2005, 22:14
Hallo,

ja ist so richtig (bzw war) der Transistor soll nur das signal invertieren!

Jetzt mach ich es über nen ATTiny den ich als Transistor zweckendfremde (sieht wichtiger aus )

Jeztzt geht beides (hab sende und empf-modul am laufen)

Dumm ist nur das wenn du z.b. im emulator ein "a" sendest, empfängst du es sofort danacg am schirm!

grüße
Alex