Forum: Mikrocontroller und Digitale Elektronik Zuverlässige Funkübetragung was ist zu empfehlen?


von Stefan (Gast)


Lesenswert?

Hallo,

Ich bin auf der Suche nach einer Lösung und hoffe ihr habt eine Idee

Ich möchte zwei Atmega Chips miteinander über Funk Verbinden.
Absolute Priorität hat die Zuverlässigkeit übertragungsfehler dürfen 
nicht enstehen.

Die beiden Chips bewegen sich auf ein Gelände der Fläche von 100*100 
Meter je nach Position sind Maximal zwei Wände aus Stein mit einer 
Wandstärke von ca 25cm dazwischen.

Die übetragungsgeschwindigkeit ist vollkommen egal es werden Maximal 4 
Byte pro Minute übetragen.

Was könntet ihr empfehlen?

Ich habe es im 433 Mhz bereich probiert dies funktionierte nicht, es 
waren soviele fehler im empfangssignal das mit fehlerkorrektur nur alle 
10 Minuten ein einwandfreier empfangen möglich war.


Meine überlegung geht in richtung 2,4 Ghz wäre das besser?

von ttl (Gast)


Lesenswert?

wer Funk kennt nimmt Kabel

von Stefan (Gast)


Lesenswert?

Wäre mit auch am liebsten :) leider befindet sich der eine atmega chip 
in ein fahrzeug da ist mit kabel doof :)

von Lukas T. (tapy)


Lesenswert?

Öhm ... Handys. Fertige GSM-Module. Kein Stress mit der 
Fehlerauswertung.

von Georg G. (df2au)


Lesenswert?

2.4GHz geht noch schlechter durch die Wände als 433MHz.
27MHz könnte eine Alternative sein. Aber die Antenne wird größer.

von Stefan (Gast)


Lesenswert?

Die antennengröße ist regaltiv egal platz is genug da


Werde mich dau mal einlesen

von Michael (Gast)


Lesenswert?

Stefan schrieb:
> Was könntet ihr empfehlen?
>
> Ich habe es im 433 Mhz bereich probiert dies funktionierte nicht, es
> waren soviele fehler im empfangssignal das mit fehlerkorrektur nur alle
> 10 Minuten ein einwandfreier empfangen möglich war.

Dann hast du irgendetwas grundlegendes falsch gemacht.
Hattest du eine Antenne dran?
Welche Sendeleistung hast du verwendet?
Welche Empfindlichkeit hatte dein Empfänger?
Betreibst du das ganze in 433Mhz-verseuchter Umgebung?

von seennoob (Gast)


Lesenswert?

Tacho

Die Fragen die du dir stellen solltest sind:
#Kann ich die Sendeleistung erhöhen (zb statt rfm12 ein rfm22b)
#Wie siehts mit der Antenne aus da kann man meistens auch noch ein paar 
dB rausholen. (besseres Layout oder spezielle Antenne usw )
#Anderes Codierungsverfahren

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn die Fehlerrate zu hoch ist: Sende mit Redundanz, so daß die 
Nutzdaten auch bei hoher Fehlerrate rekonstruiert werden können.

http://en.wikipedia.org/wiki/Error-correcting_code

von Stefan (Gast)


Lesenswert?

Naja in den bereich wo das ganze gestet wurde sind viele bluetooth, wlan 
und funkgeräte in einsatz vermutlich sind deswegen die signale so 
schelcht?

von Michael (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Wenn die Fehlerrate zu hoch ist: Sende mit Redundanz, so daß die
> Nutzdaten auch bei hoher Fehlerrate rekonstruiert werden können.

Wahrscheinlich hat der Empfänger sich gar nicht richtig synchronisiert. 
Vier Byte über 100 m heil zu übertragen, ist kein Hexenwerk.
Ganz ohne einen Sender geht es natürlich nicht, aber mit genügend großem 
Hammingabstand der Symbole muß das fast immer gehen.

von Jürgen S. (jurs)


Lesenswert?

Stefan schrieb:
> Die übetragungsgeschwindigkeit ist vollkommen egal es werden Maximal 4
> Byte pro Minute übetragen.
>
> Was könntet ihr empfehlen?

Vier Repeater in der 100x100m Halle verteilen, die das empfangene Signal 
weitersenden. Statt 100m Reichweite genügen dann mit vier Repeatern 
bereits weniger als 50 m Reichweite.

> Ich habe es im 433 Mhz bereich probiert dies funktionierte nicht, es
> waren soviele fehler im empfangssignal das mit fehlerkorrektur nur alle
> 10 Minuten ein einwandfreier empfangen möglich war.

Die Frage ist, WIE Du es probiert hast.

Ich habe im Sommer mal etwas mit billigen ASK/SAW 433MHz-Modulen und 
Regenerativempfänger experimentiert. Einen kleinen Wettersensor für den 
Garten gebaut, der mir Temperatur, Luftfeuchte und die Batteriespannung 
ins Haus zufunken.

Je nachdem wie ich es mache und programmiere, sind mit denselben 
Modulen, demselben Antennendraht, derselben Batteriespannung (3x 1,5 
Volt Mignon) und quasi derselben Schaltung einmal Reichweiten von nicht 
mal 10 Metern möglich. Oder Reichweiten von mindestens 25 Metern, 
wieviel genau habe ich nicht getestet, mein Garten ist nicht länger.

Stichwort: Bitfolgen-Codierung und exaktes Timing der Bits.
Regenerativempfänger laufen in die Sättigung bei zu vielen 
hintereinander gesendeten gleichen Bits.

So programmiert man die geringe Reichweite mit einem 433MHz 
ASK/SAW-Modul:
- Funkmodul über die serielle Schnittstelle ansteuern und die Bits 
rausjagen

So programmiert man die hohe Reichweite mit einem 433MHz ASK/SAW-Modul:
- Funkmodul gezielt ansteuern
 + "Trainingsbits" für 0-Bits und 1-Bits zum Sendungsstart senden
 + CRC-Prüfsumme der Nutzdaten ermitteln und an die Nutzdaten dranhängen
 + Nutzdaten plus CRC einer speziellen Bitfolgen-Codierung unterziehen
   (so dass maximal drei gleiche Bits in Folge im Datenstrom auftreten)

Und den Empfänger natürlich genauso programmiert, dass er
+ anhand der Trainingsbits die genaue 0-Bit und 1-Bit Länge lernt
+ den Datenstrom wieder rückwärts in Nutzdaten und CRC decodiert
+ die Nutzdaten und CRC-Summe gegeneinander prüfen

Hintergrund: Die ganz billigen 433MHz Regenerativempfänger laufen in die 
Sättigung, wenn sie zu viele identische Bits nacheinander empfangen. 
Dreimal 1-Bits ist noch OK, beim vierten 1-Bit regelt der Empfänger 
seine Empfindlichkeit herunter, beim fünften 1-Bit in Folge wird es 
kritisch, beim sechsten bricht der Empfang zusammen.

Also: Entweder relativ teure Sender/Empfänger "mit eingebautem 
Sendeprotokoll" verwenden. Oder die ganz billigen ASK/SAW Module 
verwenden, aber dann mit einem eigenen Sendeprotokoll senden.

Was hast Du denn zum Testen als Sender und Empfänger verwendet?
Billigste ASK/SAW Sendemodule mit einfachem Regenerativempfänger?
Oder irgendwas teureres mit eingebautem Sendeprotokoll?

> Meine überlegung geht in richtung 2,4 Ghz wäre das besser?

Grobe Faustformel:
Je größer die Sendefrequenz, desto geringer die Reichweite (bei gleicher 
Sendeleistung).

von Kurt (Gast)


Lesenswert?

Jürgen Schlottke schrieb:

> Also: Entweder relativ teure Sender/Empfänger "mit eingebautem
> Sendeprotokoll" verwenden. Oder die ganz billigen ASK/SAW Module
> verwenden, aber dann mit einem eigenen Sendeprotokoll senden.
>

Hallo Jürgen, gibts da was "fertiges" fürn AVR das man, ohne gross 
selber sich da reinknieen zu müssen, anwenden/einsetzen kann kann?

Am besten einen "Seriell- Wandler in Biphase" und zurück.


Kurt

von Michael K. (mmike)


Lesenswert?

Hi,

ich kann die hier empfehlen: 
http://store.diydrones.com/3DR_Radio_433Mhz_Ground_module_p/br-3dr433.htm

Gut zu konfigurieren, einfach zu bedienen ... ECC ist schon mit drin und 
kann per Konfigurator dazugeklickt werden ...

Beste Grüße,
Mike

von Jürgen S. (jurs)


Lesenswert?

Kurt schrieb:
> Hallo Jürgen, gibts da was "fertiges" fürn AVR das man, ohne gross
> selber sich da reinknieen zu müssen, anwenden/einsetzen kann kann?

So allgemein für AVR, keine Ahnung.

Für die Arduino-Plattform und die allerbilligsten ASK/OOK-Sendemodule 
mit SAW-Stabilisierung beim Senden und die dazu passenden 
Regenerativempfänger gibt es jedenfalls die VirtualWire Library von Mike 
McCauley, siehe www.open.com.au/mikem/arduino/VirtualWire.pdf

Das von Michael empfohlene 3DR Radio ist dagegen eine intelligente 
Sendeplattform mit eigenem Mikroprozessor im vergleichsweise teuren 
Sender statt nur einfacher Ein-/Aus-Tastung für die Bits beim Senden. 
Die "Intelligenz im Sender" (und dem dazu passenden Empfänger) muss man 
allerdings auch erstmal bezahlen wollen.

Solche intelligenten Sende/Empfänger wie das 3DR Radio sind eine 
Alternative, wenn man zum Beispiel verschiedene Frequenzkanäle nutzen 
möchte und viel Funk mit hoher Datenrate auf wenig Fläche verteilt 
realisieren möchte: Die Sender sind meist hochwertiger und 
schmalbandiger, können mit höheren Datenraten umgehen, und noch 
intelligenter als "VirtualWire": Sie haben sogar Error-Correction-Code 
eingebaut und können selbst fehlerhaft empfangene Bits im Datenstrom am 
Ende wieder zu einer fehlerfreien Message zusammensetzen. Die Reichweite 
ist daher höher, auch wegen der besseren Empfänger.

Irgendwo hat das Virtual-Wire Konzept mit den ganz billigen Sendemodulen 
auch seine hardwaremäßigen Grenzen, was Datenrate und Reichweite angeht, 
da helfen dann auch die Trainingsbits beim Start der Sendung und die 
6in4-Codierung zur Erzeugung optimierter Bitstrom-Folgen für das 
ASK/OOK-Sendeverfahren dann nicht mehr weiter. Aber senden mit 
ASK/OOK-Modulen ist eben spottbillig, und erzielt wenn es richtig 
angewendet wird, durchaus brauchbare Ergebnisse.

von Kurt (Gast)


Lesenswert?

Jürgen S. schrieb:
>
>> selber sich da reinknieen zu müssen, anwenden/einsetzen kann kann?
>
> Das von Michael empfohlene 3DR Radio ist dagegen eine intelligente
> Sendeplattform mit eigenem Mikroprozessor im vergleichsweise teuren
>
> Sender statt nur einfacher Ein-/Aus-Tastung für die Bits beim Senden.
> Die "Intelligenz im Sender" (und dem dazu passenden Empfänger) muss man
> allerdings auch erstmal bezahlen wollen.
>
>
> Solche intelligenten Sende/Empfänger wie das 3DR Radio sind eine
> Alternative, wenn man zum Beispiel verschiedene Frequenzkanäle nutzen
> möchte und viel Funk mit hoher Datenrate auf wenig Fläche verteilt
>

Danke für die Info.
Das im PDF muss ich erstmal verstehen und richtig lesen können.
Alles was über BASCOM rausgeht ist erstmal mit "Arbeit" verbunden.
Sachma mal ob mir das liegt.


Kurt

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.