Question

I have the idea of develop a model that predicts the battery charge level of my system for now until the following 5 days. The battery is charged using a solar panel. I am writing my code in Python 2.7 . I am able to measure the battery level in % (%100, 90%, 80%...%10). The model does not be very accurate, %10 error is acceptable.

To predict battery level I have only two parameters, current state of charge in % and the UV radiation level from and scale of 0 to 11 (However higher values than 11 are possible but not likely).

The idea to predict the battery level is to first obtain some empirical data day by day at the same time (2 hours after sunset to get rid of surface charge). The data would have the this format.

DAY UV %

1 6.5 80

2 8.2 90

3 4.5 60

......

I want first to obtain some values for a month and then create and algorithm or something like that to obtain a model or make a prediction of what battery level I will have within 5 days. Thanks to https://openweathermap.org/api I have the prediction of UV radiation for 5 days.

The problem is that I don't know how to manage this information or what tools I can use. To predict that battery level I know that need to look at current battery level and the UV prediction of the following 5 days. But I don't know how to make a model with the obtained data.

I was thinking to get the difference of battery level between to days and calculate the charging/discharging rate with and UV radiation level, but that does not work because charging/discharging rates are not same with %20 as current battery level of %80 as current battery level. I can also make an average UV radiation for the 5 days and try to obtain a linear regression...

Any idea or suggestion is welcomed.

Thanks a lot,

Ander.

Was it helpful?

Solution

So obviously if you use the battery really hard on day 2 it will run out faster than if you didn't, you have no way to predict that.

Your battery presumably discharges at some minimum rate, so I would base the predictions off the assumption that the device will be on standby.

I will also assume a linear charge and discharge rates

Charge can then be expressed as

charge = initialCharge - (dischargeRate * t) + (rechargeRate * t)

where

rechargeRate = rechargeConstant * UV

iterate over the days and you have your prediction.

Licensed under: CC-BY-SA with attribution
scroll top