Forum: HF, Funk und Felder RFM02/RFM12; Crystal oscillator


von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Mal eine Frage an diejenigen, die schon damit gespielt haben.

Im Power Management Command kann ich den Crystal oscillator im Sleep 
mode abschalten.

Wird hiermit nur der Clk-Ausgang abgeschaltet oder der komplette 
Oszillator? Wie läuft dann der Wakeup timer ohne Takt?


Ich stelle mir folgendes vor:

Ich habe einen ATtiny-??/ATmega-?8 der seinen Takt vom RFM erhält (nach 
por = 1MHz). Dieser initialisiert den RFM, programmiert den Wakeup 
timer, schickt den RFM nach x ms ins Bett und schläft dann sofort (also 
noch vor Ablauf dieser x ms) selber ein.

Nun ist alles im Ruhezustand.

Nach einer gewissen Zeit (1-5 Minuten) soll nun der RFM wieder 
aufwachen. Der ATxxx bekommt wieder einen Takt und wird per nIRQ(?) 
aufgeweckt.
Jetzt werden gewisse Umweltdaten ermittelt und mittels RFM gesendet.

Ist dies geschehen, geht es wieder mit dem Schlafzyklus los.


Würde das so funktionieren?
Oder läuft der Wakeup timer mit abgeschaltetem Oszillator nicht?

Weitere Frage:
Können die RFM-"Register" auch ohne aktivem Oszillator beschrieben 
werden?

von Michael U. (amiga)


Lesenswert?

Hallo,
der WakeUp-Timer der RFM läuft unabhängig wenn er eingeschaltet ist.
Sehr sparsam aber nicht sonderlich genau.

Ich mache es bei meinen Sensoren so:
AVR (Tiny45) läuft mit internem Takt (8MHz).
RFM wird initialisiert, WakeUp auf ca. 1 Minute gesetzt, dann wird der 
RFM vom AVR komplett (außer WakeUp-Timer natürlich) schlafen geschickt, 
der Sensor und der AVR geht in PowerDown.

Der RFM weckt per nIRQ den AVR auf, der macht seine Messung und schickt 
das Datenpaket über den FRM raus.
Anschließend wie oben.

Ruhestromaufnahme mit Tiny45, RFM02 und FOST02 3-4µA, Spitze beim Senden 
ca. 12mA.

Läuft hier seit ca. 2 Monaten mit 6 Sensoren.
Beitrag "Sensoren mit RFM02/12, FOST02, HP03S (ASM)"

Gruß aus Berlin
Michael

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Danke,
das ist genau das, was ich auch damit vorhabe.

Noch ne Dumme Frage: Gibt es zu Deinem Projekt Quellcodes? So zum 
Spicken? Dann müßte ich das Rad nicht komplett neu erfinden.

Christian

von Michael U. (amiga)


Angehängte Dateien:

Lesenswert?

Hallo,

prinzipiell ja, da daß Interesse bisher nur mäßig war und ich immernoch 
umgebaut habe, habe ich mir dafür noch keine Zeit genommen...

Es gibt zur Zeit:
alle Module mit RFM02 als Sender,
Sensor entweder FOST02 (Temperatur/Feuchte, entspricht SHT11 soweit ich 
weiß), TMC36S (Temperatur, analog, empfehlenswert für AVR mit 1,1V 
Referenz).
AVR Tiny interner Sensor (billiges Schätzeisen, +-1...2 Grad).

Dafür gibt es C-Sourcen oder ältere ASM-Sourcen.
Ein Modul hat Mega88 (war gerade da) mit FOST03 und HP03 (Luftdruck) 
drauf, da gibt es bisher nur ASM-Sourcen.

Anzeigemodul mit Display (T6963C), Mega16, AT45DB161D (16MBit Flash), 
RFM12 (nur als Empfänger) und RS232 mit FTDI auf USB dran sowie DCF77.
Daten werden als .csv abgelegt und können per X-Modem aus dem Flash 
geholt werden.

Außerdem noch U.Radigs Webserver mit einem RFM12 drauf, der die Daten im 
Web anzeigt. Da bin ich gerade dran, einen FTP-Client in Gang zu 
bekommen, dann bekommt der auch noch einen SPI-Flash drauf...

Ach ja, ein Modul mit RFM12 (als Empfänger), einem Mega8 und FTDI gibt 
es auch noch, der ist mehr als Debug-Modul gedacht.

Ich hänge die C-Sourcen hier mal ran, falls es hilft.
Eagle-Files mit den Schaltplänen gibt es auch und hier wurde an einer 
Universalleiterplatte für die Sensoren gebastelt.
Beitrag "Layout - Eagle-Künstler gesucht ;-)"
Da werde ich vermutlich welche machen lassen.

Vielleicht nehme ich mir auch die Zeit und lege den Kram etwas sortiert 
auf meine Homepage...

PS: alle Teile laufen hier so, nichts davon ist bisher wirklich 
komplett. ;-)

Gruß aus Berlin
Michael

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Danke.

Der Empfänger muß bei mir ein USB-Gerät (Verarbeitende Hardware ist ein 
Edimax-Router unter Linux) sein. Dann aber direkt auf dem AVR als HID.

Ich werde mir die Codes mal zu Gemüte führen.

Christian

von Michael U. (amiga)


Lesenswert?

Hallo,

das kennst Du schon?
http://www.carluccio.de/index.php/Edimax_Router

Würde den USB-Kram sparen wenn das zu Deinem Router passt, kenne die 
Teile nicht selbst, nur zufällig gefunden...

Gruß aus Berlin
Michael

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Die Seite kannte ich noch nicht.

Ich könnte den RFM01 auch direkt per GPIO ansprechen und bräuchte dann 
kein USB mehr. USB möchte ich vor allem der Bequemlichkeit halber 
einsetzen.
Den Empfänger kann ich danach an jeden x-beliebigen Rechner anschließen 
- passende Software vorausgesetzt.

Das ist aber dann auch nicht mehr weit von Deinem Debug-Modul weg. Nur 
halt mit USB-Client ohne FTDI.

Für die ersten Tests werde ich wahrscheinlich wirklich auf GPIO 
ausweichen; vielleicht bleibt es dann auch dabei. Aber ob ich für den 
AVR programmiere oder für den Edimax ist egal. Ich muß dann nur keine 
zusätzliche Hardware bauen. Mal sehen, vielleicht bleibe ich dann auch 
dabei.

Christian

von Michael U. (amiga)


Lesenswert?

Hallo,

Christian Harf schrieb:
> Ich könnte den RFM01 auch direkt per GPIO ansprechen und bräuchte dann
> kein USB mehr. USB möchte ich vor allem der Bequemlichkeit halber
> einsetzen.
> Den Empfänger kann ich danach an jeden x-beliebigen Rechner anschließen
> - passende Software vorausgesetzt.
Aus ählichen Gründen mache ich ja auch meine Experimente...
Der Webserver sammelt die Daten ein, speichert sie zwischen und schickt 
sie per FTP alle 1-2 Stunden auf mein NAS.
Vielleicht auch auf den FTP meiner Homepage, dann baue ich http-get 
wieder rein und rufe dort ein php-Script auf, daß die Daten in die 
MySQL-Datenbank schreibt.

> Das ist aber dann auch nicht mehr weit von Deinem Debug-Modul weg. Nur
> halt mit USB-Client ohne FTDI.
Naja, das ganz Projekt ist meine erste Übung in C, sonst nur ASM...
Da werde ich mich im Moment nicht mit dem USB-Kram rumschlagen.

Mir reicht es im Moment schon, mich durch die Sourcen von U.Radig 
durchzuwühlen, das Kommentieren hat er leider nicht erfunden. ;-)
Ich hatte allerdings schonmal 2/3 eines TCP-Stacks incl. ENC28J60 
Treiber in ASM für den AVR fertig, das hilft schonmal ungemein. :-)

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
Noch kein Account? Hier anmelden.