Hallo ! Ich habe hier im Forum leider nichts entspr. gefunden. 1. Hat jemand schon mal die Zeit gemessen nach dem "Einschalten" wie lange es dauert bis das Modul "Ready" ist, bevor man mit senden loslegen kann - also die Zeit vom einschalten der Spannung am Modul bis zum senden ? Soviel ich weiß kann man ja am Modul nicht den Status abfragen, oder doch ? 2. Im Datenblatt steht folgendes: The wake-up period is determined by: Twake-up = M * 2^R [ms] Ich verstehe diese Zeit vom Zeitpunkt t0 (aus dem Schlaf reisen) bis das Modul quasi wieder sendebereit ist, aber ich bin mir nicht sicher. Nachdem hier von "period" die Rede ist - heißt das, dass es dann zyklisch passiert, oder muss ich nach dem Senden der Daten wieder händisch (also per Befehl vom uC) das Modul schlafen-legen ? Gruß Uli
Hallo, Du redest hier vom WakeUp-Timer... Die Formel gibt die Registerwerte. Der WakeUp-Timer erzeugt einen Interrupt, wenn er abgelaufen ist. Um das Einschalten der RFM-Komponenten bzw. das Schlafen schicken mußt Du Dich per Programm alleine kümmern. Gruß aus Berlin Michael
Hallo Michael ! > Die Formel gibt die Registerwerte. Das war mir klar. > Der WakeUp-Timer erzeugt einen Interrupt, wenn er abgelaufen ist. D.h. er würde dann den Pegel am nIRQ wechseln ? Ich hab mir gerade nochmals das Datenblatt angeschaut, aber ich dachte ich muss dem Modul irgendwie sagen - leg dich schlafen, kann aber irgendwie keinen Modul-"Befehl" finden der das macht. Gruß Uli
Moin, Uli B. schrieb: > Ich hab mir gerade nochmals das Datenblatt angeschaut, aber ich dachte > ich muss dem Modul irgendwie sagen - leg dich schlafen, kann aber > irgendwie keinen Modul-"Befehl" finden der das macht. Gibt es auch nicht. Schalte via "Power Management Command" Sender/Empfänger ab und den "wake up-timer" ein. Im Interrupt muss dann der vom Modul abgeholte Status ausgewertet werden. Wenn Bit 5 "WKUP" gesetzt ist, ist das Ding aufgewacht. Sender/Empfänger wieder einschalten ist deine Sache MfG
Hallo Sauger ! O.K. das heißt dass der wake-up timer auch beim ausgeschaltetem Power Management weiterläuft. Das würde dann für einen kontinuierlichen zeitl. Ablauf so aussehen: 1. Wake-Up Timer über Twake-up = M * 2R setzen. 2. Power-Management: Modul-Ausschalten 3. Über uC wenn WKUP-Bit im Statusregister gesetzt dann Powermanagement einschalten. 4. Daten senden. 5. WKUP-Bit falls notwendig event. löschen. 6. Fange wieder bei 2. an. Zu meiner anderen Frage... Dieses Status-Register zeigt aber nicht an wann das Modul nach zuschalten der Spannungsversorgung wieder sendebereit ist, oder doch ? Das ist für mich deshalb sehr wichtig, da in diesem Projekt mehrere Faktoren zusammenkommen die event. zum K.O. Kriterium führen können. Bei dem Pollin-C-Beispiel-Code wird z.B. fast 1000ms gewartet bis zumindest am Anfang die Initialiserung durchgelaufen ist. Nur das wäre z.B. für eine "Fast-Echtzeit-Anwendung" fast nicht durchführbar, da das Modul auch noch über einen Mini-Akku (nicht größer als event. eine Knopfzelle(max. 2 cm Durchmesser und max. 1-2mm Höhe - Li-Ionen oder LiFE Akku) betrieben werden soll die event. z.B. 1/2 bis ein Jahr halten soll.
Nabend, Uli B. schrieb: > O.K. das heißt dass der wake-up timer auch beim ausgeschaltetem Power > Management weiterläuft. Nein,es gibt kein Power Management. Betrachte den Timer einfach als „Erinnerung“ - da war noch was. Den Status des Moduls musst du selber bestimmen. Die Zeiten nach aktivieren des Senders (Empfänger macht keinen Sinn) geht aus dem Datenblatt vor, ist unter "Turn-on/Turnaround timings" zu finden. MfG Ich musste im Betreff das "POR" entfernen das Forum meinte es wäre Spam in Form von P.O.R.N
Hallo Sauger ! > Ich musste im Betreff das "POR" entfernen das Forum meinte es wäre Spam > in Form von P.O.R.N O.K. kein Problem. > Nein,es gibt kein Power Management. Sorry, da hab ich mich schlecht ausgedrückt. Ich meinte auch mittels des Power Management-Commands(CMD) das z.B. in meinem Fall der Sender disabled wird. Das PDF von Dir kannte ich noch nicht - danke, das muss ich mir nachher mal näher anschauen. Der abgeänderte Ablauf würde dann aber schon so aussehen, oder ? 1. Wake-Up Timer über Twake-up = M * 2R setzen. 2. Über Power-Management-CMD: Sender-disablen und Wake-up Timer enablen. 3. Über uC (nIRQ) wenn WKUP-Bit im Statusregister des Moduls gesetzt, dann Powermanagement-CMD Wake-up Timer disablen und Sender enablen. 4. Daten senden. 5. Fange wieder bei 2. an. > Die Zeiten nach aktivieren des Senders (Empfänger macht > keinen Sinn) geht aus dem Datenblatt vor, ist unter "Turn-on/Turnaround > timings" zu finden. Danke das werde ich mich nachher anschauen. Gruß Uli
Hallo, ich habe in meinen Sensoren den RFM02 drin, weil die nur senden. Der AVR läuft mit internem RC-Oszillator, da der RFM02 die Bits zum Senden sowieso einzeln will (kein Sende-FIFO), spielt ein genauer Takt keine Rolle. Der RFM02 wird schlafen geschickt, nur der WakeUp-Timer läuft, dann wird der ATiny wird in den Powerdown geschickt. Der Interrupt vom RFM02 weckt den Tiny, der liest den Sensor aus, startet den RFM92, sendet seine Daten, schickt den RFM02 wieder schlafen und geht wieder in den PowerDown. Verbrauch ca. 4µA + Sensor und Senden ca. alle Minute für etliche ms. Laufzeit mit CR2032 im Gefrierfach des Kühlschrankes ca. 9 Monate. http://www.avr.roehres-home.de/sensoren/index.html Gruß aus Berlin Michael
Mahlzeit, Michael U. schrieb: > Verbrauch ca. 4µA + Sensor und Senden ca. alle Minute für etliche ms. > Laufzeit mit CR2032 im Gefrierfach des Kühlschrankes ca. 9 Monate. etwas Ähnliches mach ich hier auch, ist ein DS18S20 für die Außentemperatur und DCF77 für die Uhrzeit. Das ganze wird an eine Betriebsdatenerfassung der Heizung gesendet. Betrieben und eingebaut in einer geschlachtete Solar Gartenleuchte. Verbaut ist ein Mega8L der alle 1/2 Stunde mal nach dem Rechten sieht. Stromaufnahme im "Power-down Mode" kann ich mit meinen Schätzeisen nicht ermitteln, die Kommastellen reichen nicht aus. Das Ganze ist seit 3 Jahren knitterfrei im Betrieb. MfG
Sauger schrieb: > Stromaufnahme im "Power-down > Mode" kann ich mit meinen Schätzeisen nicht ermitteln, die Kommastellen > reichen nicht aus. Das Ganze ist seit 3 Jahren knitterfrei im Betrieb. Da gibt's einen einfachen Trick: Schalte einfach einen (hochohmigen) Widerstand parallel mit einer Schottkydiode und das dann in die Spannungsversorgungsleitung, also so:
1 | ---- RRR ---- |
2 | | | |
3 | Batterie (+) ----* *-------- Schaltung |
4 | | | |
5 | -----|>|-----
|
Wenn die Schaltung viel Strom verbraucht, dann greift die Schottky-Diode und begrenzt den Spannungsabfall auf wenige 100 mV. Wenn der Stromsparmodus aktiviert ist, dann kann man mit dem kleinsten mV-Meßbereich des Multimeters den Spannungsabfall am Widerstand messen und so auch sehr kleine Ströme messen. Wenn einen hauptsächlich die Tendenz interessiert, dann kann man auch einfach ein Poti verwenden und stellt dann im Power-Down die Spannung z.B. auf den halben Meßbereich des Multimeters, also z.B. auf 100 mV wenn man im 200 mV-Bereich mißt. So hat man quasi eine "Stromlupe" und sieht sehr schnell welche Maßnahme (ausschalten Pull-Ups oder interner Peripherie, ...) welche Stromänderung bewirkt. Gruß, Bernd
Hallo, ja, so habe ich es auch gemacht. Die Diode ist nötig, da sonst beim Nennstrom der Schaltung der Spannungsabfall üblicher Strommesser zu groß für den Betrieb ist und der AVR hängenbleibt. PS: Strommesser war bei mir ein Flohmarktkauf: http://bama.edebris.com/download/philips/pm2503/philips%20pm2503.pdf Gruß aus Berlin Michael
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.