Low Power: How much current? [Solved]
-
Look at this one:
http://ambiqmicro.com/am18xx-ultra-low-power-rtc14nA !!!! haha
-
Wow! Good find. LOL. I was just about to post the following, as a "for instance," but you already found something that's 2-7x better.
"For instance, Digikey now sells a$14.40 eval board with a newer RTC clock on it that consumes just 100na: http://www.digikey.com/product-detail/en/OM13512/568-11550-ND/4947022
That one uses SPI bus, but there's an I2C variant."I'd really prefer that it be built into the MCU anyway. These things are just the bridge to that. If the WDT could have timed beyond 8 seconds to hours or days, we might not even be talking about it. Apparently it was meant for rebooting the MCU if the MCU got wedged, not for sleeping the MCU for hours or days. It illustrates how long overdue the arduino is for a major updating.
-
You may want to check how the mySensors library actually works. I barely know hardware and coding, I scrape by... lol but in all the sensor examples you have this code:
unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds)gw.sleep(SLEEP_TIME);That is a 30 second duration for sleep. I haven't tried to increase that time yet but maybe they are looping through the 8 second limit? Dunno. Worth to check though how they do it.
My issue is that this sleep method uses 7.6-7.8uA. It would be nice to have it at like < 3uA.
-
I am digging around and looking at the code, I think it just cycles through 8 second batches.
We have an unsigned long, so thats 4,294,967,295 ms = 4294967.295 seconds = 71582.78825 minutes = 1193.046470833333 hours = 49.71026961805556 days.
So IF there is not a cap on the max duration of sleep in the Mysensors library, you can theoretically go to sleep for the max duration of the unsigned long which is about 49 ish days...
-
I have some chronodots too. I thought about same thing (wake up with rtc) but I have not tested yet. And, anyway, i will stay with ulpnode. I have bought chronodots for another pcb I am working on; sort of low power Flower Power for outdoor more robust as I will do my inox ec/humidity sensors myself (I have a mini lathe at home) and with datalogging inside (so need rtc). And I will try to wake up with rtc (programmable hours).
For Atmega328, I agree with @Hek, and you can't do what you want with watchdog. WDT is already well implemented in Lowpowerlab/MYsensors. You can't do more than 8sec cycles. It is in datasheet.
So if you want to wake up each x min/hours or days. Best way I think is RTC. If you need smaller cycle, WDT or ulpnode power management sequence.
I have already done your research few months ago to see if if i could do something different Charles. Unfortunately for me, I had to reproduce ulpnode sequence as he already had the good idea for this I think..it was a good exercise for me :smiley:Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
Funny thing too, atsam3s1a is not bad and have rtc too. -
@scalz said:
Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
Funny thing too, atsam3s1a is not bad and have rtc too.I see they using the CC1200. I don't want to hijack this thread, but any information if they really can achive the 1000m they promise with that?
-
@scalz said:
Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
Funny thing too, atsam3s1a is not bad and have rtc too.I see they using the CC1200. I don't want to hijack this thread, but any information if they really can achive the 1000m they promise with that?
@Oitzu said:
@scalz said:
Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
Funny thing too, atsam3s1a is not bad and have rtc too.I see they using the CC1200. I don't want to hijack this thread, but any information if they really can achive the 1000m they promise with that?
TI did some youtube videos in Norway and South Africa showing huge outdoor range (tens of kilometers) if the conditions are ideal (line of sight, with one transmitter on a mountain, etc.). But you gotta ask yourself: why South Africa? I think probably because the noise floor is so low. It makes for a more seemingly impressive demo.
They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.
-
@Oitzu said:
@scalz said:
Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
Funny thing too, atsam3s1a is not bad and have rtc too.I see they using the CC1200. I don't want to hijack this thread, but any information if they really can achive the 1000m they promise with that?
TI did some youtube videos in Norway and South Africa showing huge outdoor range (tens of kilometers) if the conditions are ideal (line of sight, with one transmitter on a mountain, etc.). But you gotta ask yourself: why South Africa? I think probably because the noise floor is so low. It makes for a more seemingly impressive demo.
They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.
@NeverDie said:
They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.
Hm.. okay. I'm asking because i'm currently trying to build an outdoor high range / low power network.
I don't find any of these cc1200 available on the market, so i will stick to my way of testing some nrf24L01+ with high gain directional antennas. :) -
I have some chronodots too. I thought about same thing (wake up with rtc) but I have not tested yet. And, anyway, i will stay with ulpnode. I have bought chronodots for another pcb I am working on; sort of low power Flower Power for outdoor more robust as I will do my inox ec/humidity sensors myself (I have a mini lathe at home) and with datalogging inside (so need rtc). And I will try to wake up with rtc (programmable hours).
For Atmega328, I agree with @Hek, and you can't do what you want with watchdog. WDT is already well implemented in Lowpowerlab/MYsensors. You can't do more than 8sec cycles. It is in datasheet.
So if you want to wake up each x min/hours or days. Best way I think is RTC. If you need smaller cycle, WDT or ulpnode power management sequence.
I have already done your research few months ago to see if if i could do something different Charles. Unfortunately for me, I had to reproduce ulpnode sequence as he already had the good idea for this I think..it was a good exercise for me :smiley:Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
Funny thing too, atsam3s1a is not bad and have rtc too.@scalz said:
I have some chronodots too. I thought about same thing (wake up with rtc) but I have not tested yet. And, anyway, i will stay with ulpnode. I have bought chronodots for another pcb I am working on; sort of low power Flower Power for outdoor more robust as I will do my inox ec/humidity sensors myself (I have a mini lathe at home) and with datalogging inside (so need rtc). And I will try to wake up with rtc (programmable hours).
For Atmega328, I agree with @Hek, and you can't do what you want with watchdog. WDT is already well implemented in Lowpowerlab/MYsensors. You can't do more than 8sec cycles. It is in datasheet.
So if you want to wake up each x min/hours or days. Best way I think is RTC. If you need smaller cycle, WDT or ulpnode power management sequence.
I have already done your research few months ago to see if if i could do something different Charles. Unfortunately for me, I had to reproduce ulpnode sequence as he already had the good idea for this I think..it was a good exercise for me :smiley:Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
Funny thing too, atsam3s1a is not bad and have rtc too.One of the JeeLabs articles said that with an external clock to do the wakeups, allowing WDT to be turned off, then the atmega328p sleep current (not counting the external clock) could be reduced to 100nA. At that point (and probably long before), the MCU's drain just isn't a signficant factor anymore. and other things become dominant. Things like current leaks through capacitors, then become, relatively speaking, a comparatively huge problem.
[Edit: Found it: "With an ATmega328 powered by 3.3V, the lowest practical current consumption is about 4 µA – that’s with the watchdog enabled to get us back out of sleep mode. Without the internal watchdog, i.e. if we were to rely on the RFM12B’s wake-up timer, that power-down current consumption would drop considerably – to about 0.1 µA:" http://jeelabs.org/2012/06/23/low-power-uas-in-perspective/ ]
-
@NeverDie said:
They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.
Hm.. okay. I'm asking because i'm currently trying to build an outdoor high range / low power network.
I don't find any of these cc1200 available on the market, so i will stick to my way of testing some nrf24L01+ with high gain directional antennas. :)@Oitzu said:
@NeverDie said:
They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.
Hm.. okay. I'm asking because i'm currently trying to build an outdoor high range / low power network.
I don't find any of these cc1200 available on the market, so i will stick to my way of testing some nrf24L01+ with high gain directional antennas. :)In that case, also keep an eye on the Sematech SX1272 and SX1276 radio chips. IIRC, they have an even bigger link budget. They're finally becoming more affordable. Or the Silicon Labs Si4463.is also geared to play in the same ISM narrowband space.
-
Those radios have the potential to draw low currents. The RFM26 aspires to be one of them, but from what I gather, the libraries for it are still coming together.. I've heard comments that the SemaTech libraries are already pretty good though. So, possibly in the future, one of the above, or something similar, will get integrated with MySensors. If you live on a ranch, or maybe just a large parcel of land, perhaps they'd be quite handy. In the meantime, if you're attempting something ambitious outdoors, I'd pick the RFM69HW over the NRF24L01+. Compared to the RFM69HW, the NRF24L01+, at least without PA+LNA, is a weakling. Even then, I have some with the PA+LNA, and so far I've found them disappointing.
-
@NeverDie Thanks for the recommendations. I already ordered a pair of NRF24L01+ with PA+LNA and i planed to test some double biquad antennas on them.
If this is not sufficient engough, maybe i should try the RFM69HW.
The use case are multiple sensor points in a forest powered by solar power. -
@Sparkman said:
@5546dug @NeverDie One thing to be cautious of is that not all Mini's use the same board configuration so the instructions may need to be altered depending on exactly with Mini you have.
Cheers
AlAt the moment I'm wondering whether different Pro Mini's might consume more power than others, even if setup the same. I followed the author's directions, but I'm getting 17uA of current in power-down sleep mode (forever), not the 4.5uA that the author claims to have measured on his. Maybe it has to do with the configuration differences you're referring to? Or, I suppose it could be measurement error (either mine or the author's or both). I'm using a uCurrent Gold in conjunction with a Fluke 87V to do my measurements. The author didn't say how he did his, so I sent him an email asking for the details of how he measured.
I am pleased though at having gotten such a gigantic reduction by following such a simple 3 step process.
@NeverDie said:
@Sparkman said:
@5546dug @NeverDie One thing to be cautious of is that not all Mini's use the same board configuration so the instructions may need to be altered depending on exactly with Mini you have.
Cheers
AlAt the moment I'm wondering whether different Pro Mini's might consume more power than others, even if setup the same. I followed the author's directions, but I'm getting 17uA of current in power-down sleep mode (forever), not the 4.5uA that the author claims to have measured on his. Maybe it has to do with the configuration differences you're referring to? Or, I suppose it could be measurement error (either mine or the author's or both). I'm using a uCurrent Gold in conjunction with a Fluke 87V to do my measurements. The author didn't say how he did his, so I sent him an email asking for the details of how he measured.
I am pleased though at having gotten such a gigantic reduction by following such a simple 3 step process.
For anyone who's still curious, I heard back from the author:
"I used the Voltcraft VC-130, Digital-Multimeter (http://www.amazon.de/gp/product/B003A5TA8U?psc=1&redirect=true&ref_=oh_aui_search_detailpage ) Datasheet: http://files.voelkner.de/1000000-1099999/001090519-da-01-en-VOLTCRAFT_VC130_1_DIGITAL_MULTIMETER.pdf "
I'm actually not as concerned as I was earlier in the thread, now that I understand both Scalz and Brolly759 have managed to get such great results from the pro mini platform. That means at least three different people independently arrived at ultra lower current results using the Pro Mini, and I take that as good confirmation that it's possible to do with at least some of the Pro Mini offerings, such as the ones from Sparkfun or from Great Wall Electronics.
-
I'm back!!
NeverDie, how could you butcher my username!?Some fun facts for everyone.
When I am running the BinarySwitchSleepSensor sketch:
Sleep current: 2.7-2.9uA with NRF/Arduino fully connected
Sleep current with nRF GND disconnected: 1.7uA
Sleep current with nRF VCC and GND disconnected: 294nA
Sleep current with nRF VCC/GND/Pin9 disconnected: 281nA
Sleep current with nRF VCC/GND/P9/P10 disconnected: 196nA
Sleep current with nRF VCC/GND/P9/P10/P11/P12/P13 disconnected: 110-112nASleep mode with ONLY Arduino: 110-112nA
NRF plugged into VCC/GND only: 800-900nA -
Thx. Exactly near what I said. and as you have noticed you need to configure your pinmode before going to sleep (best is output=0) if you don't want to disconnect spi bus. and mosfet for radio vcc. Then you can have nA like you did. As you can see, low power is a tricky thing. great to hear it works for you too.
-
For disabling radio, I use P-Mosfet. So I cut off the power. Then in datasheet, it is explained it is best to set output=0. And you are right, when I need the radio, I have to reconfigure and reinit it. But I don't reinit all the mysensors presentation stuff, just the radio itself. But maybe I should do the presentation too.
This is for radio with mosfet. when I use this tech, with another mosfet for sensors. i2c for example, it needs others tricks too. output=0 won't work, you need to pinmode input. and set i2c registers rightly....lots of tricks. low power I think is not an exact science which works same in all case. I could post some codes, but it is not beautiful for the moment, and all this stuff will be managed by ulpnode lib. So I am waiting... -
What kind of battery (type and configuration) or other means (supercap?) are you guys using to power your node? Over what voltage ranges? Are yo using the arduino to decide when to cut-out, or some other means? Are you running straight from the battery, or are you using a converter or regulator of some kind? Or, is it all yet to be determined?
Even though LiPo looks like it would be a good choice (voltage ranges and energy storage and low self discharge), I don't want there to be even a remote chance of a fire starting, so I'm having to think about alternatives.
Also, with respect to Mosfets, which ones specifically have you found that are a good match for the task at hand? Plainly it needs to have very low leakage, and I presume operates at TTL voltage?
I haven't researched what's possible as far as low leakage Mosfets are concerned. Do they still leak, and if so how much? I'm guessing little to nothing based on your grand total for the deep sleep current, since it presumably covers everything, including mosfets. Right?
I have some latching relays in case I ever need to turn something completely, 100% off, if it turns out Mosfets are too leaky. I haven't ever used them though.