Ich suche eine Lösung, um eine LED über ein Funksignal ein- und ausschalten zu können. Damit das System skalierbar bleibt, müssen die LEDs adressierbar sein. Da der Betrieb über einen Akku erfolgen soll, ist es wichtig, dass der Stromverbrauch so gering wie möglich ist, solange die LED ausgeschaltet ist. Es ist okay, wenn das System langsam arbeitet, z. B. indem der Empfänger nur einmal pro Stunde aktiviert wird. Meine Idee wäre, einen kleinen AVR zu verwenden, der ein 433-MHz-Funkmodul steuert. Allerdings stellt sich die Frage, wie man die LED eingeschaltet lassen kann, während der Mikrocontroller im Schlafmodus ist. Und wie würde man das "Moderner" machen? ein esp ist ja incl Speicher und Funk kleiner und kaum teurer als ein alter at mega8 mit 433 Funk. Der esp würde aber vermutlich den Akku auch im Deepsleep zu schnell aussaugen.
S. M. schrieb: > Allerdings stellt sich die Frage, wie man die LED eingeschaltet lassen > kann, während der Mikrocontroller im Schlafmodus ist. Welche Frage? Der Mikrocontroller geht doch nicht durch einen Reset und setzt die Peripherie zurück. D.h. die GPIO bleiben statisch so wie sie sind. Weiters besteht noch die Möglichkeit ein Latch zwischenzuschalten. S. M. schrieb: > ein esp ist ja incl Speicher und Funk kleiner ESP8266 = Sleepmode schlecht bis gar nicht nutzbar ESP32 = Sleepmodi besser nutzbar Welcher ESP? Und es gibt von anderen Herstellern noch Mikrocontroller mit eingebautem Funkgedöns. S. M. schrieb: > z. B. indem der Empfänger nur einmal pro Stunde aktiviert wird. Problem: du musst den Sender fast permanent angeschaltet lassen um garantiert Empfangsfenster der Empfänger zu treffen. Und selbst bei Empfangsfenster gibt es noch die Möglichkeit von Störungen. mfg mf
:
Bearbeitet durch User
Ist doch praktisch: Einfach Wecker stellen, um zur passenden Zeit das Licht ein- oder ausschalten zu können..😂
S. M. schrieb: > Meine Idee wäre, einen kleinen AVR zu verwenden, der ein > 433-MHz-Funkmodul steuert. Allerdings stellt sich die Frage, wie man die > LED eingeschaltet lassen kann, während der Mikrocontroller im > Schlafmodus ist. Kein Problem, der Pin bleibt wie du ihn vor dem sleep geschaltet hast. Aber die LED wird so viel Strom fressen, dass der uC und Empfânger auch aktiv bleiben kann während sie leuchtet, wenn du deshalb auch nur die LED 10 min früher ausschalten kannst. > Und wie würde man das "Moderner" machen? ein esp ist ja incl Speicher > und Funk kleiner und kaum teurer als ein alter at mega8 mit 433 Funk. > Der esp würde aber vermutlich den Akku auch im Deepsleep zu schnell > aussaugen WLAN ist total Kacke wenn du Strom sparen willst, Rechenleistung hingegen brauchst du zum ein/ausschalten nicht. Die Idee, den (sowieso stromsparenden) 433MHz Empfänger abzuschalten in den Zeiten in denen sowieso nicht mit einem Empfang zu rechnen ist, ist klug, machen Profis (Funkwetterstationen) auch. l
S. M. schrieb: > würde aber vermutlich Um das zu klären, benutzen Techniker im Regelfall Hilfsmittel, meist physikalische Gesetze.
Für sowas gibts spezielle Fernbedienungs-ICs wie das hier: https://www.hoperf.com/ic/rf_receiver/CMT2257AW.html Das hat 4 Ausgänge für steuerbare Geräte und ein internes EEPROM für Empfangsparameter. Dafür gibts dann auch die passenden Sender-ICs. fchk
S. M. schrieb: > Allerdings stellt sich die Frage, wie man die LED eingeschaltet lassen > kann, während der Mikrocontroller im Schlafmodus ist. Wenn ein Mikrocontroller schläft bleiben seine I/O Pins in der Regel aktiv. Die ESP8266 sind allerdings dafür ungünstig weil sie zum Aufwachen resetted werden.
:
Bearbeitet durch User
Achim M. schrieb: > Problem: du musst den Sender fast permanent angeschaltet lassen um > garantiert Empfangsfenster der Empfänger zu treffen. Und selbst bei > Empfangsfenster gibt es noch die Möglichkeit von Störungen. das mit dem "Fenster treffen" ginge auch mit unterschiedlichem "duty cylce", z.B. so: der Sender sendet im 18 Sekunden Rythmus den durchzuführenden Befehl der Empfänger wacht alle 59 Minuten auf, und lauscht 1 Minute. Während dieser Wachphase sollten 3 Pakete empfangen worden sein. Sind mindestens 2 Pakete identisch, wird dieses als Befehl ausgeführt, ansonsten der alte Zustand beibehalten. Du hast damit eine aktive Phase von 1 zu 60 (1,7%), dein Empfänger schläft demnach 98,3% seiner Zeit. Mit scharf Nachdenken ergibt sich, dass es keine Atomuhr benötigt, sondern nur eine mit "hinreichender Genauigkeit", damit das Wachfenster 3 Pakete empfangen kann. Will man mögliche Störungen schneller reagieren [=den neuen Zustand erreichen], dann muss man halt häufiger den Empfänger einschalten
:
Bearbeitet durch User
Wegstaben V. schrieb: > Du hast damit eine aktive Phase von 1 zu 60 (1,7%), dein Empfänger > schläft demnach 98,3% seiner Zeit. Genau das meinte ich doch. 98,3% der in deinem Beispiel gesendeten Pakete sind für'n Schuh. Bei mehr als einem Empfänger wirds noch lustiger... Wegstaben V. schrieb: > Mit scharf Nachdenken ergibt sich, dass es keine Atomuhr benötigt, > sondern nur eine mit "hinreichender Genauigkeit", damit das Wachfenster > 3 Pakete empfangen kann. Meine Frage ist, was macht der Empfänger bei keinem/schlechtem Empfang? 18ec Senderausfall/-Störung hat ggf. eine Reaktionszeit von effektiv 2h zur Folge. Das war so nicht gefordert. Die Lösung dazu "Empfänger bleibt an, solange noch keine 3 Pakete empfangen wurden" wird bei Senderausfall zu schnell leeren Batterien der Empfänger führen. Ich denke, dass das Konzept noch Verbesserungspotential aufweist. Mit scharf Nachdenken ;) mfg mf
:
Bearbeitet durch User
Distanz, Linkbudget? Die STM32WL33 haben ein "RF Wakeup", und können mit einem starken Funksignal (-50 dBm) aus einem sparsamen Sleep-Modus (4 uA) geweckt werden. Und sie sind allgemein sehr stromsparend. Modern wären die auch (anders als AVR): S. M. schrieb: > Und wie würde man das "Moderner" machen? Die üblichen Tricks mit Send-Before-Listen und definierte Empfangsfenster ähnlich bei LoRaWAN helfen natürlich auch. S. M. schrieb: > Allerdings stellt sich die Frage, wie man die LED eingeschaltet lassen > kann, während der Mikrocontroller im Schlafmodus ist. Bei dem meisten Controllern bleiben die Pin-Zustände im Sleepmodus erhalten.
Niklas G. schrieb > Bei dem meisten Controllern bleiben die Pin-Zustände im Sleepmodus > erhalten. Z.B. die LPC schalten im Deep Power down auch die Push Pull Versorgung ab, sollte man also schon kontrollieren.
Achim M. schrieb: > 18ec Senderausfall/-Störung hat ggf. eine Reaktionszeit von effektiv 2h > zur Folge. Das war so nicht gefordert. da pro Stunde ein Lausch-Fenster von 1 Minute vorliegt, in der 3 Pakete (für den spezifischen Empfänger) empfangen werden, wäre der Ausfall von EINEM Paket in 18 Sekunden unproblematisch. Wenn die Umgebung stärker (z.B. 1 Minute lang) gestört ist, nimmt man halt ein Empfangs-Intervall (Nicht-Lausch-Fenster) von 1/2 Stunde, oder zur Not von 1/4 Stunde. Dann würde ich aber gegebenenfalls über andere Konzepte nachdenken, wenn alles so arg gestört ist. Der Sender sendet (adressiert) ja eh alle 18 Sekunden den spezifischen Empfänger. Und der Empfänger kann etwas länger sein "ohren offen" Fenster aktiv halten, sofern er ein ungültiges Paket empfing, bis er endlich ein zweites valides Paket mit selben Inhalt empfangen hat. Um weiter Strom zu sparen, kann der Empfänger natürlich auch schon ab dem zweiten empfangenen "guten" Paket (bei der ursprünglichen 3er Sequenz) den Empfänger wieder zu machen. Da erwirtschaftet weitere 18 Sekunden "Empfänger abgeschaltet" > Meine Frage ist, was macht der Empfänger bei keinem/schlechtem Empfang? Im einfachsten Fall verbleibt er "schweigend" im letzten ihm bekannten Zustand (an oder aus). Er könnte auch fröhlich nach seiner Empfangs-Auswertung 3 Sekunden mit Blinksignalen auf seine Empfangs-Befindlichkeiten hinweisen (z.B. lang an, kurz aus, dann neuer Zustand = Empfang ok, langsam Blinken = schlechter Empfang, schnell blinken = kein Empfang). Das hängt davon ab, ob das für die vorgesehene Anwendung tragbar ist > 98,3% der in deinem Beispiel gesendeten Pakete sind für'n Schuh. Ich bin optimistisch davon ausgegangen, das der Sender unbegrenzt Spannung zur Verfügung hat. wenn man mal "Elektrosmog" aussen vor läßt, ist es vermutlich egal, dass der größte Teil der Pakete nicht empfangen wird. Oder fallen dir andere Argumente ein, warum das problematisch sein könnte? > Bei mehr als einem Empfänger wirds noch lustiger... bei einem Sende-Intervall von 18 Sekunden, und (angenommener) Sendedauer pro Paket pro Empfänger von 0.1 Sekunden ergeben sich 180 Geräte, welche adressiert werden können. Vermutlich ausreichend.
:
Bearbeitet durch User
Ein paar Ideen wurden hier ja schon genannt. Letztendlich ist die Anforderung aber blöd, es muss ein konkretes Energiebudget her. Am Ende braucht die LED noch so viel mehr Strom, dass Energiespartechniken bei der Funkanbindung tatsächlich wenig bringen. Generell sollte der Empfänger natürlich die meiste Zeit ausgeschaltet sein und nur kurz zum Empfang aktiviert werden. Das beißt sich natürlich ein wenig mit der Idee, die LEDs adressierbar (wieviele?) zu machen, da dadurch in einer ersten Implementierung erst einmal die Nachrichten länger werden (wenn in jeder Nachricht der Zustand aller LEDs übermittelt wird). Man könnte das verbessern, indem die Empfänger aufgrund ihrer Adresse einen entsprechenden Zeitschlitz auswählen, während dessen sie "ihre" Nachricht empfangen, allerdings setzt das wieder eine global synchronisierte Uhr voraus, jetzt braucht also jeder Empfänger eine RTC o.Ä. Mit steigender Komplexität der Anforderungen kann es sich daher lohnen, die Anforderungen zunächst zu überdenken und insbesondere genauer zu spezifizieren: Welches Energiebudget, welche Reaktionszeit, wieviele Knoten? Für einige Kombinationen gibt es nämlich bereits etablierte Lösungen, die sich dann einfach als Modul verwenden lassen.
Vlt. (aber auch nur vlt.) ist das Homematic-System für deinen Zweck anwendbar. Hier im Link ein fast fertiger Empfänger: https://de.elv.com/p/elv-bausatz-homematic-ip-schaltplatine-fuer-batteriebetrieb-hmip-pcbs-bat-P150904/ Mit Hilfe einer alten Zentraleinheit CCU (bei Kleinanzeigen zuhauf) lassen sich Direktverknüpfungen erstellen, so dass die Komponenten fortan ohne Beteiligung der zentralen CCU funktionieren.
:
Bearbeitet durch User
Wegstaben V. schrieb: > Während dieser Wachphase sollten 3 Pakete empfangen worden sein. Sind > mindestens 2 Pakete identisch, wird dieses als Befehl ausgeführt, > ansonsten der alte Zustand beibehalten. Es gibt deutlich intelligentere und stromsparendere Strategien. Mit Prüfsummen lässt sich mit deutlich weniger Aufwand als mit Mehrfachempfang die Fehlerfreiheit eines Paketes verifizieren. Wenn zusätzlich noch eine fortlaufende Paketnummer verwendet wird, kann der Empfänger zusätzlich ableiten, wie es um seine Uhr in Relation zur Uhr des Senders steht.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.