BMS with arduino ?

Topics concerning OEM and open source BMSes
Post Reply
chentron
Posts: 103
Joined: Mon Feb 22, 2021 3:25 pm
Location: Spain
Has thanked: 41 times
Been thanked: 4 times

BMS with arduino ?

Post by chentron »

i am thinking how good would be a BMS made with arduino reading the voltage trought its analogic ports ?
mega 2560 have 16 ports
there are external ADC chips supported for arduino like MCP3208 to multiply the ports .
also 74HC4067 16-Channel Analog Multiplexer Demultiplexer could be used.
I dont want this BMS to balance the cells, just to read voltage for all the cells and some temperatures.
it s a bad idea ?
User avatar
mjc506
Posts: 343
Joined: Wed Sep 09, 2020 9:36 pm
Location: Wales, United Kingdom
Has thanked: 30 times
Been thanked: 28 times

Re: BMS with arduino ?

Post by mjc506 »

Ideally, you measure the voltage across each cell, but this means changing the ground reference for each cell.

Alternatively, you use the 16 ADC inputs to measure the voltage of up to 16 cells referenced to the most negative cell. This will require a potential divider such that the battery (group of 16 cells) voltage cannot exceed 5V (for the 2560). Trying to measure fractions of a volt through such a resistor divider will limit your resolution significantly. Also, if the potential divider has a high resistance, there will be problems with noise, but with a lower resistance to improve noise, you will end up with a significant current draw from the cells.

It is a difficult problem! Which is why dedicated BMS chips exist :-)
User avatar
johu
Site Admin
Posts: 5684
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 153 times
Been thanked: 960 times
Contact:

Re: BMS with arduino ?

Post by johu »

Basically this is a similar approach with 4 channels viewtopic.php?t=60

Even then good resolution around 1mV is hard to obtain
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
Post Reply