62975 (588878), страница 3

Файл №588878 62975 (Разработка устройства автоматического регулирования света на микроконтроллере) 3 страница62975 (588878) страница 32016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)


Стабилизатор

Фильтр



«+»

Транзистор 1

Транзистор 2

Рисунок 2.3 - Функциональная схема устройства автоматического регулирования света

Регулировка мощности основана на реверсивном принципе управления фазой. Нагрузка включается в каждом полупериоде сети в момент перехода сетевого напряжения через нуль и выключается через определённый интервал времени в зависимости от требуемого уровня яркости. Коммутация нагрузки осуществляется мощными MOSFET транзисторами (Транзистор1 и Транзистор2 на Рис.2.3). Такое решение имеет целый ряд преимуществ перед классической схемой прямого фазового регулирования на основе триака:

- "мягкое" управление транзистором позволяет снизить уровень помех и звон нити лампы – не нужен громоздкий сетевой фильтр, снижающий эффективность и зачастую являющийся источником неприятного жужжания;

- благодаря нарастанию напряжения с нуля и малому звону нити, лампы служат намного дольше;

- для управления MOSFET транзистором требуется гораздо меньший ток;

- более низкое падение напряжения на переходе транзистора сокращает тепловыделение;

- отсутствие понятия "ток удержания" позволяет плавно регулировать малую яркость.

Диодный мост выполняет три функции:

- создаёт пульсирующее однополярное напряжение для питания нагрузки;

- выпрямляет сетевое напряжение для питания схемы;

- обеспечивает сетевое напряжение удвоенной частоты (100 Гц), используемое МК для определения момента перехода фазы сети через нуль.

Детектирование перехода сетевого напряжения через нуль осуществляется тем же делителем напряжения и тем же каналом встроенного в МК АЦП, которые предназначены для измерения напряжения на лампе. Это позволяет отказаться от встроенного в МК компаратора и уменьшить тем самым потребляемый ток. Фильтрация сетевых помех реализуется программно.

Блок питания выполнен по бестрансформаторной схеме с гасящим резистором (балластом). Строить блок питания по трансформаторной схеме тоже не получится, т.к. не существует сетевых трансформаторов, которые подходили бы по габаритам (максимально допустимая высота 13 мм).

В качестве регулирующего элемента применён прецизионный микромощный источник опорного напряжения +5 В параллельного типа (далее по тексту ИОН). По сравнению с обычным стабилитроном, выбранный ИОН имеет два важных преимущества. Во-первых, одновременно со стабилизацией питания МК получается стабильное опорное напряжение АЦП [3]. Во-вторых, на порядок уменьшается потребляемый регулирующим элементом ток (примерно с 1 мА до 0,1 мА).

Устройство имеет защиту от короткого замыкания, превышения мощности нагрузки и повышения сетевого напряжения.

2.4 Разработка алгоритма управления

Программа составлена и отлажена в бесплатной среде разработки VM Lab версии 3.14 (в окне 'About Visual Micro Lab' эта версия указана как 3.12).

Код программы написан на языке ассемблера, содержит более 1500 строк, занимает в памяти программ МК более 3 КБ. Задействованы все 32 регистра, 51 байт оперативной памяти (SRAM, ОЗУ), 45 байт энергонезависимой памяти EEPROM.

На первый взгляд, возможности МК ATmega16, имеющего 16 КБ программной памяти, 1 КБ SRAM, 512 байт EEPROM, и богатый набор периферийных устройств, кажутся избыточными. На самом деле, выбор МК "с запасом" сделан умышленно, чтобы иметь возможность совершенствовать устройство и наращивать его функциональные возможности.

При необходимости код может быть перенесён на другие МК семейства ATmega.

Алгоритм управления показан на Рис.2.4. Каждый блок начинается с названия файла, в котором размещён программный код данного блока. Подпрограммы обозначены блоком меньшего горизонтального размера. Среди них есть функции, т.е. подпрограммы, возвращающие значения. Для упрощения они тоже называются подпрограммами. Отличие подпрограмм, расположенных в файле ProceduresINT.asm, от подпрограмм в файле ProceduresEXT.asm заключается в том, что первые предназначаются только для данного проекта, а вторые являются универсальными и могут найти применение в других проектах. Блок Startup.asm тоже использует некоторые подпрограммы, но для упрощения восприятия рисунка эти связи на блок-схеме не показаны.

2.5 Разработка программного обеспечения микроконтроллера

Далее кратко рассмотрены ключевые моменты программной части проекта. Дополнительная информация содержится в комментариях, которыми снабжена практически каждая строка программы. Листинг программы и объектный файл приведен в Приложении А. Алгоритм работы второго канала полностью аналогичен алгоритму работы первого, поэтому комментарии приводятся только для первого канала. По этой же причине в названиях регистров, процедур и т.п. номер канала либо не указывается совсем, либо обозначается буквой "X" или "x". Команды, начинающиеся с символа комментария (";") в начале строки, предназначены для облегчения разработки, отладки и тестирования.

Присваивание имён регистрам, ячейкам ОЗУ, периферийным устройствам Присваивание значений константам, не изменяемым пользователем Определение пользовательских переменных (параметров настройки диммера) Определение системных переменных

Выяснение и запись причины сброса МК

Задержка на время стабилизации напряжения питания

Считывание параметров из EEPROM, их проверка, корректировка, и копирование в регистры или ячейки ОЗУ

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

Формирование случайного числа

Определение предыдущего состояния устройства

Инициализация периферийных устройств МК

Инициализация всех регистров и ячеек ОЗУ нулевым значением

Автовыключение первого канала, Автовыключение второго канала Сброс таймеров автоотключения Настройка таймера функции

Имитация Присутствия Хозяев

Запись информации о срабатывании неиспользуемого прерывания

Чтение EEPROM; Запись EEPROM

Генерация псевдослучайного числа; Формирование задержки

Таблица значений яркости; Таблица значений процентов


Рисунок 2.4 – Блок-схема алгоритма


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

Программа оптимизирована по быстродействию, поскольку, чем меньше времени потребуется для выполнения кода, тем большей максимальной яркости можно достигнуть (эта взаимосвязь подробно рассмотрена далее). Особое значение имеет время выполнения процедуры ADCSampling. От этого зависит качество стабилизации, т.е. насколько быстро устройство может реагировать на колебания сетевого напряжения. В текущей реализации процедура ADCSampling выполняется за 21 мкс (без учёта времени преобразования АЦП, на которое требуется 27 мкс).

Адресное пространство энергонезависимой памяти разделено на три области. В первой хранятся настраиваемые пользователем параметры устройства, во второй – системные переменные, в третьей – результаты диагностики. Первая область отделена от второй несколькими пустыми ячейками, значения которых равны $FF. Третья область находится в конце адресного пространства. Так сделано для удобства восприятия данных в окне симулятора VMLab, а также для упрощения ориентации в файле EEPROM dimmer.eep, когда требуется определить параметры настройки устройства. Первые 16 ячеек EEPROM не используются. Помимо удобства восприятия, это предохраняет содержимое первой ячейки от случайного изменения, когда регистр адреса EEPROM равен нулю. Нулевое значение присваивается этому регистру во время инициализации (блок Reset.asm). По той же самой причине не используется и последняя ячейка EEPROM, чтобы исключить изменение её содержимого, когда регистр адреса равен максимальному значению $01FF.

Принимая во внимание ограниченное количество циклов перезаписи EEPROM (100 000 согласно паспортных данных), в памяти сохраняются только самые необходимые данные, а именно уровень установленной пользователем яркости и текущее состояние устройства.

Прерывания не задействованы. Программный код, расположенный в блоке Main.asm, выполняется в бесконечном цикле. Тем самым удаётся повысить быстродействие за счёт отказа от команды RETI и команд работы со стеком. Тем не менее, в целях диагностики неисправностей, срабатывание любого прерывания фиксируется и запоминается в EEPROM (подпрограмма WrongINT.asm). Также в целях диагностики запоминается причина, вызвавшая сброс МК (блок ResetCause.asm). Ячейки диагностики, как уже отмечалось, находятся в конце области EEPROM. Если значение хотя бы одной из них отлично от нуля, это говорит о наличии неисправности.

Сторожевой таймер настроен на максимальный период срабатывания (2 секунды). Чем больше интервал, тем легче заметить срабатывание таймера. Особенно это помогает на этапе отладки.

Супервизор питания запрограммирован на минимальный порог 2,7 В. За счёт этого обеспечивается надёжный запуск МК с учётом большой ёмкости конденсатора, установленного в фильтре питания. Супервизор гарантирует стабильный запуск независимо от того, на какое время пропадёт напряжение в сети.

Характеристики

Список файлов ВКР

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее