www.mikrocontroller.net

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


Autor: Kai M. (pentamat)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Kai M. (pentamat)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.