Power emission of NRF
lunarok last edited by
Anyone has informations about the power of emission of our lovely NRF ?
I find only the maximum of the antenna one, around 100mW (like WiFi) at maximum force.
Will be interested by the average power of a classic NRF on a sleepig node (when he wakes up of course) for exemple.
To compare with some other chips and standards.
Thanks if anyone see the information somewhere or has it for sharing.
In datasheet, NRF24 power consumption :
- In emission 11.3mA TX at 0dBm output power
- In reception 13.5mA RX at 2Mbps air data rate
- I think you can add TX and RX consumption when you emit???
It depends of your sleep time and your power consumption during sleep time. Same for wake up time.
I don't know what is your power consumption, but for example, if we have a cycle like this (1000 msec):
SLEEP : 900ms at 0.040mA
WAKE UP : 100ms at 15mA (in reception mode without transmitting)
The calcul should be : ((100x15)+(900x0.040)) / 1000 = 1.536mA average without including a TX transmit
This is something like that I think. I hope my calcul is good and this is what you was asking for. To know power during transmitting, same maths. Please someone tell if I made a mistake.
See you soon
ehm .. about power consumption ..
I tested in GCC .. but not in mysensors ..
ard is 5 and this is 1250us
arc is 15 .
transmit one packet (32byt payload with 5byt address etc + ack ) is more then 1.5ms in 250kbit speed
there is possible to sleep (power down mode) more then 25ms , wake up and listening around 3ms , and we must receive data packet .. it's only idea .. if tested in my application use different parameter .. and have better power consumption.. ..
with this we have respond time around 30ms .. if change ard to 4000us then we can do it better ..
if my calculation is good then wake up time need around 6ms and sleep time is possible use = (14 * 4ms) + (14 * 1.5ms) = aroun 77 ms ..
@dzairo : interesting thoughts. I am actually trying to do something like this : low power without lost messages. Maybe dumb question, but what do you mean when you tell GCC, arc and ard??
I was thinking about doing sleep/wake up cycle to reduce consumption too. But I was not sure if doing this I could lost messages. And next, if message lost can happen, i was thinking about having a basic buffer in GW for resend with maxretry param (limited in my case to V_LIGHT to not fill my buffer too fast and not decrease GW perf).
Does someone think it is possible to have cycle without lost messages and without the needs of resend buffer? Sure it depends on lots of factor.
Here what I am trying to do:
RelayButtonWithActuator sketch modified with cycle idea (sleep time can be wakeup by buttoninterrupt, next I enter in wake up for xx ms to receive RX). But what to do if GW send a message (from the controller) and I am in sleep mode. Must I have a buffer to resend in the GW???
My idea behind this is to have a very low power wallswitch so I could power my node just by filament or bypass without transformer (in case i only have PHASE) . and a little rechargeable CR2032 could be added in case I need it.
I will try to do some maths to find the best cycle but if someone has already experimented this....it should be great!
lunarok last edited by
Thank for replies. But actually, I don't need power consuption but power emission.
This is a "health" value, able to compare the emission of waves by wifi, microwave and other RF.
in nRF24L01+ documentation :
there is : ARD Auto Retransmit Delay
and ARC Auto Retransmit Count
it's mean .. if send packet then switch to RX (130us) and listening for ACK .. if not received ACK then wait time defined in ARD , and send packet again-> wait for ACK .. and try it up to setting in ARC .. with this is possible change power consumption ..
in my older project .. WinAVR .. with software function make ARC bigger then .. can retransmit packet more than 15 times .. but respond time is longer .. if we synchronize receiver then we can make it better ..
second solution is use carrier detect .. but this is little complicated ..
nRF24L01+ chip is very good chip with best one of wake up time from deep sleep to RX or Tx time .. only 140us .. all other have around 200u or 1ms .. very ong time ..
solution .. master if want send data then on first send carrier only, for some predefined time .. and then send packet.. and receiver wake up and listening for this carrier .. 130us + 40us is total time to need wake up and check CD , if signal power levels above -64dBm then this RDP (CD) bit set .. and we know there is somethink who transfer .. yes we don't know if it's jam or somethink else .. but .. receiver need only 200us to wake up .. and then can go sleep .. there is more way how to do it ..
but every need : synchronization and table of node .. etc .. WSN is not easy ..
in fact MySensors is very good , very easy , very useful and understated
@lunarok about power emission .. I test it in my house .. WiFi is different .. but in 2.4Ghz is problem with signal mirroring .. receiver detect more signal , all are same but little delayed .. then receiver not receive signal correct .. in free area there are not mirroring signal then with low output power can get long distance .. and low power consumption..
but in Built up area is better to use 868Mhz or 433Mhz .. there is also mirroring but less then 2.4Ghz .
I can test only nRF24L01+ with nRF905 or CC1101 .. but in fact .. in CC1101 or nRF905 is possible to set lower transmission speed then get longer distance ..
or not ???