Hy ich möchte gern für eine Alarmanlage mehrere Module mit einem RFM12 Moodule bestücken, die zu einer Zentrale funken. Funktioniert dank CRC auch sehr stabil & wenn kein Feedback kommt wird die Übertragung wiederholt... INT0 löst beim Fenster öffnen eine Meldung an die Zentrale aus Ansonsten erfolgt zur Zeit im Intervall von 5 Sek eine Meldung... Das ganze soll jetzt dahin optimiert werden, das die Module an den Fenstern auf Akku umgestellt werden. Meine Idee: Aktuell nutze ich den Clock vom RFM12 (10Mhz). Das Module würde ich nach dem Senden in Standby setzten (hoffe der Clock geht dann noch). Der Atmel würde nach dem Senden in den Sleep Mode gehen und sofern kein Alarm über INT0 kommt dann nach 5 Sek reseten damit er wieder frisch den Status sendet. Geht das auch intelligenter oder anders? Das mit dem Reset kommt mir zu auswendig vor....
also besten wäre es ja, wenn die Zentrale alle Module kontaktiert und diese dann aufwachen & antworten... dachte erst das geht über nIRQ aber messen kann ich bei eingehenden Signalen nix
Hallo, ich habe bei mir zur Zeit mehrere Module mit RFM02 und Tiny45 laufen. RFM02 mit Sleeptimer, Tiny45 intern 8MHz Clock. Der Tiny wird in den Powerdown geschickt und der RFM02 komplett aus, nur sein Timer an. Alle ca. 1min wird per IRQ vom RFM02 der Tiny geweckt, liest die Daten des Sensors aus und sendet sie. Anschließend den RFM und den Tiny wieder schlafen schicken. Stromaufnahme im Schlaf ca. 3-4µA incl. FOST02. Die Genauigkeit des Timers im RFM ist miserabel und temperaturabhängig. Spielt bei mir keine Rolle, da das genaue Zeitraster uninteressant ist. Wenn z.B. innerhalb von 5 Minuten keine Meldung kommt, ist der Sensor "verschwunden". Störungen würde alle Sensoren betreffen, nicht nur einen. Die automatische Kalibrierung des Timers im RFM mit seinem Quarz habe ich abgeschaltet. Innerhalb ca. 15-25 Grad schätze ich die Abweichung auf ca. 10%, der Sensor im Gefrierfach meldet sich bei ca. -22 Grad etwa alle 75s statt 60s. Ausgefallen ist noch keiner der 6 Sensoren, bisher aber erst zwischen 8 und 14 Tagen Laufzeit... Nachtrag: die Empfänger erzeugen schon einen IRQ, wenn Daten im FIFO sind. Allerdings ahbe ich über solch eine Variante nur sehr kurz nachgedacht: der Empfänger müßte dann durchlaufen und frisst Strom oder man müßte mit Low-Duty-Cycle des RFM arbeiten, dann muß der Karm aber mehr oder weniger aufwändig syncronisiert bleiben, sonst empfängt er zu Zeiten, wo keiner sendet. PPS: mein Posting dort stieß zwar auf fast kein Interesse, aber trotzdem der Link: Beitrag "Sensoren mit RFM02/12, FOST02, HP03S (ASM)" Gruß aus Berlin Michael
das hört sich doch sehr gut an. das mit der Zeitabweichung wär bei mir auch egal. Das mit dem Status Melden soll nur erfolgen, damit ich sehr das alle nocht Leben... 1. Aber kann ich dann trotzdem den 10MHz Takt weiter nutzen oder ist der auch aus? 2. Geht das auch das er aufwacht bei Anfrage von der Basis?
Jörn Ahrens wrote: > das hört sich doch sehr gut an. das mit der Zeitabweichung wär bei mir > auch egal. Das mit dem Status Melden soll nur erfolgen, damit ich sehr > das alle nocht Leben... > > 1. Aber kann ich dann trotzdem den 10MHz Takt weiter nutzen oder ist der > auch aus? Du kannst den Quarzoszillator des RFM natürlich eingeschaltet lassen, verbraucht eben Strom (wieviel steht irgendwo im Datenblatt). Da ich keinen genauen Takt für meine Sensoren brauche, lasse ich lieber den AVR mit internem RC-Takt laufen und schalte den RFM ab. > 2. Geht das auch das er aufwacht bei Anfrage von der Basis? Dann muß eben zumindest der Empfänger des RFM komplett laufen (Stromaufnahme bekommt man aus dem Datenblatt raus). Das wäre mir zuviel. Der "Gefrierfachsensor" hat eine gut abgelagerte CR2025 dran, theoretisch sollte er damit wohl etwas über 1/2 Jahr durchhalten. Keine Ahnung, wie die Li-Zelle bei -20 Grad hält und wie gut die Teile noch sind. Ist eben nur ein Experiment im Moment. Wenn Du den Status Deiner Sensoren z.B. alle 30s schickst und quittieren läßt, ist das doch vermutlich auch ok? Wenn ein Sensor sich eben 2 Minuten lang micht meldet, stimmt was nicht. Machen kannst Du ja vermutlich ohnehin innerhalb dieser Zeit nichts, wenn ein Sensor z.B. durch Störungen nicht durchkommt. Dem Sensor nutzt es auch nichts, wenn er merkt, daß er nicht durchkommt. Auch wenn Du von der Zentrale abfragst, nutzt es Dir nur wenig, wenn keine Antwort kommt, weil die Funkstrecke gestört ist. Du kannst ja schlecht wegen Nachbars Funkkopfhörer jedesmal die Politei alarmieren... Gruß aus Berlin Michael
ok danke erstmal. läuft das ganze noch mit den internen 4MHz vom Atmel? Dachte da gibt es Probleme mit der FIFO, daher die 10Mhz vom RFM12... hatte den Code von Benedikt wenig verändert und zunächst erstmal mein Zusätze drangebaut. das mit dem Timer ist ja mit T =m*(2ms)^r mehr als ausreichend... wäre eine alternative zum reset durch den Atmel.... geht das technisch das ich nur ex: Enable crystal oscillator ew: Enable wake-up timer aktiviere? dann kann ich den 10Mhz nutzen und starte den Atmel. Zum Verbrauch des oscillator habe ich nichts gefunden aber wird der nicht eh für den Timer benötigt? gibt nur base band mit 3.0mA... ansonsten sleep mode (all off) mit 0.3uA
Jörn Ahrens wrote: > ok danke erstmal. läuft das ganze noch mit den internen 4MHz vom Atmel? > Dachte da gibt es Probleme mit der FIFO, daher die 10Mhz vom RFM12... Der FIFO darf sowieso nur mit 1/4 der Taktfrequenz, also 2,5MHz maximal, gelesen werden, sollte also auch mit 4MHz keine Probleme geben. > das mit dem Timer ist ja mit T =m*(2ms)^r mehr als ausreichend... wäre > eine alternative zum reset durch den Atmel.... > > geht das technisch das ich nur > > ex: Enable crystal oscillator > ew: Enable wake-up timer Sollte ohne Probleme gehen. > > aktiviere? dann kann ich den 10Mhz nutzen und starte den Atmel. Zum > Verbrauch des oscillator habe ich nichts gefunden aber wird der nicht eh > für den Timer benötigt? Der WakeUp-Timer läuft allein und verbraucht 1,5µA. Stimmt, zum Quarz-Oszi alleine habe ich auch nichts gefunden. > gibt nur base band mit 3.0mA... ansonsten sleep mode (all off) mit 0.3uA Ja, das sind auch meine Werte, Sleep 0,3µA + WakeUp-Timer 1,5µA = 1,8µA Dann mein Tiny45 PowerDown max. 2µA (mit WatchDog zieht der Tiny max. 10µA!). Sind zusammen max. 3,8µA. Der FOST02-Sensor zieht 0,2µA im Sleep. Meine gemessenen 3-4µA passen also ganz gut. Gesendet werden im Moment alle ca. 60s 24Byte mit 19200Baud bei -9dBm. Ich schätze auf 10mA + 4mA für den Tiny in dieser Zeit. Das sind rund 12ms pro Minute, die der Sender aktiv ist. Dazu kommen ca. 100ms, die der Sensorkram und der Tiny brauchen. Sind dort ca. 4mA bei 3,3V. Meine Sensoren sollen auf jeden Fall mit einer 3V - 3,6V Li-Zelle laufen und möglichst 1 Jahr durchhalten. HopeRF gibt mit einer CR2032 und etwa meinen zeitlichen Sende-Daten mehr als 2 Jahre an... Gruß aus Berlin Michael
Hallo, mit einem RFM12-433 in einem batteriebetriebenen Temperatur-Sensor-Transmitter habe ich die Erfahrung gemacht, daß nach Aktivierung des Sleep-Mode im RFM12 der Stromverbrauch des RFM12 erstmal auf ein paar uA runtergeht. Soweit ok. Nach etwa 60 sec. steigt dann der Stromverbrauch langsam in 3-4 sec. auf etwa 500 uA an, bleibt dann ein paar Sekunden auf diesem Niveau und fällt dann wieder auf ein paar uA ab. Ansonsten funktioniert der Sleep-Timer korrekt und weckt das System nach der programmierten Zeit mit einem Interrupt auf. Da diese "Hochstromphase" signifikant zum durchschnittlichen Stromverbrauch beiträgt, suche ich nach einer Lösung um diesen Effekt zu vermeiden. Ich weiß, daß der RFM in gewissen zeitlichen Abständen den Quarzoszillator startet und den Sleep-Timer nachkalibriert. Das ist aber ein anderer Effekt und kann wohl nicht umgangen werden. Eine andere lästige Eigenschaft der RFM12-Module betrifft ebenfalls den Sleep-Mode. Nach einer Weile (mehrere On/Off-Zyklen) führt ein Power-Down des RFM12 nicht mehr zu einem Stromverbrauch von wenigen uA sondern das Modul verbraucht dann weiterhin etwa 1,5 mA (MilliAmpere!). Bisher konnte ich das Problem nur umgehen, indem ich vor der Aktivierung des Sleep-Modes das Modul mit einem Software-Reset (Kommando 0xFE00?) in einen korrekten Zustand bringe. Leider dauert das ein paar hundert Millisekunden und trägt damit unnötigerweise wieder zum Gesamtstromverbrauch bei. Hat jemand von Euch ähnliche Erfahrungen gemacht? Gruß Joe
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.