РадиоКот :: Автомат управления освещением санузла: усовершенствованный силовой модуль.
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Автоматика >

Теги статьи: Добавить тег

Автомат управления освещением санузла: усовершенствованный силовой модуль.

Автор: Валерий Парусов
Опубликовано 13.11.2008

Небольшое продолжение на тему автомата управления освещением санузла.
Долго я хотел сделать плавное включение ламп, но факт установки автомата в подвесном потолке как-то отбивал желание. Но вот пришел к мне знакомый с просьбой сделать прибор, который плавно увеличивает частоту с 0 до 500 Гц - они там с одометрами мудрят, а некоторые иномарки сопротивляются, если сразу подать нужный сигнал - типа факт разгона отслеживают.
Так как в руках уже был готовый макет, то схему заново собирать не пришлось, единственно приделал КТ815, что бы лампочку от фонарика зажигать (на заднем плане маячит).

Задача состоял в том, чтобы в течение определенного времени увеличить ширину импульса на выходе до максимальной совместно с уменьшением ширины паузы:
От:

До:

То есть надо было организовать программный ШИМ.
Действует он следующим образом:
1. Устанавливается ширина паузы PAUSE=0 (что соответствует максимальной длине) и загружается в регистр TCNT0. Соответственно на выводе PB1 устанавливается логическая единица.
2. Таймер начинает считать до переполнения (255). Во время переполнения возникает прерывание.
3. В таймер загружается дополнение до 255 (по сути оно соответствует длительности импульса): 255 - PAUSE и на выводе PB1 устанавливается логический 0.
4. Число PAUSE увеличивается на 8 (256 / 32 шага = 8 единиц), что влечет за собой уменьшение длины паузы (таймер считает от PAUSE до 255) и увеличение длины импульса.
5. Цикл повторяется 32 раза.
6. Когда 32 шага пройдены, на PB1 постоянно подается логическая 1.
В основном цикле отслеживается состояние PB3. Пока на этом выводе присутствует 0, программа постоянно удерживает на PB1 низкий уровень. Как только появится единица, то отсчет импульсов пойдет заново.

Данную конструкцию я предполагаю использовать взамен моих внешних силовых модулей, которые сейчас управляют лампами и содержат только оптопару и тиристор (см. схему автомата).
Проект в ICC AVR прилагаю. Все флаги в один байт запихивать не стал, да и умножение на 8 можно сделать сдвигом и т.п., но и так всего 38% памяти заполняется да и нагляднее выходит.
Что самое интересное, пробовал тот же самый код в CodeVision один в один запихнуть, так Proteus ничем мне не мигал!

Гражданам на заметку:
Пока не отпаял ножку зеленого светодиода - прошить МК не удавалось, т.к. он губил сигнал SCK. Видимо изначально я этот прибор собирал без светодиода, теперь уж не вспомню.

Файлы:
Прошивка МК с исходником.
Видео работы (15Мб)

Вопросы, как всегда в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

5 0 0