First up is CC/CV regulation and monitoring. As with all regulators there are two broad classes: linear and switching.
Linear regulators have the advantage of being simple. But the wasted energy using them can be horrendous. Almost all the high power ones use a bank of pass transistors as a variable resistance to lock the voltage or current to the set point. Feedback control occurs by measuring the output voltage, or current across a shunt in the load path. It's the easiest way to go if you're willing to heat your charging area.
Switchers are much more efficient. And honestly if they were as simple as the block diagrams all the tutorials show, would be a hands down winner. Unfortunately, there seem to be very few resources that meet my expectations. So I've had a frustrating time with them.
The basic concept for a buck regulator is that a switch between the power input and an inductor is used to charge the inductor. Because of the inductor property that prevents it from instanteaneously discharging, when the switch is turned off, the power charged into the inductor is delivered into the load. Typically in simple buck circuits, a diode is used to complete the circuit when the switch is off. For better control and efficiency, a second switch can be used for this activity. These type are called synchronous buck converters.
And that's where the simplicity ends. Almost every implementation uses boutique chips and calculus level design software to generate components that seem to be made of unobtainium. And inductors, unlike any other passive component, seems to be expected to be hand wound to specification. Then there's a bunch of selection criteria on inductance, core material, saturation, and coil heating that must be accounted for.
I find that little of it helps me because non of the parameters I'm interested in are variable. I posted a thread here 6 years ago with exactly the same discussion:
http://www.diyelectriccar.com/forums/showthread.php?t=70211. I ended up talking to myself unfortunately. It would be great if anyone decided to join in.
Ultimately, I'd like to take essentially a fixed off the shelf inductor such as a handful of this one I bought at B.G. Micro:
http://www.bgmicro.com/512uh-coil.aspx
and to be able the parameterize is so I can figure out what I can do with it. One of the equations I generated in the above thread long ago:
L = Vout / (f * Iripple)
seems to be the most direct relationship beween inductance (L), voltage (Vout), switching frequency (f), and current (based on Iripple ripple current). Rule of thumb is that the Iripple should run about 25-33% of load current.
So just quick real example I need with the 512uH coil above. We want to charge the Ryobi 40V battery, made of Samsung INR18650-13Q cells in a 10S2P configuration. A slight undercharge to 4.1V/cell. So the the CV is 41V. The max current for standard charging in a 2P configuration is a shade under 2A. So let's set the max current to 2 amps. So we have L=0.000512H, Vout=41V and Iripple = 600mA (30% of 2-amps). So the switching frequency should be:
f = 41/(0.000512*0.6) = 133.46 kHz
now that's likely a bit fast for the iron powder core for this toroid. So interestingly, the best thing to do it to lower the switching frequency. However, with everything equal, doing that will raise the ripple current. That means we could support a heavier load, but lowering it too far will take the inductor out of continuous conduction because if the ripple exceeds the average current, it runs out of juice. Doubling the ripple current to 1.2A lowers the switching frequency to 66 kHz, which is more reasonable. To compensate though I may consider charging at 3-4A instead of 2A. The max charging speed on the battery is 8A, so it's likely that the little bump won't do much damage.
Like it said: fun times.
ga2500ev