ШИМ со скважностью, зависящей от напряжения питания. С программным управлением. Сами судите, насколько вам это подойдет. Я делал подобное управление для питания подсветки ЖКИ от батарейки, т.е. напряжение питание могло быть в диапазоне 1.2-3.2В, мерил питание, вычислял по простой формуле скважность для повышайки на транзисторе-индуктивности.