I've been thinking about this one for quite a while, so I decided to create a new thread to collect thoughts. I'm hoping FrankG, Beagle123 and dirty_d can (and anybody else) help in the code writing department.
A fully analog BMS like the one Gary and Bob are working on is great and gets the job done, but it uses quite a few parts. My thought was by using a PIC microprocessor, it might be possible to achieve the same function with fewer parts and hopefully less expense.
If the PIC can measure the voltages from each cell, then the under and over voltage set points could be adjusted in software, allowing flexibility in various types of cells used. You would also have the potential for all kinds of fancy display options.
There are a number of possible ways to implement a PIC based BMS. My original thought was to use a multi-channel MUX chip to sequentially measure the voltage on each cell in the string. Since the MUX chip can only pass something like 15v max (depending on the part used), it will be necessary to divide the voltages down to within the allowable range.
One way to simplify the divider would be to use one resistor on each cell tap and use a common resistor on the output of the MUX to form the other leg of the divider (cuts number of resistors needed).
A dual channel MUX could sample each cell's + and - terminals and output to a differential amplifier to make the voltage referenced to ground for the ADC in the PIC. If the divider ratio was something like 10:1, then a 48v pack would have a maximum voltage at the MUX of around 4.8 volts. If the differential amplifier has a gain of 10, then the output of the amp would be the exact voltage of each cell it is connected to, regardless of position in the string.
Here's a rough diagram of the MUX section. The differential amp part is not fully drawn.
A fully analog BMS like the one Gary and Bob are working on is great and gets the job done, but it uses quite a few parts. My thought was by using a PIC microprocessor, it might be possible to achieve the same function with fewer parts and hopefully less expense.
If the PIC can measure the voltages from each cell, then the under and over voltage set points could be adjusted in software, allowing flexibility in various types of cells used. You would also have the potential for all kinds of fancy display options.
There are a number of possible ways to implement a PIC based BMS. My original thought was to use a multi-channel MUX chip to sequentially measure the voltage on each cell in the string. Since the MUX chip can only pass something like 15v max (depending on the part used), it will be necessary to divide the voltages down to within the allowable range.
One way to simplify the divider would be to use one resistor on each cell tap and use a common resistor on the output of the MUX to form the other leg of the divider (cuts number of resistors needed).
A dual channel MUX could sample each cell's + and - terminals and output to a differential amplifier to make the voltage referenced to ground for the ADC in the PIC. If the divider ratio was something like 10:1, then a 48v pack would have a maximum voltage at the MUX of around 4.8 volts. If the differential amplifier has a gain of 10, then the output of the amp would be the exact voltage of each cell it is connected to, regardless of position in the string.
Here's a rough diagram of the MUX section. The differential amp part is not fully drawn.