433MHz Empfänger für Arduino & Co: RXB12 vs. XY-MK-5V

In diesem Eintrag möchte ich einige Erfahrungen mit dem Einsatz von zwei verschiedenen 433MHz Empfängern in Mikrocontrollerprojekten teilen.

Lange Zeit habe ich in meinen Bastelprojekten immer den sehr weit verbreiteten XY-MK-5V Empfänger eingesetzt. Dieser bietet sich für die üblichen Projekte um Funksteckdosen und einfache Heimautomatisierungslösungen an. Man findet den Empfänger auch in vielen kommerziellen Produkten wie z.B. in Elro Funksteckdosen. Der XY-MK-5V ist für ein sogenannten OOK (on-off keying) verwendbar. Das heißt der Datenpin ist high, wenn ein 433MHz Träger empfangen wird.
Der Empfänger selbst ist sehr einfach aufgebaut. Es handelt sich im Wesentlichen um einen LC Schwingkreis der an einen LM358 Universal-Operationsverstärker angeschlossen ist. Wird ein Träger empfangen, geht der LM358 in die Sättigung.
Die Einfachheit der Konstruktion hat einen entscheidenden Nachteil. Der Empfänger ist nicht sehr trennscharf und auch durch dielektrische Materialen in der direkten Umgebung beeinflussbar. Montiert man einen XY-MK-5V in der direkten Nähe eines großen Kondensators, so ist der Empfang schnell gestört. Ebenso ist ein Betrieb in der Nähe eines WiFi Senders praktisch unmöglich. Obwohl das WiFi auf 2.4GHz sendet und der Empfänger auf 433MHz abgestimmt ist, koppelt auch bei 20cm Abstand zuviel WiFi Signal ein. Praktisch musste ich diese Erfahrung in meinem Projekt zur Markisensteuerung sammeln. Und auch die Empfangsleistung ist nicht ideal, weil über die Breite viel Rauschen eingefangen wird. Dennoch kann man mit dem XY-MK-5V gute Ergebnisse erzielen, wenn die Umgebung die entsprechenden Randbedingungen erfüllt.

Vor einigen Wochen habe ich dann einen 433MHz Empfänger mit der Bezeichnung RXB12 entdeckt, der auf einem Baustein namens SYN470R basiert. Die elektrischen Anschlüsse sind identisch zum XY-MK-5V; auch dieser Empfänger ist für OOK gedacht. Von der Theorie her sollte der RXB12 deutlich überlegen sein. Da dieser Empfänger für 1.50€ bei ebay zu haben ist, stellt sich auch keine Kostenfrage. Es handelt sich um einen Syperheterodyn-Empfänger mit einer Zwischenfrequenz von 6.75MHz. Die Zwischenfrequenz wird über einen Quarz erzeugt. Damit sind für Frequenzstabilität und Filterung deutlich bessere Ausgangsvoraussetzungen vorhanden als bei dem doch arg einfach aufgebauten XY-MK-5V.
433MHz Receivers
Ein Vergleich auf Datenblatt-Niveau ist schwierig. Für den SYN470R / RXB12 gibt es ein Datenblatt von Synoxo. Für den XY-MK-5V konnte ich bisher nichts außer unbestätigter Claims in Foren finden. Der praktische Vergleich spricht allerdings klar für den RXB12. Ich habe den Empfänger in einige Designs 1:1 eingesetzt. Jedes Mal war der RXB überlegen:

  • Reichweite im Haus: RXB12 keine Probleme – auch nicht vom Keller in den ersten Stock. Bei maximaler Distanz wird die Übertragung mit dem XY-MK-5V unstabil.
  • Empfang direkt neben einem ESP8266 Mikrocontroller (Distanz <10cm) mit gemeinsamer Masse: RXB12 empfängt problemlos Signale eines Senders irgendwo im Haus. Beim XY-MK-5V muss der Sender auf unter 20cm herankommen, damit der Empfang robust ist.
  • Empfang in der direkter Nachbarschaft eines Kondensators in einem Kondensatornetzteil: Der RXB empfängt – der XY-MK-5V ist „taub“.

Fazit: Ich nehme ab jetzt nur noch den RXB12 / SYN470R.

16 Gedanken zu „433MHz Empfänger für Arduino & Co: RXB12 vs. XY-MK-5V

  1. Rudi

    Hallo,
    ich hab bislang auch nur die „grünen“ 433MHz-Sets im Einsatz und ich hab Emfpangsprobeme. Die Sender gehen super über 20m aber der Empfang ist schon nach ein paar Meters kaputt. Mit einem Oszilloskop sieht man auch die ganzen Störsignale und die Problematik, dass der Empfänger nach empfangen eines Signals zunächst als Sender fungiert und vor sich hin schwingt.
    Da scheint der RXB12 eine gute Alternative zu sein.
    Was gibts denn noch für Bezugsmöglichkeiten – ich hab jetzt mal 10 Stck. auf eBay bestellt, aber die kommen aus China und brauchen ein paar Wochen.
    Ich hab schon im Internet geguckt, auch für ein paar Euro mehr würde ich schonmal einen zum Testen kaufen. Aber die scheint es aus Deutschland nirgendwo zu geben?!

    Antworten
  2. Norman

    Hallo,

    aufgrund dessen, dass ich mit dem XY-MK-5V ebenfalls sehr unzufrieden bin, habe ich mir den RXB12 gekauft und analog zum vorherigen Empfänger verdrahtet.
    Jedoch Empfängt der RXB12 nichts.

    Muss man was besonderes beachten?
    Ich benutze Virtualwire mit default Setup:

    vw_setup(2000);
    vw_set_rx_pin(RX_Pin);
    vw_set_tx_pin(TX_Pin);
    vw_set_ptt_pin(PTT_Pin);
    vw_rx_start();

    Muss man was besonderes beachten?
    Im Netz finde ich nicht sehr viele Infos.
    Über einen Tipp wäre ich dir sehr dankbar.

    Gruß
    Norman

    Antworten
    1. ST Beitragsautor

      Hallo Norman,

      Virtual Wire habe ich bisher nicht verwendet. Es würde mich aber wundern, wenn da etwas zu beachten wäre. Die beiden Bausteine sind pinkompatibel und geben auf dem Data Pin ein high aus, wenn ein Träger erkannt wurde. Mehr ist das nicht. Kannst Du per Oszi schauen, ob auf dem Datapin was kommt?

      Gruss Stefan

      Antworten
    1. ST Beitragsautor

      Hallo Henning,
      Ich hatte an einem Empfänger einen Draht angelötet. Mittlerweile habe ich die entsprechende Dose auf RXB12 umgebaut. Der RXB12 ist insbesondere bei Einkopplungen von Störungen besser.

      Gruss Stefan

      Gruss Stefan

      Antworten
  3. Christian Kreuzberger

    Hi! ich habe auch den XY-MK-5V und massive Empfangsprobleme auf Distanzen über 1 Meter.

    Ich hab basierend auf deinen Eintrag ein bisschen weiter im Internet gesucht, und bin dabei auf den RXB8 gekommen, welcher angeblich noch etwas besser ist als der RXB12, und nicht 2 Monate Lieferzeit hat.
    https://www.amazon.de/Sensitivity-Wireless-Control-Receiver-Vorstand/dp/B00EQ1UK68

    Auch auf dieser Seite hier wird der RXB8 als wesentlich besser als der XY-MK-5V beschrieben: https://forum.pimatic.org/topic/487/hardware-tip-433-mhz-receiver-for-pimatic/2

    Ich werde mir den jetzt selbst mal bestellen und berichte dann gerne von meinen Ergebnissen.

    Antworten
  4. Willi

    Hallo,
    ich habe den XY-MK-5V einmal ausprobiert.
    Es gibt bei dem Modul 2 Probleme:
    1. Rauschen
    Die kurzen Rauschimpulse lassen sich per Software leicht herausfiltern
    siehe Beispielsoftware
    Zunächst müßt ihr mit einem Scope die die Anzahl der übertragenen Bits feststellen. Dann die Länge in usec der Nullen (lange Zeit High) und der Einsen (kurze Zeit High).
    2. Antenne
    Wenn ihr eine Antenne anlötet, wird der Eingangskreis eventuell leicht verstimmt, was sich auf die Eingangsempfindlichkeit erheblich auswirkt. Dies läßt sich aber durch nachjustieren des Trimmers leicht beheben.
    Wenn ihr dass alles berücksichtigt, kommt ihr locker 50 Meter (Freifeld) weit und durch ca. drei Hauswände.
    Beim Test im Freifeld ist zu beachten, die Abstimmung hat einen relativ hohen TK, was gerade jetzt im Winter sehr stört.
    Wenn ihr aber einen wirklich guten Empfang haben wollt und bis zu 1000 Meter (Freifeld) weit kommen wollt, dann nehmt den RXB8.
    Ich habe getestet: XY-MK-5V, RXB6, RXB8, RX-SYN480, CS01-0-258EQ, TDA5210
    Grüsse
    Willi
    PS: Ich habe im Mikrocontroller.net zu diesem Thema eine Datei (rxtx433.zip) mit Foto, Schaltplänen und Software hochgeladen.

    Antworten
  5. Homer-S

    Hallo,
    der Beitrag ist zwar schon ein paar Tage alt, aber ich bin recht verzweifelt auf der Suche nach einem Lösungsstrohhalm. Ich habe mir den hier mal gekauft um zu testen, ob ich damit Funksteckdosen steuern kann.
    Zuerst wollte ich es mit Windows und einem Serial Debug Assistenten versuchen, die Signale, die meine Fernbedienung sendet aufzufangen. Leider kam gar nichts.
    Dann habe ich den an meinen Linux Server gesteckt. Da wird er auch erkannt und ist unter ttyUSB0 zu finden.
    Langer Anflug für die Frage, mit welchem (Terminal) Programm hast du deinen Vergleich durchgeführt?
    Gibt es da einen „Horcher, der den CC1101 „abhören“ kann?

    Danke

    – War ein Link auf ein CC1101 USB 433MHz Modul.

    Antworten
    1. ST Beitragsautor

      Hallo Homer,

      den USB Stick kenne ich nicht. Das Ding hat auf nicht wirklich etwas mit den hier genannten Modulen zu tun.
      Die hier beschriebenen Module kannst Du nicht per serieller Schnittstelle / USB ansteuern. Das ist ein sogenanntes On/Off-Keying, was man dediziert über einen Ausgabepin beispielsweise an einem Arduino ansteuern muss. Deshalb kam hier auch kein Terminalprogramm zum Einsatz.

      Gruss Stefan

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert