Author Topic: RFM69HW distance range problem - Regarding  (Read 2403 times)

autobot

  • NewMember
  • *
  • Posts: 6
RFM69HW distance range problem - Regarding
« on: March 28, 2018, 12:40:17 AM »
this is my first post,

i am using RFM69hw module using RFM69.h library, for communication between  Arduino (TX) and Nodemcu12E (RX)
 i set the commands as follows

  radio.setHighPower(true);
  radio.setPowerLevel(31);
but i got range below 100 meters only .
is there something to add any commands for getting maximum range in RFM69hw module.

can you suggest any sample codes ?????

thanks in advance
« Last Edit: March 28, 2018, 12:41:57 AM by autobot »

LukaQ

  • Sr. Member
  • ****
  • Posts: 302
  • Country: si
Re: RFM69HW distance range problem - Regarding
« Reply #1 on: March 28, 2018, 02:10:10 AM »
I don't think so. The most you lose with bad antenna. With good antenna, you need very little power, while with bad one, you would need even more power than HW can give. So... make or get better antenna, this is VERY important for anything that is beyond home (house) use

autobot

  • NewMember
  • *
  • Posts: 6
Re: RFM69HW distance range problem - Regarding
« Reply #2 on: March 28, 2018, 06:15:12 AM »
thank u for reply LukaQ,

I am using 433MHZ Spring antenna, i studied this antenna's spec that says 1km distance but actually i get only less than 100m.

my transmitter placed on 30 feet from ground level . whereas my receiver placed on ground level.

kindly suggest me that this antenna is enough

syrinxtech

  • Sr. Member
  • ****
  • Posts: 347
  • Country: us
    • Syrinx Technologies
Re: RFM69HW distance range problem - Regarding
« Reply #3 on: March 28, 2018, 07:05:59 AM »
Not sure if this helps autobot, but the specs on the radio page indicates that you need a 173mm antenna for this radio.

LukaQ

  • Sr. Member
  • ****
  • Posts: 302
  • Country: si
Re: RFM69HW distance range problem - Regarding
« Reply #4 on: March 28, 2018, 08:36:57 AM »
thank u for reply LukaQ,

I am using 433MHZ Spring antenna, i studied this antenna's spec that says 1km distance but actually i get only less than 100m.

my transmitter placed on 30 feet from ground level . whereas my receiver placed on ground level.

kindly suggest me that this antenna is enough
The problem is, that you can't really say how good impedance match is for RFM, could be far off and that alone can reduce your max distance by several times. If space is not a problem, get a piece of CU wire, one solid wire and have its length be about 180mm. Solder it to RFM. Then you can snip away 2mm at a time and see how your RSSI is. Once you get close, you will snip away very little, say 1mm until you find that your RSSI is going back to worse. Measure the length then and say add 1-2mm
That should be your final piece of wire on both sides. That will be monopol antenna. Dipole would be much better for big distances.

Kilo95

  • Sr. Member
  • ****
  • Posts: 340
  • Country: us
Re: RFM69HW distance range problem - Regarding
« Reply #5 on: March 28, 2018, 02:47:02 PM »
You could fold over the tip of the copper wire a 1-2 mm at a time with needle nose pliers instead of trimming it each time. Then once you find where your RSSI gets worse, then cut it 1-2mm longer. Saves having to cut and solder a new wire. just a thought

autobot

  • NewMember
  • *
  • Posts: 6
Re: RFM69HW distance range problem - Regarding
« Reply #6 on: March 29, 2018, 03:47:51 AM »
thanks for replay kilo95 and syrinxtech,

am change the antenna in 170mm copper wire antenna its get good distance cover.

but i little confuse how to decrease Transmitter dB level

radio.setPowerLevel(31);  31 is maximum level of 20dB

dB level decrease relevant value of 31
please any one share the dB level (0 to 20) which value put on   radio.setPowerLevel();

LukaQ

  • Sr. Member
  • ****
  • Posts: 302
  • Country: si
Re: RFM69HW distance range problem - Regarding
« Reply #7 on: March 29, 2018, 04:23:34 AM »
you could use ATC and set your target RSSI. This could be best, since it will change as link changes.
Other way is to set fixed power with radio.setPowerLevel();
With HW, you have 16 steps, so 31 and 30 will the same 20dB level. non H version has 32 steps

Code: [Select]
void RFM69::setPowerLevel(uint8_t powerLevel)
{
  _powerLevel = (powerLevel > 31 ? 31 : powerLevel);
  if (_isRFM69HW) _powerLevel /= 2;
  writeReg(REG_PALEVEL, (readReg(REG_PALEVEL) & 0xE0) | _powerLevel);
}

Its a bit more complex than this, since it is relevant if you have PA1+PA2 turned on, if you have PA_Boost turned on or if you have

Output power will depend on:
Code: [Select]
//if (_isRFM69HW) setHighPowerRegs(true);
if (_isRFM69HW) setHighPowerRegs(false);
which is
Code: [Select]
void RFM69::setHighPowerRegs(bool onOff) {
  writeReg(REG_TESTPA1, onOff ? 0x5D : 0x55);
  writeReg(REG_TESTPA2, onOff ? 0x7C : 0x70);
}
and
Code: [Select]
setPowerLevel()
and
Code: [Select]
///* 0x11 */ { REG_PALEVEL, RF_PALEVEL_PA0_ON | RF_PALEVEL_PA1_OFF | RF_PALEVEL_PA2_OFF | RF_PALEVEL_OUTPUTPOWER_11111}
where you can see last bit is setPowerLevel(), so you don't change that, you do it with setPowerLevel(). And PA0,PA1 and PA2 can be turn on and off. Just read which one you can have and which one you can't. Default is PA0 = off, PA1 and 2 are on
also setHighPowerRegs() is on

you can make simple sketch and play with this, turning different things on and off via serial port (or compile sketch each time)
« Last Edit: March 29, 2018, 04:33:32 AM by LukaQ »

autobot

  • NewMember
  • *
  • Posts: 6
Re: RFM69HW distance range problem - Regarding
« Reply #8 on: March 29, 2018, 05:23:52 AM »
I set  radio.setPowerLevel(31); in Transmitter 3sec sleep mode using LowPower library measure current level is only 8mA this is right or wrong??????


how to i set 13dB Transmitter power in the radio.setPowerLevel();
« Last Edit: March 29, 2018, 06:23:36 AM by autobot »