RF - Sender/Empfänger

Dieses Thema im Forum "Software" wurde erstellt von Janiiix3, 25. Mai 2018.

  1. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.230
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Sprachen:
    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
     
  2. TommyB

    TommyB Premium Benutzer

    Registriert seit:
    17. Mai 2010
    Beiträge:
    1.684
    Zustimmungen:
    55
    Punkte für Erfolge:
    48
    Sprachen:
    Assembler, LunaAVR, VB.Net, Python, C#
    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.
     
  3. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.230
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Sprachen:
    C
    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?
     
  4. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.925
    Zustimmungen:
    44
    Punkte für Erfolge:
    48
    Sprachen:
    BascomAVR, Assembler
    Genau...
    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.
    ???
    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)
     
  5. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.230
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Sprachen:
    C
    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.
     
  6. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.925
    Zustimmungen:
    44
    Punkte für Erfolge:
    48
    Sprachen:
    BascomAVR, Assembler
    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.
     
  7. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.230
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Sprachen:
    C
    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

    Unsere immer weiter wachsende Community beschäftigt sich mit Themenbereichen rund um Mikrocontroller- und Kleinstrechnersysteme. Neben den Themen Design von Schaltungen, Layout und Software, beschäftigen wir uns auch mit der herkömmlichen Elektrotechnik.

    Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  • Coffee Time

    Unser makerconnect-Team arbeitet hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und unser eigener makerconnekt-Server regelmäßig gewartet wird. Wir nehmen das Thema Datensicherung und Datenschutz sehr ernst und sind hier sehr aktiv, auch sorgen wir uns darum, dass alles Drumherum stimmt!

    Dir gefällt das Forum und die Arbeit unseres Teams und du möchtest es unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft, unser Team freut sich auch über eine Spende für die Kaffeekasse :-)
    Vielen Dank!
    Dein makerconnect-Team

    Spende uns! (Paypal)
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren und die Seite optimal für dich anzupassen. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden