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

Основные принципы построения микроконтроллерных устройств, разработка программ микроконтроллера. Организация интерфейса передачи данных от микроконтроллера к ЦАП. Программный код алгоритма организации интерфейса и динамической индексации.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 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 год.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.