Forum: Mikrocontroller und Digitale Elektronik HM-R433 433Mhz Modul


von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Hallo Leute, ich wollte mich mal in das Thema 433Mhz einarbeiten.

Aktuell habe ich hier ein: HM-R433 Modul: RF FM-Empfänger FSK 433MHz 
-109dBm 2,5-5VDC HOPE MICROELECTRONICS

https://www.ebay.de/itm/195190454635

FSK, weil ich später mal Sensoren auslesen möchte die FSK moduliert 
senden.

Wenn ich das Teil einfach mal an einen UART am PC anschliesse, sehe
ich warsch den Datenstrom den das Teil empfängt?

Ist das einfach Rauschen, was ich da sehe???

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Welle 🧐 S. schrieb:
> Ist das einfach Rauschen, was ich da sehe???

So isses. Im Ausgang liegt ein Komparator, der ohne Signal das Rauschen 
digitalisiert. U.a. ist das die Herausforderung, wenn man einen Dekoder 
dafür programmiert. Der muss Datentelegramm und Unsinn gut voneinander 
trennen.

von Wolfgang (Gast)


Lesenswert?

Welle 🧐 S. schrieb:
> Ist das einfach Rauschen, was ich da sehe???

Klares "vielleicht ja". Könnten auch Daten von jemand anders sein, der 
die Frequenz und eine Modulation benutzt, die dein Empfänger so 
dekodiert.
Gibt es bei dem Modul keinen Squelch?

> https://www.ebay.de/itm/195190454635

Da hat wohl jemand gut zugeschlagen oder habe ich etwas überlesen?
https://www.tme.eu/de/details/hm-r433/rf-module/hope-microelectronics/

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hallo Wolfgang, ja beim Preis hab ich gepennt.

Andere Daten denke ich nicht, sitze im tief im Keller :)

Ja, Squelch ... keine Ahnung wie man den Ansteuern könnte?!
Das Datenblatt ist sehr dünn.

https://www.rcscomponents.com/datasheets/HM-Tferfgerghe.pdf

von Wolfgang (Gast)


Lesenswert?

Welle 🧐 S. schrieb:
> Ja, Squelch ... keine Ahnung wie man den Ansteuern könnte?!

Der hat keine Rauschsperre. Das muss dann die Software erledigen.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Mal weiter gespielt. Ich habe hier einen Sensor liegen, der sendet seine
ID, welche ich sauber mit einem SDR und RTL_433 empfangen kann.

> 7bc364 <

Der RTL_433 Decoder macht folgendes:
1
https://github.com/merbanan/rtl_433/blob/master/src/devices/tpms_renault.c
2
id = b[5] << 16 | b[4] << 8 | b[3]; // little-endian
3
sprintf(id_str, "%06x", id);

Wenn ich 7bc364 Binär darstelle: 01111011 11000011 01100100

Sollte ich diese Bitfolge dann an dem HM-R433 so empfangen können?

: Bearbeitet durch User
von mitlesa (Gast)


Lesenswert?

Es haben sich schon viele Leute eingebildet dass sie einfach mit
diesen Modulen senderseitig auf einen Schalter drücken können
und dieses aktivierte Signal dann genau so beim Empfänger
ankommt. Damit soll man dann "fernsteuern" können. Dass es über-
haupt nicht einfach ist zeigt beispielhaft ein Thread wo jemand
einfach ein serielles Signal per Funk übertragen will:

Beitrag "433Mhz Funkmodule am ATMega8"

Irgendwann sieht man dann doch ein dass es nicht ganz so einfach
gehen kann.
Nur damit hier nicht die Diskussion von vorne los geht ....

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Die Hersteller dieser Sender kennen ja die Problematik und senden 
deswegen am Anfang eines Telegrammes eine sogen. Präambel, die als 
Einleitung dient und im Empfänger erkannt wird und die Dekodierung des 
folgenden Datentelegrammes einleitet. Viele der Hope Module sind daher 
recht einfach zu paaren, weil sie die Dekodierung der Präambel selber 
vornehmen (RFM01/02 z.B.)
Umso komplizierter ist es dann, mit solchen Modulen die Aussendungen 
anderer Produkte zu empfangen, weil man dann alles 'zu Fuß' machen muss 
und damit dem auswertenden MC die ganze Aufgabe aufdrückt.

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Ja, verstanden.

Aber wenn das Empfangssignal stark genug ist, sollte doch die Bitfolge
reproduzierbar sein?

von Wolfgang (Gast)


Lesenswert?

Matthias S. schrieb:
> Die Hersteller dieser Sender kennen ja die Problematik und senden
> deswegen am Anfang eines Telegrammes eine sogen. Präambel, die als
> Einleitung dient und im Empfänger erkannt wird und die Dekodierung des
> folgenden Datentelegrammes einleitet.

Die Präambel hat mit der Dekodierung noch gar nichts zu tun.
Zuerst wird ein Bitmuster gesendet, damit sich der Empfänger einpegeln 
kann. An irgendeiner Stelle in diesem Bitmuster ist der Empfänger dann 
so weit, dass er die Bitwerte richtig erkennt und dann folgt das Muster 
für die Byte-Synchronisation. Erst nach erfolgter Bytesynchronisation 
kann die Software die übertragenen Bytes richtig mitlesen und 
dekodieren.

von Wolfgang (Gast)


Lesenswert?

Welle 🧐 S. schrieb:
> Aber wenn das Empfangssignal stark genug ist, sollte doch die Bitfolge
> reproduzierbar sein?

Erstmal muss sie von dem Rauschen getrennt werden, das vor- und nachher 
empfangen wird. Dazu muss der Anfang des von deinem Sender gesendeten 
Signals erkannt werden.

von Steve van de Grens (roehrmond)


Lesenswert?

Welle 🧐 S. schrieb:
> Aber wenn das Empfangssignal stark genug ist, sollte doch die Bitfolge
> reproduzierbar sein?

Ja, aber nicht gleich vom ersten Bit an (deswegen die Präambel).

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Welle 🧐 S. schrieb:
> Aber wenn das Empfangssignal stark genug ist, sollte doch die Bitfolge
> reproduzierbar sein?

Der Empfänger muss auch noch korrekt 'einrasten', d.h., er muss das 
erste echte Datenbit auch als erstes finden und einordnen. Ansonsten 
verschiebt sich die Dekodierung um ein oder mehrere Bits und ergibt 
völlig verschiedene Ergebnisse. Deswegen ist die o.a. Synchronisierung 
so wichtig.
Das ist schon eine Aufgabe, vor allem bei Empfängern ohne eigene Logik. 
Wenn man weiss, welcher Chip auf dem Hope Modul verbaut ist, sollte man 
sich das Datenblatt dieses Chips zusätzlich zur Beschreibung des Hope 
Moduls suchen.

: Bearbeitet durch User
von Georg M. (g_m)


Lesenswert?

Welle 🧐 S. schrieb:
> Aber wenn das Empfangssignal stark genug ist,

dann verschwindet das Rauschen. Zumindest bei OOK ist es so.

https://rayshobby.net/wordpress/wp-content/uploads/2012/06/rfsniff_signal_example.jpg

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Matthias S. schrieb:
> Wenn man weiss, welcher Chip auf dem Hope Modul verbaut ist, sollte man
> sich das Datenblatt dieses Chips zusätzlich zur Beschreibung des Hope
> Moduls suchen.

Leider Vergossen ;-)

Ich hänge aber nicht an dem Modul! Kennt ihr was passenderes? Vielleicht
sogar mit Squelch via SPI oder so?!

von mitlesa (Gast)


Lesenswert?

Welle 🧐 S. schrieb:
> Vielleicht sogar mit Squelch via SPI oder so?!

Ja, jetzt hat dir jemand mit dem Reizwort "Rauschen" einen
Floh ins Ohr gesetzt. Und jetzt jagst du nach dem Squelch der
alle deine "Rausch"-Probleme lösen soll.

Das wird wieder lustig. Bis wir endlich mal wissen was genau
du eigentlich machen willst. Denn die Aussage hier

Welle 🧐 S. schrieb:
> FSK, weil ich später mal Sensoren auslesen möchte die FSK moduliert
> senden.

ist noch sehr dürftig um dir irgendwelche hilfreichen Tips geben
zu können.    .... mal Sensoren auslesen .... ROFL

von Wolfgang (Gast)


Lesenswert?

Welle 🧐 S. schrieb:
> Vielleicht sogar mit Squelch via SPI oder so?!

Auch dann bleibt es dir nicht erspart, den Empfänger erstmal zu 
synchronisieren und sicher zu stellen, dass der Squelch nicht geöffnet 
hat, weil das Funkthermometer deines Nachbarn gerade die aktuelle 
Temperatur verkündet.

von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Ich habe mal mit einem RTL_SDR + URH das Signal eines Reifensensors 
aufgenommen.

Die Device-ID lässt sich sauber finden. Das war einfach, weil ich die ID 
kannte. Der Sensor schickt wenn man ihn mit 150khz bestrahlt 2 
Datagramme.

Sind die "1n" zur Syncronisation?

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Welle 🧐 S. schrieb:
> Sind die "1n" zur Syncronisation?

Die Einsen sind alle gleich.
Manchester-Kodierte Einsen sind im Basisband einfach ein Rechtecksignal 
(bzw. in FM eine Frequenzumtastung) mit der Bitfrequenz.
Wie soll man darauf synchronisieren?

von Wolfgang (Gast)


Angehängte Dateien:

Lesenswert?

p.s.
Die Synchronisation könnte an der markierten Stelle im Datenstrom 
erfolgen.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Sorry, Noobfrage: was ist der Unterschied zwischen Prämbel und 
Syncronisations Datagramm(n)?

Beitrag #7293174 wurde vom Autor gelöscht.
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Wolfgang schrieb:
> p.s.
> Die Synchronisation könnte an der markierten Stelle im Datenstrom
> erfolgen.

Hallo Wolfgang, so sieht der Teil in HEX (Manchester II) aus ...
1
SDR Manchester Hexstream:
2
fffffffffffffffffffffee [Pause: 238734 samples]
3
fffffffffffffffffffffee [Pause: 2489564 samples]
4
fffffffffffffffffffffeffffffffffffffffffffffffffffffffffff [Pause: 253672 samples]
5
fffffffffffff [Pause: 226210 samples]
6
ffffffffffffc [Pause: 618427 samples]
7
aaaaaaaaaaaaaaaaaaaacaa555555555669a.6a9aa55a6965.5556665a96a6 [Pause: 188019 samples]
8
aaaaaaaaaaaaaaaaaaaacaa555555555669a.6a9aa55a6965.5556665a96a6 [Pause: 2478553 samples]
9
====
10
fffffffffffffffffffffec [Pause: 210628 samples]
11
fffffffffffffffffffffee [Pause: 2496818 samples]
12
fffffffffffffffffffffeffffffffffffffffffffffffffffffffffff8 [Pause: 3483 samples]
13
ffffffffffffc [Pause: 227547 samples]
14
fffffffffffff [Pause: 948475 samples]
15
aaaaaaaaaaaaaaaaaaaacaa555555555669a.6a9aa55a6965.5556665a96a6 [Pause: 187273 samples]
16
aaaaaaaaaaaaaaaaaaaacaa555555555669a.6a9aa55a6965.5556665a96a6 [Pause: 80486 samples]

von Wolfgang (Gast)


Lesenswert?

Welle 🧐 S. schrieb:
> Sorry, Noobfrage: was ist der Unterschied zwischen Prämbel und
> Syncronisations Datagramm(n)?

Präambel ist das Zeugs, was gesendet wird, damit der Empfänger sich 
erstmal auf den sauberen Empfang des Datenstromes einstellen kann, 
Synchronisation ist ein eindeutiges Bitmuster zur Kennzeichnung des 
genauen Anfangs der eigentlichen Daten.

von Uwe D. (monkye)


Lesenswert?

Ich bin zwar nicht Wolfgang, aber vielleicht hilft Dir das trotzdem: 
https://www.elektronik-kompendium.de/sites/net/1406191.htm

Die Präambel dient der Synchronisation.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Uwe D. schrieb:
> Ich bin zwar nicht Wolfgang, aber vielleicht hilft Dir das trotzdem:
> https://www.elektronik-kompendium.de/sites/net/1406191.htm
>
> Die Präambel dient der Synchronisation.

danke Uwe!

von Wolfgang (Gast)


Lesenswert?

Uwe D. schrieb:
> Die Präambel dient der Synchronisation.

Nein, das hängt vom Protokoll ab, wenn man Wikipedia glaubt.
https://de.wikipedia.org/wiki/Datenpr%C3%A4ambel

von Uwe D. (monkye)


Lesenswert?

Wolfgang schrieb:
> Uwe D. schrieb:
>> Die Präambel dient der Synchronisation.
>
> Nein, das hängt vom Protokoll ab, wenn man Wikipedia glaubt.
> https://de.wikipedia.org/wiki/Datenpr%C3%A4ambel

Ja Wolfgang, diese Einschränkung im ersten Anstrich des von Dir 
verlinkten Links hat ja auch einen technischen Hintergrund. Und da geht 
es vor allem um die Ausschaltung von Störungen auf das 
Übertragungsmedium. Und das betrifft zu 100% eine Funkverbindung und zu 
80% Kabelverbindungen - insbesondere wenn viele der Kabel in räumlicher 
Nähe zu Störern liegen. Aber das weißt Du ja alles, also pack‘ Deine 
Goldwaage für Formulierungen weg und hilf ihm.

„in einigen Protokollen dient die Präambel der zeitlichen Abstimmung der 
Kommunizierenden, d. h. zur Synchronisation des Taktes (vgl. Ethernet); 
in diesem Fall besteht die Präambel aus einer fest vereinbarten Folge 
von Bits.“

von Hans (piaggio)


Lesenswert?

Eine direkte Übertragung (modulation/demodulation) eines re232-Signals 
ist normalerweise mit solchen Modulen nicht oder nur sehr schlecht 
möglich.
Weil: RS232 erfordert einen konstanten Ruhepegel. Aber das kann der 
Empfänger nicht (Der Verstärker ist wechselspannungsgekoppelt)

Jeder zufällige Rauschimpuls wird als Startbit interpretiert und die 
Abtastung der weiteren Bits beginnt - Da kommt dann nur Müll heraus.
Das analoge Empfängersignal wird häufig durch einen Komparator 
digitalisiert, der die aktuelle Empfängerspannung mit dem durch ein 
RC-glied gebildetem Durchschnittspegel vergleicht. Die Spannung am 
RC-Glied ändert sich mit Beginn der Aussendung und erreicht erst nach 
Empfang etlicher Bits einen ausreichend konstanten Wert. Bis das 
erreicht ist funktioniert die Decodierung mit dem Komparator 
unzureichend und die Decodierung des ersten Bytes (od. mehrere) ist 
störanfällig.
Was gut funktioniert ist z.B. eine Auswertung von verschieden langen, 
(halbwegs)symmetrischen Impulsen. (-ähnlich den Infrarot FB-Protokollen)
z.B. Präambel (min. 10 Perioden) 0,5ms Hi .... 0,5ms LO
Logisch 1:  1ms HI....1ms LO
Logisch 0:  2ms HI....2ms LO
Das lässt sich gut mit einem µC auswerten und die erzielten Reichweiten 
waren für mich immer OK. (-auch mit billigsten AM-Modulen)
Mit Übertragungsfehlern muss man aber immer rechnen. Eine einfache und 
deutliche Verbesserung erreicht man durch Übertragung von 2 Bytes, wobei 
das zweite Byte invertiert ist. Das kann ein µC einfach kontrollieren.

Symmetrischer manchaster-code ist auch gut geeignet - aber 
komplizierter.

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Hallo Hans, Danke!

Ich ging irgendwie davon aus, dass diese Module ein Signal, was nicht 
gestört
ist/wird und über der Rauschschwelle liegt, sauber demodulieren können.

Sind die Module so viel schlechter als ein billiger SDR?

von Hans (piaggio)


Lesenswert?

Welle 🧐 S. schrieb:
> Hallo Hans, Danke!
>
> Ich ging irgendwie davon aus, dass diese Module ein Signal, was nicht
> gestört
> ist/wird und über der Rauschschwelle liegt, sauber demodulieren können.
>
Das kann es - dafür wurde es gebaut.
Aber wie auch bei dem hochwertigsten Rundfunkempfänger kann man nichts 
senden, was dazu führt dass die Lautsprechermembran dauerhaft und ohne 
Bewegung aus ihrer Mittelstellung ausgelenkt wird und dort bleibt.
Das ist kein Fehler sondern eine Eigenschaft. Nur Wechselspannungen 
können übertragen werden. (symmetrisch um einen Mittelwert)
RS232 verlangt aber einen konstanten Ruhepegel der wegen der hohen 
Verstärkung (mit Rauschen) und durch die folgende Digitalisierung nicht 
erreicht werden kann.

Ich hab aber schon einfache 433MHz Empfänger gesehen, bei denen der 
Komparator asymmetrisch vorgespannt wurde. Dann bleibt das Ruhesignal 
weitgehend ruhig und nur stärkere Signale (od. Störungen) kommen 
manchmal durch.
Das macht die Auswertung etwas einfacher aber die 
Empfängerempfindlichkeit sinkt etwas.
Ich kenne deinen speziellen Empfänger nicht aber dein "Problem" sieht 
genau so aus wie das bei den billigen AM (ASK) Empfängern.
Mit einem Testaufbau und Oszi könnte man die wesentlichen Eigenschaften 
dieses Empfängers ermitteln....

von Hans (piaggio)


Lesenswert?

Über die Problematik der 433MHz Datenübertragung (u. RS232) steht auch 
hier viel richtiges:

https://www.romanblack.com/RF/cheapRFmodules.htm

von Wolfgang (Gast)


Lesenswert?

Hans schrieb:
> Ich kenne deinen speziellen Empfänger nicht aber dein "Problem" sieht
> genau so aus wie das bei den billigen AM (ASK) Empfängern.

Da es ein FM Empfänger ist, ist ASK schonmal ausgeschlossen. Beinhartes 
Rauschen am Ausgang ist bei einem FM-Empfänger Programm, solange kein 
ausreichend starkes Signal empfangen wird.

Welle 🧐 S. schrieb:
> Aktuell habe ich hier ein: HM-R433 Modul: RF FM-Empfänger FSK 433MHz

Manchester Code wurde genau entwickelt, um eine gleichspannungsfreie 
Übertragung und außerdem eine Taktregenerierung zu ermöglichen.

Wenn man die Bits direkt übertragen will, lassen sich ausreichend viele 
Signalwechsel erreichen, indem beim Senden nach z.B. fünf gleichen 
Datenbits ein Füllbit entgegengesetzter Polarität einfügt, dass der 
Empfänger dann wieder entfernt.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Welle 🧐 S. schrieb:
> Sind die Module so viel schlechter als ein billiger SDR?

Das hat mit der Hardware nur wenig zu tun. Der Dreh- und Angelpunkt ist 
die Software und wenn du dir den Quellcode von rtl_433 mal anguckst, 
siehst du, wieviel Arbeit da drin steckt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.