I’ve been given some though to adding a solar capability to my 2018 Newmar MADP. After doing a bit of reading I decided that I first need to add a battery monitoring system (BMS) so that I have a better idea of my current battery usage. This will help me in sizing the solar capability.
I’ve looked at various BMS hardware to include the
Victron BMV-712.
What I would like is a capability that will record my battery usage over time instead of just having a snapshot. It looks like I could augment the BMV-712 with additional products so that the usage info is sent to Victron servers where I could then access it.
I’ve already built a smart home capability into my MH by accessing both status and commands on the RV-C network. This has provided me with great capabilities and what I really want is to pull in the battery status information into my smart home app so that I can manipulate it as I see fit. (graphs, alerts, etc).
To that end, I’m looking at installing a shunt and connecting an ESP8266 to the shunt to capture the voltage and current data every 5 seconds or so. This would then be send to my smart home server. Most of the shunts that I’ve looked at seem to be 500A / 50 mV, which as I understand, the 50mV equals a draw of 500A and I would get proportionally smaller values based on smaller loads. Given that the voltage reading capability of the ESP8266 is capability of 0 - 1V using values from 1 to 1024, it would appear that having a maximum voltage of 50 mV would only be using 1/20th of the capability and thus only providing me with readings of 1 to 51. This equates to a resolution of 9.7 amps (500A / 51), which is a non-starter.
I’m wondering if there are shunts that will provide more voltage on the reference screws. Something as good as 500 A / 1000 mV, or even 500A/500mV? Additionally, I’m looking at using something like Adafruit’s 16 bit ADC which would provide me with a resolution of 1 to 655 (using 1/100 of the 5V input range) with the 500A/50mA shunt. This would be better, but would still only be using a fraction of the input sensing capability.
Any thoughts on how to best tackle this would be appreciated. Either a BMS with an open architecture where I can access the raw values, or a more ideal shunt or analog to digital converter (ADC).