Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
Карта сайта | Пишите нам | В избранное | eng     

Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91;
+7(909) 638-88-00 и +7(903) 530-10-01 (Билайн).
       о фирме        электроника     обратная связь

Микроэлектронные проекты. Габидуллин Ильдар. РЕГУЛЯТОР ЯРКОСТИ ЛАМПЫ НАКАЛИВАНИЯ НА МИКРОКОНТРОЛЛЕРЕ AT89C2051.

ВВЕДЕНИЕ

  В этом проекте рассказывается о микроконтроллерном регуляторе яркости лампы накаливания (далее просто регулятор). Регулятор предназначен для использования в настольном светильнике. Описываемый регулятор отличается от аналогов наличием в нем встроенного таймера отключения нагрузки. Благодаря наличию такой функции, описанное в данном проекте устройство должно заинтересовать родителей, дети которых боятся засыпать в темноте.
  Публикуемый проект содержит подробное описание устройства регулятора, правила использования устройства, описание программы, блок схемы алгоритмов.

НАЗНАЧЕНИЕ

  Регулятор предназначен для управления яркостью лампы накаливания мощностью не более 100 Вт, питающейся от сети переменного тока 230 вольт частотой 50 Гц. В основе используемого метода - фазовое регулирование момента включения симистора, включенного последовательно с лампой накаливания.

Устройство, помимо изменения мощности от 0 до 100%, выполняет следующие функции:
  1. таймер отключения с возможностью задания времени от 1 до 100 минут, режим таймера устанавливается пользователем;
  2. плавное включение и выключение лампы накаливания;
  3. сохранение всех введенных настроек в энергонезависимой памяти (заданный уровень мощности, время таймера, текущий режим).

ОПИСАНИЕ СХЕМЫ

  Конструктивно в авторском исполнении регулятор выполнен в виде двух печатных плат, соединенных между собой плоским кабелем. Одна из плат (схему платы пульта можно скачать из раздела Дополнительные материалы) является платой пульта управления, на ней размещаются микроконтроллер и все элементы операторского контроля. Вторая плата (схему силовой платы можно скачать из раздела Дополнительные материалы) является силовой и содержит клеммы подключения к питающей сети и лампе, симистор, помехоподавляющий фильтр, схему синхронизации с сетевым напряжением и источник питания регулятора.
  Регулятор построен на основе микроконтроллера AT89C2051 фирмы ATMEL (см. рисунок 1). Микроконтроллер имеет стандартные цепи: схему подключения к кварцевому резонатору с частотой 12 МГц (ZQ1, C1, С2) и схему сброса (VD1, R1, C3). Данные, содержащие сведения о заданных уровнях и режимах сохраняются в микросхеме энергонезависимой EEPROM памяти DD2, подключенной по шине I2C. Резисторы R3 и R6 являются подтягивающими и нужны для нормальной работы шины I2C. Светодиод HL1 отображает режимы работы регулятора. Дисплей HL2 предназначен для отображения текущего значения уровня мощности или времени таймера. Этот индикатор содержит два семисегментных светодиодных индикатора. Схема динамической индикации включает в себя набор резисторов RE1, резисторы R4-R8, транзисторы VT1 и VT2.
  Кнопки S1, S2, S3 позволяют управлять регулятором. Диоды VD2, VD3, VD4 и резистор R2 являются элементами схемы динамического опроса кнопок. Схема динамического опроса кнопок введена из-за нехватки выводов микроконтроллера для непосредственного ввода-вывода всех сигналов. Так как порт P1 работает исключительно на вывод данных, это позволяет путем использования всего одного вывода порта P3 опрашивать состояние всех трех кнопок.
  Секция DD3.1 микросхемы DD3 "исключающее или" 74HC86 выполняет функцию инвертора и буферного элемента между микроконтроллером и полевым транзистором (см. рисунок 2). Помимо разгрузки вывода этот инвертор необходим для формирования неактивного уровня управления симистором при сбросе микроконтроллера. При подаче питания, до того момента как произойдет инициализация микроконтроллера DD1, симистор гарантированно находится в выключенном состоянии. Узел, в который входят DD3.2, DD3.3, DD3.4 резистор R9 и конденсатор C3 обеспечивает формирование отрицательного импульса длительность около 30-40 мкс из меандра, поступающего с выхода компаратора, обеспечивающего синхронизацию с питающей сетью. Этот схема необходима для формирования внешнего прерывания по уровню, типичного для микроконтроллеров 51-го семейства. Прерывание по уровню является более помехоустойчивым и более пригодно для использования в подобных регуляторах, по сравнению с прерыванием по фронту.

  Описание силовой платы. Напряжение сети переменного тока поступает на первичную обмотку трансформатора T1. Напряжение вторичной обмотки трансформатора поступает на мостовой выпрямитель из диодов VD2-VD5 и узел синхронизации с сетью, состоящий из резисторов R7-R9, диодов VD6 и VD7, микросхемы компаратора DA2. Стабилизатор DA1 формирует стабилизированное напряжение питания 5 вольт, необходимое для питания регулятора. Несмотря на наличие трансформатора, управляющая часть регулятора гальванически не развязана от сетевого напряжения. Необходимость введения трансформатора обусловлена наличием светодиодного дисплея, который наряду с другими цепями потребляет относительно большой ток, в связи с чем, схема питания с гасящим конденсатором становится неуместной.
  Управляющий (одиночный) импульс с платы пульта, длительностью 25 микросекунд, поступает на затвор полевого транзистора VT1, который формирует управляющий импульс тока для симистора BT136 (Philips). Резистор R3 обеспечивает ток управляющего электрода, достаточный для включения симистора во всем рабочем температурном диапазоне симистора. Резистор R4 необходим для обеспечения помехоустойчивости симистора в выключенном состоянии.
  Помехоподавляющий фильтр (C7, L1, C8) снижает помехи, вносимые в питающую сеть, источником которых является любой регулятор с фазовым принципом регулирования.

  Схема подключения регулятора изображена на рисунке 3 (схему можно скачать из раздела Дополнительные материалы). Плоский кабель наколот на ответные части разъема типа IDC.Правильно собранное устройство не требует настройки.
На фотографии внешний вид регулятора в авторском исполнении.
внешний вид регулятора в авторском исполнении

Внимание!
При выполнении монтажа и проверке регулятора, не установленного в корпус следует соблюдать особые меры осторожности, так как устройство не изолировано от сети и существует высокая вероятность поражения электрическим током.

ОПИСАНИЕ РАБОТЫ РЕГУЛЯТОРА

  Регулятор имеет три кнопки управления, семисегментный светодиодный индикатор на два знакоместа и светодиод отображения текущего режима.
Регулятор работает в двух продолжительных режимах: с включенным таймером отключения нагрузки и без него. При включенном таймере светодиод "Таймер" горит постоянно, при отключенном таймере светодиод "Таймер" не горит.
  Существует еще один режим, который является кратковременным - режим установки времени таймера. В режиме установки времени срабатывания таймера светодиод мигает с периодом 1 секунда. Перевод в этот режим происходит после продолжительного удержания кнопки "Режим" в течение более 2-х секунд. Короткое нажатие на эту же кнопку изменяет текущий продолжительный режим. Выход из режима установки времени таймера происходит или при повторном длительном нажатии или по истечению 2-х секунд без нажатия кнопок "Больше" и "Меньше"
  К примеру, если таймер регулятора был выключен, то после короткого нажатия на кнопку "Режим" (т.е. длительностью менее 2-х секунд) загорится светодиод "Таймер", включится таймер, который сразу же начинает отсчет времени от того значения, которое сохранено в памяти.
  Светодиодный дисплей показывает двухзначное число активного параметра. Фактически, при работающем регуляторе на этом дисплее почти все время отображается уровень мощности в процентах от полной мощности, за которую принимается мощность, когда все сетевое напряжение подается на лампу. Уровень мощности может изменяться от 0 до 100 %. Так как дисплей имеет всего два знакоместа, то уровень мощности, соответствующий 100% показывается в виде "00", уровень нулевой мощности в виде " 0". В режиме установки времени таймера дисплей показывает текущую уставку таймера в минутах с диапазоном от 1 до 100 минут.
  Изменение значений установленной мощности и времени таймера происходит при нажатии на кнопки "Больше" и "Меньше". Меняется текущая активная величина. Скорость изменения параметра при нажатии кнопок является постоянной.
  После истечения времени таймера регулятор плавно выключает лампу с фиксированным темпом изменения яркости. Светодиод "Таймер" продолжает гореть, показывая, что таймер включен. По периметру светодиодного дисплея начинает двигаться по часовой стрелке "змейка", образованная четырьмя соседними сегментами, находящимися по периметру дисплея. Это свидетельствует о том, что регулятор включен, но таймер уже выключил лампу. Повторное включение лампы возможно либо при нажатии на кнопки "Больше" и "Меньше", либо при выключении и повторном включении питающего напряжения.
  После изменения параметров или текущего режима происходит сохранение введенных настроек в энергонезависимой памяти данных. Условием сохранения является наличие двух событий - изменение заданных параметров или режима и отсутствие нажатий кнопок в течение 2 секунд после этого.
  При включении регулятора микроконтроллер извлекает из энергонезависимой памяти заданные значения параметров и сохраненный режим работы и таким образом регулятор находится в том же состоянии, что и до выключения с обнуленным таймером отключения.

ОПИСАНИЕ ПРОГРАММЫ МИКРОКОНТРОЛЛЕРА

  Исходный текст программы публикуется вместе с данной статьей как есть. Программа доступна для повторения и изменения, но автор не несет ответственности за ее работоспособность при каждом повторении конструкции.
  Программа написана на ассемблере в виде монолитного текста. Стиль программирования и оформления программы автор не обсуждает. Он значительно изменился, так как с момента окончания разработки данного устройства прошло 2 года, в течении которых регулятор успешно работает.
  Текст программы содержит подробные комментарий на русском языке, поэтому ниже будут пояснены только основные, так сказать, "идейные" моменты этой программы.
  Программа управления регулятора использует два прерывания микроконтроллера MCS51: прерывание по уровню на входе INT0 и прерывание таймера T0. Прерывание таймера T0 имеет более высокий приоритет.
  В основной фоновой программе выполняется инициализация микроконтроллера, считывание сохраненных параметров из энергонезависимой памяти перед началом работы регулятора и постоянный контроль бита необходимости сохранения параметров, который устанавливается в подпрограмме обработки прерывания INT0. При установленном бите фоновая программа записывает изменившиеся значения в энергонезависимую память и сбрасывает бит.
  Прерывание таймера T0 предназначено для формирования импульса управления симистором длительностью около 25 микросекунд по окончанию времени загруженного в таймер и загрузки таймера T0 новым табличным значением времени задержки, соответствующим текущему уровню мощности. Сам таймер по выходу из прерывания T0 оказывается выключенным. Таким образом, таймер T0 подготавливается к началу новой полуволны сетевого напряжения. Это позволяет сократить время реакции микроконтроллера. Сам таймер запускается в самом начале прерывания INT0.
  Подпрограмма обработки прерывания INT0 является, в сущности, ключевой частью программы регулятора. В момент "перехода через 0" новой полуволны сетевого напряжения на входе микроконтроллера INT0 внешней схемой формируется отрицательный импульс. Этот импульс и является причиной возникновения прерывания INT0.
  В подпрограмме прерывания INT0 в первую очередь запускается таймер T0. Затем производится динамический опрос кнопок и сохранение результата опроса. После окончания опроса кнопок порт P1 начинает работать исключительно на светодиодный дисплей.
  Содержимое вспомогательных регистров выводится на соответствующее знакоместо светодиодного семисегментного индикатора. Данные для отображения подготавливаются в предыдущем полупериоде. Это позволяет сократить время необходимое для вывода данных на индикацию.
  В каждом полупериоде сетевого напряжения знакоместа дисплея чередуются. Таким образом, частота динамической индикации составляет 50 Гц.
После обработки индикации производится анализ состояния кнопок в соответствии с текущим активным режимом. Одновременно обеспечивается защита от дребезга контактов. Возможно, кому-то этот фрагмент программы покажется нерациональным, автор не будет с этим спорить но, тем не менее, все надежно работает.
  По ходу обработки прерывания INT0 контролируются различные вспомогательные биты, определяющие режим работы регулятора. Посредством этих битов и различных счетчиков реализуются антидребезг, темп изменения параметров, темп изменения яркости лампы при включении и выключении регулятора, выделение коротких и длительных нажатий на кнопки, выдержка времени необходимости сохранения параметров и т.п.
  Особенностью разработанной программы является использование оригинальной, как представляется автору, таблицы углов задержки включения симистора. Данная таблица получена путем вычисления в таблице Excel 100 интервалов времени за полупериод сетевого напряжения, уменьшенного на 5%. Интервалы времени рассчитывались из условия равенства интегралов мгновенного значения синусоиды. При этом получаются неравномерные интервалы времени, соответствующие различным уровням мощности. Максимальному уровню мощности соответствует минимальная задержка.

  Графическая иллюстрация результата расчета приведена на рисунке 4. Для наглядности расчет выполнен для 20 интервалов. Как видно из графиков интервал времени между соседними точками на максимуме синусоиды почти в три раза меньше времени первого интервала.
Пояснение таблицы углов включения симистора
Пояснение таблицы углов включения симистора
  Полученная неравномерность таблицы позволяет сделать более равномерное изменение яркости лампы при изменении уровня мощности. Положительным результатом такого подхода является то, что с момента "перехода сетевого напряжения через 0", до момента времени, соответствующего 99% интеграла напряжения за полупериод, проходит порядка 640 микросекунд. Это свидетельствует о том, что в распоряжении микроконтроллера достаточно времени для выполнения различных операций без потери максимально возможной мощности. Таким образом, если не учитывать потери на симисторе, регулятор с установленным значением мощности 100% будет выдавать на нагрузку почти такую же мощность, какую потребляет просто включенная в розетку та же самая нагрузка!
  Конечно, при этом желательно, чтобы используемый симистор имел как можно меньшее значение тока управления, которое можно считать практически равным току удержания симистора. Если ток удержания симистора относительно большой, то слишком быстрое включение симистора при установленном уровне мощности 100% не даст результата - импульс управления окончится, а симистор так и не включится.
  Таблица построена на основании того факта, что частота питающего напряжения является самым стабильным параметром в отечественной энергосистеме, отклонения частоты в сети не превышают 5%.

РЕЗУЛЬТАТЫ РАЗРАБОТКИ

  В ходе разработки автором преследовалась цель изучения особенностей программы устройства, действующего в режиме реального времени и выработка методов оптимизации программы с учетом требуемых режимов.
  Дополнительно изучались методы разработки программы для устройств с кнопками управления, имеющими двойной контекст. Получен практический навык работы с I2C памятью в устройстве, работающем в режиме реального времени. Впервые автор использовал микроконтроллер в устройстве гальванически связанном с питающей сетью. Регулятор оказался вполне помехоустойчивым. За время использования регулятора, а это время уже превышает один год, регулятор ни разу не "зависал" несмотря на то, что не имеет в своем составе ватчдог-таймера.
  За время эксплуатации регулятора ни разу не сгорела лампа накаливания, управляемая от него, так как при включении регулятора обеспечивается постепенный плавный нагрев нити лампы накаливания.
  Регулятор дает автору возможность экономить деньги, не тратя лишней электроэнергии, дополнительно позволяя использовать настольную лампу в роли ночного светильника. Таким образом, данный проект оказался насколько поучительным, настолько и выгодным для автора.

ДОПОЛНИТЕЛЬНЫЕ МАТЕРИАЛЫ

Эта статья в формате PDF - regpower_pz.rar.
Принципиальные электрические схемы и перечень элементов в PDF - regpower_e3pe3.rar.
Проект в Keil uVision2 и блок-схемы алгоритмов в PDF - regpower_source.rar.
Файл расчета таблицы задержек в Excel - regpower_zadergka.rar.

Данный материал был подготовлен и опубликован автором в учебных целях, чтобы помочь тем, кто только начал осваивать программирование микроконтроллеров. Именно поэтому данный проект содержит подробное описание устройства и его программы.
Автор уверен в возможность дальнейшей оптимизации регулятора, в частности введение контроля частоты сетевого напряжения и управление симистором в привязке к реальной частоте сети, введение возможности управления с телевизионного пульта дистанционного управления, уменьшение массогабаритных размеров регулятора, повышения качества программного обеспечения.
Возможно, это будет темой следующего проекта, но уже на базе другого микроконтроллера.

Автор проекта: Габидуллин Ильдар. г. Уфа.
Связаться с автором можно по e-mail: ildar-ufa@yandex.ru.

 Разместите Ваш проект у нас на сайте и его смогут увидеть сотни посетителей в день. Ваши проекты присылайте вебмастеру.
Правила оформления проектов
  1. Необходимо наличие схемы, описания устройства и т.д. (для отдельных проектов - драйвера, программное обеспечение и их описание)
  2. Схемы и другие картинки должны быть в форматах .jpg или.gif. К ним обязательно должны идти подписи, поясняющие, что на данной схеме (картинке) изображено.
  3. Описание устройства - в форматах .doc, .txt или .html.
  4. Проект не должен нарушать чьих-либо авторских прав.
Ваши проекты присылайте вебмастеру
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
Программатор «PICPROG» «PICPROG» - универсальный промышленный программатор.
Копировщик PIC16x8x Копировщик PIC16x8x - тиражирование в автономном режиме.
Наши телефоны: (495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91, мобильные: (903) 530-10-01 и (909) 638-88-00 (БиЛайн).
E-mail:

Copyright © ООО "Телесистемы", 1997 — 2024    Копируйте на здоровье! За ссылку на www.telesys.ru мы вам будем очень признательны.

Rambler's Top100