18 точек на полуволну (шаг 10 градусов). Использую мертвое время модуля (600ns) и его фишку, что у него можно объединить верхние и нижние управляющие входы (нижние входы инверсные, верхние входы - прямые), так что управление по 3 пинам, а не по 6, что упростило разводку платы.
Впрочем можно и 6 каналов сделать с управляемым дедтаймом, на CubeMX это 1 минуту занимает. (первые варианты на дискретных транзисторах так и были, но все это у меня расползалось в огромнейшие сопли, которые ловили все наводки).
Защита встроенныая от перегрузки - шунты из набора кучи SMD резисторов 1Вт итоговым сопротивлением ~0.05 Ом, примерно на ток 10А. Модуль при этом начинает дергать свою RC цепочку по входу SD. Если читать этот ногодрыг контроллером, то можно обработать перегруз, при желании и принудительно притянуть SD к GND выключив модуль.
Сейчас только надо сделать все по человечески и добавить плавный заряд конденсатора, ну или хотя бы термистор.

Ну и индикатор влепить, в идеале гальваническую развязку управления от силовой части.
И Си не темный лес - темный лес это регистры

А ассемблер вообще дремучий лес!
