Planung einer bidirektionalen Fernsteuerung mit 868MHz-Datenfunkmodul

  • Wer meinen H-Brücken-Thread verfolgt hat kann im Video sehen, wie die (selbstentwickelten) Vollbrücken für meinen Selbstbau-Bot mittels 2,4GHz-Pistolen-FB angesteuert werden. Die SW zur Auswertung der 2 Kanäle habe ich selbst geschrieben und weiß daher recht genau, worum es bei dieser Thematik geht.
    Der Einsatz dieser 2,4GHz-Empfangsmodule gefällt mir überhaupt nicht, da alles über diese althergebrachte Puls-Pausenmodulation läuft. Bereits in der SW-Entwicklungsphase fiel mir negativ auf, dass die Impulsauswertung relativ aufwändig ist. Hinzu kommt, dass es kein einheitliches (genormtes) Timing gibt, irgendwie verhalten sich die von mir durchgemessenen Empfangsmodule in direktem Vergleich alle "ein wenig anders".

    Daher möchte ich auch die Fersteuerung selbst bauen (Motivation).
    Beim Eigenbau bin ich selbst verantwortlich und habe den Ablauf in der Hand - die totale Kontrolle über den Wirkungsstrang Mensch-Maschine!

    Ich möchte nachfolgend technische Details erörtern und würde mich über Tipps freuen, speziell zum Datenfunk im 868MHz-Bereich.
    Datenfunk deshalb, weil sämtliche Leistungs-Parameter an den Bot eben NICHT als Impulse übermittelt werden (Puls-Pausenmodulation), sondern als fest definierter Datensatz mit Prüfsumme. Vergleichbar ist dies mit dem bidirektionalen Datenaustausch auf einem RS232-Nullmodemkabel (Host-zu-Host-Verbindung); der Bot ist quasi über die "Luftschnittstelle" an der RS232 der FB angeschlossen.

    Der (erhoffte) Vorteil: die Kommunikation kann jederzeit und auf beiden Seiten (FB <--> Bot) samt Empfangsfeldstärke verifiziert werden, da jeder korrekt empfangene Datensatz beidseitig mit einer Quittung versehen wird. Bei den 868MHz-Funkmodulen kann die Sendeleistung (bei ausbleibender Quittung) im ms-Bereich bis 500mW angehoben werden; ein weiterer Vorteil ggü. 2,4GHz-Systemen, welche aufgrund der höheren terrestrischen Absorption hier jetzt (im Vergl. zu 868MHz) bereits mit 1500mW senden müßten. Bodenfahrzeuge sind zudem bei höherer Funkfrequenz den Luftfahrzeugen klar im Nachteil - ein weiterer Punkt in Bezug auf Betriebssicherheit, der FÜR 868MHz spricht.

    Viele Datenfunkmodule ermitteln die Empfangsfeldstärke, welche in den Quittungsdatensatz eingepflegt werden kann. Somit läßt sich auch ein Failsafe sehr intelligent auslegen: die gesendeten Datensätze werden durchnummeriert, bei Abweichung in der Quittung wird die Sendeleistung erhöht und sollte das auch nicht ausreichen, wird in den Failsafe gegangen. Der Anwender kann sich jederzeit über die Verbindungsqualität am LCD-Display der FB informieren und bekommt sehr schnell ein Gefühl über die Betriebssicherheit seines Fahrzeugs.

    Darüber hinaus stehen hunderte Schaltkanäle zur Verfügung und vollwertige Telemetrie gehört zur Grundausstattung.
    Weiterer Pluspunkt: die leistungestarken 500mW-Funkmodule gibt es bereits ab 12€ (o. Antenne/Gehäuse). Und SW-Aufwand habe ich auch bei der Auswertung der 2,4GHz-Empfänger, da kann ich gleich die Arbeit in die 868MHz-Technik stecken.
    Natürlich geht meine angedachte Anwendung über die in der Arena hinaus, schließlich möchte ich im Gelände fahren wo auch Hindernisse (Bäume, Häuser) einzukalkulieren sind. Reserven sind daher nicht unwichtig.

    Hier mal beispielhaft das 12€-Modul: RFM12BP Enhanced Power FSK Transceiver Module

    Hier das Xbee-Pro-Funkmodul mit 40km Reichweite(!): XBee-PRO 868 MHz,315 mW

    Soweit meine Überlegung. Wie sehen die Roboteers das? Wer hat Vergleichbares schon aufgebaut?
    .

    • Offizieller Beitrag

    Ich arbeite mit den RFM12B von Pollin auf 433 MHz und 868 MHz. Die gibts mittlerweile auch für 2,4 GHz aber durch WLAN, Blauzahn und ZigBee uninteressant wegen Einkopplung. Für die 433 MHz gilt dass jeder billige China Brenner aus Wetterstationen und dergleichen auf den Äther drückt.

    IBF hat zwar wegen der Oberwelle nicht unrecht, trotzdem würde ich am ehesten noch zu 868 MHz tendieren. Die HopeRF Dinger funktionieren, sind aber bei der Kombieinheit (Transceiver) am Empfägner nicht ganz so empfindlich, weswegen da die Reichweite leidet. Die XBees sollen da besser sein. Die sind aber auch deutlich teurer. Für meine Zwecke (kein Roboteers Einsatz) reichen die RFM12B weil ich mit XTEA verschlüssle, mit CRC16 absichere, kurze Telegramme, niedrige Datenrate und Quittierung (ACKs) verwende. Des Weiteren ist es bei mir nicht so tragisch wenn mal ein Messwert eines Sensors verschwindet.

    Ich würde dir vermutlich zum 868 MHz SRD Band mit hochwertigen Modulen, also eher XBees oder besser raten. Wenn du es dir leisten kannst, dann wär die Krönung natürlich ein DSSS oder FHSS (Spektrum FBs) Modul ideal auf das du dein eigenes Protokoll dübelst! :]

  • Zitat

    Original von Gizmo
    Ich arbeite mit den RFM12B von Pollin auf 433 MHz und 868 MHz. Die gibts mittlerweile auch für 2,4 GHz aber durch WLAN, Blauzahn und ZigBee uninteressant wegen Einkopplung. Für die 433 MHz gilt dass jeder billige China Brenner aus Wetterstationen und dergleichen auf den Äther drückt.

    IBF hat zwar wegen der Oberwelle nicht unrecht, trotzdem würde ich am ehesten noch zu 868 MHz tendieren.


    Ja, so sehe ich das auch.
    IBF hatte mich ein wenig verwirrt, immerhin ist er ja vom Fach und wird hier kein blabla posten. Insofern muß ich das mit berücksichtigen. 2,4GHz kommt nicht in Frage, da habe ich einen Videosender. Zudem ist mir die Frequenz zu hoch.
    Eigentlich kommen nur 433 bzw. 868 MHz für mich in Betracht. Ist auch eine Frage der Verfügbarkeit und Dokumentation; ich bestelle ausschließlich Online.
    Der Vorteil bei 868 MHz scheint mir die höhere Sendeleistung zu sein (500mW bei 1...10% Auslastung ggü. 433 MHz mit < 20mW/100%).
    Diese HopeRF-Module erscheinen mir sehr brauchbar. Sollte absehbar sein, dass der SW-Aufwand ebenso aufwändig ist wie für die XBee-Module, so würde ich HopeRF favorisieren.

    Zitat

    Original von Gizmo
    Für meine Zwecke (kein Roboteers Einsatz) reichen die RFM12B weil ich mit XTEA verschlüssle, mit CRC16 absichere, kurze Telegramme, niedrige Datenrate und Quittierung (ACKs) verwende. Des Weiteren ist es bei mir nicht so tragisch wenn mal ein Messwert eines Sensors verschwindet.


    Danke für den Hinweis, so ähnlich habe ich mir das gedacht.
    Ich möchte eine Art "Standleitung" aufbauen, wobei alle 40ms ein 8Byte-Datentelegramm von der FB zum Bot gesendet wird, welches innert 10ms vom Bot quittiert werden muß (samt Telemetriedaten).
    Die ausbleibende Quittung wäre der erste Hinweis auf Betriebsstörungen im verwendeten Funkband, wobei keineswegs bereits nach 50ms in den Failsafe gegangen werden muß. Vielmehr könnte der Failsafe auf der Bot-Seite auch intelligent ausgelegt werden, z.B. in direkter Abhängigkeit von der gegenwärtigen Geschwindigkeit. Ein langsamfahrender/kriechender Bot kann sicher einige Datentelegramme verpassen, ohne das ein Sicherheitsrisiko besteht (höchste Priorität = Gefahrenabwehr).

    Als Vorteil sehe ich hier die Tatsache, dass durch beidseitige Übermittlung der Feldstärken bereits frühzeitig Einschränkungen in der Übertragungsqualität bekannt werden und diese - ähnlich wie bei einem Handy - auf einem Display visualisiert werden können. So würde der Nachbar mit seiner 868MHz-Hausinstallation (IBF's Albtraum) bereits frühzeitig auffallen.

    Ein weiterer Vorteil im 868MHz-Band ist m.E. die Tatsache, dass regelmäßig nur Duty Cycle von < 1% zulässig sind - also kein Dauer-Sendebetrieb wie bei 433MHz/2,4GHz.
    .

    2 Mal editiert, zuletzt von Lars (3. Juli 2013 um 10:28)

    • Offizieller Beitrag

    Lassen sich die XBees seriell ansprechen, also über den UART? Das wäre ein Vorteil. Die HopeRFs sind low level direkt mit SPI anzusprechen und das kann echt nervig und fehleranfällig sein. Ich hab manchmal echt gezweifelt ob der Weg der Richtige ist; bis heute bin ich nicht 100% zufrieden. Sicher, beim HopeRF hab ich volle Kontrolle über alles, aber dementsprechend muss ich mich auch um Dinge kümmern von denen ich Ahnung haben sollte und die ich mir dementsprechend aneignen muss. Kurzum: Mit den HopeRF was zuverlässig zum Funken zu bekommen kostet echt Nerven. Ich bin dann irgendwann in die üblichen Quellen von mikrocontroller.net und das-labor.org abgedriftet. Das funktioniert, aber wie es implementiert ist macht mich persönlich nicht glücklich...

    Achja, eventuell auch interessant, hier noch ein Link zum Wi232:
    http://www.radiotronix.com/products/proddb.asp?ProdID=198

  • Zitat

    Original von Gizmo
    Lassen sich die XBees seriell ansprechen, also über den UART? Das wäre ein Vorteil. Die HopeRFs sind low level direkt mit SPI anzusprechen und das kann echt nervig und fehleranfällig sein.


    XBee-Pro gehen über UART. Sehe ich auch als Vorteil, zumal ich schon einen (funktionstüchtigen!) IRQ-Ringspeicher für UART habe und für die SPI-Schieberegister leider nicht. Dieses Argument spricht FÜR die XBees! Es wird sogar damit geworben, dass die XBees in der "Werkskonfiguration" bereits als Luft-RS232 eingesetzt werden können, also derart, als ob ein Nullmodemkabel angeschlossen wäre. Auch diesen Punkt finde ich sehr charmant, klingt nämlich nach wenig Programmieraufwand und einem sich spontan einstellenden Erfolgserlebniss...:]

    Bei den HopeRFs hat man dafür den totalen Zugriff auf ALLE Register, man muß weit tiefer in die HF-Technik einsteigen und m.E. zudem ein erfahrener Programmierer sein. Ich glaube auch, dass die HopeRFs wirklich nichts für Anfänger sind. Leider kein Plug-and-Play eher Plug-and-Pray...
    Dafür gibt es diese Funkmodule in div. Ausführungen bereits ab 5,-€. Wenn man sich damit einmal beschäftigt und das Verfahren drauf hat, ergeben sich schnell weitere (kostengünstige) Einsatzmöglichkeiten...

    edit/Update:

    Bei den XBees gibt es tatsächlich eine Plug-and-Play-Betriebsart, in welcher sämtliche auf der UART (RxD) vom HOST reinkommende Zeichen SOFORT gesendet werden, und empfangene Zeichen via UART-TxD zum HOST übertragen werden. Nennt sich "Transparent-Operation-Mode" und sendet in der Werkseinstellung mit vollen 316mW - dem höchsten einstellbaren Wert. Hätte ich nicht erwartet. Eine weitere Eigenart: der (gemäß Bundesnetzagentur) zulässige Duty-Cycle von 10% wird vom Funkmodul überwacht! Mit Erreichen der 10% stellt das Modul den Sendebetrieb für eine gewisse Zeit ein. Ist möglicherweise nicht jedermanns Sache, gerade in der Entwicklungsphase kommt sicher keine Freude auf wenn plötzlich nichts mehr geht und man keinen Fehler im Programm findet...

    Datenblätter zu den XBee-Modulen finden sich hier: XBee

    Alternativ findet sich hier ein Datenblatt zum neuesten Funkmodul von HopeRF: RFM23BP

    Für mich reduziert sich die Auswahl auf eben diese beiden Funkmodule. Für alle XBee-Fan's (und die, die es vielleicht noch werden wollen) habe ich ein zum Thema passendes 163-Seiten-Handbuch gefunden (.pdf): XBee-Tutorial

    Update / edit:

    Technisches Konzept der von mir geplanten Bot-Fernsteuerung (Stand 13.7.13):

    - Einsatz eines industriellen Kreuzknüppel auf Hallbasis mit Nullpunktsensor und 40° Bewegungsfreiheit in allen Richtungen
    - Einbau in Metallgehäuse (handliche Pultform, ca. 22x9x6cm, LxBxH)
    - Stromversorgung durch LiMn-Akku (inkl. Relais-Ladeautomatik)
    - Beleuchtetes LCD-Display 4x20 Zeichen
    - Piezo-Summer
    - Totmannschalter (Sicherheit)
    - Tastenfeld für div. Sonderfunktionen
    - Potentiometer für interaktive Parametervorgabe
    - leistungsstarkes Funkmodul zur Datenübertragung
    - Controller ATmega16 (16 MIPS) mit Gehäuse-Programmieranschluß (ICP)
    .

    3 Mal editiert, zuletzt von Lars (13. Juli 2013 um 23:03)