Hello fellow techies, I am a noobie to power systems design and design in general.
I have been developing a solar power system for a solar robotics project and I wanted to get some feedback on a few aspects of the design that I am unsure about.
The parts and system specs I’m working with:
-Texas Instruments TIDA-010042 MPPT Solar Charge Controller
-https://www.ti.com/tool/TIDA-010042
-I've attached the msp430 firmware for it, main.c, in this post
-2p5s Li-Ion battery pack
-18.5V PCM/BMS with cell balancing and equilibrium function. 20Amp limit.
-https://www.batteryspace.com/pcmwithequilibriumfunctionfor185vli-ionbatterypack20amplimit.aspx
-Maximum 20V 5.4A primary load (BLDC motor)
-210W 12V solar panel with the following specs
-22.4V Vmpp
-9.30A Lmpp
My 3 Questions:
1) Given that I will be using a 2p5s cell configuration, I would like to use only 1 BMS for the entire pack. From my understanding, if I arrange the cells in parallel BEFORE I series them, I can use one PCM/BMS, but the balance system will be slow to react to imbalance. Can I do this, and use one BMS for the pack, with a connection for each cell pair in parallel (configuration a). Is that the best configuration if I want to use one PCM/BMS? (See attached image).
My specific charge controller is not specifically for Li-Ion batteries, but considering it gives control in the firmware over the CC/CV thresholds, I don’t see why I can’t adapt its charging profile properly for a Li-Ion battery pack. [Apparently the TIDA design is for Li-ions]. Is there any real difference aside from voltage/current settings between normal and Li-ion specific MPPT chargers? Don’t the bulk, absorption, and float stages of charging all happen with a Li-Ion charging cycle as well, just with different voltage thresholds? (I am aware of the max 4.2v*Ncell max for Li-ion cells.)
In my charge controller firmware, it lets you define whether you are going to use a 12/24/48V battery system. Additionally, I can change the following parameters in lines 214-221 of the main.c file:
const float CC_LIMIT = 20.0; // Set the maximum charging current
// Typical battery threshold values //System Voltage | 12V | 24V | 48V ||
const float CC_TO_CV_LIMIT = 12; // | 14.2V | 28.4V | 56.8V ||
const float FLOAT_VOLTAGE = 13.8; // | 13.8V | 27.6V | 55.2V ||
const float BATTERY_CUTOFF = 10.2; // | 10.2V | 20.4V | 40.8V ||
const float BATTERY_RECONNECT = 11.2; // | 11.2V | 22.4V | 44.8V ||
2) My question here is, to what precision can I alter the integer and float values? Is there anything stopping me from entering an arbitrary CC_TO_CV limit of 18.5v or 18.3v for my 5s2p Li-ion pack?
I wouldn’t expect it to work with voltage values far greater than or less than the 12-48V range the controller was designed for, and I assume that I can't expect it to do floating-point calculations past one decimal place, but I do want to understand the limitations between the firmware and the hardware.
3) Is the INA240 Ultra-Precise Current Sense Amplifier ultimately what limits the precision of voltage thresholds I can set? I had a quick look at the datasheet and can see that it discusses certain voltage accuracy/ tolerance values.
Cheers and thanks for reading,
Tyler