Author Topic: setPowerLevel() function with RFM69CW module  (Read 15820 times)

Scram

  • NewMember
  • *
  • Posts: 29
  • Country: de
setPowerLevel() function with RFM69CW module
« on: March 03, 2016, 02:36:24 PM »
I still had some JeeNodes lying around equipped with RFM12 modules. Since i'm using encryption in my iOT network i couldn't use those anymore and ordered some RFM69CW as they should be pin compatible. So far so good but nothing worked with my test sketch which is also using ATC mode. I had a hard time finding out why nothing worked but finally i found the issue.

The function

radio.setPowerLevel(POWERLEVEL);

was the key.

These strange modules here only work if POWERLEVEL is set to something between 0-25  >:(. Any value between 26-31 will not work at all.

Is there somebody who can imagine why this is like this? Therefore ATC seems not to work as it starts full throttle (31).

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: setPowerLevel() function with RFM69CW module
« Reply #1 on: March 03, 2016, 03:23:49 PM »
Are you saying that even if you don't use RFM69_ATC, but just the regular RFM69 library, and you call radio.setPowerLevel(31) the radio won't work (transmit)?

Scram

  • NewMember
  • *
  • Posts: 29
  • Country: de
Re: setPowerLevel() function with RFM69CW module
« Reply #2 on: March 03, 2016, 03:32:21 PM »
Yes. Even without the ATC it acts like this.

Here's the sketch if anybody wants to look into it:
https://dl.dropboxusercontent.com/u/18139298/RFM69CW%20Test.txt

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: setPowerLevel() function with RFM69CW module
« Reply #3 on: March 03, 2016, 03:57:19 PM »
Interesting, I don't know what to say.
I just tried a Moteino with CW and ATC, it works just fine, the power starts at 31 (max) and dials down to minimum (since both nodes are in the same room). So obviously when it dials from 31 to 25 (your dead region) it still works for me. Bad module? Something in your sketch?

Scram

  • NewMember
  • *
  • Posts: 29
  • Country: de
Re: setPowerLevel() function with RFM69CW module
« Reply #4 on: March 03, 2016, 04:08:08 PM »
Strange stuff. I have 3 more of those modules. Will try if they do the same.

Scram

  • NewMember
  • *
  • Posts: 29
  • Country: de
Re: setPowerLevel() function with RFM69CW module
« Reply #5 on: March 04, 2016, 03:53:11 AM »
Today i tried again and nothing at all was working anymore. Seems like the RFM69CW module is dead now. I soldered up another one and voila, everything including the ATC does work now as expected. Seems like this Chinese delivery was partly faulty even though it looked pretty reasonable packed up in terms of ESD and mechanical protection. Gotta complain on Ali express for sending me faulty modules  :(

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: setPowerLevel() function with RFM69CW module
« Reply #6 on: March 04, 2016, 09:33:42 AM »
Sometimes saving a few bucks isn't really saving a few bucks after all huh...

Scram

  • NewMember
  • *
  • Posts: 29
  • Country: de
Re: setPowerLevel() function with RFM69CW module
« Reply #7 on: March 04, 2016, 11:07:10 AM »
Even if only every second module is working it's going to come cheaper  ;D

executivul

  • NewMember
  • *
  • Posts: 48
  • Country: ro
Re: setPowerLevel() function with RFM69CW module
« Reply #8 on: March 04, 2016, 11:18:59 AM »
RFM69HW is cheaper in Europe than on AliExpress...

Scram

  • NewMember
  • *
  • Posts: 29
  • Country: de
Re: setPowerLevel() function with RFM69CW module
« Reply #9 on: March 04, 2016, 11:20:47 AM »
Where?

executivul

  • NewMember
  • *
  • Posts: 48
  • Country: ro
Re: setPowerLevel() function with RFM69CW module
« Reply #10 on: March 04, 2016, 11:21:22 AM »
Tme.eu

Scram

  • NewMember
  • *
  • Posts: 29
  • Country: de
Re: setPowerLevel() function with RFM69CW module
« Reply #11 on: March 04, 2016, 12:57:48 PM »
The problem seems to become more mysterious now. I equipped all my JeeNodes with the RFM69CW modules (4pcs) and noticed that 2 are working while two didn't. But suddenly when i touched the board with a "non working" module i started to receive packets. After rebooting the module nothing was working again.
I tried to measure the signal levels on the RFM module and it looks like a non working module starts sending once i touch the IRQ line which seems to be low all the time. Since JeeNode and Moteino are both ATMEGA 328 i didnt't think about incompatibilies but now i start thinking what happens here. How does the SPI control work exactly. Who is generating the obviously missing interrupt?
Once i touched the pin with my multimeter the module seems to be sending perfectly fine forever. Should i activate some pull up or pull down resistor somewhere? What the heck is going on? With RFM12B modules these Nodes were all running fine.
« Last Edit: March 04, 2016, 12:59:25 PM by Scram »

Felix

  • Administrator
  • Hero Member
  • *****
  • Posts: 6866
  • Country: us
    • LowPowerLab
Re: setPowerLevel() function with RFM69CW module
« Reply #12 on: March 04, 2016, 01:06:38 PM »
Maybe ask who made them?

Scram

  • NewMember
  • *
  • Posts: 29
  • Country: de
Re: setPowerLevel() function with RFM69CW module
« Reply #13 on: March 04, 2016, 01:16:41 PM »
You think its the RFM modules? I'm not so sure anymore  ::)

Scram

  • NewMember
  • *
  • Posts: 29
  • Country: de
Re: setPowerLevel() function with RFM69CW module
« Reply #14 on: March 05, 2016, 05:57:43 AM »
Finally gave up and dumped the RFM modules. Seems like there's bad ones out there  :-[