Схемка на картинке - по паспорту. Микроконтроллер только не 5В, а 3.3В. Контроллер сидит Vss'ом на минусе шины. Тут важна не схема, а топология. Модулятор первого порядка. Дифференциатор плюс аккумулятор, обновляемые каждый цикл модулятора. Задержка в один цикл, никакой временной фильтрации разницы, кроме интегрирования аккумулятором не используется.
На стороне микроконтроллера ещё ряд делителей напряжения из гирлянд 0805-резисторов.
Проект на ANSI C. Ключ fatal_warnings здорово помогает. Раньше на разбор глюков уходило больше времени, так как на предупреждения внимание не обращал. Но в случае управления чем-то мощнее лампочки-индикатора, пришлось сразу дисциплинировать себя. Не прогадал. Были лишь алгоритмические ошибки и опечатки. Трудноуловимых глюков избежал.
В проекте номиналы резисторов делителей и опорное напряжение "задефайнены". Все целочисленные коэффициенты, используемые в расчётах, вычисляются на этапе компиляции из фактически измеренных значений сопротивлений делителей и смещений, а так же опорного напряжения Vref=Vdd. Таким образом, на абсолютную точность линейных напряжений, разброс резисторов от номиналов не влияет. Вопрос лишь точности измерения сопротивлений на этапе сборки.
Весь цикл вычислений модулятора занимает всего порядка 600 циклов инструкций ЦП (используются аппаратные умножители и делитель. В основном, компилятор справился. Лишь в одном месте пришлось делать ассемблерную вставку, чтобы использовать аппаратный делитель напрямую. Компилятор ожидал результат большей разрядности и использовал целый каскад операций из-за этого, вместо одной инструкции ЦП. У меня же размерность результата гарантируется коэффициентами из заголовочного файла, которые учитывают предельно-возможные значения входных данных (весь диапазон АЦП 12бит).
Цикл модулятора стабильный. Состояние ключей обновляется с частотой около 39кГц. Максимальная частота переключений около 19кГц, что проходит по паспорту IGBT-модуля. При этом эффективная частота переключений в течение активного полупериода работы ключа в пределах 4..6кГц. Короткие импульсы редки.
P.S. Вот видео отладки регулятора частоты на промежуточном, ещё не быстром, но уже хорошем варианте модулятора:
https://youtu.be/dXsZZrwTyJc
А вот видео как проверял форму среднего напряжения:
https://youtu.be/KsCt_JQKrX4
Если бы модуляция была ШИМ, а не дельта-сигма, усреднение дало бы пилу вместо зашумленной синусоиды.