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
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?
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.
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
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.
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
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
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.
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 .....
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
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.
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
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
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..
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.
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
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.
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.
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.
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
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
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.