Forum: Mikrocontroller und Digitale Elektronik 433MHz mit AVR


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Robin G. (carotinbombe)


Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Community,

ich brauche euren Rat wegen meinen Projekt. Zurzeit arbeite ich an einen 
Projekt, wo die Temperatur über einen 433MHz Sender zu einem Empfänger 
übertragen werden soll. Als Mikrocontroller nutze ich den 2x ATmega8.

Im Internet habe ich ein einfaches Protokoll für UART gefunden. War am 
Anfang begeistert und habe mir auf Basis dessen eins geschrieben. Leider 
sind Theorie und Praxis zwei verschiedene paar Schuhe. Bei einer BAUD 
von 1200 werden nicht mal in einem Abstand von 5 cm die Daten richtig 
empfangen. Wenn ich TX und RX verbinde klappt es ohne Störung super, 
doch sobald man das über die Module betreibt kommt da Käse raus.Auch 
habe ich nach Libs geschaut, doch die meisten sind nur auf Arduino 
Boards geeignet.

Ich habe im Internet gelesen, das Manchester-Codierung dafür Sinnvoll 
wäre. Im Studium habe ich diese zwar behandelt, aber ich wüsste nicht 
genau wie man das mit einen Mikrocontroller umsetzt.
Soweit wie ich es verstanden habe, müsste ich mein binäres Signal XOR 
mit einen Taktsignal verknüpfen? Wie verknüpft man denn so etwas ? Gibt 
es Anregungen dazu, evtl. Code-Beispiele ?

Wäre nett, wenn Ihr mir helfen könntet :)

: Bearbeitet durch User
von c-hater (Gast)


Bewertung
-4 lesenswert
nicht lesenswert
Robin G. schrieb:

> Ich habe im Internet gelesen, das Manchester-Codierung dafür Sinnvoll
> wäre. Im Studium habe ich diese zwar behandelt, aber ich wüsste nicht
> genau wie man das mit einen Mikrocontroller umsetzt.

Dann wär dein Bafög definitiv verschwendetes Geld (u.a. meines). Das 
Studium hätte dich zumindest in die Lage versetzen sollen, sowas 
triviales ganz schnell alleine herauszufinden...

Schämst du dich nicht wenigstens ein bisschen, das Geld anderer Leute 
sinnlos vergeudet zu haben? Wenn nicht: Du hättest BWL studieren sollen, 
da wärst du richtig gewesen!

von Wolfgang (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Robin G. schrieb:
> Wäre nett, wenn Ihr mir helfen könntet :)

Du kannst sinvoll kein UART-Signal auf einen Sender geben. Der Empfänger 
wird vom Signal überrumpelt, weil er keine Zeit für die Einregelung der 
Verstärkung hat. Dadurch verpasst er ziemlich sicher das erste Startbit 
und synchronisiert dann falsch. Du brauchst eine Präambel.

Es gibt genug Bibliotheken für Funktübertragung

von Christian S. (roehrenvorheizer)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

benutzt Du dafür rein analog arbeitende Funkmodule, deren Signale erst 
konditioniert werden müssen?

Konntest Du mit diesen bereits anderweitig die Signalübertragung 
nachweisen?

MfG

von Robin G. (carotinbombe)


Bewertung
0 lesenswert
nicht lesenswert
c-hater schrieb:
> Robin G. schrieb:
>
>> Ich habe im Internet gelesen, das Manchester-Codierung dafür Sinnvoll
>> wäre. Im Studium habe ich diese zwar behandelt, aber ich wüsste nicht
>> genau wie man das mit einen Mikrocontroller umsetzt.
>
> Dann wär dein Bafög definitiv verschwendetes Geld (u.a. meines). Das
> Studium hätte dich zumindest in die Lage versetzen sollen, sowas
> triviales ganz schnell alleine herauszufinden...
>
> Schämst du dich nicht wenigstens ein bisschen, das Geld anderer Leute
> sinnlos vergeudet zu haben? Wenn nicht: Du hättest BWL studieren sollen,
> da wärst du richtig gewesen!

Davon abgesehen, dass ich Studium kaum Hardwarenahe Programmierung habe, 
gehe nebenbei arbeiten und beziehe nicht mal Bafög.

von Robin G. (carotinbombe)


Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> Hallo,
>
> benutzt Du dafür rein analog arbeitende Funkmodule, deren Signale erst
> konditioniert werden müssen?
>
> Konntest Du mit diesen bereits anderweitig die Signalübertragung
> nachweisen?
>
> MfG

Ich benutze reine 433 MHz Module. Sind normale Steckmodule. Ich glaube 
nicht das die Signale konditioniert sind.

Sind diese hier: 
https://www.amazon.de/Wireless-Sender-Empf%C3%A4nger-Modul-Fernbedienung/dp/B00F6POAEG

Naja ich habe einen UART-USB und habe mit HTerm einfach den Funkraum 
abgehört. Natürlich kam da wie zu erwarten ziemlicher Mist raus, doch 
konnte ich manchmal meinen gesendeten Werte erkennen. Die ganze Reihe 
meiner Daten war manchmal sichtbar und konnte richtig angezeigt werden.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Robin G. schrieb:
> Natürlich kam da wie zu erwarten ziemlicher Mist raus, ...
Dieser "Mist", den du beobachtet hast, ist das Rauschen der Welt, dass 
dein Empfänger über seine Antenne aufgeschnappt hat und mit seinem 
Eigenrauschen vermengt hat.

von derjaeger (Gast)


Bewertung
1 lesenswert
nicht lesenswert
>Schämst du dich nicht wenigstens ein bisschen, das Geld anderer Leute
sinnlos vergeudet zu haben? Wenn nicht: Du hättest BWL studieren sollen,
da wärst du richtig gewesen!



Schlechter Tag heute Kollege?

Beitrag #5637778 wurde von einem Moderator gelöscht.
Beitrag #5637784 wurde von einem Moderator gelöscht.
Beitrag #5637788 wurde von einem Moderator gelöscht.
von Joachim B. (jar)


Bewertung
-4 lesenswert
nicht lesenswert
Wolfgang schrieb:
> Du kannst sinvoll kein UART-Signal auf einen Sender geben

komisch meine erste IR Fernbedienung wurde über UART hinausgeschickt
IRDEO http://pofahl.de/irdeo/

also einer liegt falsch und da IRDEO funktionierte über UART muss deine 
Aussage wohl unzutreffend sein.

Zurück zum TO gerade für Arduino gibt es virtual wire und einen Haufen 
Hardware 433MHz 868MHz RFM12 und den kompatiblen Nachfolger RFM69.
Dann gibt es noch wlan Shields und das Projekt Lora
https://www.lora-wan.de/

auch ESP32 mit Lora in die Arduino IDE integriert.

Robin G. schrieb:
> Im Studium habe ich diese zwar behandelt

also ein Studierter und dann klemmts bei Dinge die schon interessierte 
Schüler umsetzen?

c-hater schrieb:
> Dann wär dein Bafög definitiv verschwendetes Geld (u.a. meines).

Nie dachte ich c-hater mal zuzustimmen, warum outen sich hier angeblich 
immer wieder Studierte, das hätte ich kleinlaut verschwiegen und mich 
als 10-jähriges Mädel vorgestellt.

Beitrag #5637801 wurde von einem Moderator gelöscht.
Beitrag #5637806 wurde von einem Moderator gelöscht.
von Steffen H. (avrsteffen)


Bewertung
1 lesenswert
nicht lesenswert
Hallo Robin,

versuche einfach solch Leute wie c-hater zu ignorieren.

Um auf deine Frage eine Antwort zu geben, hab ich verschiedene 
Forumsbeiträge hier gefunden.
Zum Beispiel hier:
Beitrag "Re: Funkmodule, RS232, manchester code"

oder das hier:
https://www.mikrocontroller.net/articles/Manchester

Am Besten, finde ich jedenfalls, ist der Manchester Code im Artikel zum 
125kHz RFID erklärt. Schau dort mal unter der Softwarebeschreibung-
https://www.mikrocontroller.net/articles/RFID_T%C3%BCrmodul

Gruß Steffen

von Stefan ⛄ F. (stefanus)


Bewertung
2 lesenswert
nicht lesenswert
Die meisten einfachen Funkmodule brauchen eine Menge Zeit, um sich 
einzuschwingen. Meistens mehrere hundert Millisekunden.

Dann ist wichtig, dass die Frequenz des Nutzsignals in dem Bereich 
liegt, den das Modul unterstützt.

Weiterhin ist es bei vielen Modules wichtig, dass das Nutzsignal genau 
so lange auf High Pegel liegt, wie es auf Low Pegel liegt, weil sich 
sonst Koppelkondensatoren bis ans Limit aufladen und dann wird das 
Signal bis zur Unkenntlichkeit verzerrt. Daher zum Beispiel die 
Manchester Codierung.

Viele Empfänger empfangen Rauschen, solange der Sender inaktiv ist oder 
außer Reichweite.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Joachim B. schrieb:
> Wolfgang schrieb:
>> Du kannst sinvoll kein UART-Signal auf einen Sender geben
>
> komisch meine erste IR Fernbedienung wurde über UART hinausgeschickt
> IRDEO http://pofahl.de/irdeo/

Vielleich hätte ich bei meinem Satz ergänzen sollen: "... und erwarten, 
dass die Daten 1:1 beim Empfänger hinten wieder raus kommen."

Natürlich kannst du Dinge, wie Präambel, Gleichspannungsfreiheit und 
dergl. auch mit einem UART hin fummeln, aber es funktioniert nicht, am 
einen Ende Nutzdaten mit HTerm rein zu tippen und am anderen Ende diese 
Daten wieder direkt mit HTerm zu empfangen.

von Christian S. (roehrenvorheizer)


Bewertung
0 lesenswert
nicht lesenswert
"Ich benutze reine 433 MHz Module"

Ja, für Puristen sind diejenigen, die an Reinheit nicht zu überbieten 
sind,  die richtigen, gleich nach komplett selbst aufgebauten 
VHF-Geräten.

Mit diesen Modellen habe ich keine Erfahrung und kann deshalb nur zu 
RFM12, RFM69 und Konsorten raten, da liegt dann alles digital vor.


Du bräuchtest mindestens noch ein Oszilloskop, um den Ausgang des 
Empfängers genauer zu untersuchen. Aber immerhin war das Gesendete 
bereits zu erkennen.

"
sinnlos vergeudet zu haben? Wenn nicht..."
Den wird der Nikolaus zur Rechenschaft ziehen.

MfG

: Bearbeitet durch User
von Christian S. (roehrenvorheizer)


Bewertung
0 lesenswert
nicht lesenswert
Möglicherweise sind die Module nicht gut aufeinander abgeglichen. Wenn 
Du mehrere Paare gekauft hättest, hättest Du vielleicht passende gehabt.

Vertrauenserweckend ist die Beschreibung nicht:

Der Sender Modul Parameter Technologie:
Betriebsspannung: weder im 3V 12V
Arbeitsstrom: ≤ 40mA (12 V) Max, ≤ 9mA (3 V) min
Frequenz Arbeiten: 315MHz-433.92mhz, Motiv Frequenz ist.
Resonanz Modus: Schallwelle Resonanz (Schwert)
Sendeleistung: 25mW (315 mhz bei 12 V)
Modulation Modus: Ask/Ook
Frequenz Auflösung: + 150 kHz (max)
Velocity: ≤ 10Kbps
Codes Selbstklebende-Owned: Negativ
Size: 31 millimeter X20mm X8mm
RX technischen Spezifikationen:
Betriebsspannung: 5. 0VDC + 0. 5v
Arbeitsstrom: ≤ 5. 5mA (5. 0VDC)
Arbeitsprinzip: superregeneration chip Einzelbettgröße Empfang
Art der Arbeit: Ook/ASK
Frequenz Arbeiten: 315MHz-433.92mhz, Motiv Frequenz ist.
Bandbreite: 2 mhz (315 mhz, dass Ergebnis muhend Sensibilität von Test 
bei 3dBm)
Betriebstemperatur: weder im 65 °C + -20 °C 
Empfindlichkeit (Magnesits): - 103DBm (50 ω)
Ausgang signal: TTL signal Übertragung transparent
Empfindlichkeit: excel¨C100dBm (50 Ω)
Übertragung von Velocity :< 9. 6Kbps (bei 315 mhz und - 95dBm)
Size: 18 millimeter X7mm

von Beo Bachta (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> Mit diesen Modellen habe ich keine Erfahrung

... und daher solltest du nicht so laut reden, denn diese
Module in Verbindung mit der bereits im Nebensatz erwähnten
VirtualWire Lib funktionieren ganz hervorragend.

Nur wissen einfach viele Leute nicht damit umzugehen.

Christian S. schrieb:
> Möglicherweise sind die Module nicht gut aufeinander abgeglichen.

Nein.

von Joachim B. (jar)


Bewertung
-1 lesenswert
nicht lesenswert
alle 433 MHz Sender die ich kaufte arbeiten zufriedenstellend, nur die 
billigsten Empfänger taugen nichts, man müsste wenn nicht RFM und Co 
genutzt werden auf Superheterodyne Empfänger ausweichen, bei beiden 
passende Antennen nicht vergessen, weiter kommen Lora Module.

von Gerhard O. (gerhard_)


Bewertung
1 lesenswert
nicht lesenswert
Robin G. schrieb:
> Zurzeit arbeite ich an einen
> Projekt, wo die Temperatur über einen 433MHz Sender zu einem Empfänger
> übertragen werden soll. Als Mikrocontroller nutze ich den 2x ATmega8...

Robin,

falls Du erste Erfahrungen mit einfachen 433Mhz Modulen sammeln willst, 
rate ich Dir folgendes:

Ich setze jetzt voraus, dass Deine Module auf ASK oder OOK Modulation 
beruhen. Diese Empfänger verwenden einen sogenannten Bitslicer der 
zuerst einen Preambel zum festlegen des Datenschwellenwertes benötigt. 
Der Bitslicer ist einfach ein Analog Comparatorder am einen Eingang die 
Rohdaten vom Empfaenger bekommt und am zweiten Eingang eine stark 
gefilterte Version dieser Daten. Wenn nun ein Preamble gesendet wird 
stellt sich der DC Wert am gefilterten Dateneingang auf den Mittelwert 
ein. Wenn jetzt die Daten gesendet werden, werden die Daten mit dem 
Mittelwert verglichen und der Comparator gibt die Daten aus die dann der 
uC weiter verarbeiten kann.

Die Daten werden vom Sender meist als variable Bitlaenge kodiert. Eine 
logische eins hat z.B. zwei Mal die Laenge im Vergleich zu einer eins. 
Oft werden rund 333us als Zeiteinheit verwendet. Eine 1 ist dann 333us 
klang und eine Null rund 670us. Jedes Bit Symbol hat eine Standardlänge 
von 1ms. Man verwendet diese Art der Kodierung als Ersatz von Manchester 
um DC Shifts durch veränderliche Bitfolgen auszugleichen um einfache 
Dekodierer wie Bitslicer verwenden zu können. Durch diese Einfachheit 
und rohe Verarbeitung schleichen sich in der Regel die Fehler ein die Du 
schon beim UART beobachtet hattest. Die Dekodierung erfolgt also am 
besten in Software.

In der Empfänger Firmware wird anstatt des UARTS wegen der zitierten 
Probleme oft ein Timer Interrupt verwendet der die Daten am uC Eingang 
so oft wie möglich sampelt und dann bewertet. Durch sinnvolles 
Vergleichen der Werte stellen sich dann die Einser und Nullen heraus und 
können in einen Puffer aufgezeichnet werden. Da die Bits zeitkodiert 
sind ergeben die längeren Symbole groessere Zahlenwerte als die kurzen. 
Einfacher Test erlaubt dann die 1 und 0 dann zu erkennen.

Nun zum praktischen Teil: Wenn Du zufällig Arduino Bords hast, lade Dir 
eine Wireless Bibliothek herunter die es für diese Funkmodule gibt und 
probier die beigelegten Beispiel aus. Wenn das dann alles funktioniert 
sehe Dir den Source Code der LIBs an um zu sehen wie das im Einzelnen 
gemacht wird. Dadurch kann man auch viel lernen.

Für den Anfang ist das doch ein bisschen kompliziert um das alles selber 
schreiben zu wollen. Durch Experimentieren, Messen kann man auch mit 
einem solchen "Referenz Design" viel lernen. Da brauchst Du Dich nicht 
schämen:-)

https://randomnerdtutorials.com/rf-433mhz-transmitter-receiver-module-with-arduino/

Ich habe das vor ein paar Monaten selber gemacht um schnell eine 
Funktemperatur Übermittlung mit diesen Module auszuprobieren und es hat 
bestens geklappt. In ein paar Minuten hatte ich dann die Sourcen für 
meine Zwecke modifiziert.

Die gezeigten Funkmodule sind nicht gerade die besten und deren 
Reichweite ist begrenzt. Für kurze Entfernungen sind sie aber OK. 
Antennen sind halt wichtig. Die Module von LINX, z.B., sind wesentlich 
zuverlässiger, kosten aber auch mehr.

So! Ich hoffe das hilft Dir weiter.

Gerhard

von Christian S. (roehrenvorheizer)


Bewertung
0 lesenswert
nicht lesenswert
> ... und daher solltest du nicht so laut reden, denn diese
> Module in Verbindung mit der bereits im Nebensatz erwähnten
> VirtualWire Lib funktionieren ganz hervorragend.
>
> Nur wissen einfach viele Leute nicht damit umzugehen.
>
> Christian S. schrieb:
> Möglicherweise sind die Module nicht gut aufeinander abgeglichen.
>
> Nein.



Ich wollte Möglichkeiten aufzeigen, die Meister Robin vielleicht noch 
nicht betrachtet hat. Es scheint so, als könntest Du genau die beiden 
Module, die bei Robin auf dem Tisch liegen direkt beurteilen. Denn von 
genau diesen berichtet er, es gäbe unerwartete Schwierigkeiten.

MfG

von Beo Bachta (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> Denn von
> genau diesen berichtet er, es gäbe unerwartete Schwierigkeiten.

Wenn er irgendeine Art von UART-Übertragung damit erreichen will
dann wird das natürlich nicht funktionieren. Garantiert nicht!

Daher der Hinweis die VirtalWire Lib zu verwenden.

Aber soweit ich jetzt erkennen kann ist er noch lang nicht
da angekommen.

von Beo Bachta (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Christian S. schrieb:
> Vertrauenserweckend ist die Beschreibung nicht:

Das sind Beschreibungen die fünf mal durch die Chinesisch-
Englische Übersetzungs-Mangel gewurschtelt worden sind.

An der prinzipiellen (vernünftigen) Funktionsweise der
Module wie sie der Erfinder kreirt hat ändert das nichts.

von Christian S. (roehrenvorheizer)


Bewertung
0 lesenswert
nicht lesenswert
> An der prinzipiellen (vernünftigen) Funktionsweise der
> Module wie sie der Erfinder kreirt hat ändert das nichts.


Ja, wie gut sie im Sinne des großen kreativen Erfinders funktionieren, 
weiß man aber erst, wenn man mit ihnen bereits etwas gut 
funktionierendes aufbauen konnte.
Ich hätte gerne in der Beschreibung etwas von Quarz, PLL, Genauigkeit 
gelesen und nicht
" dass Ergebnis muhend Sensibilität von Test"


Ich habe immer noch keine da liegen...


sonst würde ich muhend mal eben etwas damit aufbauen, und wenn es nur 
eine Gartenzwergbeleuchtung ist.

mfG

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.