Стабилизированный регулятор мощности
Собрал регулятор мощности. Нагрузка - обыкновенная лампа накаливания (60Вт, 220В). Подключена к выходу диодного моста и коммутируется силовым полевиком. Основа устройства - МК ATmega16. На его встроеный АЦП через резисторный делитель подается напряжение, снимаемое с нагрузки.
Основная задача - обеспечить стабильную яркость лампы во всем диапазоне регулировки мощности.
Известно, что чем меньше уровень яркости, тем в большей степени она реагирует на изменение формы питающего напряжения.
Для борьбы с этим неприятным явлениям я использовал следующий алгоритм регулировки мощности:
В момент перехода сетевого напряжения через нуль (по сигналу встроенного в МК компаратора) включается нагрузка и запускается АЦП. После окончания преобразования результат суммируется с предыдущим результатом. Если сумма оказывается меньше заранее заданного числа, то выполняется еще одно преобразование. Как только сумма достигнет заранее заданного числа, нагрузка выключается. При этом заранее заданное число и определяет мощность, которую
требуется поддерживать неизменной.
Устройство работает, но не хочет чуять изменения формы питающего напряжения. Выборки АЦП происходят каждую 31мкс. При длительности импульса 2мс (малая мощность и соответственно яркость лампы) делается 2000 / 31 = 65 выборок. Разрядность АЦП - 10 бит.
При симуляции в VMLab все четко - если я изменяю крутизну фронта импульса на входе АЦП или его амплитуду, то соответственно изменяется и ширина импульса, который управляет полевиком. В реальном устройстве такого не происходит. Яркость лампы упорно меняется вслед за изменениями формы питающего напряжения.
Не пойму где и в чем я не прав?
|