
- #MONITOR BATTERY VOLTAGE ARDUINO HOW TO#
- #MONITOR BATTERY VOLTAGE ARDUINO SERIAL#
- #MONITOR BATTERY VOLTAGE ARDUINO PRO#
- #MONITOR BATTERY VOLTAGE ARDUINO SOFTWARE#
- #MONITOR BATTERY VOLTAGE ARDUINO CODE#
A couple based on the BQ76PL536A from Texas Instruments, and another one based on a single ATtiny attached to each battery cell.

#MONITOR BATTERY VOLTAGE ARDUINO SERIAL#
but as for commercial serial controlled multiplexers that can handle way more inputs you will have to do some hunting! and i doubt they will be able to handle 72 volts which is what 20 LiFePo cells in series will give you.Īdditionally a standard multimeter needs a short amount of time to sample and average a voltage i think, maybe half a second, so you will need a multiplexer that gives you good control over the sharing time of each input, the "slice" of the pie.Ĭouple of comments for you as I've already designed a number of "arduino" cell monitor/balance boards, both professionally and as a hobby.
#MONITOR BATTERY VOLTAGE ARDUINO PRO#
Also a multiplexer is just a system that gives multiple inputs a slice of time to access a single channel, the one i made is just hand made it just uses optocouplers/optorelays to switch between the many inputs to the fewer inputs and the arduino triggers the right one at the right time, you can scale up this type of system to as many digital outputs that are available on the arduino which is 19 i think for the pro micro so you could swap 19 inputs between one single output with this. I think it would be up to the ADC precision that limits a voltage divider. Moving to a 12 or 16 bit external A/D will improve matters as would differential amps on cells 2 and above but it all rather defeats the purpose of using the onboard facilities of the Arduino.

At the end of the day with the Arduino's 10bit A/D converter measuring a 12S pack worst case would show about 131mV error.
#MONITOR BATTERY VOLTAGE ARDUINO SOFTWARE#
Providing your power supply is stable you can compensate in your software for the different Vref in the same way as you can for the resistor values. Equally with the Vref you need to measure the actual voltage and use that. Regarding the voltage divider network you should accurately measure the values of each resistor in the network and use the measured values in your calculations rather than face values. I suggest that you accurately measure the voltage drop across each diode and opto for each cell and put that correction value into an array to be accessed at calculation time.
#MONITOR BATTERY VOLTAGE ARDUINO CODE#
Looking at your code it appears that you are adjusting for the forward voltage drop of the diodes but not the saturation voltage for the CE junction of the transistor in the opto isolator.
#MONITOR BATTERY VOLTAGE ARDUINO HOW TO#
I have also update the code some to be a bit more power efficient and to have an array to use compensation values for each input, also my power saving efforts will effect usb communication for debugging and such as it turns them off, but a little note in code lets you know how to fix that.įirstly congratulations on actually taking your concept through to a working prototype. I would highly suggest adding a thermal cutoff / fuse inline of each input, this will lower the chance of a malfunction blowing up your hard work and it will help stop a fire if anything shorts beyond the cutoffs / fuses. The Arduino board is the Leonardo Pro Micro with ATmega32U4 chip, they cost me like $5 AUD on ebay the rest of the components are super cheap, the optorelays/optocouplers are PS2501-4 Quad optocoupler able to handle 80 volts, to use a higher voltage battery pack find a higher voltage capable component, the diodes are 1n914, signal diodes, the voltage divider resisters are 110k for R1, and 10k for R2. Some files are to big/not supported to attach so i have links to them.

The voltage divider steps down roughly a 60 volt input to 5 volts which is safe for the ardunio's 5v analog inputs, the 1024 level input i expect to get (60 / 1024) 0.058 steps in reading accuracy i can expect double this as i have error subtracted from error in the calculations for the final value, but i get around 0.2-0.3 volts inaccuracy any ideas why?īesides this any suggestions for improving or adding on to the functionality of this? maybe adding some cell balancing method to make it a viable BMS? i have thought of that a lot and wondered about doing that with some shunts and serial multiplexers.Īll resources are provided for any one wanting to recreate or use this, it is a very simple circuit.

This system can easily be scaled up to handle more than 16 cells, or scaled down to handle 8, or 12 cells. it has 3 trip values high voltage, low voltage and lowest voltage, with various alarm sounds for each one, but later i plan to use the on board memory to store and save the samples for later analysis or use a bigger external eeprom memory. Hello people, I would like to share a finished project of mine, and maybe receive some feed back on a few things.įirstly the project is a simple arduino powered cell voltage monitor for multi-cell battery packs, it just uses 4 analog inputs on an arduino, multiplexes 16 inputs and uses a voltage divider to read the high end of the cells in series voltages.
