RFM69 sleep mode
-
Strange that you get different values depending on radio. That points to problem with radio sleep and not the Arduino itself.
So if create a RF69 sketch that just sleeps in loop. What happens if you disconnect radio (after init)? Do you you get ~3.75uA?
-
@hek I see that you have powerDown in the MyHwATMega328.cpp how do I use that function?
void powerDown(period_t period) { ADCSRA &= ~(1 << ADEN); if (period != SLEEP_FOREVER) { wdt_enable(period); WDTCSR |= (1 << WDIE); } #if defined __AVR_ATmega328P__ do { set_sleep_mode(SLEEP_MODE_PWR_DOWN); cli(); sleep_enable(); sleep_bod_disable(); sei(); sleep_cpu(); sleep_disable(); sei(); } while (0); #else do { set_sleep_mode(SLEEP_MODE_PWR_DOWN); cli(); sleep_enable(); sei(); sleep_cpu(); sleep_disable(); sei(); } while (0); #endif ADCSRA |= (1 << ADEN); } -
@hek Hi I got a new shipment of Arduino mini pro and after I did the low power hack on this Arduino I now are getting 30uA current usage. Thank again for all you support and for this great MySensor community that you started :). Now I can go full steam ahead in building more sensor for my house.
-
@hek Hi I got a new shipment of Arduino mini pro and after I did the low power hack on this Arduino I now are getting 30uA current usage. Thank again for all you support and for this great MySensor community that you started :). Now I can go full steam ahead in building more sensor for my house.
@Francois said:
@hek Hi I got a new shipment of Arduino mini pro and after I did the low power hack on this Arduino I now are getting 30uA current usage. Thank again for all you support and for this great MySensor community that you started :). Now I can go full steam ahead in building more sensor for my house.
So, just to be clear, is this an accurate summary: the full package (Arduino mni pro plus radio) sleeps at 30uA if using the RFW69 but sleeps at 3uA if using the NRF24L01+?
Also, does it make any difference whether it's RFM69W, RFM69CW, or RFM69HW? Do they all draw the same amount of current while sleeping?
-
@Francois said:
@hek Hi I got a new shipment of Arduino mini pro and after I did the low power hack on this Arduino I now are getting 30uA current usage. Thank again for all you support and for this great MySensor community that you started :). Now I can go full steam ahead in building more sensor for my house.
So, just to be clear, is this an accurate summary: the full package (Arduino mni pro plus radio) sleeps at 30uA if using the RFW69 but sleeps at 3uA if using the NRF24L01+?
Also, does it make any difference whether it's RFM69W, RFM69CW, or RFM69HW? Do they all draw the same amount of current while sleeping?
@NeverDie
Hi, I know this is an old thread, but it is stil a valid subject to me.
I have had success with arduino pro mini v2 and RFM69W in sleep, but not the high power version RFM69HW.
Arduino+RFM69W sleeps at 5.2micro Amp.
Arduino+RFM69HW sleeps at 420micro Amp.
I have written about it in arduino forum.
I would be glad if someone has a solution for this. -
@NeverDie
Hi, I know this is an old thread, but it is stil a valid subject to me.
I have had success with arduino pro mini v2 and RFM69W in sleep, but not the high power version RFM69HW.
Arduino+RFM69W sleeps at 5.2micro Amp.
Arduino+RFM69HW sleeps at 420micro Amp.
I have written about it in arduino forum.
I would be glad if someone has a solution for this.Hi @peres,
My RFM69HW current during sleep is less than 1 uA aprox, which is consistent with what is shown in the datasheet. Interestingly, this is the result when powering the device with a battery; when powering the device from the PC USB serial, it's around 6 uA - still close enough as it's measured with a "normal" multimeter.
I'Which version of mysensors are you using? I've moved to 2.2.0-beta (due to me needing other functionalities not availabel in 2.1.1, namely ATC which btw works fabulously) and found that support for nrf69 is - although not yet 100% completed - significantly improved. Maybe worth a try to see if that fixes your sleep consumption?
Remember adding
#define MY_RFM69_NEW_DRIVERto enable the new driver.
Let us know how it goes :)
-
Hi,
I have the same question, but a little bit different ;)
I use a RFM69 with the Mysensors 2.2.0 beta.
I don't sleep my node with the provided function, since I don't want to sleep for some time, but until a Pin Change Interrupt is triggered (via pin A0 or A1). So, I can't use the sleep() function.
I do put my node to sleep with avr core functions (setting registers, calling power_all_disable() and sleep_cpu()...) but I suppose the radio is never put on sleep !Is there a function I can call to sleep the radio, and if yes, is there another function I should call before sending, to awake the radio ?
Thanks !
-
@napo7
Here the list of the core functions (radio independant):
https://ci.mysensors.org/job/Verifiers/job/MySensors/branch/development/Doxygen_HTML/group__MyTransportgrp.html#gab39d3b81f005e00117269d79c7b2ee4cshould be transportDisable/transportReInitialise
Else the radio specific functions (a layer above driver) are in the MyTransportRFM69.cpp
-
Thanks !
-
@napo7 : you can use sleep with interrupts :
https://www.mysensors.org/download/sensor_api_20#sleeping -
That's not a software interrupt. In facts, the atmega supports interrupt on all pins, and also waking-up the device from any pin change, but the sleep function only support "external interrupts" which can only be triggered on pin 2 and 3.
-
That's not a software interrupt. In facts, the atmega supports interrupt on all pins, and also waking-up the device from any pin change, but the sleep function only support "external interrupts" which can only be triggered on pin 2 and 3.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login