I am using 2577 followed by 2596 for poormans supply. Threw 10turn Bourns pots there and crammed it into old VFD casing with outputfilters from old ATX PSU. That little thing can give 6A for short bursts if needed...
Current control is rather easy, almost every switchmode can be converted to CC supply.
Measure current with shunt (usually on the low side). If voltage exceeds desired value, feed voltage to the feedback of the regulator.
Regulator sees feedbackvoltage being too big -> lowers the output and bypasses the CV feedback.
If you use opamp on the sense side, you need to slow it down with some filtering so the feedbackloop wont go unstable (average current limiting). Controlling the opamp reference with PWM DAC shouldnt be too hard.
Highside limiting can also be done with PNP and couple resistors. Shunt on highside with PNP across it with limiting resistor. As current rises, voltage across shunt rises and transistor turns on. Feeding the outputvoltage (through a resistor) to the feedback pin. Reference can be controlled with opamp and some unholy tricks, but generally not worth it as only plus is faster operation (less averaging).
Controlling the voltage with micro is other issue. Never tried it myself as I just convert different supplies to CC for driving leds.
As the feedback comes from high voltages the micro cannot withstand, a quick look at the low side of feedback comes to my mind.
Perhaps a digipot between Gnd and feedback pin?
Digipots across the whole feedback voltage might be issue as common digipots cannot take 25V on the input.
Opamp adjustable voltage buffer as a high impedance sink on the feedback (poormans digipot, calibrate the output table for each reference).
Reverse engineer the one on video? :p
Check the ucurrent videos, it might have some tricks.
And for you to know what output of switchmode actually looks (powered by 16v IBM laptop brick with horrible output, 1.4V p-p, 0.5v average noise). LM2577 + LM2596 setup driving a led:
Constant voltage 14.5V around 0.5AConstant current 14V around 0.3A <-- this is using lowside shunt with opamp feedback, ringing does not occur with car battery.
And same values with atx filter bypassed (only ceramics across rails):
Constant voltageConstant currentConstant voltage setup with car battery (constant current showed no difference in waveforms):
FilteredUnfilteredSwitchmodes aren't bad.
Not the best if you work on some precision amplifiers or if you manage to hit the resonant frequency, but they are usable for generic stuff.