Page 1 of 1

BMS with arduino ?

Posted: Fri May 20, 2022 10:25 pm
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 ?

Re: BMS with arduino ?

Posted: Fri May 20, 2022 11:50 pm
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 :-)

Re: BMS with arduino ?

Posted: Sat May 21, 2022 10:15 pm
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