Hello guys,
I've been trying to fix the issue on my own for a long time but couldn't, hence I have to post this and really seeking help...
I am powering moteino+weather shield and EC5 soil moisture sensor using two 3.0V 50F Super Capacitors (Scaps) connected in series. My goal is to continuously monitor various parameters such as soil moisture, air temperature, total Scap voltage (Note: this is same as the moteino supply voltage denoted by Vc), charging current etc. Everything is going smoothly as expected EXCEPT the rapid decline of Vc at lower voltage value. I noticed that the Scaps are able to power up the moteino until the supply voltage reaches ~3.00 V. Then only the radio survives until ~2.85V. Until this voltage value, the Vc declines at an expected rate but as soon as it reaches this value (2.85V), the Scaps discharges so rapidly that Vc reaches ~2.0V within half an hour. I tried to cut the power off of moteino using BJT & MOSFET both when Vc reaches 3.0V but didn't work well. But then I thought it might be either my node sketch issue or some connections. But again it works just fine until Vc reaches ~2.85V.
FYI: here are some key facts about my system:
1. Vc(peak) = 4.8V
2. Current consumption: I_ON = 21 mA, I_OFF = 7.7 uA
3. Data interval (sleep duration): 1 min
Please help..Thanks
I'm sure Felix or someone else can correct me if I'm wrong but I believe around 2.6-2.8v is where the Moteinos get squirrelly and May shut down because of low power. I have a Moteino Weathershield weather station that uses a 5v 7.5F Scap charged from a solar panel and have never had a power issue. I expected some issues with the cold last winter but it never dropped below 5v (I believe the scap actually charges up to 5.5v which the Moteino is fine with). I'm using Felix's stock Weathershield sketch. Hope this helps
A few facts first:
- 2 caps in series of X value, result in a total capacitance of X/2
- the caps will be fully charged when their open voltage reading is at their rated voltage (in your case 6V combined voltage)
- regular Moteinos should be powered from >=3.6V to allow room for the LDO drop voltage
- regular Moteinos have the BOD fuse set at 2.7V
- do not expect any moteino clocked at 16mhz to be stable at less than 3V
Your consumption profile seems very aggressive given that you still have a total of 25F. That should keep a properly slept Moteino+WeatherShield alive for several days, I would expect a week easily (with the sample WeatherShield sketch, periodic WDT wakeup for reporting, any other sensors or power draw also put to sleep when not in use).
That's it, there's not much to this.
Sleep everything, use good reputable parts known to not be fake or defective or over/falsely rated (your caps).
Thanks Kilo95 for your thoughts and sharing your experience. Thanks to Felix too for highlighting some facts about scaps and moteino. I agree and not trying to keep moteino alive below 3.0V. But what I am trying to achieve is to stop that rapid decline of Scap voltage once moteino shuts down. You are correct about my system can remain alive for several days once fully charged even in the absence of charging source (I'm using solar panel). As per my design, Vc is not supposed to go below 3.0V ever but I'm trying to come up with a contingency plan: what if Vc goes below 3.0V due to any unexpected reason? Hence my goal is to make the system's average power consumption flat (i.e. Iavg_below 3V = Iavg_above_3V). By the way, my design is such that it charges the Scaps up to 80% of their rated voltage (80%of3V=2.4V) hence making an overall of 4.8V.
In short, I'm only trying to figure out: why my system is encountering a rapid discharging of Scaps below ~2.85V? Is it something to do with my node sketch or hardware issue?
Are you using a shottky diode from your panel to your caps/vcc?
Better yet, can you show a schematic of your exact wiring?
Yes I am. Actually, I am connecting the diode (1N5817) in between Scaps and voltage regulator (5V 1A) instead of connecting it in between regulator and solar panel. But I made sure that no current is flowing to the panel in the absence of sunlight. Here's the complete circuit diagram of what I'm working on. I didn't know how to insert the picture here in the forum hence I attached it instead. Sorry for that.
I would get rid of all the 5v regs, minimize use of diodes. A single diode will do the job of blocking reverse current to your panel while minimizing drop. You should see 5.5V at most ever in your SCaps when fully loaded.
Then you already have an LDO on the Moteino, eliminate all other LDOs, and use ICs that work up to 6V or regulated 3.3v from the Moteino.
Not sure what the other circuitry is without digging some datasheets.
Why the diodes on the I2C? Those lines need pullups.
If you want to block current flow, make the pins you want to isolate as INPUTS (HIGH-Z) when not in use. But this is not typically necessary on things like I2C buses.
My guess is you have some serious leakage in this circuit, sorry I dont have the time to split hairs here, I would grossly simplify this. To just charge a Scap and monitor its voltage you can do that with a handful of parts. But I could be wrong about what you're trying to do here.
If you want to get fancy you can simulate the circuit in SPICE and see if that reveals something. You can simulate the Moteino load using a resistor. But maybe the effort vs return is not worth it.
I am using the first regulator (step down) to output 5V so that this voltage can charge the Scaps up to 4.8V (note: 5V-voltage drop across diode) so that each Scap can charge only up to 2.4V (this is one of my design requirements to lengthen the scaps life). The second one (step up/step down: Pololu S7V7F5) is to power up the INA219 current sensor (CS) which takes 5V input. This regulator makes sure that the CS gets steady 5V supply even if the output of the first does not due to the fact that it is hooked up with Scaps. That means, the CS will be powered up even when it gets the input voltage as low as 2.7V. I forgot to mention in my earlier post that I am monitoring charging current also.
The first diode D1 is to block the reverse current to the panel, D2 is to prevent the reverse current to flow from CS to the first regulator or/and to Scaps via D1/D3. The diode D3 is to block the flow of current from Scaps to CS. I guess you are referring to TL431 by the term "other circuitry", if yes then those are the shunt regulators to do the auto-balancing of Scaps voltage to prevent either one of the Scaps from charging over the rated voltage. The diodes D4/D5 are also to block the reverse current to flow to CS from Moteino. I am using diodes D3/D4/D5 to minimize the current loss in the absence of charging source. I am more concerned to save power when there is no charging source rather than when there is.
I am not ONLY trying to monitor the voltage by charging Scaps, that is just a part of my research. What I am actually trying to do is:
1) Come up with a reliable, robust and autonomous power supply system that can power the wireless sensor motes such as moteino continuously not just only for days/weeks/months but for years
2) For charging source, I am using solar panel but my goal is to add wind source also so that the hybrid will be more robust than only one
3) There will be few sensors hooked up in moteino suhc as soil moisture sensor, temperature sensor, solar radiation sensor, anemometer etc.
One thing I'd like to repeat: The current circuit works just fine as expected EXCEPT when the Vc starts going below ~2.85V. What I mean is I know below 3.0V moteino dies and hence can't report the sensor data but I am not concerned about it. What I am concerned about is that I want the Scaps to behave normally (discharge in the same fashion as it was when Vc was above 2.85V). But it is not, I don't know why? But it has something to do with moteino that I can tell for sure because the Scaps suddenly start to discharge normally (much slowly) as soon as I disconnect the moteino. Hence I'm trying to figure out if it's the sketch or wirings or...
I'm still hoping to get some idea/ suggestion.
Quote from: SanG on May 30, 2018, 01:31:41 PM
1) Come up with a reliable, robust and autonomous power supply system that can power the wireless sensor motes such as moteino continuously not just only for days/weeks/months but for years
2) For charging source, I am using solar panel but my goal is to add wind source also so that the hybrid will be more robust than only one
3) There will be few sensors hooked up in moteino suhc as soil moisture sensor, temperature sensor, solar radiation sensor, anemometer etc.
1) Already doable, ex. a sleepy moteino + whatever power source you want will sleep for years even at <10uA average draw
2) Sounds not that useful to me but your research is your research, if you want to harvest the wind ... what can I say, go for it man :)
3) Sounds like all those sensors can be put to sleep and only periodically read. Which means by using a supercap/small solar panel with a simple schottky diode and nothing else, as I've demonstrated (https://lowpowerlab.com/2017/09/15/weathershield-supercapacitor-tiny-solar-cell/) and many others repeated, is more than enough. My tiny solar panel + supercap + diode + sleepy Moteino and sensors is running since last year without a glitch. And where I live there are many overcast days, plus this tiny panel is not even outside, just sitting flat against a glass block window. Even so a simple 7.5F capacitor.
FWIW - when you said the INA has a fixed 5v supply I had to take a look and just as I suspected, your INA219 has a supply from 3 to 5.5v, but I am sure you read the DS thoroughly and just missed that one aspect right?
Here it is a link to that: http://www.ti.com/lit/ds/symlink/ina219.pdf - page 3 in the middle of the table,
Vs ;)
Yes a self monitoring circuit is cool, but INA219 is 1ma quiescent power and only low power if you sleep it .. but doesnt that defeat your purpose of monitoring or creating a power profile?
IMO this just seems somewhat wrong, I would use an external monitor for researching a power node. Otherwise your power profile is screwed up by your own monitor.
That's all my input to this ;), concluding: YOU DONT NEED MOST OF THIS and hence SIMPLIFY.
Cheers
Thanks for your inputs and really appreciate your prompt replies and of course your willingness to help Felix.
The first thing I want to highlight is with the current setup, my average quiescent current draw = 55 uA and average current draw when transmitting = ~20 mA. With this, the system runs for more than a week in the absence of charging source for 5 mins data interval (sleep duration: 5 mins). The diodes mentioned above (D3/D4/D5) are blocking reverse current flow hence significantly minimizing the quiescent current of INA219. Hence I don't think I need to put it to sleep. The use of diodes helps reduce significant current draw in the absence of sunlight. By the way, the INA219. I am using is from Adafruit (not from TI) but you are correct it takes input supply from 3 to 5V. Like you said, I have and will put the sensors to sleep.
I looked at your "WeatherShield + supercapacitor + tiny solar cell" again (already did several months ago), I must say that is something very impressive: simple and cool. But what I'm trying to come up with the solution to the real world problem. I mean for instance deployment of wireless sensor motes with a reliable autonomous power system in actual outside environment such as forest or desert etc. and monitor its power profile along with the data from all the sensors connected. There could be a lot of unpredicted issues that the system may have to encounter when we actually deploy in the outside environment for a long period (at least for a year). Rain, extreme cold and hot weather etc. And at last, like you said I could simplify the circuit but it is the simplest circuit I can come up with (until now) from my perspective at least for what I'm trying to achieve. To make it simple, I can't take out TL431 from the circuit which is and will be protecting my Scaps from exceeding the rated voltage in case there is a significant voltage difference between these two scaps. I don't think I have many things connected other than few diodes and voltage regulator and they are there for a reason I guess.
But hang on, this is not helping, what I am doing here is to kind of like defending my work while I am supposed to seek help instead..Anyway let's not talk about the worthiness of what I'm doing, let's talk about the probable solution to my problem. I am pretty sure there's one but don't know yet..I am happy with my circuit and the outputs which are great with the current setup. The only thing that is bothering me is the rapid discharging of scaps below ~2.85V. I've been trying to figure out the exact cause of this but no luck till now. Any more advice or suggestion please..
I would look into ways to charge a lithium cell with reliable chemistry in extreme conditions, like LiFePo4. It has a very linear (and flatter) discharge curve than LiPo.
I would completely eliminate expensive and complex monitoring from such a mote. Because you simply don't need it. I think the end goal of all that was to tell when it's critically low or get a sense of where your battery is at so you can do something about it if needed. A simple voltage divider can do that in most cases. If you need to create an accurate power profile, then you have to do that externally from a separate instrument, with high enough bandwidth. If you just need average, then such complexity is not needed.
You can use a dedicated charger for the LiFePo4, which charges it during the day and powers your node at night. I have a few examples of folks who have done this reliably with very simple circuitry in commercial applications, where time to market matters, and getting a simple cost effective solution that just works is more crucial than splitting hairs about power consumption. I assume in the end all such projects have a similar goal. That's unless you're a PhD at some university with unlimited grants and time to do something which sounds interesting but with no real useful purpose :)
I would seriously reconsider what you said:
Quote(D3/D4/D5) are blocking reverse current flow hence significantly minimizing the quiescent current of INA219. Hence I don't think I need to put it to sleep.
I don't think I have many things connected other than few diodes and voltage regulator and they are there for a reason I guess.
Guessing is great when there's nothing else you can do, but I would look into properly sleeping the circuitry, not by using diodes.
Everything sips power more or less including your 5V LDO which I can guesstimate is eating a lot more than you think.
While I really appreciate your idea/suggestion I want to further simplify my question once again:
I've attached a photo of my simple setup. Two supercapacitors (scaps) are supplying power to a moteino alone (with a Node sketch from the RFM69 library Example). No regulator, no TL431, no current sensor, no diode and absolutely nothing else). The set up is shown below in the picture attached. I charged the Scaps to 4.2V then disconnected the charging source then I observed the declining rate of Scaps voltage (Vc). I noticed that the declining rate was pretty uniform and much slower as Vc was discharging from 4.2 to 2.871V. But as soon as it reaches this value (Vc=2.871V), it started discharging quite rapidly. You can see this behavior in this video (https://drive.google.com/open?id=1Qa_ReFFfj66MjoK5Ony93mqPCZl432Pg (https://drive.google.com/open?id=1Qa_ReFFfj66MjoK5Ony93mqPCZl432Pg)).
Here's the only thing I want to figure out and need help: Why is this happening? I mean why Vc starts declining much faster below 2.871V? FYI: It's not Scaps because they did not discharge at a faster rate when I disconnected the moteino and connected other loads such as LED or low-value resistors. So what I am thinking is it might me moteino hardware or node sketch or something else? Any idea?
Possibly the brown out detector putting the MCU into reset. Try reprogramming the BOD level in the fuses to a much lower value and see if that's the problem. Note the I/O of the processor is all tri-state when BOD is active, maybe that is causing excessive current draw in the input buffers of the MCU. Also each CS# is floating to both the radio and the flash, if both are seen as low by the devices one device could be trying to drive MISO high and the other low at the same time, that will cause excessive current.
Mark.
Thanks Perky I'd definitely want to try that but I don't know how to do it. Could you please tell me or possibly guide me what and where (in the sketch) I can add the line of code? FYI: Attached is the node sketch I'm using for this test (almost same as Node example from library).
Hi SanG,
The rapidly declining voltage may be caused by the increased current consumption of the voltage regulator.
Even low current draw regulators consume much more current when the input voltage drops below the min regulation voltage.
The MCP1703 (on the Moteino) operating current is not defined below 3v.
The multiple, higher current regulators will consume much more current than the Moteino regulator.
I cannot think of a reason to put multiple 5v regulators in series.
The second regulator will never be in its operating input voltage range which is several volts above the regulation voltage.
Even low-dropout regulators require several hundred milli-volts of headroom above the output voltage.
Good luck with you project.
The MCP1703A though is specified for input voltages below the regulation voltage, the MCP1703 may well be the same silicon or based on the same circuitry. In fact it shows a graph of ground current versus input voltage, and 'dropout current'. Basically the pass FET is fully on but has a resistance, it's that resistance that defines the dropout voltage at full current.
The current taken here though is an order of magnitude greater than what might be expected, and is consistent with what you'd expect if two logic outputs were driving each other at opposite logic levels. I'm convinced the radio and flash devices are both seeing their chip selects low because the BOD has tri-stated them, and therefore turning on their drivers, and are driving MISO at opposite logic levels.
Mark.
Hi Perky,
I stand corrected.
I had just looked over the datasheet and did not see any spec or graph of current below the regulation voltage.
Thanks for the correction.
Quote from: SanG on June 01, 2018, 08:56:27 AM
Thanks Perky I'd definitely want to try that but I don't know how to do it. Could you please tell me or possibly guide me what and where (in the sketch) I can add the line of code? FYI: Attached is the node sketch I'm using for this test (almost same as Node example from library).
The BOD level is set by the fuses, I don't think there is a way to do this in software. You might try adding a 10k resistor pullup to one of radio or flash CS# signals if you can't do this (actually the radio is probably better, the flash behaviour isn't defined below 3V, that would prevent the radio MISO buffer turning on).
Mark.
IMO, you guys are wasting your breath trying to explain the behavior of a system that is operating outside of spec (don't know what BOD settings are, processor is 16MHz and already out of spec by 3V, etc. etc.). And to what end? Clearly the system won't work at that voltage. Design the system to maintain the voltage above operating level or totally shutdown below that.
Tom
Quote from: TomWS on June 01, 2018, 02:48:33 PM
IMO, you guys are wasting your breath trying to explain the behavior of a system that is operating outside of spec (don't know what BOD settings are, processor is 16MHz and already out of spec by 3V, etc. etc.). And to what end? Clearly the system won't work at that voltage. Design the system to maintain the voltage above operating level or totally shutdown below that.
Totally, the initial question was WHY IS THIS HAPPENING below 2.8V and the answer is clearly because of the BOD reset state. Whatever low power state the MCU is in, once it gets below the BOD it will not be low power anymore.
And watching that video of the discharge, even so the 25F total capacitance seems way way too fast discharging. The humble 7.5F setup I use can keep the mote going for days without any charging from the small solar cell, before entering the BOM reset of doom and draining to death.
The reset current is specified, which is about 750uA. That's all it should be taking (maybe a tiny bit extra for the BOD, but no clock is running). This is still an order of magnitude at least below what is being seen. My money is still on MISO...
Mark.
QuoteThe rapidly declining voltage may be caused by the increased current consumption of the voltage regulator.
Even low current draw regulators consume much more current when the input voltage drops below the min regulation voltage.
The MCP1703 (on the Moteino) operating current is not defined below 3v.
Yes that makes sense, regulator draws relatively more current at voltages lower than it is supposed to operate ..Thank you for the insight john4444
QuoteThe BOD level is set by the fuses, I don't think there is a way to do this in software. You might try adding a 10k resistor pullup to one of radio or flash CS# signals if you can't do this (actually the radio is probably better, the flash behaviour isn't defined below 3V, that would prevent the radio MISO buffer turning on)
QuoteTotally, the initial question was WHY IS THIS HAPPENING below 2.8V and the answer is clearly because of the BOD reset state.
Now I know it's the BOD level set internally and possibly I can't do anything to change it..Thank you Perky and Felix
QuoteDesign the system to maintain the voltage above operating level or totally shutdown below that.
I was and am still trying to do it. Thank you Tom for the short and straightforward suggestion
QuoteAnd watching that video of the discharge, even so the 25F total capacitance seems way way too fast discharging. The humble 7.5F setup I use can keep the mote going for days without any charging from the small solar cell, before entering the BOM reset of doom and draining to death
Very keen observation Felix..yes the Scaps in the video indeed are discharging much faster than they are supposed to even above 2.871V, that's because the sketch is the "Node example" sketch from RFM69 library whose transmit period has been changed to 10s, no sleep feature implemented. My actual circuit (attached earlier) consumes much smaller current (Scaps discharge much slowly).
Anyway, I got my answer and I will see what I can do to my circuit to fix this issue. Thank you so much all for helping me out.
Quote from: SanG on June 03, 2018, 07:37:47 AM
Now I know it's the BOD level set internally and possibly I can't do anything to change it..
You can change the fuse settings on a Moteino. If you get an ISP programmer that has a breakout board for the programming pins, you have access to all the necessary pins on the Moteino headers. You will have to add pullups on the Radio SS (pin D10) and, if you have the Flash chip on board, to that SS as well (pin D8). Finally, make sure your programming voltage is compatible with the components on the Moteino board (3.3V).
I've reprogrammed the Moteino to change BOD, change to 8MHz internal, and to replace the Bootloader. Easy peasy.
Tom
I will try that Tom.
Thank you.