Greedy Man's Batteries
Greed is a bad feeling, it seems. But, like laziness, it sometimes bears fruit in the form of saving something. It is unpleasant to realize that in series-connected batteries, the available energy is determined by the least capacious element. And by the time it is completely discharged, there may still be a fair amount of energy in other batteries.
And when charging a battery of batteries with a balancing system, part of the energy simply drains into heat. And the greater the difference in capacity between the batteries, the more energy drains. With a strong imbalance and high charging current, the balancer may not cope with its duties. In addition, batteries with different chemistry cannot be used simultaneously.
All this greatly irritates the toad and requires finding a way to use all the energy available in the batteries. And charge to the maximum and no more. How can we take from each battery as much energy as it can give, and charge to the maximum level without losing it on balancing?
Another thought. Thinking about recuperation in electric transport, I noticed that the voltage generated on the motor in braking mode is lower than required by the motor in acceleration mode. And the lower the speed, the lower the recuperation voltage. For more complete recuperation, it would be good to extract energy at relatively low voltages. A well-known “paradox” is that if you take 75% of the kinetic energy from a car, its speed will decrease only by half. How else can you extract it?
There is an answer – you can work with each battery individually, charging and taking energy from it in accordance with its parameters, without exceeding the permissible limits. To do this, you need a controller for each battery, and combine the controller outputs for joint work.
To simplify the battery charging circuit, it would be good to have a voltage in the recovery mode higher than on the battery itself. A simple step-down (buck) converter is enough for this. And to give the load a voltage three times higher than that of the battery, using a step-up (boost) converter. And both converters can be combined using the same inductance.
Thus, two transistors and one inductance will allow to transfer energy from the battery with a voltage of 3-4V to the output of the 12V module. Or charge the battery from the output at voltages of 5-15V. Batteries can be used one LiPol, one LiFePo4, two lead or three NiMH. And combine modules with different types and capacities in one block.
The power outputs and control signals of such modules can be connected in parallel under the control of the block controller (Level controller), and the blocks can be connected in series, under the control of the main controller. In this case, 25 blocks with lithium batteries will give 90-105V at the output when off (via diodes) and 400V when on. 400V goes to the engine controller.
Each module is controlled by its own controller in the following way: when a power-on signal is received, if the voltage at the module output is less than the specified value (12V), then the PWM signal is sent to the transistor of the step-up converter (N-ch), controlling the current and voltage of the battery discharge. If the voltage is higher than the specified value, the PWM signal is sent to the transistor of the step-down converter (P-ch), controlling the current and voltage of the battery charging. An additional control signal BRAKING continues charging the battery until the voltage at the module output is about 5V. Thus, recuperation is possible at fairly low speeds until the voltage drops below 5V.
The module controller operates as 1-Wire using the I converter2C to 1-Wire or software implementation. In my opinion, the converter is preferable, it already has a unique identifier and a search function. The single-wire bus can request the battery and module status.
When turned off, the module controller pumps energy from the capacitors into the battery and goes into sleep state.
Hot swappable modules. A connector with power and signal contacts can be developed for quick connection or replacement of modules.
The unit controller simultaneously switches on/off all modules, switches on the braking resistor when the voltage threshold is exceeded (if the voltage has increased, it means that the modules cannot accept the incoming energy or the batteries are fully charged). It also polls the state of the modules via a single-wire line (1-Wire), switches on the indicator on the module to facilitate the search for the module that requires replacement. Based on the information received from the modules, the unit controller can calculate the total capacity of the batteries under its control and inform the main controller.
The main controller controls the block controllers via an optically isolated line, turning them on simultaneously and collecting information about each.
Of course, with several series-connected blocks, it is necessary to equalize the total capacities in the blocks. But this is not difficult, since the main controller knows the capacity of the blocks, and the block controllers know the capacity of the modules, it is possible to exchange (hot, without turning off the system) modules between the blocks, achieving the same capacity.
The use of such systems is clearly not justified in the case of excess of identical batteries of good quality and the ability to select their capacity. But it is justified in conditions of battery shortage and the complexity of repairing battery assemblies. It can be used on freight electric transport, automobile or railway, where there is easy access to modules for replacement or exchange between blocks.
It is planned to test the idea, manufacture module controllers based on PIC16F1509, dual P-ch and N-ch transistor and 18650 battery. PIC16F1509 because several pieces are lying around idle, and its operating voltage is 2.3-5.5V, it can be powered directly from the battery. The plans are to make several modules and assemble a small stand from them with batteries of different chemistry and a DC motor with a flywheel. And test acceleration-braking in a cycle, recording the parameters of each module.