RF - Sender/Empfänger

Janiiix3

Aktives Mitglied
28. Sep. 2013
1.333
10
38
Hannover
Sprachen
  1. ANSI C
  2. C#
Guten Abend,

morgen kommen meine RF Module an.
Habt ihr eine Idee wie man diese am besten mit Daten befeuert?
Sprich wie ich meine Daten auf modulieren?

Anpro 4x 433 MHz Empfänger und Funk Sende Modul Superregeneration Wireless Transmitter Modul Einbrecher Alarm Burglar Alarm mit 2 Helical Antenne https://www.amazon.de/dp/B071J2Z3YK/ref=cm_sw_r_cp_api_i_EfhcBbJ7SD5SP
 
Oh mann, du suchst dir aber auch immer Komponenten aus die bestmöglich undokumentiert sind...
Soweit ich gelesen habe sitzt keinerlei Logik dahinter. Sprich du könntest einfach vom RS232 vom Tiny/Mega drauf gehen. Aber Vorsicht, was ich gesehen hatte Maximum 4000 Baud. Erfahrungsgemäß nimmt das je nach Empfangsqualität aber noch stark ab, also nicht zu schnell befeuern.
 
Habe schon auf mehreren Seiten gelesen, das viele mit einer ähnlichen Abwandlung vom RC5 Kode arbeiten. Sprich die Bits eine bestimmte Zeit auf low und high zu halten.

z.B für low: 800us low und 400us high.
z.B für high : 800us high und 400us low.

Wie findet ihr die Idee?
 
Oh mann, du suchst dir aber auch immer Komponenten aus die bestmöglich undokumentiert sind...
Genau...
das viele mit einer ähnlichen Abwandlung vom RC5 Kode arbeiten.
Beim "RC-5" hast Du drei Punkte:
  1. Es existiert ein Telegramm-Protokoll, welches sechs Bit Kommandos (64 Stück) auf fünf Bit Adressen (32 Geräte) übertragen kann (später wurde ein Startbit als zusätzliches Kommandobit verwendet. Außerdem gibt es ein Toggle-Bit.
  2. Die Bits sind biphasisch codiert (Manchester) - das ist wahrscheinlich das, worauf Du hinauswillst.
  3. Der Manchester-Code ist auf eine Trägerfrequenz modulliert.
Zu 1. kannst Du Dir Dein eigenes Protokoll stricken.
3. macht das Modul, nur eben mit 433MHz.

Thomas hat bereits gesagt, daß man theoretisch den UART drüberjagen könnte (das geht ja bei den TSOP-IR-Empfängern auch).

Problematisch ist, daß der Empfänger bei vielen aufeinanderfolgenden Einsen oder Nullen nix zum synchronisieren hat. Beim UART gibts zumindest immer 'ne Flanke vom Stopbit/Idle zum Startbit. das reicht aber nicht unbedingt.
Deswegen werden bei Funkanwendungen (und IR-Anwendungen) die Bits gern Biphasisch codiert.
Sprich die Bits eine bestimmte Zeit auf low und high zu halten.
???
Beim Manchester sind nicht irgendwelche Zeiten entscheidend, sondern die Flanke.

ABER...

433MHz ist doch das ISM-Band, oder? Also wo sich schon zich Anwendungen tummeln, und nebenbei Amateurfunker Hoheitsrechte haben - oder?
Ich meine mich zu erinneren, daß es da diverse Einschränkungen gab - maximale Sendelänge am Stück usw...
(Bei IR-Spielereien jammst Du nur in Deiner eigenen Bude bzw in optischer Reichweite. Mit so'nem Modul jammst Du halt 'ne Kugel um Dich rum)
 
Manchester Kode! Genau den meinte ich.
Das könnte man doch als Grundsatz nehmen oder?
Das mit dem synchronisieren ist natürlich so eine Sache.. Wie macht man das am besten? Ich habe gedacht das ich die Kodes oder Kommandos mehrmals hintereinander sende und davor jeweils ein Startbit. Dieses Startbit hat eine bestimmte Länge. Genau das gleiche mit dem beenden des Kommandos.. Natürlich mit einer anderen Länge.

Das mit dem ISM Band stimmt. Nur habe ich aktuell keine Verwendung für diese Module. Möchte einfach mal ein bisschen damit rum spielen.
 
einfach mal ein bisschen damit rum spielen.
Da würde ich erstmal 'n Taster an den Sender und 'ne LED an den Empfänger klemmen.
Als zweites dann mal zwei AVR via UART darüber koppeln - da beim (TTL-) UART im Idle 'n high anliegt, solltest Du die Pegel zwischen AVR und Funkmodul invertieren lassen.
Danach könnte man sich Gedanken über ein weiteres Protokoll machen - da würde aber bereits eine Aufwand-Nutzen-Abwägung der konkreten Anwendung reinkommen.
Spannend wirds, wenn Du mehrere Empfänger nutzen willst, und erst recht, wenn mehrere Sender-Empfänger-Paare gebildet werden sollen. Oder wenn Du mehrere AVR bidirektional kommunizieren lassen willst (dann muß jeder Sender gleichzeitig lauschen ob tatsächlich zu hören ist, was er sendet, oder ob wer anders dazwischenfunkt - 'ne Multi-Master-Arbitrierung).

Noch was grundsätzliches zum Manchester: der Zweck ist ja die Synchronisierung auf jedem Bit bzw die Erkennung beim Abreißen der Verbindung, möglicherweise auch Störungen.
Es gibt genau zwei mögliche Zeiten zwischen zwei Bit-Flanken. Die Halbe oder die ganze Bit-Dauer. Man könnte also mit 'nem IRQ auf die Flanke reagieren, und die Zeit mit'nem Timer kontrollieren. Mit etwas Hirnschmalz lassen sich sicher Timerüberlaufs- und/oder Compare-Flags ausnutzen, möglicherweise ist es von Vorteil, den Timer im dualSlope zu verwenden. Der Timer wäre dann bei jedem ganzen (als korrekt erkannten) Bit zu synchronisieren.
 
Erst mal wollte ich nur in eine Richtung kommunizieren lassen. Da habe ich mir gedacht, dass jeder Sende eine eindeutige ID hat (ähnlich wie beim CAN).
Sollte die Kommunikation reibungslos klappen, kann man darüber nachdenken, ein Multimaster System aufzubauen (wenn man es denn braucht..).
Vill. statte ich meine Wetterstation mit einem RF Sender aus, so das diese draußen verweilen kann.. Mal schauen.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)