Система управления нагревом на базе микроконтроллера
Основные принципы построения микроконтроллерных устройств, разработка программ микроконтроллера. Организация интерфейса передачи данных от микроконтроллера к ЦАП. Программный код алгоритма организации интерфейса и динамической индексации.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 12.11.2010 |
Размер файла | 250,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
6
Белорусский национальный технический университет
Приборостроительный факультет
Кафедра ИИТТ
КУРСОВОЙ ПРОЕКТ
по дисциплине: Микропроцессорные системы
Тема: «Система управления нагревом на базе микроконтроллера»
Минск 2003
Оглавление
1. Обзор источников литературы
2. Элементная база.
2.1 Роконтроллер семейства PIC16.
2.2 Термодатчик LM35DZ.
2.3 ЦАП TLV5616.
2.4 Другие элементы схемы.
3. Описание работы схемы и ее функционирования.
4. Описание разработанных алгоритмов и программ микроконтроллера.
4.1 Алгоритм функционирования системы.
4.2 Алгоритм организации интерфейса передачи данных от микроконтроллера к ЦАП.
4.3 Программный код приведенного алгоритма организации интерфейса.
4.4 Программный код организации динамической индексации.
Заключение
Список литературы
1.Обзор источников литературы
В Интернете существует ряд постоянно обновляемых сайтов с технической информацией и документацией на русском языке по микроконтроллерам PIC. Одни из наиболее информативных и популярных www.gamma.spb.ru, www.microchip.com, www.microchip.ru . Кроме переведенных на русский язык английских описаний постоянно публикуются обзоры новинок, сравнительные тесты, примеры использования. Здесь же можно задать свой вопрос и получить квалифицированный ответ.
Часть этой информации (на русском языке) находится на выпущенных в 2002 и 2003 годах фирмой “Гамма-Санкт-Петербург” компакт-дисках. Попасть в русскоязычный раздел этих дисков можно с главной страницы.
Всю информацию на английском языке по PIC-контроллерам можно найти на сайте www.microchip.com, или компакт-диске, там же есть:
- Описание системы команд и примеры программирования PIC16XX;
- Описание их внутренней структуры;
- Номенклатура и назначение разных типов PIC-контроллеров;
- Примеры устройств и простых программ для них.
В книжных магазинах можно приобрести книгу Ульриха В.А. “Микроконтроллеры PIC16C7X” (устройство, работа, программирование, система команд, использование) на русском языке. Также несколько книг выпустило издательство “Додека”, спрашивайте в магазинах.
2. Элементная база.
2.1 Микроконтроллер семейства PIC16
Опишем микpосхемы семейства PIC с тех особенностей и пpеимуществ, котоpые выделяют эти микpоконтpоллеpы сpеди дpугих.
Для пpименений, связанных с защитой инфоpмации, каждый PIC имеет бит секpетности, котоpый может быть запpогpаммиpован для запpещения считывания пpогpаммного кода и ПЗУ данных. Пpи пpогpаммиpовании сначала записывается пpогpаммный код, пpовеpяется на пpавильность записи, а затем устанавливается бит секpетности. Если попытаться пpочитать микpосхему с установленным битом секpетности, то для PIC16CXX стаpшие 8 pазpядов кода будут считываться как 0, а младшие 4 pазpяда будут пpедставлять собой скpемблиpованные 12 pаз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ы.
Память данных (ОЗУ) для PIC16CXX имеет pазpядность 8 бит, память пpогpамм (ППЗУ) имеет pазpядность 14 бит для PIC16CXX.
Использование Га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ых состоит PIC16CXX аналогичны любому дpугому микpоконтpоллеpу, поэтому писать пpогpаммы для PIC не сложнее, чем для любого дpугого пpоцессоpа. Логика, и только логика... Конечно, Гаpваpдская аpхитектуpа и большая pазpядность команды позволяют сделать код для PIC значительно более компактным, чем для дpугих микpоконтpоллеpов и существенно повысить скоpость выполнения пpогpамм.
Рис1. Микрокрнтроллер PIC16C773.
Для данного курсового проекта был выбран микроконтроллер PIC16C773. Он имеет встроенный десяти битный АЦП и достаточное количество выводов для подключения внешних устройств и организации индикации. Так же у него сравнительно мощные выходы, что позволяет подключать к ним элементы схемы и индикации без дополнительного согласования или усиления. Все основные параметры аналогичны параметрам микрокрнтроллеров семейства PIC16C7XX. Внешний вид и назначение выводов микроконтроллера показаны на рис.1.
2.2 Термодатчик LM35DZ.
LM35-прецизионный полупроводниковый температурный датчик, дающий на выходе напряжение 10мВ на градус.
Основные характеристики (максимальные):
Напряжение питания +35 - -0.2В
Выходное напряжение +6 - -1В
Выходной ток 10мА
Диапазон рабочих температур 0-100 С
Выходной импеданс 0.1Ом на 1мА
Внешний вид и цокалевка термодатчика показана на рисунке 2.
Рис2. Термодатчик LM35DZ.
Данный датчик имеет максимальный ток на выходе 10 мА, а максимальный ток на аналоговых входах микроконтроллера может достигать 25 мА. По этому LM35 и PIC согласовывать по току нет необходимости. Учитывая, что в микроконтроллер встроен АЦП, LM35 хорошо подходит для применения в данном проекте, особенно если учесть его простоту, малые размеры и дешевизну. Он так же мало подвержен влиянию помех со стороны окружающей среды и не требует организации интерфеисов предачи данных.
2.3 ЦАП TLV5616
TLV5616 - 12 битный цифроаналоговый преобразователь с четырехпроводным последовательным интерфейсом. TLV5616 управляется последовательностью из 16 бит. Четыре бита являются контрольными а остальные 12-биты данных.
Основные параметры (максимальные):
напряжение питания: 4.5 - 5.5В
напряжение квантования Vref: -0.3 - 5.8 В
напряжение цифрового входа: : -0.3 - 5.8
Диапазон рабочих температур 0-70 С
Цокалевка и внешний вид микросхеммы показан ра рисунке 3.
Рис.3 ЦАП TLV5616
Описание выводов:
AGND- аналоговая земля
CS - выборка крислалла. Цифровой вход, используемый для включения или выключения всех входов. Активный низкий.
DIN - последовательный цифровой вход данных.
FS - вход синхронизации фреймов. Цифровой вход, используемый в четырехпроводных последовательных интерфейсах TMS320 и аналогичных.
OUT - аналоговый выход.
REFIN - аналоговый вход для напряжения квантования.
SCLK - цифровой вход для тактовых импульсов.
Vdd - вход для напряжения питания.
Функциональная схема TLV5616 представлена на рисунка 4.
Временная диаграмма работы представлена на рисунке 5.
Формат данных для TLV5616 показан на рисунке 6.
Обосновывать его применение в курсовом проекте не буду,т.к. не я его выбирал и ,по моему мнению, он здесь вообще лишний.
Рис. 4 Функциональная блок- хема АЦП TLV5616
Рис.6 Формат данных для TLV5616
Рис. 5 Временная диаграмма работы.
2.4 Другие элементы схемы
- G5LE-114P 10A - твердотельное реле. Управляется логическим высоким/низким уровнем и способно коммутировать токи до 10А при напряжении 220В . Согласования с PICом не требует.
- ALC 324A - Семисегментный (LED) индикатор.
- Семисегментные индикаторы (ССИ) широко используются для отображения цифровой и буквенной информации. Семь отображающих элементов позволяют высвечивать десятичные и шестнадцатиричные цифры, некоторые буквы русского и латинского алфавитов, а также некоторые специальные знаки. Структура ССИ показана на рис.7. Для засветки одного сегмента большинства типов ССИ необходимо обеспечить протекание через сегмент тока 10-15 мА при напряжении 2,0-2,5 В. Высокая нагрузочная способность МК семейства PIC16 допускает прямое соединения с ССИ ALC 324A/
- Рис.7 Структура семисегментного индикатора.
3. Описание работы схемы и ее функционирования
Термочувствительные части схемы составляют термодатчики ВК1 и ВК2. Это прецизионные полупроводниковые температурные датчики LM35DZ , дающие на выходе напряжение 10мВ на градус. Термодатчики помещаются в среду, в которой должна контролироваться температура, и с их выходов снимается напряжение, величина которого является информативным параметром о контролируемой величине. Сигналы с термодатчиков усиливаются операционными усилителями DA1 и DA2 для согласования диапазона выходных напряжений с термодатчиков с диапазоном входного напряжения встроенного в микрокрнтроллер DD2 АЦП. Операционные усилители DA1,DA2 (AD832) имеют нелинейность порядка 0,1% и существенно не искажают сигнал во всем усиливаемом диапазоне. Коэффициенты усиления усилителей задаются резисторами R5-R10. Сигналы с выходов усилителей подаются на аналоговые входы AN0 и AN1 микроконтроллера, который их оцифровывает и сохраняет как данные о температуре по каналам.
Величины температур в средах задаются с помощью потенциометров R2 и R4, выходы которых соединены со входами AN2 и AN8 микроконтроллера. Напряжения с потенциометров так же оцифровывается и сохраняется как данные об выставленной величине температур. Резисторы R1 и R3 служат для подстройки необходимой величины падения напряжения на (1/100)R потенциометров.
Стабилитроны VD1-VD2 задают ступени квантования встроенного в микроконтроллер АЦП и ЦАПа DD1 (TLV5616). Резисторы R11-R12 обеспечивают необходимый ток на стабилитронах.
Микроконтроллер сравнивает величину сигнала термочувствительной части с сигналом потенциометра по каждому каналу. Если сигнал потенциометра больше, то на вход реле KV подается логическая 1 и реле подключает нагреватель данного канала к сети, т.е. начинается нагрев среды. При обратном соотношении сигналов, на входе реле выставляется логический 0 и нагреватель отключается от сети.
Цифровой сиглал любого из каналов устройства (канал устанавливается программой микроконтроллера) подается с выводов микроконтроллера на ЦАП DD1 (TLV5616), который преобразует его в аналоговую форму и отправляет на эмиттерный повторитель , образованный VT1 и R13, с которого он может сниматься для контроля исправности схемы и калибровки.
Индикация построена на элементах HL3-HL5 и VT2-VT4 и работает по динамической схеме (т.е. разряды числа высвечиваются разделенно по времени).
4. Описание разработанных алгоритмов и программ микроконтроллера
4.1 Алгоритм функционирования системы
6
4.2 Алгоритм организации интерфейса предачи данных от микроконтроллера к ЦАП
6
4.3 Программный код приведенного алгоритма организации интерфейса
Организация интерфейса
bsf Portа,4; установить RA4 в 1(fs)
bcf portc,0; установить RC0 в 0(cs)
bcf porta,4; установить RA4 в 0(fs)
movlw 4; в w загрузить 4
movwf cnt; w загрузить в cnt
modrb1
bcf portс,2; установить RC2 в 0(din)
bsf portс,1; установить RC1 в 1(sclk)
bcf portс,1; установить RC1 в 0(sclk)
decfsz cnt,f; cnt-1,пропуск следующей инструкции если 0
goto modrb1
movlw 12; в w загрузить 12
movwf cnt; w загрузить в cnt
modrb2
bcf status,c; очистка бита С в регистре status
rrf dan,f; циклический сдвиг вправо через флаг С
bcf portс,2; установить RC2 в 0(din)
btfsс status,c; пропускаем следующую команду, если бит С=0
bsf portс,2; установить RC2 в 1(din)
bsf portс,1; установить RC1 в 1(sclk)
bcf portс,1; установить RC1 в 0(sclk)
decfcz cnt,f; cnt-1, пропуск следующей инструкции, если cnt=0
goto modrb1
bsf porta,4; установить RA4 в 1(FS)
bsf portc,0; установить RC0 в 1(CS)
4.4 Программный код организации динамической индексации
;Преобразование двоичного числа в десятичное
;Перед вызовом в var содержится исходное число
;Результат в sotni,desiat,edin
;--- преобразование числа в разряды----
preob clrf sotni
pr0 incf sotni,f ;разряд сотен
movlw .100
subwf var,f
btfsc status,C
goto pr0
decf sotni,f
movlw .100
addwf var,f
clrf desiat
pr1 incf desiat,f ;разряд десятков
movlw .10
subwf var,f
btfsc status,C
goto pr1
decf desiat,f
movlw .10
addwf var,f
clrf edin
pr2 incf edin,f ;разряд единиц
movlw .1
subwf var,f
btfsc status,C
goto pr2
decf edin,f
return
;Организация динамической индикации
MOVLW SOTNI;В W Загружаем сотни
CALL SHOWSYM;Определяем семисегментный код
MOVWF PORTB;Поместить результат на выходах
BSF PORTC, 3
MOVLW DESIAT ;В W Загружаем десятки
CALL SHOWSYM
BCF PORTC, 3
MOVWF PORTB
BSF PORTС,4
MOVLW EDIN;В W Загружаем единицы
CALL SHOWSYM
BCF PORTС,4
MOVWF PORTB
;Таблица семисегментного кода
SHOWSYM
addwf PC;Вычислить смещение в таблице
retlw b'01111110' ; .FEDCBA. = '0'
retlw b'00001100' ; ....CB.. = '1'
retlw b'10110110' ; G.ED.BA. = '2'
retlw b'10011110' ; G..DCBA. = '3'
retlw b'11001100' ; GF..CB.. = '4'
retlw b'11011010' ; GF.DC.A. = '5'
retlw b'11111010' ; GFEDC.A. = '6'
retlw b'00001110' ; ....CBA. = '7'
retlw b'11111110' ; GFEDCBA. = '8'
retlw b'11011110' ; GF.DCBA. = '9'
Заключение
В результате выполнения курсового проекта были изучены основные принципы построения микроконтроллерных устройств, было детально рассмотрено семейство микроконтроллеров PIC16 от Micrichip, их архитектура, преимущества и недостатки, основные параметры и характеристики, возможности, система команд, способы сопряжения с внешними устройствами и примеры применения. При написании программы для микроконтроллера были освоены основны программирования микроконтроллеров PIC (инициализация регистров, обработка внешних сигналов, работа со встроенным АЦП, обработка и преобразование данных, программирование интерфейса и динамической индикации…).
Так же были получены комплексные знания о ЦАП, термодатчикам, реле и индикаторам.
Как вывод можно сказать, что микроконтроллеры семейства PIC16XX являются одними из наиболее привлекательных для создания микроконтроллерных устройств. Привлекает внимание их простота и эффективность, система простых однословных команд, а так же применение встроенной памяти программ данных и малое энергопотребление. Эти особенности, а так же наличие в большенстве моделях встроенного АЦП, широкий разброс допустимых напряжений питания, возможность защиты данных после программирования, приемлемая цена - обеспечили этим микроконтроллерам популярность среди разработчиков электронной аппаратуры.
Список литературы
Ульрих В.А. “Микроконтроллеры PIC16C7X”
Материаллы с www.microchip.ru
Материаллы с компакт-диска от “Гамма-Санкт-Петербург” за 2003 год
Журнал “Электронные компоненты” N5 за 2002 год
Информационный каталог “Гамма-Санкт-Петербург” за 2002 год
RS каталог за 2002 год.
Подобные документы
Принципы работы аналого-цифровых преобразователей. Архитектура микроконтроллера AT90S8535 и его программное обеспечение. Описание интерфейса RS-232. Разработка печатной платы комплекса усиления и оцифровки сигнала. Принципы асинхронной передачи данных.
курсовая работа [2,9 M], добавлен 19.11.2012Функциональная спецификация, описание объекта, структура системы и ресурсов микроконтроллера. Ассемблирование, программирование микроконтроллера и разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы.
курсовая работа [2,2 M], добавлен 02.01.2010Создание микропроцессорной системы на базе микроконтроллера, предназначенного для функциональной диагностики цифровых и интегральных микросхем. Разработка и расчёт блоков микроконтроллера, сопряжения, управления, питания, цифровой и диодной индикации.
курсовая работа [1,5 M], добавлен 28.01.2016Роль микроконтроллерных технологий в развитии микроэлектроники. Алгоритм разработки микропроцессорной системы термометр-часы на базе микроконтроллера PIC16F84A. Разработка схемы электрической принципиальной устройства и программы для микроконтроллера.
курсовая работа [584,1 K], добавлен 19.03.2012Особенности микроконтроллера ATTINY семейства AVR. Описание ресурсов микроконтроллера ATTINY12: описание процессора, порты ввода/вывода, периферийные устройства, архитектура ядра. Разработка устройства со световыми эффектами на базе микроконтроллера.
курсовая работа [2,1 M], добавлен 24.06.2013Понятие и функциональные особенности микроконтроллера, его структура и взаимодействие основных элементов, архитектура. Принципы работы светодиодного табло и порядок программирования микроконтроллера. Основные понятия и измерение надежности системы.
курсовая работа [108,1 K], добавлен 29.03.2014Модернизация более ранней разработки устройства на базе микроконтроллера MCS-48, предназначенного для увлажнения дыхательной смеси. Проектная процедура ПЛИС типа SOPC, реализованная на базе микроконтроллера MCS-48. Проектирование структурной схемы.
курсовая работа [523,2 K], добавлен 03.05.2015Описание объекта и функциональная спецификация. Описание ресурсов МК: расположение выводов; исполнение микроконтроллера; особенности микроконтроллеров. Разработка алгоритмов устройства. Описание функциональных узлов МПС и алгоритма их взаимодействия.
курсовая работа [5,2 M], добавлен 27.12.2009Функциональная спецификация и структурная схема автомобильных вольтметра-термометра-часов. Описание ресурсов микроконтроллера, назначение выводов микросхемы. Ассемблирование и разработка алгоритма работы, коды кнопок и описание команд управления.
курсовая работа [2,0 M], добавлен 27.12.2009Структурная схема устройства управления. Алгоритм работы микроконтроллера в его составе. Строение центрального процессорного элемента – микроконтроллера AVR семейства Classic. Принципиальная схема устройства, расчет временных параметров ее работы.
курсовая работа [636,5 K], добавлен 03.12.2013