Надо шимом в двухтактнике, кроме фронтов спада, сдвигать ещё и фронты подъёма, при чём по разному. Видится это посредством включения автоматических фазосдвигающих цэпочек между выходом контроллера и входом драйвера. А что если упростить систему - если драйвер не используется (у контроллера драйверный выход) - фазосдвигающая цэпочка переведёт импульсы в линейный режим.
Как можно сдвинуть фронты подъёма внутри контроллера? Можно на микроконтроллере - это понятно, но вопрос на предмет не программируемых контроллеров.
Рассмотрю, к примеру, TL494:
Сигнал с осциллятора сравнивается на компараторе DA2 с уровнем компараторов ОС - DA3,DA4 (контакт "3"), и при разряженном конденсаторе выходит в единицу, а когда конденсатор зарядится до уровня отсечки - появляется спад. Так откуда эта единица взялась? То есть - осциллятор разряжает конденсатор на верхнем уровне - выше уровня отсечки и появляется единица. То есть, ноль - пока конденсатор заряжен. Значит - надо продлить нахождение конденсатора в полузаряженном состоянии - чтоб его не разряжали. Но тогда частота уплывёт. Либо как-то самому задавать период разрядки конденсатора, не доводя его до верхнего уровня. - То есть - будет пила с отрезанными верхами.
Конечно - это бредовые навороты - транзистор с управлением городить, - не то. Может быть форумчане знают что-то на эту тему? Прошу поделиться опытом.