Analog Input value read

Hi guys, I am new to this forum and new to Arduino. I am a Retired Electronics Technician, so I am not new to electrical\electronics.

I am wanting to build a 16 series battery management device normally called a BMS. I thought I would read all cell voltages with the Mega that has 16 analog inputs. Each of the cells will have a voltage 2.5 to 3.7 vdc, the problem is I will only have one gnd reference for all the cells. I have been looking for individual analog input boards and I have found some on amazon.
XLX 5PCS Mini MCP4725 Module I2C DAC Breakout Development Board 2.7V to 5.5V Supply Compatible Programming with EEPROM
Or would I be better off inserting a potentiometer inline with the cells.
Thanks Rick Wilkinson

XLX modules: Amazon.com.
Manufacturer's page of the MCP4725: Smart | Connected | Secure | Microchip Technology.

The MCP4725 is a 2.7 to 5.5V 12-bit DAC with I2C interface with 1 address input, but with 8 possible I2C addresses.

Rick, why is there no Arduino project that proves that such modules can be used for a BMS ?
Because it is not possible. All those modules have a I2C bus with SDA, SCL and GND. They all have the same GND for the I2C bus. A DAC is a Digital-to-Analog-Converter. It outputs an analog signal.

There are special chips for a BMS, that helps a lot.
It is also possible to connect all battery pins one by one to GND with a mosfet, or even with relays.
With only a few cells, it is possible to measure all voltages with a voltage divider. That will reduce the accuracy.
The offset of the voltages can be brought into range with OpAmps.
I tried to find a BMS project with an Arduino that has a good and easy design and that is fun to make. I could not find it :frowning:

I suggest to buy something for your batteries from a good brand.
Use the Arduino for something that will work. What about a fancy ledstrip, a wheather station, or one of the other thousands of projects that are better than a BMS.
Some use an Arduino to make a battery charger. In my opinion, that is too dangerous. A wrong reference voltage or a wrong sketch could overcharge the battery.

rickwilkinson7:
Hi guys, I am new to this forum and new to Arduino. I am a Retired Electronics Technician, so I am not new to electrical\electronics.

I am wanting to build a 16 series battery management device normally called a BMS. I thought I would read all cell voltages with the Mega that has 16 analog inputs. Each of the cells will have a voltage 2.5 to 3.7 vdc, the problem is I will only have one gnd reference for all the cells

Yes, they are in series, so the voltages rise upto around 60V or so, you can't connect them to 16 different
analog inputs directly.

BMS's use a stack of identical circuits in series to control the cell balancing, usually all analog circuitry.

While charging each individual circuit will start to conduct to limit the voltage across its particular cell,
preventing over-charge on a cell by cell basis - the overall effect is to balance the voltage of the cells.

The circuits are usually tuned to a particular cell chemistry and not adjustable though.

How sophisticated do you want your BMS to be?

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.