RFM12 neu initalisieren (nach Wiedereinschalten)

OP #1315136
Hallo Forum,

bastel gerade fleißig mit dem RFM12 und Atmega8, benutze dazu auch Teile 
von Benedikts Programm (Danke für die Beispiele).

Soll auch eine Batterieanwendung werden, muß also Strom gespart werden. 
Bin auch auf die Idee mit dem Port gekommen, um direkt das RFM12 ein- 
und ausschalten zu können. Nur leider bekomme ich es dann nicht mehr zum 
laufen. Ich rufe nach dem Wiedereinschalten folgenden Code (so bis auf 
die Parameter) auf, genau der gleiche wie nach einem Reset:

Print "Init"
Call Rf12_init                                              ' ein paar 
Register setzen (z.B. CLK auf 10MHz)
Print "Set Frequenz"
Call Rf12_setfreq(rf12freq)                                 ' 
Sende/Empfangsfrequenz auf 433,92MHz einstellen
Print "Set Bandwith"
Call Rf12_setbandwith(4 , 1 , 4)                            '  200kHz 
Bandbreite, -6dB Verstärkung, DRSSI threshold: -79dBm
Print "Set Baudrate"
Call Rf12_setbaud(rf12baud)                                 '  19200 
baud
Print "Set Power"
Call Rf12_setpower(0 , 6)                                   '  1mW 
Ausgangangsleistung, 120kHz Frequenzshift

Aber ein Senden ist danach nicht möglich (möchte nur Senden). Habe auch 
schon 100ms Warteschleifen probiert. Wie kriegt man das Funkmodul wieder 
richtig angeworfen?

Grüße,
Kai
#1315255
Hallo,

meine berühmte Frage in diesem Zusammenhang: der RFM zieht weniger als 
1µA wenn er per Software komplett abgeschaltet ist. Ist das wirklich 
zuviel?

Die Module scheinen (teilweise) recht sensibel nach dem Start speziell 
bei Batteriebetrieb zu reagieren. Bei mir hat bisher immer ein Elko 
4,7...10µ relativ dicht an den Spannungsanschlüssen des RFM geholfen.
Außerdem war es bei allen Modulen bisher nötig, als erstes den Status zu 
lesen.

Die sparsamste Version, die ich für mich gefunden habe:
AVR mit internem Takt, AVR geht in PowerDown, RFM wird schlafen 
geschickt mit passend gesetztem WakeUp-Timer des RFM.
Verbrauch dann ca. 2µA, mit Sensoren dran (FOST02) ca. 3,5µA.

Vielleicht findest Du bei mir da noch was, Sender sind allerdings RFM02.
http://www.avr.roehres-home.de

Gruß aus Berlin
Michael
OP #1316862
Ok, Danke!

Also mit 0x8201 schicke ich ihn schlafen, denke, auf ein RFM12_ready muß 
ich dann nicht mehr warten und gehe dann mit dem Atmega in den 
Powerdown-Modus. Zum Aufwecken des RFM brauche ich nur einen Sendebefehl 
schicken, oder benötige ich unbedingt den Wake-Up-Timer vom RFM?

Grüße,
Kai

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.