Forum: Mikrocontroller und Digitale Elektronik 433Mhz Funkübertragung


von chrisHome (Gast)


Angehängte Dateien:

Lesenswert?

Hallo
Ich möchte meine selbstgebaute Wetterstation mit Funk aufrüsten. Dazu 
verwende ich ein 433Mhz Sender + Empfänger. Die übertragenen Daten sind 
jedoch immer nicht auswertbar. Nach einer Analyse mit meinem 
PC-Osziloskop ist mir folgendes aufgefallen.
Die Daten werden korrekt übertagen, jedoch toggelt der Ausgang des 
Empfängers nach ca. 500ms auf High, wenn keine Daten mehr übertragen 
werden.
Anbei ein Bild. Gelb sind die gesendeten Daten, Blau die Empfangenen. 
Die 500ms LOW- Phase ist sehr gut zu erkennen auf dem blauen Signal.

Gesendet wird mit 1kHz.

Ist das ein normales Verhalten dieses Empfängers oder wo ist mein 
Fehler?

Die verwendeten Funkmodule
https://www.robofun.ch/de/433mhz-rf-linktransmitter-und-receiver-kit.html

von Arduinquäler (Gast)


Lesenswert?

chrisHome schrieb:
> Die übertragenen Daten sind jedoch immer nicht auswertbar.

Womit überträgst du denn?

von oszi40 (Gast)


Lesenswert?

Kenne jetzt nicht Dein Modul. Es könnte z.B. Rauschen sein wenn nix 
gesendet wird od. ein Träger eines anderen Geräts? Mal Empfänger unter 
Abschirmung verstecken ob sich was ändert?

von Joe F. (easylife)


Lesenswert?

Es gab in der vor-Arduino-und-maker-spacko-zeit mal Datenblätter zu 
Bauteilen und Module. Das war oft sehr hilfreich.

von Arduinoquäler (Gast)


Lesenswert?

Joe F. schrieb:
> Das war oft sehr hilfreich.

Es gibt Schaltpläne zu diesen Modulen. Ganz öffentlich
ohne Geheimnisse. Der Rest ist ziemlich selbsterklärend.

von Joe F. (easylife)


Lesenswert?

Arduinoquäler schrieb:
> Es gibt Schaltpläne zu diesen Modulen.

Und? Geht aus dem 'Schaltplan' hervor, ob das Signal invertiert wird, ob 
Sender oder Empfänger einen Sleepmode besitzen, wenn ja, wir verhalten 
sie sich dann? Geht der Ausgang tri-statet?
-> Datenblatt

: Bearbeitet durch User
von Arduinoquäler (Gast)


Lesenswert?

Joe F. schrieb:
> Und? Geht aus dem 'Schaltplan' hervor, ob

Ja. Wenn du keine Schaltpläne lesen/interpretieren kannst
dann rede nicht so altklug daher.

von Joe F. (easylife)


Lesenswert?

Welcher Stromlaufplan denn bitte?
Ich sehe ein Oszi-Screenshot und einen Einkaufs-Link.

: Bearbeitet durch User
von Arduinoquäler (Gast)


Lesenswert?

Joe F. schrieb:
> Ich sehe ein Oszi-Screenshot und einen Einkaufs-Link.

Google kaputt? Browser kaputt?

von Joe F. (easylife)


Lesenswert?

"Guten Tag Herr Doktor, ich bin krank."
"Was fehlt ihnen denn?"
"Google kaputt? Browser kaputt?"

von Arduinoquäler (Gast)


Lesenswert?

Dass du dich so blöd anstellst konnte ich natürlich nicht ahnen.

Selbst hier im Forum gibt es jede Menge Infos darüber, also
muss wohl mehr bei dir kaputt sein.

von Old P. (Gast)


Lesenswert?

Herr Doktor, helfen sie mir!
Aber stellen Sie sich gefälligst nicht blöde an!

Wieviel Hilfe wird er geben?

Old-Papa

von Jobst M. (jobstens-de)


Lesenswert?

Daten vor dem Sender und hinter dem Empfänger jeweils invertieren ...

Edit: Dass das empfangene Signal invertiert zum gesendeten ist, hast Du 
gesehen!?


Gruß

Jobst

: Bearbeitet durch User
von Ludger (Gast)


Lesenswert?

Hallo chrisHome,

ja, damit musst Du leben. Bei diesen einfachst Empfängern kommt
das vor. Die empfangen das Signal, aber dazwischen ist der Pegel
komplett undefiniert, high ,low oder rauschen. Damit muss Dein
Programm klar kommen.....

Ludger

von Info (Gast)


Lesenswert?

Die Module sehen so aus wie "meine": 
Beitrag "Infos zu billigen 433 MHz Funkmodulen (Empfänger)?".
Ich habe aber pro Paar "nur" etwa 2 Euro bezahlt.

Welche Entfernung erreichst du? Mit einem REV-Funksteckdosen-Sender 
komme ich trotz Lambda/4 mit 4 "radials" als groundplane nur etwa 5 m 
weit - die passenden Steckdosen haben deutlich feinere Empfänger.

Der von Arduinoquäler vorgeschlagene Filter der Versorgungsspannung 
scheint einiges gebracht zu haben. Derzeit nur sporadische Störungen.

von Arduinoquäler (Gast)


Lesenswert?

Ludger schrieb:
> ja, damit musst Du leben.

chrisHome hat sich noch gar nicht geäussert auf meine Frage wie
er denn überhautpt überträgt.

Es gab ja schon Leute hier die meinten sie müssten das Sende-
und Empfangsmodul nur an den seriellen (Rx/Tx-) Port eines AVRs
anschliessen und schon könnten sie glücklich werden. Daher
meine Frage .....

von chrisHome (Gast)


Angehängte Dateien:

Lesenswert?

Okey.. da habe ich wohl zu wenig Informationen geliefert.

Sender:
Die Wetterstation wertet die Sensoren mittels Arduino aus. Die Daten 
werden mittels VirtualWire aufbereitet und an das Sendemodul geschickt.

Empfänger:
Das Empfangsmodul demoduliert die Daten, werden auf einem anderen 
Arduino mittels VirtualWire Bibliothek decodiert und zum PC mit RS232 
geschickt.

Wenn Wetterstation und Basistation mittels Kabel verbunden werden, 
klappt alles perfekt ( dh. Temperatur wird auf PC angezeigt).

Mein Problem ist jedoch nicht die Übertragung der Nutzdaten per Funk, 
welche in 99% der Fälle fehlerfrei ist (Distanz ca. 1m). Mein 
Hauptproblem ist warum das das Empfängermodul NACH der Datenübertagung 
sich komisch verhält. -> Siehe Bild im Anhang.

Ich habe somit 'nur' ein Hardware-Problem. Software zusammenspiel 
funktioniert grundsätzlich (Möchte keine Fremde Bibliothek 
umprogrammieren... )

VirtualWire:
https://www.pjrc.com/teensy/td_libs_VirtualWire.html

Schemas der Funkmodule: 
http://www.electrodragon.com/w/RF433_Wireless_TX_%2B_RX_Module_Pair

von chrisHome (Gast)


Lesenswert?

Info schrieb:
> Welche Entfernung erreichst du? Mit einem REV-Funksteckdosen-Sender
> komme ich trotz Lambda/4 mit 4 "radials" als groundplane nur etwa 5 m
> weit - die passenden Steckdosen haben deutlich feinere Empfänger.
>
> Der von Arduinoquäler vorgeschlagene Filter der Versorgungsspannung
> scheint einiges gebracht zu haben. Derzeit nur sporadische Störungen.

Nach manueller KO auswertung 5-10m Luftlinie, leider. Ich nutze auch je 
eine Lamda/4 Antenne aber mit Koax-Kabeln.


Arduinoquäler schrieb:
> Es gibt Schaltpläne zu diesen Modulen. Ganz öffentlich
> ohne Geheimnisse. Der Rest ist ziemlich selbsterklärend.

Das Schema würde für Lowaktiv sprechen, jedoch werden ein Hight-Bit auch 
aus High empfangen. Dann würde die lange Low-Signal das Ende der 
Übertragung signalisiern, bevor das Modul in den Sleep-Modus wechselt?
Dazu konnte ich keine Information finden.

Info schrieb:
> Der von Arduinoquäler vorgeschlagene Filter der Versorgungsspannung
> scheint einiges gebracht zu haben. Derzeit nur sporadische Störungen.

Werde ich ausprobieren.

von Michael U. (amiga)


Lesenswert?

Hallo,

diese Empfänger haben keinen definierten Ruhepegel. Das ist ein 
Pendelaudion mit HF-Vorstufe und einem geschickt beschalteten 2-fach 
OPV.

Ein Pendelaudion kann sich recht gut auf den mittleren Trägerwert 
einstellen, da das aber Grenzen hat, hat man mit dem OPV noch etwas 
nachgeholfen.

Ohne Trägersignal empfnagen diese Empfänger von jeder Störung  über das 
Rauschen bis zu den Signalen der Nachbarn so ziemlich alles und liefern 
am Datenausgang die 0/1-Zustände ab.
Zur Übertragung nutzt man deshalb meist eine Manchester-Kodierung, 
sollte auch bei VirtualWire so sein. Damit ist der Ruhepegel völlig 
egal.

Gruß aus Berlin
Michael

von Jobst M. (jobstens-de)


Lesenswert?

Okay, auf diesem Bild sieht man, dass die Daten offensichtlich doch 
nicht invertiert sind.

Dennoch bleibe ich bei meinem Vorschlag:

Jobst M. schrieb:
> Daten vor dem Sender und hinter dem Empfänger jeweils invertieren ...

Alternativ könnte man auch alle 500ms ein Dummy senden.


Gruß

Jobst

von chrisHome (Gast)


Lesenswert?

Vielen Dank für die Antworten!

Michael U. schrieb:
> Ohne Trägersignal empfnagen diese Empfänger von jeder Störung  über das
> Rauschen bis zu den Signalen der Nachbarn so ziemlich alles und liefern
> am Datenausgang die 0/1-Zustände ab.
> Zur Übertragung nutzt man deshalb meist eine Manchester-Kodierung,
> sollte auch bei VirtualWire so sein. Damit ist der Ruhepegel völlig
> egal.

Wenn das so ist, dann ist die Option von einem anderen Sender/Empfänger 
die Beste. Weil die Empfangsstärke des Signals ist auch eher knapp..

von chrisHome (Gast)


Lesenswert?


von Wolfgang (Gast)


Lesenswert?

chrisHome schrieb:
> Mein Hauptproblem ist warum das das Empfängermodul NACH der
> Datenübertagung sich komisch verhält. -> Siehe Bild im Anhang.

Lass das Modul doch. Eher ist es erstaunlich, dass es sich zwischen 
deinen Übertragungen so ruhig verhält und nicht irgendwelchen, für dich 
uninteressanten, Mist aus dem Äther aufschnappt. Das ist entweder der 
Unempfindlichkeit des Empfängertypes zuzuschreiben, eine Folge der 
Verstärkungsregelung (ACG) oder das Modul verwendet eine Art Squelche, 
der unterhalb eines gewissen HF-Pegels den Ausgang tot schaltet. Die 
Low-Zeit nach dem eigentlichen Datenpaket könnte dann die Zeitkonstante 
davon sein.

von Michael U. (amiga)


Lesenswert?

Hallo,

was ich nicht ganz verstehe. VirtualWire wird ja durchaus von einigen 
Leuten genutzt und funktioniert auch.
Ich habe da mal kurz reingeschaut und es sieht nicht verkehrt aus, was 
da gemacht wird.
Es weir eine 0-1-Folge (36Bit) geschickt um dem Empfänger Zeit zu geben, 
sich auf das Sendersignal einzustellen.
Dann folgt 0xb38 als Magic-Pattern, also die Bitfolge, die den 
Anfangkennzeichnet und damit die Byte-Syncronisation herstellt.
Dann folgt die Länge der Message (4-30 Byte) und 2 Byte Prüfsumme.

Alle Daten nach den Magic-Pattern werden 4-auf-6 Bit codiert und als 
6Bit-Nibble versendet.
Ist bei solchen Funkstrecken nötig, weil man eine Folge von 0x00 oder 
0xff-Bytes vermeiden muß, da geht schnell die Byte-Syncronisation 
verloren.

Seine Empfangsroutine habe ich mir nicht angesehen, da die mir bekannten 
Module alle am Sender H für Sender ein benutzen und die mir bekannten 
Empfänger mit H für Träger da reagieren, passt es alles so.

Das Verhalten zwischen den Datenpaketen ist sowieso egal, der Empfänger 
wartet auf eine 0-1-Folge, die in das Zeitraster passt und dann auf die 
Magic-Pattern, die den Anfang kennzeichnen.
Müll, der dazwischen empfangen wird, wird ohnehin weggeworfen.

Die Reichweite der Module mit den "üblichen" 16cm Draht als Antenne dran 
hängt sowieso vom Umfeld ab. Durch die Altbauwohnung hier komme ich da 
normalerweise immer. Das eine übliche Funksteckdos mal beim ersten 
Drücken nicht schaltet und man nochmal drücken muß, kennt wohl jeder. 
Ist eben Billig-Funk und dafür ausreichend.

Letztlich hängt es ja davon ab, was man mit einer Funkstrecke machen 
will, wie weit es reichen soll, wie sicher es sein muß usw.

Gruß aus Berlin
Michael

von Arduinoquäler (Gast)


Lesenswert?

chrisHome schrieb:
> Mein
> Hauptproblem ist warum das das Empfängermodul NACH der Datenübertagung
> sich komisch verhält.

Die Aussage "komisch verhalten" ist sehr unscharf und bedarf daher
einer Klärung.
Ganz einfach: geht's oder geht's nicht?

Die Reichweite von diesen Modulen muss übrigens deutlich höher
als 5 oder 10m sein. Ein Nutzer berichtete hier im Forum dass
ein (Nach-)Abstimmen des Resonanzkreises des Empfängers eine
deutliche Verbesserung brachte. Allerdings wäre das eigentlich
nur mit zusätzlichen Messmitteln gut erreichbar.

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


Lesenswert?

Vor allem muss der Empfänger frei von Störungen sein. Es hilft, seine 
Versorgung nochmal extra zu sieben (z.B. mit einem LC Filter) und ihn 
soweit wie möglich abzusetzen von Oszillatoren,MC, usw.

Wunder darf man von Pendlern nicht erwarten, sie sind immer auf der 
Kippe. Und sie empfangen durch ihren breitbandigen Eingang eben auch 
alle anderen 433 Mhz Senderchen im Umfeld und müssen deswegen mit 
robuster Software betrieben werden.
Richtige Empfänger benutzen Superhet, wie z.B. den RX3400 oder die Hope 
Chips.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Michael U. schrieb:
> Durch die Altbauwohnung hier komme ich da
> normalerweise immer. Das eine übliche Funksteckdos mal beim ersten
> Drücken nicht schaltet und man nochmal drücken muß, kennt wohl jeder.

nun ja meine Intertechno Rolladenempfänger mit der größten Entfernung 
15m hörten nicht beim ersten Kommando, am besten lief es wenn ich die 
Funke mittig der 15m aufgehangen hatte, aber das sah nicht gut aus, 
jetzt hängt der Sender wieder versteckt, dafür sende ich halt 10x hoch- 
runterfahren, seitdem klappt es immer.

Vielleicht optimiere ich noch für die näheren Empfänger, die müssen ja 
nicht 10x geschaltet werden.

von chrisHome (Gast)


Lesenswert?

So ich hatte erst jetzt Zeit die Ratschläge auszuprobieren. Das Problem 
war die Stromversorgung des Empfängers. Ein 220uF Kondensator parallel 
zu GND/VCC und ich empfange Daten quer durchs Haus!

Vielen Dank für die Unterstützung

--> closed

von Martin (M.) (Gast)


Lesenswert?

Na dann, viel Spaß beim Funken :-)

von Peter Hebel (Gast)


Lesenswert?

Hallo
bin neu hier, keine wirkliche Erfahrung mit Elektronik und benötige eure 
Hilfe.
Habe einen Funkregelverteiler für eine Fußbodenheizung, die auf 433Mhz 
arbeitet. Die Funkthermostate arbeiten richtig, aber der Regelverteiler 
empfängt keine Signale mehr. Läßt sich da noch was reparieren?
MfG

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


Lesenswert?

Peter Hebel schrieb:
> Läßt sich da noch was reparieren?

Reparieren kann man immer - es hängt z.B. davon ab, ob du und wir 
verstehen, worum es geht. Mach einen neuen Thread auf, mach gute Fotos 
von dem Objekt (Platine und so) und dann schauen wir mal, dann sehen wir 
schon.

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.