Hallo in die Runde,
in einem aktuellen Projekt nutze ich eine 433 MHz Übertragung. Das
aktuelle Projekt sieht wie folgt aus:
3 bis 5 baugleiche Fernbedienungen setzen sich jeweils aus 5 Taster,
einem Attiny84 und einem 433 MHz Sendemodul zusammen. Versorgt wird eine
Fernbedienung mit einer 12V-Batterie. Beim Druck eines Tasters werden
entsprechend eines eigenen Protokolls die Daten an einen 433 MHz
Empfänger gesendet. Der Empfänger ist ein Raspberry Pi mit einem 433 Mhz
Empfängermodul. Als Sende- und Empfängermodul kommen diese zu Einsatz:
https://www.amazon.de/receiver-Superregeneration-Wireless-Transmitter-Burglar/dp/B00ATZV5EQ
Zum Schaltungsaufbau einer Fernbedienung hatte ich hier vor einiger Zeit
schonmal was gefragt: Beitrag "Stromversorgung Fernbedienung"
Grundsätzlich funktioniert das ganze, jedoch sind weitere Probleme und
Anforderungen aufgetaucht:
- Reichweite zu gering
- Gleichzeitiges drücken bei unterschiedlichen Fernbedienungen nicht
möglich -> Information kommt nicht richtig beim Empfänger an
An dieser stelle wollte ich hier gerne mal in die Runde fragen, welche
anderen drahtlosen Übertragungstechniken hier eventuell noch in Frage
kommen um das ganze zu verbessern / auszubauen. Grundsätzlich sollten
folgende Anforderungen abgedeckt sein:
- Reichweite 15 bis 20 Meter (gerne auch mehr)
- gleichzeitiges Senden von unterschiedlichen Fernbedienungen soll
möglich sein
- eventuell eine bidirektionale Kommunikation, sodass der Raspberry Pi
der Fernbedienung antworten kann
- Fernbedienungen laufen mit Batterien -> Laufzeit sollte mindestens ein
Tag sein
Welche Möglichkeiten bieten sich in meinem Fall, um den Anforderungen
gerecht zu werden? Macht es Sinn auf eine andere Frequenz (Zwecks
Reichweite und Störanfälligkeit) zu wechseln: 868 MHz, 2,4 Ghz?
Inwieweit kann das Problem mit dem gleichzeitigen Senden gelöst werden?
Meines Wissens nach benötigt man Kanäle?
Ich bin über jeden Ansatz oder Erfahrungen dankbar!
Gruß,
Tony
Im HF Funk & Felder wäre der Post besser aufgehoben, da wurden ähnliche
Fragen schon x-Mal diskutiert.
Versuche ein paar Antworten.
- Batterielebendauer Fernbedienung: sollte kein Thema sein, nur Senden
bei Knopfdruck, damit hält die Batterie Jahre.
- Reichweite: Von den Billigst-Pendelempfängern kann man nicht viel
erwarten. 17cm Antenne am Empfänger, ggf auf am Sender wenn möglich wird
die Reichweite verbessern.
- Gleichzeitiges Senden: erster Schritt könnte ein verbessertes
Protokoll sein, das Austastlücken enthält. ZweiterSchritt ist die
Verwendung von Transceivermodulen (duplex) mit " richtigen" Protokollen.
Die im HF Forum kennen sich da bestens aus.
Tony S. schrieb:> - gleichzeitiges Senden von unterschiedlichen Fernbedienungen soll> möglich sein
Der klassische Weg wären unterschiedliche Sendefrequenzen, was dann
natürlich den Empfänger deutlich komplizierte macht.
Wenn die Fernbedienungen auch einen Empfänger bekommen, würde CSMA die
Kollisionswahrscheinlichkeit reduzieren (besser noch CSMA/CD).
CDMA wäre auch eine Möglichkeit, mehrere Kanäle zu einem Empfänger zu
übertragen - aber alles mit mehr Aufwand.
Bei kleiner Anzahl der Fernbedienungen wird eine mehrfache Wiederholung
mit zufälligen Zeitabständen die ökonomischte Lösung sein, wenn der
Verlust einzelner Übertragungen verkraftbar ist.
Tony S. schrieb:> - Fernbedienungen laufen mit Batterien -> Laufzeit sollte mindestens ein> Tag sein
Bei dieser anspruchslosen Vorgabe könnte man sogar mit ESP8266 und WLAN
arbeiten, wenn man den ESP8266 nur solange einschaltet, wie es nötig
ist, Verbindung zum WLAN aufzubauen und die gewünschten Daten zu
versenden. Die Batterie muss nur in der Lage sein, die dabei kurzzeitig
benötigten 3.3V/300 mA liefern zu können.
Gehen wir mal konservativ von 10 Sekunden Aktivität aus, dann sind das
pro Tastendruck 10000 mWs oder 10 Ws.
Eine Mignon-Alkaline-Primärzelle hat eine Kapazität von etwa 2 Ah, bei
1.5 V sind das also etwa 3 Wh.
Kombiniert man so eine Zelle mit einem Step-Up-Wandler und geht von
einem Wirkungsgrad von nur 50% aus, sind das noch 1.5 Wh.
Damit kann der ESP8266 über 500 Tastendrücke lang mit Strom versorgt
werden.
Hallo,
zunächst mal vielen Dank für die Antworten :)
ja aktuell würde die Batterie ewig halten, da der Mikrocontroller im
Sleep und Power down Mode ist und nur bei einem Tastendruck kurz
aufwacht, sendet und wieder schlafen geht.
Das Ausstatten einer Fernbedienung hatte ich mir auch schon überlegt.
Jedoch kann dann der Controller nicht mehr permanent schlafen, wenn er
lauschen muss. Natürlich könnte man den Controller auch nur für ein paar
Sekunden lauschen lassen, nachdem er was gesendet hat und eine Antwort
erwartet.
Das Problem liegt jedoch vielmehr darin, dass wir mit der Reichweite und
der Zuverlässigkeit keine guten Erfahrungen gemacht haben, trotz
Antenne.
Hinsichtlich des mehrmaligen Sendens nach unterschiedlichen Zeiten, das
hatten wir auch probiert. Das Provlem dabei ist, das einmal senden eine
knappe halbe Sekunde dauert. Drücken nun mehrere Fernbedienungen
gleichzeitig oder unterschiedlich, kann es durch die Wartezeiten des
Wiederholten sendens wieder passieren, dass es zu Überlagerungen kommt.
Insgesamt senden wir einen 7-stelligen Code, der die Sender Id und den
Statuscode entsprechend der gerdrückten Taste enthält.
Eine Variante direkt mit WLAN wäre nicht schlecht. Den ESP8266 hatte ich
selbst noch nicht in Verwendung. Wie lange würde es insgesamt dauern,
angefangen beim Tastendruck, bis der ESP8266 sich initialisiert hat,
eine WLAN Verbindung aufgebaut hat und die Information gesendet hat? Die
Information soll grundsätzlich für den Betrachter nicht auffällig
verzögert beim Empfänger ankommen.
Ich danke euch schonmal :)
Gruß,
Tony
Tony S. schrieb:> Eine Variante direkt mit WLAN wäre nicht schlecht.
Dauert aber viel zu lang, und man ist eben abhängig vom WLAN.
NRF24 ist die schnelle Tranceiver Lösung die ohne zentralen
Knoten funktioniert.
NRF24 erlaubt Steuerung "sofort", und man hat 125 Kanäle zur
Auswahl mit denen man quasi gleichzeitg mehrere Ziele ansprechen
kann und/oder sich "gute" Frequenzen aussuchen kann bei denen
die Übertragung störungsarm stattfinden kann.
Mit den Amplifier-Modellen kann man angeblich 1km weit steuern.
(20 dB Sende- und 12dB Empfangsverstärker)
Wenn Deine Fernbedienungen ständig in Verbindung mit der Zentrale sein
muss, dann könnte die Verwendung von Bluetooth Low Energy den
Energieverbrauch stark reduzieren. Die Preise von Mikrocontrollern mit
BLE Peripheral liegen in etwa im Bereich Deines Sende-Empfangsmoduls.
Kostenminimierer schrieb:> Dauert aber viel zu lang, und man ist eben abhängig vom WLAN.
Was bedeutet in diesem Fall "dauert zu lang"?
Worin besteht der konkrete Unterschied von dem NRF24 Modul zu dem
ESP8266? Der ESP8266 ist ein richtiges WLAN-Modul und der NRF
kommuniziert nur auf der Frequenz von 2,4 GHz?
Wie sieht es bei beiden Modellen mit der Reichweite aus?
Für den NRF24 habe ich konkret den NRF24L01+ gefunden. Wäre dies das
entsprechende Modul?
Bluetooth wäre auch möglich. Welche Chips / Module kommen dabei in Frage
bzw. sind üblich?
Danke euch!
Tony S. schrieb:> Bluetooth wäre auch möglich. Welche Chips / Module kommen dabei in Frage> bzw. sind üblich?
Die Hersteller, die ich so kenne sind: TI, Nordic und Cypress. Ich würde
Dir ein nrf51822 empfehlen. Das ist ein ARM-Cortex M0 Kern und hat
direkten Support für BLE. Das Chip-Design und auch die SW-Architektur
ist meiner Meinung nach bei Nordic am besten.
mfg Torsten
Tony S. schrieb:> Worin besteht der konkrete Unterschied von dem NRF24 Modul zu dem> ESP8266?
Die ESP-Kommunikation basiert auf TCP/IP.
Die NRF24-Kommunikation ist etwa vergleichbar mit dem
Senden/Empfangen von LAN-Paketen (MAC-Level).
Tony S. schrieb:> Der ESP8266 ist ein richtiges WLAN-Modul und der NRF> kommuniziert nur auf der Frequenz von 2,4 GHz?
Was soll das? Weisst du schon so viel oder fragst du?
Tony S. schrieb:> Wie sieht es bei beiden Modellen mit der Reichweite aus?
Frag dein Handy wie weit es von eine WLAN-Hotspot entfernt
funktioniert um mit ihm zu kommunizeren.
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