RFM69 Sleep Mode

Gast #4618363
Lesenswert?
• ▲
▼
Hallo,
ich habe mir einen FS20 Sender gebaut mit einem RFM69, LPC812 und PIR 
Modul. Das Ganze soll mit Batterien versorgt werden und deshalb nutze 
ich die max. Stromsparmodi.
Das PIR Modul ist ok, braucht ca. 50-60 µA. Die CPU im deep power down 
Mode braucht nur 0,2 µA, auf dem Steckbrett aufgebaut und gemessen, auch 
ok. Aber die Schaltung mit dem RFM im sleep, CPU im deep power down und 
ohne PIR zieht ca. 80 µA. Laut Datenblatt soll das RFM im Sleep mode 
aber auch nur 0,1 µA ziehen. Hat hier jemand Erfahrung mit dem RFM69 im 
Batteriebetrieb?
Im angehängten Schaltplan fehlt noch eine Verbindung von P0_17 nach DIO2 
für die OOK Modulation.

RFM Initcode:
1
bool RFM69::initializeOOK()
2
{
3
  const uint8_t CONFIG[][2] =
4
  {
5
    /* 0x01 */ { REG_OPMODE, RF_OPMODE_SEQUENCER_OFF | RF_OPMODE_LISTEN_OFF | RF_OPMODE_STANDBY },
6
    /* 0x02 */ { REG_DATAMODUL, RF_DATAMODUL_DATAMODE_CONTINUOUSNOBSYNC | RF_DATAMODUL_MODULATIONTYPE_OOK | RF_DATAMODUL_MODULATIONSHAPING_00 }, // no shaping
7
    /* 0x03 */ { REG_BITRATEMSB, 0x03}, // bitrate: 32768 Hz
8
    /* 0x04 */ { REG_BITRATELSB, 0xD1},
9
    /* 0x19 */ { REG_RXBW, RF_RXBW_DCCFREQ_010 | RF_RXBW_MANT_24 | RF_RXBW_EXP_4}, // BW: 10.4 kHz
10
    /* 0x1B */ // { REG_OOKPEAK, RF_OOKPEAK_THRESHTYPE_PEAK | RF_OOKPEAK_PEAKTHRESHSTEP_000 | RF_OOKPEAK_PEAKTHRESHDEC_000 },//
11
    /* 0x1B */ { REG_OOKPEAK, RF_OOKPEAK_THRESHTYPE_FIXED | RF_OOKPEAK_PEAKTHRESHSTEP_000 | RF_OOKPEAK_PEAKTHRESHDEC_000 },
12
    /* 0x1D */ { REG_OOKFIX, 6 }, // Fixed threshold value (in dB) in the OOK demodulator
13
    /* 0x26 */ { REG_DIOMAPPING2, RF_DIOMAPPING2_CLKOUT_OFF }, // DIO5 ClkOut disable for power saving
14
    /* 0x29 */ { REG_RSSITHRESH, 140 }, // 140 RSSI threshold in dBm = -(REG_RSSITHRESH / 2)
15
    /* 0x6F */ { REG_TESTDAGC, RF_DAGC_IMPROVED_LOWBETA0 }, // run DAGC continuously in RX mode, recommended default for AfcLowBetaOn=0
16
    {255, 0}
17
  };
18

19
RFM Sleep schreibt eine 0 in das Opmode Register. Das zeigt auch Wirkung, der Strom geht von einigen mA auf die 80 µA runter, aber es sollte <1 µA sein.
Angehängte Dateien:
Gast #4618487
Lesenswert?
• ▲
▼
hurra, habe die Ursache gefunden:
durch den deep power down mode der CPU floaten die SPI Leitungen. Und 
das mag das RFM nicht. Habe jetzt 47k pull up's an NSS, MOSI und SCK 
angelötet und alles schläft mit sparsamen 0,3 µA wie es sein soll.
Gast #4873309
Lesenswert?
• ▲
▼
Hallo,

habe ein ähnliches Problem.
Ich komme beim RFM69HW im Sleep-Mode nicht unter 1.2 uA, wobei die CPU 
(bei mir AVR) davon nur 0.13 uA zieht.
Muss der RFM69 ausser für den Sleep mode sonst noch irgendwie besonders 
konfiguriert werden, z.B. PA disable etc.?
Floaten sollten die Pins bei mir nicht, da der AVR ja die gesetzten 
PORTS/PINS auch im power-down weiter hält.
Ausser den SPI Leitungen habe ich noch DIO1 und DIO2 verbunden - und 
auch mit/ohne Pull-Ups alle Möglichkeiten durchprobiert.

Hat jemand den RFM69HW erfolgreich im Sleep-Mode mit den spezifizierten 
0.1 uA?

Antwort schreiben

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.

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.