Выдался свободный денёк и я решил наконец то опробовать блок скоростного счетчика в режиме линии задержки. Этот режим создавался в основном для реализации фазного регулирования нагрузки, но до сих пор я не успевал его обкатать в реальном применении. Думаю уже пора.
Обвязку блока я сделал по этой схеме:
На оптопаре PC814 собран детектор нуля. Поскольку блок работает на прерываниях, то входом детектора нуля могут служить только входы контроллера к которым привязываются аппаратные прерывания. В случае UNO это входы D2 и D3.
На оптосимисторе MOC3023 собран блок управления симистором. Для управления этим блоком можно выбрать любой свободный цифровой выход контроллера.
Схема проекта
Res — Аналоговый вход. На входе стоит переменный резистор.
Блок SCT2 — Блок скоростного счетчика. (Библиотека элементов -> Счетчики -> SpeedCounter)
Настройки блока:
Поскольку все оптопары отличаются — необходимо произвести настройку блока Scalе. Для этого на время модернизируем проект.
Теперь значение задержки раз в секунду будет выводится в Ком-порт. Для чего это нужно? Поскольку передний фронт импульса с детектора нуля приходит немного раньше истинного момента перехода синусоиды через 0 (в момент потухания светодиода оптопары), то нам необходимо определить это время для задания его в качестве 100% значения мощности на нагрузке. Вот настроечные параметры для блока Scale.
Зальем программу в контроллер и запустим монитор компорта. При вращении переменного резистора лампа будет либо гореть либо мерцать.Вот как это выглядит.
Добиваемся равномерного максимального горения. Значение полученное через компорт записываем. Это значение будем заносить в поле «Нижний предел выходного значения» Scale. Теперь отстроим вторую границу. Опять поменяем значения в блоке Scale
Длительность полупериода сетевого напряжения составляет 10000 микросекунд. Но у нас импульс сдвинут 1102 микросекунды раньше. Соответственно что бы установить полный ноль мощности необходимо максимальную задержку увеличить на столько-же. Можно конечно просто выставить 11102, но лучше проверить. Зальем программу в контроллер и запустим монитор компорта. Добиваемся момента перехода с мерцающего горения в полное потухание. Значение из компорта записываем. Вот как это выглядит.
Ну и тетерь можно использовать полученные значения. Заполняем блок Scale
Ну вот что получилось
Теперь можно убирать блоки генератора и передачи данных компорта, а на вход Scale подавать необходимое Вам регулирующее значение. Обратите внимание в поле «Верхний предел входного значения» блока Scale необходимо занести значение регулирующей величины соответствующее 0 мощности на нагрузке, а в поле «Нижний предел входного значения» значение соответствующее 100% мощности.
Добавил: support