Author Topic: Using an RFM69HW in low power mode as RFM69W  (Read 1528 times)

Robert

  • Jr. Member
  • **
  • Posts: 56
  • Country: be
Using an RFM69HW in low power mode as RFM69W
« on: November 21, 2016, 11:03:55 AM »
Hi,
In order to standardise the RFM transceivers on my different Moteino, I would like to use RFM69HW everywhere (the so called high power version). However to reduce power consumption on battery powered node, I would like to let it work as a low power one (RFM69W alike).

Now looking a the different registers, I see that the main one regarding the TX power consumption is RegPaLevel (0x11).

This one is set by default when enabling the RFM69HW mode to 0x7F (PA0-0, PA1-1 and PA2-1)
Trying to set the register to the the value of a low power one; 0x9F (PA0-1, PA1-0, PA2-0), it doesnít work. :'(
I must admit I didnít spent too much time in debugging and I wonder if somebody else did encountered the same issue/approach

Thanks in advance
Robert

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6022
  • Country: us
    • LowPowerLab
Re: Using an RFM69HW in low power mode as RFM69W
« Reply #1 on: November 21, 2016, 11:21:53 AM »
There are hardware implementation differences between W and HW. For reference schematics please see the bottom end of the DS where they show 13dbm/20dbm reference schematics, that's essentially how the two variants are implemented on the RFM69 modules.
For that to work you have to set certain registers correctly otherwise nothing will work. This is different for each, and is illustrated in the RFM69 library when you call setHighPower() etc.
The best (and easiest) way to set power to an acceptably low level is to use RFM69_ATC, see the many examples for how you can do that.
You still have to remember to call setHighPower (or use the IS_RFM69_HW directive as shown in examples).

joelucid

  • Hero Member
  • *****
  • Posts: 869
Re: Using an RFM69HW in low power mode as RFM69W
« Reply #2 on: November 21, 2016, 11:28:14 AM »
Quote
This one is set by default when enabling the RFM69HW mode to 0x7F (PA0-0, PA1-1 and PA2-1)
Trying to set the register to the the value of a low power one; 0x9F (PA0-1, PA1-0, PA2-0), it doesnít work. :'(

Due to the way the rfm69hw module is built only PA1 and PA2 can be used. So the lowest TX power setting possible is -2dBm.

It's not too bad though: current consumption decreases much slower than TX power. In fact even at -1dBm current consumption is only 16mA - as low as during RX. Even for the RFM69W current consumption is only spec'd down to -1dBm - and since this is the low power module I think they would have listed lower levels if they did indeed save much power.

The most power efficient way to use these modules is to use the highest baud rate that still works at all at the lowest power level it will work at: doubling the bitrate and TX power gives you the same link quality but significantly reduces power consumption.

Joe

Robert

  • Jr. Member
  • **
  • Posts: 56
  • Country: be
Re: Using an RFM69HW in low power mode as RFM69W
« Reply #3 on: November 22, 2016, 11:40:05 AM »
Joe,

Thanks for your reply, yes, I remember now that  PA0 has no effect on RFM69HW.
I did some tests and you are right the lowest "operational" power is at -2dBm for a RFM69HW (with a default for RFM69W is +13dBm  :)).
So with a little tuning I can configure an RFM69HW to "consume" the same power as a RFM69W when connected on a battery powered mote, and therefore use only one model.
Of course I can use the full power of a RFM69HW on mains powered nodes for instance.

Also, good idea to use a higher baud rate to preserve the battery power, I will also try that,  (if my the environment allows it)

This give the the opportunity to read back the following article:
https://www.andrehessling.de/2015/02/07/figuring-out-the-power-level-settings-of-hoperfs-rfm69-hwhcw-modules/

Thanks again,

Robert