Home › Forums › Mayfly Data Logger › Monitoring power consumption › Reply To: Monitoring power consumption
The Mayfly 1.x charger circuit is to 0.5A as default but can be changed to 1.0A. I always change my boards to 1.0A See ” SJ15″ https://www.envirodiy.org/mayfly/hardware/jumper-settings/
The yellow “Charge” LED at location “S” only comes on when it is charging the battery – so a sign of it charging is that it comes on when plugging in, and then when completed it goes off. These are different than the LEDs at USB-C location “C” labeled “power” and “USB”
The LiIon charger does manage the battery and has effective feedback
For LiIon power storage calculations its estimating Power-Out over perhaps two weeks, the length of no solar say in a storm – its a soft figure but that’s my estimate. Then when solar returns – the power-solar that is going to recharge the battery – in says two days of solar in winter with a cold battery.
From what I saw your solar panel was providing a charge earlier in the year, but now with winter conditions is not.
Power-Out is also dependent on many factors, the largest power user is usually the modem – and this can vary by time of year – I find it takes 26secs to connect to the tower, and then it takes time to establish a TCP/IP link to the MonitorMyWatershed – and then POST the readings, and sometimes even longer for a timeout. If the physical location is on the edge of the cell, then connection conditions can really way out. In addition if the Li-Ion battery is at a low charge state, and also cold, it sometimes can’t supply all the power needed to connect the signal and effectively reset the process. The Li-Ion battery power availability might be on the edge temperature wise, work in the afternoon when it has warmed and then fail when its colder.
For battery voltages – my measurements on the Vbat indicate its non-linear. Its not very accurate particularly in the range that is really needed 3.4V-3.8V – I’ve calculated that the error in reading using Vbat is +/-0.2V .
I use a 3.8V threshold to gate using the modem. That is when the Vbat measures 3.8V – the battery could be somewhere 3.6 or 4.0V and I don’t invoke the modem. I use a value of 3.6V to stop doing any processing.
The SpokaneRiver-Peaceful.ino and SpokaneR-SpokaneValley.ino both use a 3.55V to gate the modem – which are defined in ModularSensors\examples\DRWI_SIM7080LTE\DRWI_SIM7080LTE.ino
However one systems battery goes low – and it resets on power demand, and the other systems battery stays above 4.0V
The way I read ModularSensors\examples\DRWI_SIM7080LTE\DRWI_SIM7080LTE.ino is its an “example” – there is no testing of edge conditions that I have seen of that actually test and verify that a SIM7080 modem can work at 3.55V in cold weather.
I have actively monitored and tested 4.4Ahr battery and documented it here https://github.com/EnviroDIY/EnviroDIY_Mayfly_Logger/issues/32#issuecomment-959807618 .
Due to high value resistor ratio its also a noisey signal – and I document it here – https://github.com/EnviroDIY/EnviroDIY_Mayfly_Logger/issues/36
IMHO the measurement technique of reading the physical ADC twice in succession and using those values separately isn’t good for this type of high impedance noisey ADC measurement. I use an algorithm to read the ADC a number of and then take the lowest reading for those Vbat readings, and then use it in both decision loops.
Power availability is complicated when its on the edge. As far as I can see the Mayfly 1.x Vbat has never had its accuracy defined. Accuracy is related to both resistor variations, resistor noise and ADC Vref accuracy. Mayfly 1.x Vref is a vast improvement on the Mayfly 0.5b hardware realization.
So this is what I would think is a good starting point
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//Get realistic battery voltage float vBatLow = getLowestBatteryVoltage(); #define VBAT_WORKING_THRESHOLD 3.6 #define VBAT_MODEM_THRESHOLD 3.8 // At very low battery, just go back to sleep if (vBatLow < BAT_WORKING_THRESHOLD) { dataLogger.systemSleep(); } // At moderate voltage, log data but don't send it over the modem else if (vBatLow < VBAT_MODEM_THRESHOLD) { dataLogger.logData(); } // If the battery is good, send the data to the world else { dataLogger.logDataAndPublish(); } |
The simplest solution for the current systems is provide enough power to keep the LiIon battery charged up, with a bigger solar panel. If at this time of year if it starts to drop below a measured 3.9V go out and plug in a USB Charge bank to boost the battery.
Alternatively if easy also modify the Mayfly 1.x for SJ15 so that it takes more charge when available.
Once there is more solar it probably will maintain more power in the battery.