Вы должны знать, когда пересечения нулевой линии переменного тока. В отличие от того, что говорят другие, вы ищете пересечение нулевого напряжения при включении симистора. Это должно быть очевидно, если учесть, что триак еще не включен, и поэтому ток равен нулю.
Кажется, вы пытаетесь измерить пересечение нулевого напряжения с нижней цепью, но вам, возможно, придется поэкспериментировать, чтобы заставить его работать хорошо. Вы рассчитываете, что напряжение достаточно низкое, чтобы не включать светодиоды при каждом пересечении нуля, что затем отключает транзистор при каждом пересечении нуля. Поэтому вы надеетесь получить небольшой положительный сбой при каждом пересечении нуля. Получить светодиоды достаточно долго, чтобы транзистор выключился достаточно, чтобы работало подтягивание, и затем все, что происходит с небольшой задержкой фазы, будет сложно.
В одном случае я должен был сделать это, я использовал два варианта в двухтактной конфигурации. Светодиоды были подключены друг к другу, поэтому каждый из них был включен в течение 1/2 каждого цикла линии. Выходы были подключены так, что один тянул высоко, а другой низко. В результате получилась хорошая чистая прямоугольная волна с рабочим циклом 50% и краями, очень близкими к пересечению нуля.
В любом случае, если у вас есть сигнал на пересечение нуля, вы просто добавляете переменную задержку перед включением триака. Задержка может составлять от нуля до почти половины цикла строки. Чем дольше задержка, тем ниже общее среднее напряжение на двигателе. Если частота линии составляет 50 Гц, тогда полный цикл составляет 20 мс, а полупериод равен 10 мс, поэтому период переменной задержки, вероятно, должен быть ограничен 0-9 мс или около того.
Вам придется поэкспериментировать, чтобы определить среднее напряжение, которое двигатель будет видеть как функцию задержки. Вы можете рассчитать это, если бы нагрузка была известна. Ваша нагрузка имеет непредсказуемый индуктивный компонент, поэтому триак фактически несколько выключится после следующего пересечения нулевого напряжения. Эта задержка сама по себе зависит от задержки включения и от того, что делает двигатель. Если ваша задержка включения невелика, то индуктор получает большую часть полупериодного цикла для зарядки, поэтому для разрядки потребуется некоторое время. Если ваша задержка была длительной, то индуктор заряжался только в течение короткого времени при низком напряжении, и, следовательно, для его разрядки потребуется всего короткое время, и он достигнет уровня нулевого тока, при котором отключится триак.
Для низких видимых напряжений двигателя (длительные задержки при включении) задержка выключения не имеет значения, поскольку триак отключается, прежде чем вы попытаетесь включить его снова в конце следующего полупериода. Когда вы включаете привод двигателя и, следовательно, уменьшаете задержку включения, в конечном итоге нулевой ток индуктора появляется после вашего сигнала включения для следующего полупериода. Теперь симистор будет работать постоянно, а это означает, что ваш двигатель видит полное напряжение сети. Более короткая задержка включения не увеличивает моторный привод. Тем не менее, у вас все еще есть почти полный диапазон управления двигателем, просто он не распределен равномерно по всему циклу линии. Маленькие задержки включения такие же, как и постоянно.
Обратите внимание, что это предполагает, что симистор приводится в движение непрерывно от задержки включения до конца цикла половинной линии. Это гарантирует, что триак включен во время фазы включения каждого полупериода независимо от того, что делает ток. Если вы не сделаете этого, а вместо этого проведете короткое нажатие на триак после задержки включения, то произойдут две плохие вещи. Во-первых, когда двигатель полностью включен и текущее пересечение нуля с предыдущего полупериода происходит после включения следующего, симистор выключится при этом пересечении нуля. Во-вторых, симистор может отключиться при коротких глюках тока, как это может случиться с двигателями с механической коммутацией.