Hallo, ich möchte eine 1 Byte große Information zyklisch (alle 5 Minuten) über Funk übertragen (unidirektional). Die Übertragungssicherheit spielt dabei keine Rolle! Der Aufbau soll möglichst Stromsparend sein da ich das Gerät über Batterie betreiben möchte. Wäre euch sehr dankbar wenn ihr ein paar Lösungsvorschläge habt. Gruß Andi P.S.: Über das Gerät möchte ich prüfen ob mein wonungsfenster offen oder geschlossen ist (also eine art mini hausautomation :-) )
Grundlegende Fragen: - Wie groß darf das ganze werden? - Wie willst du das empfangen/anzeigen? PC, Display, LED? - Was für Vorkenntnise hast du schon? (Programmiersprachen, Elektronik,...) - Wie oft brauchst du das? (Einmal, Einmal pro Fenster in der Wohnung, ...) - Die Datenintegrität ist komplett egal? Also auch wenn "Fenster auf" statt "Fenster zu" ankommt, oder können nur Pakete zwischendurch verloren gehen? Ich würde das mit einem kleinen Mikrocontroller machen (meine Vorliebe avr, aber PIC oder MSP430 sind potentiel stromsparender) und daran ein rfm12 Funkmodul hängen. Das Funkmodul schlafen legen und dann mit dem rfm12 alle 5 Minuten aufwecken. Das könnte je nach Programmierung mit einer Knopfzelle 2-20 Jahre halten. Ich hab mir einen kleine Temperatur Sensor gebaut, der nach diesem Prinzip funktioniert und der sollte mit einer Knopfzelle zumindest 2-3 Jahre lang laufen. Da du weniger Daten übertragen wills und weniger aufwendige Eingabe hast, denke ich, dass das bei dir nochmal ne Ecke länger gehen sollte. Es gibt bestimmt schönere Varianten, aber da ich nur den Hammer als Werkzeug kenne, sieht für mich halt alles nach Nägeln aus.
@Verwirrter Anfänger - Wie groß darf das ganze werden? -> möglichst klein, vllt wie ne streichholzschachtel (muss halt ans fenster montiert werden) - Wie willst du das empfangen/anzeigen? PC, Display, LED? -> über einen PIC32, dieser fungiert als Webserver und zeigt die Daten dann über HTTP als Webpage an - Was für Vorkenntnise hast du schon? (Programmiersprachen, Elektronik,...) -> Studiere momentan Elektrotechnik... - Wie oft brauchst du das? (Einmal, Einmal pro Fenster in der Wohnung, ...) -> Mehrmals (pro fenster, auch für haustür etc. denkbar - Die Datenintegrität ist komplett egal? Also auch wenn "Fenster auf" statt "Fenster zu" ankommt, oder können nur Pakete zwischendurch verloren gehen? -> Prinzipiell ja, im schlechtes Fall würde dann für 5 min eine falsche info anstehen... Danke für deinen Lösungsvorschlag, gefällt mir :) P.S.: Mit Hammer und Nägel kann man ein ganzes Haus bauen :P
Du kannst das Datenbyte einfach 10mal hintereinander senden, und als Ergebnis das annehmen, was am häufigsten ankommt. Das reduziert die Fehlerhäufigkeit etwas. Im Sleep-Modus brauchen die RFM12 sehr wenig Strom (1.5 uA angeblich, laut DB)
Niklas Gürtler schrieb: > Strom (1.5 uA angeblich, laut DB) Bei mir braucht die Kombination aus avr im power down und rfm im sleep mode mit aufwach timer ca. 1.3µA, das stimmt also ziemlich genau. Andi schrieb: > -> über einen PIC32, dieser fungiert als Webserver und zeigt die Daten > dann über HTTP als Webpage an Andi schrieb: > -> Studiere momentan Elektrotechnik... Super, dann hast du ja mehr als genug Vorkentnisse. Mit PICs kenn ich mich zwar nicht so aus, aber dann würde ich dir empfehlen einen der kleineren PICs zu nehmen - Als Takt entweder den integrierten oder den aus dem RFM12 nehmen. - 5 Pins für den RFM (CLK, MOSI, MISO, SELECT, Interrupt) + 1 für den Fensterkontakt. - Der PIC und der RFM12 schlafen und werden alle 300 Sekunden von dem RFM12 aufgeweckt -> ca. 1.5µA Verbrauch - Wenn die wach sind wird der Kontakt eingelessen, Die ID des Senders, der Wert des Kontakts und evtl. Zusatzinfos (Batteriespannung, Redundanz, Checksummen, fortlaufende Nr., ...) werden gesendet. Das sollte ca. 2mS dauern und verbraucht 20 mA für den RFM12 + Verbrauch des PIC - alle gehen wieder schlafen. Verbrauch: (300 000ms * 1,5µA + 2mS * ~30 000µA) / 300 002 ms = 1,7 µA Bei einer Knopfzelle mit 220 mAh gibt das ca. 15 Jahre Laufzeit. Die tatsächliche Laufzeit hängt natürlich davon ab, wie stark du die Knopfzelle entladen kannst, aber ich denke 5 Jahre könnten drin sein. - Wenn du wirklich sparsam sein willst schließt du den Fensterkontakt mit einen Widerstand zwischen zwei pins.:
1 | PIN1 ---\ |
2 | | |
3 | | | optional um Kurzschluss zu vermeiden 1-10k |
4 | | | |
5 | | |
6 | \----o Kontakt |
7 | |
8 | |
9 | /----o Kontakt |
10 | | |
11 | PIN2 ---+ |
12 | | |
13 | | | Pulldown 10-100k |
14 | | | |
15 | | |
16 | | |
17 | --- Erde |
PIN2 ist input, PIN1 output. Während der PIC schläft PIN1 low. Wenn er wach ist wird PIN1 auf high gestellt, und PIN2 guckt ob bei ihm auch high anliegt. Andi schrieb: > -> möglichst klein, vllt wie ne streichholzschachtel (muss halt ans > fenster montiert werden) Das ist gut machbar siehe: Beitrag "Re: Bestimmung des Verbrauchs bei Strömen 1000 µA - 0,1µA" Andi schrieb: > -> Mehrmals (pro fenster, auch für haustür etc. denkbar Ich würde mit Kosten von: 5€ RFM12 + 1,50€? PIC + 50 Cent Kleinkram + evtl. 1€ Platine = 8 Euro pro Sensor rechnen. Die Platinen lohnen sich natürlich nur wenn du viele Fenster hast. Wenn du dich mit AVRs auch auskennst könnt ich dir mal eine unbstückte zuschicken, ich hab davon noch ein paar hier rumliegen. P.S. Mir fällt gerade ein, das der RM70 evtl. auch interessant sein könnte. Der Standbyverbrauch ist allerdings ein bischen höher, angeblich 3µA. Ich bin mir auch nicht ganz sicher, ob der auch den wakeup timer drin hat. Dafür hat der schon eine Antenne integriert, falls die Platzprobleme machen sollte.
vielen Dank für die schnelle Antwort!! Klingt alles sehr gut. Ich mache mir gerade nur noch über die Funkübertragung gedanken... Wenn ich mehrer Sender verwenden möchte (für jedes fenster eines) müsste ich noch ein zeitduplex verfahren oder so einbauen oder?!? Gruß Andi
Andi schrieb: > Wenn ich mehrer Sender verwenden möchte (für > jedes fenster eines) müsste ich noch ein zeitduplex verfahren oder so > einbauen oder?!? Naja, wenn du 5 sekunden lang schläfst und 2mS lang sendest, dann hast du dein Zeitduplex ja einfach dadurch, dass du nicht alle Sender zur exakt gleichen Zeit einschaltest. Als Anhaltspunkt: für ca. 20 Bytes sende ich maximal 4ms. Du könntest auch jeden Sender minimal unterschiedlich Lange schlafen lassen. damit garantierst du, das irgendwann mal alle kolidieren, aber gleichzeitig sollte jeder irgendwann mal frei sein. (Angenommen du hast weniger als 75 000 Fenster in deiner Wohnung) Oder du wartest nach allen x mal senden auf eine Antwort vom Server, der dir sagt wie lange du jetzt schlafen sollst. Aber solange du unter hundert Sendern bist, würde ich mir darüber keine Sorgen machen.
>Oder du wartest nach allen x mal senden auf eine Antwort vom Server, der >dir sagt wie lange du jetzt schlafen sollst Ja das wäre dann ne Master Slave beziehung aber dann muss mein "Fenster" bidirektional kommunizieren können... Da ich keine 75000 Fesnter in meiner Wohnung habe sonder nur 500 denke ich das ich eine kollision in kauf nehme :) Ich schaffe mir jetzt mal diesen RFM02 als sendemodul und den RFM12 als empfangsmodul an.... Damit ich mit dem Modul schnell zurecht komme wäre mir eine kurze "To-Do" Liste sehr hilfreich mit der ich das modul schnell zum laufen bekomme (externer Schaltungsbedarf, Konfiguration, Daten Senden/Empfangen) Gruß und schonmal danke für die Hilfe Andi
Andi schrieb: > Ich schaffe mir jetzt mal diesen RFM02 als sendemodul und den RFM12 als > empfangsmodul an.... Zum Testen würde ich mir nur ein paar RFM12 anschaffen (besser 3 oder 4, falls man mal eins kaputt macht). Die RFM02 sind zwar 1,50€ billiger, aber die haben eine andere Pinanordnung als die RFM01 und RFM12 und ein bischen andere Features. Für die ersten Tests ist es sinnvoll zwei gleiche Module zu haben, die beide über irgendeine andere Kommunikationsmöglichkeit verfügen (UART, LEDs, Web, ...) damit man einfacher debuggen kann. Da macht man sich mit zwei verschiedenen Modulen nur das Leben noch unnötig schwerer. Wenn man dann eine stabile Library fertig hat, kann man für die Massenproduktion immer noch auf RFM02 umsteigen. Andi schrieb: > Damit ich mit dem Modul schnell zurecht komme wäre mir eine kurze > "To-Do" Liste sehr hilfreich mit der ich das modul schnell zum laufen > bekomme (externer Schaltungsbedarf, Konfiguration, Daten > Senden/Empfangen) Da würde ich den Artikel: http://www.mikrocontroller.net/articles/RFM12 und dann die unzähligen Beiträge hier im Forum empfehlen. Die hier Tuts hier sind auch ganz gut: http://blog.strobotics.com.au/2008/01/08/rfm12-tutorial-part1/
Habe beim pollin ein programming guide gefunden mit nem PIC example code... Leider bin ich unfähig den code aus dem PDF zu kopieren. Beim einfügen zeigts nur vierecke an. Wie bekomme ich den Code da raus (außer abtippen)?? Kann das mal jemand probieren und schauen obs funktioniert? Hier ist die PDF (code fängt ab seite 10 an): http://www.pollin.de/shop/downloads/D810072D.PDF Wäre echt super wenn des jemand hinbekommen würde :)
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.