Плавный пуск собрал на симисторах BTA41, оптронах (без контроля 0

Алгоритм такой. Процессор смотрит переход через 0 питающей фазы (относительно нейтрали). Отсчитывает некоторое время (зависит от точки разгона) и дает команду на оптрон. Затем ждет до окончания полупериода и снимает сигнал с оптрона. Так в даташите от ST написано было. Правда, ST-шники все это время дают импульсы открывания на симистор, но я и так пробовал - разницы не ощутил. ST, правда, писал про однофазный асинхронник. Я для начала собрал схему на однофазном и испытал его - все нормально работает. Правда без процессора - чисто по схеме из даташита.
Так вот. Примерно в середине разгона двигатель начинает дергаться. Вначале разгоняется неплохо и в конце тоже нормально. Измерить ток по фазам пока не могу (резистора подходящего не найду). Такая же фигня при торможении происходит.
Как я понимаю, какая-то ошибка в алгоритме. Но осознать не могу.
Подскажите, кто строил плавный пуск - в чем моя ошибка?
Только что попробовал общую точку обмоток подключить к нейтрали. Субъективно, двигателю стало полегче. Но не до конца. Лампочка, подключенная параллельно одной из обмоток в некоторые моменты времени начинает мигать.
И еще. Пробовал открывать симистор коротким импульсом - не прокатило. Нормально работает только до 90 градусов - дальше начинается "колбасня"