РЕФЕРАТ
Пояснительнаязаписка состоит из 47 страниц, 12 рисунков, 7 источников.
Микроконтроллер,Жидкокристаллический индикатор, Термоэлектрический Датчик, ДИОД
Цель работы:разработка микропроцессорной системы на базе микроконтороллера для автоматическойрегулировки температуры в аквариуме. Высокая точность регулировка, низкаяинертность термоэлектрических датчиков позволяет более точно и глубокоподдерживать стабильную температуру в аквариуме, контролируя постояннопоказания температуры на жидкокристаллическом индикаторе. Более высокаяточность поддержания температуры достигается благодаря введению в схему двухдатчиков и двух нагревателей.
Содержаниеработы: в работе выполнено построение структурной схемы, построениефункциональной схемы, сформирован алгоритм работы системы, выбор элементнойбазы, оптимальной для реализации поставленных задач по диапазону характеристик,разработана программа, разработана принципиальная схема устройства.
СОДЕРЖАНИЕ
Введение
1. Описание объекта и функциональная спецификация
2. Описание структуры системы
3. Описание ресурсов МК PIC16F84А
4. Разработка алгоритма работы устройства
5. Ассемблирование
6. Программирование микроконтроллера
7. Описание функциональныхузлов МПС
8. Описаниевыбора элементной базы и работы принципиальной схемы
Заключение
Список литературы
Приложение А. Листингпрограммы и объектный файл
Приложение Б. Кодыпрошивок микроконтроллера
Приложение В. Схемапринципиальная электрическая
ВВЕДЕНИЕ
Целью даннойработы явилась разработка прибора, предназначенного для автоматическогорегулирования температуры. Главная особенность терморегуляторов — простотасхем при существенно более широких, чем у распространенных аналоговых,функциональных возможностях, отсутствие необходимости регулировки и настройкипри изготовлении и эксплуатации.
Но наиболеесущественным достоинством таких регуляторов является их исключительно простаямодификация, — на основе практически одинаковых схемных и конструктивныхрешениях, могут быть построены регуляторы для самых различных применений, чторезко упрощает их разработку, а, следовательно, и стоимость. Требуется лишьизменение программного обеспечения и, возможно, исполнительных узлов.
Среднетемпературныетерморегуляторы предназначены для автоматического измерения и поддержаниястабильной температуры, например, в термостатах, инкубаторах, теплицах и т.п.
Регуляторытемпературы, или, как их еще называют, терморегуляторы, предназначены дляподдержания заданной температуры жидкости (например, фотораствора, воды ваквариуме, воды в системе электрического водяного отопления), воздуха втеплице, в жилом помещении и пр. Принцип работы любого терморегулятора состоитв плавном или скачкообразном изменении мощности нагревательного элемента всоответствии с температурой датчика.
Существуюттерморегуляторы со скачкообразным изменением мощности, при нагрузке которыхнагревательный элемент отключается, как только температура датчика достигаетопределенного значения, и выключается при понижении температуры до ее заданногозначения. Нагревательный элемент при этом находится в одном из двух состояний:включен или выключен, поэтому регулятор с таким законом управления частоназывают релейным.
В настоящее время более тридцати зарубежных фирм выпускают микроконтроллерымассового применения с разрядностью 8 бит, недорогие и пригодные дляиспользования в самых разнообразных приложениях. Однако именно микроконтроллерысерииРІС фирмы Microchip® Technology Inc. переживают последниетри-четыре года в Украине поистине взрывной рост популярности. Этимикроконтроллеры также крайне популярны во всем мире, как у производителейэлектронной техники, так и среди радиолюбителей.
В чем же причина такой популярности? Конечно, не последнюю роль сыгралиправильная маркетинговая политика, мощная и продуманная поддержка разработчиковсо стороны фирмы и низкая стоимость микросхем. Кроме этого, сам продуктобладает целым рядом неоспоримых достоинств. Микроконтроллеры РІС фирмы Microchip® объединили в себе всепередовые технологии, применяемые в производстве микроконтроллеров: развитую RISC-архитектуру, минимальноеэнергопотребление при высоком быстродействии, ППЗУ, программируемоепользователем, функциональную законченность.
Четкая и продуманная внутренняя структура контроллеров инебольшая, но мощная система команд с интуитивно понятной мнемоникойзначительно облегчают процесс изучения контроллеров РІС и написание для нихпрограмм.
В данномкурсовом проекте реализована микропроцессорная система на баземикроконтроллера для терморегулятора аквариума. Проект основывается намикроконтроллере PIC16F84А.
1.Описание объекта и функциональная спецификация
Устройство отличается от известных измерителей температуры на DS1820 возможностьюодновременной регулировки температуры в двух точках с точностью ±0,5° винтервале температур от -10 до +85 °С, малым временем реагирования 11,4 мс посравнению с 1 с у прототипов. Устройство предназначено для работы снагревателями и может быть использовано, например, для регулировки температурыв инкубаторе (выводной и инкубационный), аквариумах (видовой и нерестовый), вовощехранилищах в зимнее время или просто как измеритель температуры в доме ина улице.
Микроконтроллерный термометрический датчик DS1820 рассчитан наизмерение температуры от -55 до +125 °С, но на границах предела точностьизмерения ухудшается до +2 °С. Управление нагревателями выполняется по принципуцифрового компаратора.
На однорядном ЖК-дисплее индикатора можно одновременно наблюдатьтекущую температуру в двух точках, температуру в различных точках и ееустановленное значение. Прием данных, их обработка и выдача на индикатор выполняютсямикроконтроллером PIC16F84A.
Функциональнаяспецификация
1. Входы
a. 2микроконтроллерных термометрических датчика DS1820
b. Кнопказапуска (включение питания)
c. Кнопка«Режим»
d. Кнопка«Установка»
e. Кнопка«Разряд»
2. Выходы
a. Жидкокристалическийиндикатор
b. Оптопарыдля управления нагрузкой (тенами, нагревателями)
3. Функции
a. Записьпрограммы в память
b. Сравнениетемпературы термометрических датчиков с данными занесенными при установкипрограммы
c. Включениенагрузки (тенов)
d. Индикациятемпературы на жидкокристаллическом индикаторе
e. Индикацияпрограммируемых данных (температуры)
2. Описание структуры системы
После определения входов и выходов устройства разработана структурнаясхема устройства.
Структурнаясхема регулятора температуры для аквариума показана на Рис. 1.
/> Датчики
/>/> Тены Оптопары/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />
Жидкокрислаллический индикатор/> /> /> /> /> /> /> /> />
/>Сеть
/>
Рис.1. Структурная схема регулятора температуры дляаквариума
3. Описание ресурсовМК PIC16F84А
В курсовомпроекте был выбран однокристальный 8-разрядный Flash CMOS микроконтроллер PIC16F84А.
PIC16F84А — это 8-pазpядныемикpоконтpоллеpы с RISC аpхитектуpой, пpоизводимые фиpмой Microchip Technology.Это семейство микpоконтpоллеpов отличается низкой ценой, низкимэнеpгопотpеблением и высокой скоpостью. Микpоконтpоллеpы имеют встpоенное ЭППЗУпpогpаммы, ОЗУ данных и выпускаются в 18 и 28 выводных коpпусах.
Микpоконтpоллеpысемейства PIC имеют очень эффективную систему команд, состоящую всего из 35инстpукций. Все инстpукции выполняются за один цикл, за исключением условныхпеpеходов и команд, изменяющих пpогpаммный счетчик, котоpые выполняются за 2цикла. Один цикл выполнения инстpукции состоит из 4 пеpиодов тактовой частоты.Таким обpазом, пpи частоте 4 МГц, вpемя выполнения инстpукции составляет 1мксек. Каждая инстpукция состоит из 14 бит, делящихся на код опеpации и опеpанд(возможна манипуляция с pегистpами, ячейками памяти и непосpедственнымиданными).
Высокаяскоpость выполнения команд в PIC достигается за счет использования двухшиннойГаpваpдской аpхитектуpы вместо тpадиционной одношинной Фон-Hеймановской.Гаpваpдская аpхитектуpа основывается на набоpе pегистpов с pазделенными шинамии адpесным пpостpанством для команд и для данных. Hабоp pегистpов означает, чтовсе пpогpаммные объекты, такие как поpты ввода/вывода, ячейки памяти и таймеp,пpедставляют собой физически pеализоваенные аппаpатные pегистpы. ИспользованиеГаpваpдской аpхитектуpы позволяет достичь высокой скоpости выполнения битовых,байтовых и pегистpовых опеpаций. Кpоме того, Гаpвадская аpхитектуpа допускаетконвейеpное выполнение инстpукций, когда одновpеменно выполняется текущаяинстpукция и считывается следующая. В тpадиционной же Фон-Hеймановскойаpхитектуpе команды и данные пеpедаются чеpез одну pазделяемую илимультиплексиpуемую шину, тем самым огpаничивая возможности конвейеpизации, внутpенниефизические и логические компоненты, из котоpых состоит PIC16FXX аналогичны любомудpугому микpоконтpоллеpу Гаpваpдская аpхитектуpа и большая pазpядность командыпозволяют сделать код для PIC значительно более компактным, чем для дpугихмикpоконтpоллеpов и существенно повысить скоpость выполнения пpогpамм./>
PIC16F84A имеют встроенныеустройства, присущие большинству прикладных систем, что позволяет снизитьстоимость, потребляемую мощность и увеличить надежность конечного устройства.Например, встроенная схема сброса и запуска генератора позволяют избавиться отвнешних RC схем. Предлагается четыре типа встроенных генераторов на выбор,включая экономичный LP (Low Power) и дешевый RC генераторы. Экономичный режимSLEEP, Watchdog таймер и устройство защиты кода программы снижают стоимость иувеличивают мощность плюс надежность вашей системы.
Микросхемы сультрафиолетовым стиранием идеальны для процесса отработки программы.Одновременно существуют однократно программируемые (OTP) кристаллы. Здесьразработчик может извлечь полное преимущество из сочетания низкой цены игибкости OTP версий.
Разработка набазе контроллеров PIC16C5X поддерживается ассемблером, программнымсимуляторомэмулятором (только фирмы Microchip) и программатором. Существуют всеэти средства для IBM, внутрисхемным PC и совместимых компьютеров.
Серия PIC16F84A подходит для широкогоспектра приложений от схем высокоскоростного управления автомобильными иэлектрическими двигателями до экономичных удаленных приемопередатчиков,показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраиватьпараметры в прикладных программах (коды передатчика, скорости двигателя,частоты приемника и т.д.). Малые размеры корпусов, как для обычного, так и дляповерхностного монтажа, делает эту серию микроконтроллеров пригодной дляпортативных приложений. Низкая цена, экономичность, быстродействие, простотаиспользования и гибкость ввода/вывода делает серию PIC16F84A привлекательной даже втех областях, где ранее не применялись микроконтроллеры. Например, таймеры,замена жесткой логики в больших системах, сопроцессоры.
Устройствасерии PIC16F84A имеют большой выбор ПЗУи ОЗУ разных размеров, разное количество линий ввода/вывода, различные видывозбуждения генераторов, разную скорость, климатику и типы корпусов. Из четырехкристаллов PIC16F84A можно выбрать устройство с подходящими ПЗУ/ОЗУ и конфигурациейввода/вывода.
Устройства сультрафиолетовым стиранием удобно использовать в прототипных и опытных партиях.Конфигурация генератора («RC», «XT», «HS»,«LP») программируется самим пользователем на UF EPROM. При UFстирании или по умолчанию устанавливается тип «RC». В зависимости отвыбранного типа генератора и частоты, рабочее напряжение питания должно быть втом же диапазоне, что будет и в будущем устройстве на OTP кристалле (если OTPпредполагается использовать).
Типгенератора кристаллах OTP устанавливается на заводе и они тестируются толькодля этой специальной конфигурации, включая напряжение, частоту и токпотребления, см. Маркировка. Устройства выпускаются с чистым EPROM, чтопозволяет пользователю самому программировать их. Кроме того, можно отключитьWatchdog таймер и/или защитy кода путем программирования битов в специальномEPROM. Также доступны 16 бит для записи кода идентификации (ID).
Обзорхарактеристик.
— только 33простых команды;
— все командывыполняются за один цикл(200ns), кроме команд перехода- 2
цикла;
— рабочаячастота 0 Гц… 20 МГц(200 нс цикл команды)
— 12- битовыекоманды;
— 8- битовыеданные;
— 512… 2Кх 12 программной памяти на кристалле EPROM;
— 25… 72 х8 регистров общего использования;
— 7специальных аппаратных регистров SFR;
— двухуровневый аппаратный стек;
— прямая,косвенная и относительная адресация данных и команд;
Периферия иВвод/Вывод
— 12… 20линий ввода-вывода с индивидуальной настройкой;
— 8 — битныйтаймер/счетчик RTCC с 8-битным программируемым
предварительнымделителем;
— автоматический сброс при включении;
— таймерзапуска генератора;
— Watchdogтаймер WDT с собственным встроенным генератором, обеспечивающим повышеннуюнадежность;
— EPROM битсекретности для защиты кода;
— экономичныйрежим SLEEP;
— программируемые EPROM биты для установки режима возбуждения встроенного генератора:
— RCгенератор: RC
— обычныйкварцевый резонатор: XT
— высокочастотный кварцевый резонатор: HS
— экономичныйнизкочастотный кристалл: LP
КМОПтехнология
- экономичная высокоскоростная КМОП EPROM технология;
— статическийпринцип в архитектуре;
— широкийдиапазон напряжений питания:
— коммерческий: 2.5… 6.25 В
— промышленный: 2.5… 6.25 В
— автомобильный: 2.5… 6.0 В
— низкоепотребление
20 mA типичнодля 6В, 20МГц
2 мА типичнодля 5В, 4МГц
15 мкАтипично для 3В, 32КГц
3 мкАтипично для SLEEP режима при 3В, 0… 70 С
Структурнаясхема микроконтроллера
Структурнаясхема микроконтроллера РIС16F84A изображена на рис/> />
. 2.
Рис. 2.Структурная схема микроконтроллера РIС16F84A
Расположение выводов
Расположение выводов микроконтроллера РIС16F84A изображено на рис. 3.
/>
Рис. 3. Расположение выводов микроконтроллера РIС16F84A
Исполнение микроконтроллера
Микроконтроллер выпускается в двух видах корпусов.
Расположение выводов и конструктивные размеры различных корпусовприведены на Рис. 4 и Рис.5.
/>
Рис. 4.Конструктивные размеры микроконтроллера РIС16F84A
(исполнение 1)
/>
Рис. 5.Конструктивные размеры микроконтроллера РIС16F84A
(исполнение 2)
4. Разработкаалгоритма работы устройства
Алгоритмработы программы микроконтроллера показан на рис. 6.
/>
Рис. 6.Алгоритм работы программы «терморегулятор для аквариума»
После пуска и инициализации регистров микроконтроллера выполняетсясамая продолжительная инициализация ЖК-дисплея. Далее проверяется состояниефлага установки. Если установки нет, то на индикацию выводятся значениярегистров текущего режима. Если идет установка, то проверяется флаг курсора.Если флаг курсора установлен, то индицируется курсор. При установке индикациякурсора и значений регистров индикации выполняется поочередно.
После индикации программа переходит к инициализации и считываниютемпературы с первого датчика DS1820. Микроконтроллер принимает девять битинформации с кодом знака температуры в девятом бите и значением десятых долейтемпературы в первом бите. Если девятый бит равен единице, то знак измереннойтемпературы отрицательный. При единичном первом бите десятые равны пятерке.Двоичное значение принятой температуры сравнивается с установленнойтемпературой. Если измеренная температура больше установленной, то выключаетсяуправляющий выход. В противном случае выход включается. Для отрицательныхустановок при понижении температуры управляющий выход включается. Далеедвоичное значение температуры перекодируется в двоично-десятиричный код дляиндикации (на рис. 6 не показано).
Аналогично первому выполняются считывание температуры из второгодатчика и установка второго управляющего выхода. Поскольку вывод на индикациюзанимает довольно много времени (8 мс), то он выполняется после шести цикловсчитывания температуры через 68 мс. Когда счетчик циклов будет равен нулю,проверяется состояние кнопок управления и по установленному режиму заполняютсярегистры индикации. После этого цикл индикации и измерения температуры повторяется.Цикл измерения температуры и установка управляющих выходов обоих датчиковвыполняются за 11,4 мс/Таким образом, управление каждым нагревателем будетвыполняться минимум один раз за период сетевого напряжения.
5. Ассемблирование
Дляассемблирования используется макpоассемблеp MPASM, он содеpжит все необходимыенам возможности. MPASM входит в пакет программ Microchip MPLAB фирмы MicrochipTechnology.
Листингпрограммы и объектный файл представлен в Приложении А.
6.Программирование микроконтроллера
Послеассемблирования имеется объектный файл EXAMPLE.HEX, котоpый должен быть записанв микpосхему. Запись осуществляется пpи помощи пpогpамматоpа и пpогpаммыPic-prog. Микросхему микроконтроллера вставляется в панель программатора. Программатор подключается к порту LPT1. Необходимо запустить программу Pic_prog.exe. Подать питание напрограмматор. Выполнить команду 'ЗАПИСАТЬ / ПАМЯТЬ ПРОГРАММ'.
В течениеследующих нескольких секунд будит выполняться процесс программирования, а затемпроверка правильности записанных в микроконтроллер данных.
Коды прошивок микроконтроллерапредставлены в Приложении Б.
7. Описание функциональных узлов МПС
Впроектируемом устройстве можно выделить следующие функциональные блоки:
1. Микроконтроллерныйтермометрический датчик DS1820 – первый;
2. Микроконтроллерныйтермометрический датчик DS1820 – второй;
3. Блокуправления (три кнопки и выключатель питания);
4. Жидкокристаллическийиндикатор;
5. Стабилизаторнапряжения;
6. Кварцевыйрезонатор;
7. Силовойблок-первый;
8. Силовойблок-второй;
9. Микроконтроллер.
Каждый блоквыполняет свою функцию и имеет взаимосвязь с другими блоками системы.
8. Описание выбора элементной базы и работы принципиальной
схемы
Схематерморегулятора показана на рис.7 (Приложение В). Резистором R8 устанавливаютнеобходимую контрастность изображения индикатора. Все блоки устройства включеныпо стандартной схеме.
Работа с терморегулятором сводится к установке температурырегулирования для обоих датчиков. При включении устройства на дисплее появитсязначение температуры первого и второго датчика с указанием стрелочкой (>)номера датчика рис. 8. Нажатием кнопки «Режим» на дисплее последовательно будутпоявляться изображения, аналогичные показанным на рис. 9—12. На рис. 9, 10левые цифры показывают текущую температуру соответствующих датчиков, а правыецифры — установленные значения температур. При включении режимов работы,показанных на рис. 11, 12, микроконтроллер переходит в режим установки. В этомрежиме под устанавливаемым разрядом появляется мигающий курсор (на рисунках подзнаком плюс). Кнопкой «Разряд» перемещают курсор по разрядам, а кнопкой«Установка» устанавливают необходимое значение температуры.
При установке нет ограничения по максимуму и минимуму, поэтомунеобходимо быть внимательным. Можно установить знак минус и не дождатьсявключения нагревателя, и наоборот, установить температуру регулирования более+125° и не дождаться выключения нагревателя. Во время установки сравнениетемператур не прекращается, поэтому нагреватели в это время желательноотключить. Поскольку установленные значения запоминаются в энергонезависимойпамяти, то нагреватели можно подключить при выключенном напряжении.
При индикациии установке температур для 100 в разряде десятков будет индикация двоеточия(:), для 110 — точка с запятой (;), для 120 — обратная стрелка (
/>
Рис. 7.Принципиальная схема регулятора температуры в Accel EDA
/>
Рис.8
/>
Рис.9
/>
Рис.10
/>
Рис.11
/>
Рис.12
ЗАКЛЮЧЕНИЕ
В результатевыполнения курсовой работы был спроектирован микроконтроллерный регулятортемпературы, позволяющий автоматизировать работу регулирования температуры вконтролируемом объекте. Были рассмотрены несколько случаев реализациимикроконтроллерного регулятора, таким образом можно говорить о некоторойуниверсальности спроектированного прибора.
Использованиев работе микроконтроллера и оптронной технологии дает основание полагать, чтоспроектированный прибор найдет широкое применение.
СПИСОКЛИТЕРАТУРЫ
1. Белов А.В. Микроконтроллеры АVR в радиолюбительскойпрактике – СП-б, Наука и техника, 2007 – 352с.
2. Проектированиецифровых устройств на однокристальных микроконтроллерах / В.В. Сташин [ и др.].– М.: Энергоатомиздат, 1990. – 224 с.
3. Евстифеев А.В.Микроконтроллеры Microchip: практическое руководство/А.В.Евстифеев. – М.:Горячая линия – Телеком, 2002. – 296 с.
4. Кравченко А.В. 10 практических устройств на AVR-микроконтроллерах. Книга1 – М., Додэка –ХХ1, МК-Пресс, 2008 – 224с.
5.Трамперт В. Измерение, управление ирегулирование с помощью АVR-микроконтроллеров: Пер. с нем – К., МК-Пресс,2006 – 208с.
6. Мортон Дж. Микроконтроллеры АVR. Вводный курс /Пер. сангл. – М., Додэка –ХХ1, 2006 – 272с.
7. Техническая документация на микроконтроллеры PIC16F84А компании Microchip Technology Incorporated. ООО «Микро -Чип»,Москва, 2002.-184 с.
ПРИЛОЖЕНИЕА
Листинг программыи объектный файл
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
ПРИЛОЖЕНИЕБ
Коды прошивокмикроконтролллера
/>
/>
/>
ПРИЛОЖЕНИЕВ
/>
Схемаэлектрическая принципиальная терморегулятора аквариума