Author Topic: RFM69HW range test!  (Read 315233 times)

wesner00192

  • NewMember
  • *
  • Posts: 3
Re: RFM69HW range test!
« Reply #15 on: November 11, 2013, 10:48:38 AM »
To set the power level in the sketches for the transmitting will the below statement work in the setup function?

radio.setPowerLevel(31);

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: RFM69HW range test!
« Reply #16 on: November 11, 2013, 12:37:47 PM »
Yes it should work.
Although setting it to 31 is pointless, it's already max by default.

Drae

  • NewMember
  • *
  • Posts: 3
Re: RFM69HW range test!
« Reply #17 on: November 24, 2013, 07:57:35 PM »
Whoops, I never noticed all the replies, sorry! I thought the notify function would send emails on new posts o_o

This one's free.

Set reg 0x58 to 0x2D

It increases the sensitivity by 2-3db by enabling the low noise pre-amp.

Good for more distance!

This is a great find; easy enough to dynamically enable when all other reachable nodes are very far away!


By the way, if someone has nice results or wants to share another driver (maybe Drae with the TCP/IP-ish approach?) and is willing to do a writeup, I would be more than happy to post it on the blog.

Unfortunately I haven't yet been able to continue full time dev on this; though the network layer is mostly in a usable state (Still some timesync bugs between nodes to squish!). If there's interest I'd be happy to spend a little time explaining my own approach to a pseudo-TCP, fixed-broadcast window network. :)

hdphilip

  • NewMember
  • *
  • Posts: 17
Re: RFM69HW range test!
« Reply #18 on: April 21, 2014, 11:12:59 PM »

       Did a range test today pretty impressed, 2.19 km. Their were a few house in the way, partial line of sight.
 The module was a 433 MHz RFM69HW,
bitrate   1200
RegFdev 2000
RegRxBw 0x19,0x56

I had it set at power level 29, max power would hang up the TX.

The LCD readout was about -108 Rx rssi. The antenna was a straight piece of wire soldered on the board.
The reception was pretty spotty at best, but when i saw the display change and the led blink,  that's it.


here's a picture of the area.


 

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: RFM69HW range test!
« Reply #19 on: April 22, 2014, 08:20:53 AM »
1.35 miles with some obstacles .. impressive.
So at least 1 mile is achievable without a lot of complications.
Nice to know... it confirms other people's tests. Thanks for sharing your findings!

hdphilip

  • NewMember
  • *
  • Posts: 17
Re: RFM69HW range test!
« Reply #20 on: April 24, 2014, 12:40:45 AM »

Felix,

With the default settings, i was getting about 450 meters, pretty solid reception, but it dropped off pretty fast.
I think with good tuned antennas, the range would be better. I would like to add, on the 2.19 km test, the module was setting on the dashboard. I wasn't able to pull of the road. Here's a picture of my set up.
 

 On the test, i was using a straight piece of wire, although the spring antennas do work.
 I've found with my setup, the node rssi is always pretty close to the gateway rssi, about 5-6 dB worst case.

I'd like to make a software routine to optimize the settings.

Philip

travmaga

  • NewMember
  • *
  • Posts: 6
Re: RFM69HW range test!
« Reply #21 on: April 28, 2014, 10:03:46 PM »
hey guys,
   i'm really impressed (and envious) of your range with the 69HW's.  i've been wrestling with the RFM69.cpp for what seems like weeks now trying to find a combination that works, but i'm afraid my lack of experience is what's hobbling me.  I've looked at all the posts regarding lowering bitrates on this forum, but i may be missing something (or a lot of things) but let me run this past you and tell me if i'm missing something obivous-

in looking at the previous post by  hdphillip, he lists
bitrate   1200
RegFdev 2000
RegRxBw 0x19,0x56

so, if i want to drop the bitrate to 1200, i'll need to change this block in the rfm69.cpp

Code: [Select]
    /* 0x03 */ { REG_BITRATEMSB, RF_BITRATEMSB_55555}, //default:4.8 KBPS
    /* 0x04 */ { REG_BITRATELSB, RF_BITRATELSB_55555},
    /* 0x05 */ { REG_FDEVMSB, RF_FDEVMSB_50000}, //default:5khz, (FDEV + BitRate/2 <= 500Khz)
    /* 0x06 */ { REG_FDEVLSB, RF_FDEVLSB_50000},


to reflect these changes:

Code: [Select]
    /* 0x03 */ { REG_BITRATEMSB, RF_BITRATEMSB_1200}, //default:4.8 KBPS
    /* 0x04 */ { REG_BITRATELSB, RF_BITRATELSB_1200},
    /* 0x05 */ { REG_FDEVMSB, RF_FDEVMSB_2000}, //default:5khz, (FDEV + BitRate/2 <= 500Khz)
    /* 0x06 */ { REG_FDEVLSB, RF_FDEVLSB_2000},




though it appears I’ll also need to adjust this line as well

Code: [Select]
 /* 0x19 */ { REG_RXBW, RF_RXBW_DCCFREQ_010 | RF_RXBW_MANT_16 | RF_RXBW_EXP_2 }, //(BitRate < 2 * RxBw)

but it lists 0x56, and I’m not quite sure what to make of that- I’ve searched for this combination through all of the files and can’t quite make sense of what I should do with that.

   I’ve tried to read as much as I can on this topic before posting, and I see in the comments in the forums and that the bitrate/freqdev and bwrx are interrelated.  I’ve also read that it’s possible to comment out the init functions that call to the non default values and return the 69hw to it’s orig. settings, which sounds like a great way to learn which settings need to be changed in order to affect the bitrate.  I looked for an init function that calls to the sepcs listed above, but haven’t been able to find it (if someone can point me in the right direction there as well, I’d be very grateful)
   Also, My technological acumen isn’t quite sharp enough to parse the hope rfm69 pdf so hopefully someone might be able to explain the best way to drop the bitrate in order to achieve the longer distance that I need for my project.  The data I’m sending is quite minimal so and I’d like to ideally have a large spread of nodes per gateway.  I’ve had great luck so far but this is my weakest part of the process, so I’m really hoping that I’ll be able to achieve some better transmission distances with the lower bitrates. 

   Thanks so much and I really look forward to your suggestions and replies.  If there is any more information I can give you to help better answer my questions, I’ll be happy to.

hdphilip

  • NewMember
  • *
  • Posts: 17
Re: RFM69HW range test!
« Reply #22 on: April 29, 2014, 10:55:16 PM »
travmaga,

i had problems with changing certain parts of the .cpp file.

so i did it this way,
 

The RegRxBw 0x19,0x56 values are something i put together to change the channel filter bandwidth control.
it's register 19 (hex) and the value 56(hex).


what I'm trying to do is narrow the bandwidth of the receiver for a slower data rate. buy doing this the sensitivity will increase.

look at "3.4.6. Channel Filter" in the data sheet

56 in binary is:
01010110 

bits 7,6,5 = 010    DccFreq
bits 4,3    = 10      RxBwMant   the "10b / 24" in table 14 of the data sheet   
bits 2,1,0 = 110    RxBwExp     the "5" in table 14 of the data sheet

so put it all together, and it's 56 hex.

This give me a 10.4 kHz Rx bandwidth

notes:
on the "Struct_ " sketches,  do the "r" and read out the registers, very powerful tool Felix added

The      "radio.writeReg(0xreg,0xvalue);"     is how to change the registers, maybe better to do it this way instead in the .cpp file.

here's how i change the bitrate, freqdev, RegRxBw

 radio.writeReg(0x03,0x68);   //RegBitrateMsb 1200 bitrate
 radio.writeReg(0x04,0x2b);   //RegBitrateMsb
 radio.writeReg(0x05,0x00);   //RegFdevMsb     2000
 radio.writeReg(0x06,0x21);   //RegFdevLsb
 radio.writeReg(0x19,0x56);   //RegRxBw

 radio.writeReg(0x18,0x88); //RegLna register



hopefully this helps

Philip


       


 




travmaga

  • NewMember
  • *
  • Posts: 6
Re: RFM69HW range test!
« Reply #23 on: May 02, 2014, 03:04:41 PM »
thanks so much for the very detailed response!
very helpful.  I'll try to implement these ideas, will let you know how it goes.


CaptainJack

  • NewMember
  • *
  • Posts: 2
Re: RFM69HW range test!
« Reply #24 on: June 29, 2014, 08:51:08 AM »
Hello all,

I'm using a homebuilt moteino, that is: arduino uno and RFM69HCW-module, a cd4050 levelshifter between the two to convert 5v to 3v3 signals, and a 3v3 ldo to generate power for the radio module (rated for 250 mA). In the picture below my setup:



The module is 433 MHz, set to 4.8 kbps, Pout=+20dBm. The antenna is 1/4 wavelength. Two closeups of the pcb:





My maximum range with line of sight is between 100 and 130 meters, not by far what I would have expected. I have a pair of NRF24L01+PA+LNA for comparison: 2.4 GHz, 250kbps, they get 500 meters line of sight. My expectation was that a module with lower frequency would get me better range outdoors.  I also read that most users here get a much better range.

I would be much obliged for any suggestions how to approach from here. Am I experiencing a hardware problem or a software problem ? Some people claim to get 500 meter ranges with just a 1/4 wavelength wire soldered to the module, no apparent large ground plane present. I would say my antenna should be able to do the same...

Cheers,

Jack

hdphilip

  • NewMember
  • *
  • Posts: 17
Re: RFM69HW range test!
« Reply #25 on: June 30, 2014, 08:14:15 PM »
captain jack,

i don't have the same module, but what i have found is the 433 MHz antenna's that are common on ebay aren't very good. try a wire cut to length,

also post your setup code may help.

but what i have found is my "SDR spectrum analyzer" is the best, cheapest tool to make sure you units are on freq.



on the attached picture, I'm a little off freq, i just connected the sdr usb adapter and it takes a little time to stabilize,
the long data burst (bottom) is on my outside unit which is reporting 127.4F
the shorter "ack" (top) is inside at 72F

I'm using a freq temp compensation on both units

Philip



 
 

« Last Edit: June 30, 2014, 08:23:10 PM by hdphilip »

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: RFM69HW range test!
« Reply #26 on: July 01, 2014, 08:13:16 AM »
Great stuff, would be nice if someone would write a for-dummies tutorial on how to set this up and calibrate everything.

hdphilip

  • NewMember
  • *
  • Posts: 17
Re: RFM69HW range test!
« Reply #27 on: July 04, 2014, 09:59:43 PM »

here's a link to the software I'm using for my spectrum analyzer display.

 http://www.sdrsharp.com/

for someone want to pursue this, their are many YouTube videos with step by step instructions, the converter I'm using is from NooElec, R820T sdr & DVB-T "usb dongle. It take a little practice to get the hang of it, their are yahoo groups that can offer help if needed.

It works just like a radio receiver, and more, I would say, if your going to play with these moteino's,
it will be the best investment you'll ever make.

As far as doing the temperature compensation, search this forum for posts by "john k2ox" he pretty much spells it out.

I did create my own temperature compensation correction table for 433 MHz devices, and it seems to work pretty good. its the excel spreadsheet attached.

i made it by watching the frequency drift vs temperature from a remote moteino i put in the freezer, the took it outside set it in the sun.

 And as it reported the temperature, i made note of the frequency change from observing the SDR radio.
I did have to adjust the master's frequency a couple of times during the test.

when i get some time I'll post some code.

Philip

   



     




   

hneiraf

  • NewMember
  • *
  • Posts: 16
Re: RFM69HW range test!
« Reply #28 on: July 07, 2014, 04:24:51 AM »
I have some moteinos running in the outside in a vineyard and a gateway inside a building 200 meters away approx. (base). The temperature change in the outside during the day and night is about 15 celsius degrees as max. The moteino in the outside is reporting PH from water every 15 seconds.

In order to keep the radios tuned I'm just calling this:

radio.rcCalibration();

Every 15 minutes, and this seems to work.
Is that OK? or I should do something else to try to keep the radios tuned in the right frequency?
I'm using the same calibration routine in the base, but every 1 hour.

Thank you,

Hugo

hdphilip

  • NewMember
  • *
  • Posts: 17
Re: RFM69HW range test!
« Reply #29 on: July 07, 2014, 08:04:30 PM »
Hugo,

I haven't studied the radio.rcCalibration(), in depth, if your using the default settings for data rate and bandwidth, if may not be much of an issue at that distance. where the temp correction comes in handy is at long distances, with lower data rates.

Philip