NRF24L01+PA+LNA power down question



  • First sorry if this has been asked or even better - answered before, it's my first post to the site.
    I am using a NRF24L01+PA+LNA module and was able to successfully communicate from my mail box several houses apart from where I live. Trying to build a mail notifier. To get the module to be able to ping it's sibling I had to reduce the baud rate change the channel and crank the power to max (not sure this one actually played a role, will test more);
    With a scope I measured the power to about 90mA when transmitting - the ampmeter shows a constant of 20mA doesn't catch the very short glimpse but that is expected.
    The MCU is an Arduino Pro Mini powered on 3.3V so I have no conversion problems.
    I managed to put the mini to sleep and the power is couple of milliamps I need to physically remove the mounted LED to get where it should be - less than 1mA.
    I have also managed to right the appropriate registry on the NRF to put it sleep however here is the problem it goes to 7mA and it "sleeps" there. This is completely not acceptable this is NOT battery territory.
    I tried the exact same code on a NRF24L01+ without the PA and it goes to nano amps when sleeping.
    I am not experienced however I think if I don't get a reason on why the power is so high I will look into creating a relay with a transistor to power the radio down;
    To my understanding the NRF should "tell" the PA to reduce the power and that is not happening.
    Can I fix it? via code? is it a bad module where there is missing connection between the two modules?
    Please advise! here is a closeup picture of the module https://photos.app.goo.gl/JSisAZBcNmAYBQQq7
    Thanks!


  • Mod

    Hi @dan-mincu, welcome to the MySensors community.

    Just call the sleep() function, it will take care of powering down the radio and the microcontroller.

    Documentation https://www.mysensors.org/download/sensor_api_20#sleeping


  • Mod

    @dan-mincu the pinout of the amplified modules is identical to the non amplified modules. Therefore the PA + lna are not accessible from the outside, and the nrf also doesn't actively control them.
    IIRR the PA is enabled by the CE line of the module, so it is disabled in sleep mode. Still it might draw some current though, that could be what you are measuring.
    I did a quick measurement on some budget pa+lna module. At max power, tx current is 65.1 mA, rx 13.7 mA and sleep current 1.1 uA.
    A lot lower than yours indeed, using regular mySensors sleep() method (measured using the nrf doctor btw).


  • Mod

    @dan-mincu I see power consumption is a repeating topic, therefore I added a table with measurements for some of my modules here: https://www.mysensors.org/build/battery#radio-power-consumption
    Maybe someone else can add some more radio types (RFM, nRF52 etc.)



  • Interesting, thanks for the responses!
    I am getting 7.5mA using a ampermeter and 20 when power down is disabled.
    When transmitting I get spikes north of 110mA and that is only if the power is set to maximum mode. the other 3 modes (there are 2 bits to set for the amplification) I get considerably lower values something like 30 -40- 60 can't remember now I need max anyway.
    I am using just the wire library to talk to the NRF module therefore putting the module to sleep via setting the bit described in the datasheet is probably not sufficient to power down the PA module.
    0_1563245626839_b0c6e9e4-47a9-4c78-86f4-a50a89e9459b-image.png

    Probably, to power the radio amplifier down I also need to set the CE low or high before setting the above mentioned bit ?!
    I will look on github into the indicated library to see how sleep() is doing it in there and will report back.



  • Oh boy got it working! one line of code to set the CE to LOW just before sleeping the radio and HIGH upon wake up.
    Power consumption down to 1.2microA from 7.5mA!!
    I'm happy I don't have to create a transistor relay as I was already in trouble with the voltage drop a transistor introduces.


  • Mod

    @dan-mincu good to hear you got it working. Next time please clearly stress that you are not using the mySensors library. The mySensors library handles all the sleeping for you and powers the radio down correctly.

    Or, take this opportunity and start using it now! 😉


 

200
Online

8.7k
Users

9.5k
Topics

99.5k
Posts