www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS232 per ASK 433Mhz Funk


Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich möchte gerne 2 µC per 433MHz ASK Funk mit dem RS232 Protokoll 
miteinander kommunizieren lassen.

Nun habe ich mir von RS-Componentes diese besagten ASK Funkmodule 
bestellt und erstmal angeschlossen und ausprobiert, am Empfänger kommen 
schon so sehr sehr viele Störungen an, und ich wollte mal Fragen ob das 
schonmal jemand probiert hat, und wie ich diese Störungen umgehen kann 
um trotzdem eine stabile ordentliche Verbindung erreichen zu können?

danke!

MfG
Erich

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erich schrieb:
> stabile ordentliche Verbindung

und

> per 433MHz [...] Funk

widerspricht sich.

Du kannst nur ein fehlertolerantes Protokoll drüberlegen und für den 
Fall, dass zeitweise nichts durchkommt, Vorsorge treffen.

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heißt also RS232 kann ich nicht direkt übermitteln sondern muss es zuvor 
codieren und danach wieder decodieren, seh ich das so richtig ? Oder 
ists per RS232 garnicht zu machen?

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst Deine Nutzdaten irgendwie verpacken, damit Du sie hinterher auf 
Richtigkeit überprüfen kannst, jedenfalls wenn Du sicher sein willst, 
dass Du keine falschen Daten weiter verarbeitest.  Wenn Du auch sicher 
sein willst, dass alle Daten ohne Verlust auf der anderen Seite 
ankommen, musst Du weiteren Aufwand treiben - von Vorwärtskorrektur bis 
zur Sendewiederholung, je nach Anforderung.

Mit RS232 hat das wenig zu tun.  Das ist nur eine Pegel- und 
Leitungsfestlegung für serielle Daten, über das Datenformat und die 
Integrität der Daten sagt RS232 nichts aus.

Schau mal in die Codesammlung hier.  Wenn ich mich richtig erinnere, 
müsste sich dort eine fehlerabgesicherte Übertragung mit den 
RFM12-Modulen befinden.  Ich kenne sie allerdings nicht genauer und kann 
zu den Eigenschaften nichts sagen.

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja die Codesammlung habe ich schon durchgeschaut und diese übertragung 
mit den RFM12 Modulen gefunden, nur hab ich ja diese leider nicht.

Naja dachte deshalb RS232 da das ja gleich im µC integriert ist und es 
das vereinfacht hätte ;)

Das heißt also ich muss einen fehlersicheren code finden, bzw. mit dem 
ich festellen kann wenn ein Fehler aufgetreten ist, um eine Anforderung 
zur Wiederholung der Sendung zu geben, richtig? Welcher Code bietet sich 
hierfür an? hast du da einen Vorschlag ?

Danke

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RS232 ist nicht im µC integriert.  Du verwechselst das mit asynchroner 
serieller Übertragung.  Kein mir bekannter µC liefert RS232-Pegel.

Ich habe vor über 10 Jahren, als 2,4 GHz noch leer war, mal was mit 
serieller Übertragung samt Absicherung gemacht, seither nicht mehr.  Je 
nach Anforderungen lässt sich der Aufwand fast beliebig hoch schrauben. 
Z.B. reicht es zur Übermittlung einer Temperatur aus, durch CRC o.ä. 
abgesicherte Telegramme zu senden; der Verlust eines oder mehrerer 
Telegramme lässt sich verschmerzen, solange nur ab und zu was Richtiges 
durchkommt.  Willst Du dagegen eine Datei übertragen, musst Du quittiern 
und landest schnell bei Fensterprotokollen mit Paketdurchnummerierung 
und allem PiPaPo.  Echtzeit kannst Du grundsätzlich vergessen, denn im 
433-MHz-Band (und Funk generell) darf jeder Dich stören - und sei es nur 
der Wettergott mit seinem Blitz - und Zeiten lassen sich deshalb sowieso 
nicht garantieren.

Wer Funk kennt, nimmt Kabel.

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wohl wahr, ich meinte nur das normale Serielle Protokoll, also zb. 
Startbit 8-bit parity bit - 1-2 Stop bits

Die Pegel sind natürlich nicht richtig, die der µC ausgibt, dazu ja zb. 
der MAX232

Naja es geht drum Text zu übermitteln, zeitkritisch ist das nicht, aber 
es sollte hald auch nichts verloren gehen. Das sollte doch per 433Mhz 
noch funktionieren, soweit ich das beurteilen kann oder doch nicht ?

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur sicheren Übermittlung von Text brauchst Du ein Protokoll, das mit 
Quittierung arbeitet und verlorengegangene Fragmente wiederholen kann. 
Weniger geht nur, wenn Du mit Verlusten von Textteilen leben kannst.

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja nein, mit Verlusten von Textteilen kann ich garnicht leben, kennst 
du ein Protokoll das dies schon so vorsieht ?

Ich weiß, das ist eine andere Welt aber wie ist es bei Handys beim SMS 
empfang, wird vom Server da auch eine wiederholung der Sendung 
angefordert, falls da ein Fehler passiert oder wie?

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht, wie das genau bei Mobiltelefon-SMS abläuft, aber eine 
abgesicherte Übertragung mit Quittierung ist es sicher.  Bei der 
Handy-Sprachübertragung dürfte dagegen eine Wiederholung sinnlos sein 
und eine Vorwärtskorrektur ausreichen.

Bei der Suche nach Protokollen kann ich Dir leider nicht behilflich 
sein, dazu sind meine Erfahrungen zu lange her.

Nachtrag:  Möglicherweise sind die Packet-Radio-Protokolle eine 
Möglichkeit, weitere Informationen zu beziehen.  Ihr Aufwand hält sich 
in Grenzen und eine gesicherte Punkt-zu-Punkt-Verbindung stellen sie 
her.  Schau mal nach AX-25 (WIMRE).

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst mit den Modulen schon arbeiten...

Kläre erst mal, wie lange Du senden darfst (TX ist HIGH, wenn vom UART 
nichts gesendet wird und das 433MHz-Modul wird immer senden.). Welche 
Baudrate können Sender und Empfänger vertragen ?

Dann must Du die Daten etwas ändern. Du kannst nicht Zeichen senden mit 
4 oder 5 gleichen Bits in Folge, da kommt es zu Störungen. Ich mache es 
so, daß ich jedes Bit Nutzdaten in 2 Bit (10 oder 01) Sendedaten 
umwandle (das ist dann nah am Manchester-Code), so daß ich fleißig 
Bitwechsel erzeuge. Dtart- und Stop-Bits stören das auch nicht mehr 
groß.

Dann bildest Du eine Prüfsumme, die Du mit überträgst, um notfalls das 
ganze Telegram zu verwerfen (die Bitfolge 01 oder 10 gibt auch schon 
etwas Schutz vor Fehlern beim Empfang).

Und ich sende am Anfang der Übertragung immer 2-3 typische Zeichen, auf 
die der Empfänger wartet.

Ich schalte den Sender auch immer aus, wenn ich ihn nicht brauche. Da 
muß man nach dem Einschalten eine passende Zeit warten, bis der Sender 
funktioniert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.