Forum: Mikrocontroller und Digitale Elektronik RFM12 neu initalisieren (nach Wiedereinschalten)


von Kai M. (pentamat)


Lesenswert?

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

von Michael U. (amiga)


Lesenswert?

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

von Avr N. (avrnix) Benutzerseite


Lesenswert?


von Kai M. (pentamat)


Lesenswert?

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

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.