Разработка устройства автоматического регулирования света на микроконтроллере
В настоящее время в системах управления и обработки данных все чаще применяются микроконтроллеры, решающие широкий спектр задач. Однокристальные микроконтроллеры (ОМК) являются наиболее массовым видом устройств современной микропроцессорной техники, годовой объем выпуска которых составляет более 2,5 млрд. штук. Интегрируя на одном кристалле высокопроизводительный процессор, память и набор периферийных схем, ОМК позволяют с минимальными затратами реализовать высокоэффективные системы и устройства управления различными объектами (процессами). В отличие от обычных микропроцессоров, для работы которых необходимы внешние интерфейсные схемы, в корпусе ОМК наряду с основными функциональными узлами размещены такие вспомогательные узлы, как тактовый генератор, таймер, контроллер прерываний, цифро-аналоговый и аналого-цифровой преобразователи, порты ввода-вывода.
Благодаря этим качествам ОМК находят широкое применение в системах промышленной автоматики, контрольно-измерительных приборах и системах, аппаратуре связи, автомобильной электронике, медицинском оборудовании, бытовой технике и многих других областях.
Применение однокристальных микроконтроллеров позволяет перенести основные затраты, связанные с разработкой встраиваемых систем управления, из аппаратной в программную область. Это неминуемо влечет за собой увеличение сложности программного обеспечения (ПО) микроконтроллеров.
Особенностью разработки ПО для ОМК является использование языка низкого уровня - языка ассемблера. Это связано с тем, что при реализации встраиваемых систем критичными являются время реакции на внешние воздействия, время выполнения заданных процедур обработки данных, размер программного кода и области данных.
Мировая промышленность выпускает огромную номенклатуру микроконтроллеров. По области применения их можно разделить на два класса : специализированные, предназначенные для применения в какой-либо одной конкретной области (контроллер для телевизора, контроллер для модема, контроллер для компьютерной мышки ) и универсальные, которые не имеют конкретной специализации и могут применяться в самых различных областях микроэлектроники, с помощью которых можно создать как любое из перечисленных выше устройств, так и принципиально новое устройство.
Тема дипломной работы – «Разработка устройства автоматического регулирования света на микроконтроллере».
Основная цель дипломного проекта – на основании задания на проектирование разработать устройство автоматического регулирования света на микроконтроллере с учётом следующих требований:
- простота схемы (минимальное количество компонентов);
- функциональная насыщенность, многообразие регулируемых параметров;
- устойчивость к броскам сетевого напряжения, долговечность;
- отсутствие либо минимальный нагрев компонентов (пожаробезопасность);
- низкое энергопотребление.
Актуальностью данной работы является проектирование устройства автоматического регулирования света, которое отличается своей новизной и учитывает почти все недостатки ранее разработанных аналогичных устройств.
РАЗДЕЛ 1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ
1 Разработка микропроцессорной системы на основе микроконтроллера
1.1 Основные этапы разработки
МПС на основе МК используются чаще всего в качестве встроенных систем для решения задач управления некоторым объектом. Важной особенностью данного применения является работа в реальном времени, т.е. обеспечение реакции на внешние события в течение определенного временного интервала. Такие устройства получили название контроллеров.
Перед разработчиком МПС стоит задача реализации полного цикла проектирования, начиная от разработки алгоритма функционирования и заканчивая комплексными испытаниями в составе изделия, а, возможно, и сопровождением при производстве. Сложившаяся к настоящему времени методология проектирования контроллеров может быть представлена так, как показано на рис. 1.1.
В техническом задании формулируются требования к контроллеру с точки зрения реализации определенной функции управления. Техническое задание включает в себя набор требований, который определяет, что пользователь хочет от контроллера и что разрабатываемый прибор должен делать. Техническое задание может иметь вид текстового описания, не свободного в общем случае от внутренних противоречий.
На основании требований пользователя составляется функциональная спецификация, которая определяет функции, выполняемые контроллером для пользователя после завершения проектирования, уточняя тем самым, насколько устройство соответствует предъявляемым требованиям. Она включает в себя описания форматов данных, как на входе, так и на выходе, а также внешние условия, управляющие действиями контроллера.
Рисунок 1.1- Основные этапы разработки контроллера
Этап разработки алгоритма управления является наиболее ответственным, поскольку ошибки данного этапа обычно обнаруживаются только при испытаниях законченного изделия и приводят к необходимости дорогостоящей переработки всего устройства. Разработка алгоритма обычно сводится к выбору одного из нескольких возможных вариантов алгоритмов, отличающихся соотношением объема программного обеспечения и аппаратных средств.
При этом необходимо исходить из того, что максимальное использование аппаратных средств упрощает разработку и обеспечивает высокое быстродействие контроллера в целом, но сопровождается, как правило, увеличением стоимости и потребляемой мощности. При выборе типа МК учитываются следующие основные характеристики:
- разрядность;
- быстродействие;
- набор команд и способов адресации;
- требования к источнику питания и потребляемая мощность в различных режимах;
- объем ПЗУ программ и ОЗУ данных;
- возможности расширения памяти программ и данных;
- наличие и возможности периферийных устройств, включая средства поддержки работы в реальном времени (таймеры, процессоры событий и т.п.);
- возможность перепрограммирования в составе устройства;
- наличие и надежность средств защиты внутренней информации;
- возможность поставки в различных вариантах конструктивного исполнения;
- стоимость в различных вариантах исполнения;
- наличие полной документации;
- наличие и доступность эффективных средств программирования и отладки МК;
- количество и доступность каналов поставки, возможность замены изделиями других фирм.
Список этот не является исчерпывающим, поскольку специфика проектируемого устройства может перенести акцент требований на другие параметры МК.
Номенклатура выпускаемых в настоящее время МК исчисляется тысячами типов изделий различных фирм. Современная стратегия модульного проектирования обеспечивает потребителя разнообразием моделей МК с одним и тем же процессорным ядром. Такое структурное разнообразие открывает перед разработчиком возможность выбора оптимального МК, не имеющего функциональной избыточности, что минимизирует стоимость комплектующих элементов.
Однако для реализации на практике возможности выбора оптимального МК необходима достаточно глубокая проработка алгоритма управления, оценка объема исполняемой программы и числа линий сопряжения с объектом на этапе выбора МК. Допущенные на данном этапе просчеты могут впоследствии привести к необходимости смены модели МК и повторной разводки печатной платы макета контроллера. В таких условиях целесообразно выполнять предварительное моделирование основных элементов прикладной программы с использованием программно-логической модели выбранного МК.
На этапе разработки структуры контроллера окончательно определяется состав имеющихся и подлежащих разработке аппаратных модулей, протоколы обмена между модулями, типы разъемов. Выполняется предварительная проработка конструкции контроллера. В части программного обеспечения определяются состав и связи программных модулей, язык программирования. На этом же этапе осуществляется выбор средств проектирования и отладки.
1.2 Разработка и отладка аппаратных средств
После разработки структуры аппаратных и программных средств дальнейшая работа над контроллером может быть распараллелена. Разработка аппаратных средств включает в себя разработку общей принципиальной схемы, разводку топологии плат, монтаж макета и его автономную отладку. На этапе ввода принципиальной схемы и разработки топологии используются, как правило, распространенные системы проектирования типа "ACCEL EDA" или "OrCad".
1.3 Разработка и отладка программного обеспечения
Содержание этапов разработки программного обеспечения, его трансляции и отладки на моделях существенно зависит от используемых системных средств. В настоящее время ресурсы 8-разрядных МК достаточны для поддержки программирования на языках высокого уровня. Это позволяет использовать все преимущества структурного программирования, разрабатывать программное обеспечение с использованием раздельно транслируемых модулей. Одновременно продолжают широко использоваться языки низкого уровня типа ассемблера, особенно при необходимости обеспечения контролируемых интервалов времени. Задачи предварительной обработки данных часто требуют использования вычислений с плавающей точкой, трансцендентных функций.
В настоящее время самым мощным средством разработки программного обеспечения для МК являются интегрированные среды разработки, имеющие в своем составе менеджер проектов, текстовый редактор и симулятор, а также допускающие подключение компиляторов языков высокого уровня типа Паскаль или Си. При этом необходимо иметь в виду, что архитектура многих 8-разрядных МК вследствие малого количества ресурсов, страничного распределения памяти, неудобной индексной адресации и некоторых других архитектурных ограничений не обеспечивает компилятору возможности генерировать эффективный код.
Для проверки и отладки программного обеспечения используются так называемые программные симуляторы, предоставляющие пользователю возможность выполнять разработанную программу на программно-логической модели МК. Программные симуляторы распространяются, как правило, бесплатно и сконфигурированы сразу на несколько МК одного семейства. Выбор конкретного типа МК среди моделей семейства обеспечивает соответствующая опция меню конфигурации симулятора. При этом моделируется работа ЦП, всех портов ввода/вывода, прерываний и другой периферии. Карта памяти моделируемого МК загружается в симулятор автоматически, отладка ведется в символьных обозначениях регистров.
Загрузив программу в симулятор, пользователь имеет возможность запускать ее в пошаговом или непрерывном режимах, задавать условные или безусловные точки останова, контролировать и свободно модифицировать содержимое ячеек памяти и регистров симулируемого МК.
1.4 Методы и средства совместной отладки аппаратных и программных средств
Этап совместной отладки аппаратных и программных средств в реальном масштабе времени является самым трудоемким и требует использования инструментальных средств отладки. К числу основных инструментальных средств отладки относятся:
- внутрисхемные эмуляторы;
- платы развития (оценочные платы);
- мониторы отладки;
- эмуляторы ПЗУ.
Внутрисхемный эмулятор – программно-аппаратное средство, способное заменить эмулируемый МК в реальной схеме.
Внутрисхемный эмулятор – это наиболее мощное и универсальное отладочное средство, которое делает процесс функционирования отлаживаемого контроллера прозрачным, т.е. легко контролируемым, произвольно управляемым и модифицируемым.
Платы развития, или, как принято их называть в зарубежной литературе, оценочные платы (Evaluation Boards), являются своего рода конструкторами для макетирования электронных устройств. Обычно это печатная плата с установленным на ней МК и всей необходимой ему стандартной периферией. На этой плате также устанавливают схемы связи с внешним компьютером. Как правило, там же имеется свободное поле для монтажа прикладных схем пользователя. Иногда предусмотрена уже готовая разводка для установки дополнительных устройств, рекомендуемых фирмой. Например, ПЗУ, ОЗУ, ЖКИ- дисплей, клавиатура, АЦП и др.
Эмулятор ПЗУ – программно-аппаратное средство, позволяющее замещать ПЗУ на отлаживаемой плате, и подставляющее вместо него ОЗУ, в которое может быть загружена программа с компьютера через один из стандартных каналов связи. Это устройство позволяет пользователю избежать многократных циклов перепрограммирования ПЗУ. Эмулируемая память доступна для просмотра и модификации, но контроль над внутренними управляющими регистрами МК был до недавнего времени невозможен.
В последнее время появились модели интеллектуальных эмуляторов ПЗУ, которые позволяют "заглядывать" внутрь МК на плате пользователя.
Этап совместной отладки аппаратных и программных средств в реальном масштабе времени завершается, когда аппаратура и программное обеспечение совместно обеспечивают выполнение всех шагов алгоритма работы системы. В конце этапа отлаженная программа заносится с помощью программатора в энергонезависимую память МК, и проверяется работа контроллера без эмулятора.
1.5 Выбор микроконтроллера
Для проектирования устройства автоматического регулирования света постараемся выбрать относительно недорогой, простой и широкоиспользуемый микроконтроллер.
Все эти особенности можно отнести к микроконтроллерам корпорации ATMEL (ATMega 16L).
Корпорация ATMEL, основанная в 1984, является в настоящее время признанным мировым лидером в областях разработки, производства и маркетинга современных электронных компонентов.
Рисунок 1.2 – Общий вид микроконтроллера ATMega 16L
ATMega16 обладает очень большим количеством самых разнообразных функций. Вот некоторые его характеристики:
* Максимальная тактовая частота – 16 МГц (8 МГц для ATMega16L)
* Большинство команд выполняются за один такт
* 32 8-битных рабочих регистра
* 4 полноценных 8-битных порта ввода/вывода
* два 8-битных таймера/счетчика и один 16-битный
* 10-разрядный аналогово-цифровой преобразователь (АЦП)
* внутренний тактовый генератор на 1 МГц
* аналоговый компаратор
* интерфейсы SPI, I2C, TWI, RS-232, JTAG
* внутрисхемное программирование и самопрограммирование
* модуль широтно-импульсной модуляции (ШИМ)
* 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением
* Прогрессивная RISC архитектура
Рисунок 1.3 – Расположение выводов микроконтроллера ATMega 16L
130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл
32 8-разрядных рабочих регистра общего назначения
Полностью статическая работа
Производительность приближается к 16 MIPS (при тактовой частоте 16 МГц)
Встроенный 2-цикловый перемножитель
* Энергонезависимая память программ и данных
16 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)
Обеспечивает 1000 циклов стирания/записи
Дополнительный сектор загрузочных кодов с независимыми битами блокировки
Внутрисистемное программирование встроенной программой загрузки
Обеспечен режим одновременного чтения/записи (Read-While-Write)
512 байт EEPROM
Обеспечивает 100000 циклов стирания/записи
1 Кбайт встроенной SRAM
Программируемая блокировка, обеспечивающая защиту программных средств пользователя
* Интерфейс JTAG (совместимый с IEEE 1149.1)
Возможность сканирования периферии, соответствующая стандарту JTAG
Расширенная поддержка встроенной отладки
Программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки
* Встроенная периферия
Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения
Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения
Счетчик реального времени с отдельным генератором
Четыре канала PWM
8-канальный 10-разрядный аналого-цифровой преобразователь
8 несимметричных каналов
7 дифференциальных каналов (только в корпусе TQFP)
2 дифференциальных канала с программируемым усилением в 1, 10 или 200 крат (только в корпусе TQFP)
Байт-ориентированный 2-проводный последовательный интерфейс
Программируемый последовательный USART
Последовательный интерфейс SPI (ведущий/ведомый)
Программируемый сторожевой таймер с отдельным встроенным генератором
Встроенный аналоговый компаратор
* Специальные микроконтроллерные функции
Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания
Встроенный калиброванный RC-генератор
Внутренние и внешние источники прерываний
Шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, Extended Standby и снижения шумов ADC
* Выводы I/O и корпуса
32 программируемые линии ввода/вывода
40-выводной корпус PDIP и 44-выводной корпус TQFP
* Рабочие напряжения
2,7 - 5,5 В (ATmega16L)
4,5 - 5,5 В (ATmega16)
* Рабочая частота
0 - 8 МГц (ATmega16L)
0 - 16 МГц (ATmega16)
Рисунок 1.4 – Функциональная схема микроконтроллера ATMega 16L
РАЗДЕЛ 2 РАЗРАБОТКА УСТРОЙСТВА АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ СВЕТА
Несмотря на бурное развитие сверхъярких светодиодов, в широкой продаже пока не появились светодиодные лампы, способные заменить бытовые лампы накаливания. Получившие довольно широкое распространение энергосберегающие люминесцентные лампы, при всех своих достоинствах, обладают, во-первых, высокой стоимостью, во-вторых, требуют сложную схему управления яркостью. Отечественные и зарубежные регуляторы ламп накаливания имеют ряд недостатков:
- управление только одним каналом;
- отсутствие стабилизации яркости;
- наличие помех радиоприёму, звон нитей ламп, жужжание встроенного фильтра.
Эти же недостатки присущи схемам, опубликованным в радиолюбительской литературе, периодической печати и в Интернете.
2.1 Постановка задачи
Требуется создать регулятор яркости ламп накаливания (за рубежом называемый «диммер» - dimmer), свободный от указанных недостатков, и предназначенный для установки в двухканальный светильник промышленного производства (Рис. 1).
Разработка устройства велась с учётом следующих требований:
- простота схемы (минимальное количество компонентов);
- функциональная насыщенность, многообразие регулируемых параметров;
- устойчивость к броскам сетевого напряжения, долговечность;
- отсутствие либо минимальный нагрев компонентов (пожаробезопасность);
- низкое энергопотребление.
Рисунок 2.1 – Светильник с встроенным устройством автоматического регулирования света
2.2 Разработка структурной схемы устройства и функциональной спецификации
Структурная схема устройства автоматического регулирования света представлена на рисунке 2.2.
Устройство состоит из основных элементов:
~ 220 В
Управление каналом
SB1 «1» HL1
Управление каналом
SB2 «2» HL2
Рисунок 2.2 – Структурная схема устройства автоматического регулирования света
МК – микроконтроллер (устройство, выполняющее функции управления устройствами управления);
БП – блок питания (осуществляет питание микроконтроллера и устройств управления требуемыми напряжениями);
УУ1, УУ2 – устройство управления 1-ого и 2-ого канала соответственно (осуществляют силовое управление лампами освещения по заданной программе);
SB1, SB2 – кнопки управления 1-ым и 2-ым каналами (осуществляют управление каналами освещения, по заданной программе);
HL1, HL2 – лампы освещения (освещают помещение в различных режимах и требуемой яркости).
Функциональная спецификация:
1.Входы
а. SB1, SB2 – кнопки управления 1-ым и 2-ым каналами, соответственно;
b. источник электропитания устройства (БП).
2.Выходы
а. УУ1, УУ2 – устройство управления 1-ого и 2-ого канала, соответственно .
3.Функции
а. Кнопками управления SB1 и SB2 осуществляется управление программой микроконтроллера;
b. По выбранной программе, осуществляется управление устройствами управления УУ1 и УУ2, которые осуществляют регулировку подачи регулируемого напряжения на лампы накаливания HL1 и HL2.
2.3 Разработка функциональной схемы
Основу устройства, функциональная схема которого изображена на Рис. 2.3, составляет микроконтроллер ATmega16L семейства AVR корпорации ATMEL. Управление осуществляется двумя не фиксируемыми в нажатом положении кнопками, по одной на каждый канал.
~220В F1
|