Контроллер управляющий работой инкубатора

Тип работы:
Курсовая
Предмет:
Коммуникации, связь, цифровые приборы и радиоэлектроника


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ВВЕДЕНИЕ

В современном мире развитие микроэлектроники имеет большое значение из-за её широкого применение в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами. Использование микроэлектронных средств в изделиях промышленного и бытового назначения приводит к повышению надежности изделий, понижению стоимости, потребляемой мощности, габаритных размеров и позволяет многократно сократить сроки разработки.

Контроллер инкубатора предназначен для наблюдения за температурой и ее регулирования в двух отсеках. Разрабатываемая система поддерживает установленную температуру путем вырабатывания управляющих сигналов для нагревания, а также отсчитывает время, по истечении которого, осуществляет поворот ячейки яиц на 450 С. Данная система универсальна: при минимальных изменениях можно расширить или изменить диапазон температур, а при замене датчиков и перепрограммировании система может использоваться для контроля других объектов.

1. СТРУКТУРНАЯ СХЕМА

Проектирование любой системы начинается с разработки структурной схемы, состоящей из различных блоков и связей между ними.

Рис. 1 — Структурная схема КИ

Разрабатываемое устройство представлено на рис. 1 и состоит из одиннадцати блоков, из них 4 блока (термодатчики 1 и 2 отсеков, нагрев, поворот ячейки яиц на 450) реализуются отдельно от данного проекта, описание остальных блоков приведено ниже:

МПиROM:

МП производит обработку поступающих данных, отсчитывает определенное время, по истечении которого осуществляет нагрев и поворот ячейки яиц на 450, управляет остальными устройствами системы, а блок ROM необходим для организации ВПП.

ЗТ:

Задание температуры производится пультом с 5 кнопками от 200 до 400 С, т. е.

1кн. — 200 С

2кн. — 250 С

3кн. — 300 С

4кн. — 350 С

5кн. — 400 С

ВТ:

Внутренний таймер отсчитывает ровно 1 час, после чего происходит поворот ячейки яиц на 450 С. Таймер реализованпрограммно и описан разделе «Программное обеспечение».

Индикация:

Данный блок выводит показания термометров в 1 и 2 отсеках непрерывно на двух символьных семисегментных индикаторах.

АЦП:

Данный блок необходим для перевода данных, поступающих с термометров 1 и 2 отсеков, в цифровой вид, для последующего анализа.

2. ФУНКЦИОНАЛЬНАЯ СХЕМА

Функциональную схему разрабатывают на основе структурной для каждого блока. В результате из отдельных функциональных схем составляется общая функциональная схема объекта.

Функциональная схема содержит сведения о способах реализации устройством заданных функций. По такой схеме можно определить, как осуществляются преобразования и какие для этого необходимы функциональные элементы.

(МК) и ROM:

Рис. 2

Основным элементом на данной функциональной схеме является микроконтроллер (МК) К1816ВЕ31. Т.к. данный микроконтроллер отличается от базового микроконтроллера МК-51 отсутствием ВПП, то это приводит к необходимости включения в состав проектируемой системы блока внешней памяти программ. В состав данного блока входит постоянное запоминающее устройство ROM и вспомогательный регистр фиксации адреса RG. Регистр фиксации адреса необходим в силу того, что выдаваемый через порт Р0 на системную магистраль младший байт адреса присутствует непродолжительное время. Фиксация этого байта в регистре осуществляется по спаду сигнала ALE. Выдаваемый через порт Р2 старший байт в фиксации не нуждается. Т.к. он остается неизменным на линиях порта до окончания времени выполнения текущей команды. При обращении к внешней памяти вне зависимости от конкретного значения адреса всегда формируется его полный 16-разрядный код. Выбор информации из памяти программ будет производиться по сигналу РМЕ — специальный сигнал чтения памяти программ, а информационный обмен с ВПД стробируется сигналами RD и WR. К входам BQ1, BQ2 подключен кварцевый генератор для питания МК. По заданию необходимо осуществить поддержку задаваемой температуры (включение и выключение обогревателя) и изменить положение ячейки яиц путем поворота на 450. Это реализуется программно через порты Р1.0 и Р1.1 при наличии на линии «1» или «0». Отсчет 1 часа, после которого происходит поворот ячейки, производится внутренним таймером МК (Т0, Т1) также при помощи программирования (раздел «Программное обеспечение»).

Для сопряжения периферийных устройств используется классическая выборка. Данный вид сопряжения предусматривает подключение входов выбора микросхемы (CS) к свободным линиям портов Р2. Для организации информационного обмена на этих линиях программно сформированы соответствующие сигналы выборки. Обмен сопровождается сигналами RD и WR.

Задание температуры (ЗТ):

Рис. 3

Данный блок реализуется при помощи буфера, который имитирует пульт с 5 кнопками. МК управляет буфером данных при помощи управляющего сигнала RD — выбор чтения, с которого считывает значения температур нажатых кнопок. В нашем случае температура задается 5 кнопками от 200 до 400. Сигнал выбора буфера EZ2 определяется портом Р2.4.

Аналогово-цифровой преобразователь (АЦП):

Задание предусматривает анализ значений температур с отсеков 1 и 2, осуществляемый при помощи аналого-цифрового преобразователя (АЦП), представленный на рис. 4. Для контроля аналоговых параметров используем аналоговый мультиплексор. При этом входные аналоговые сигналы с термодатчиков 1 и 2 отсека подаются на мультиплексор (рис. 5), а выход его связывается с АЦП. Сигнал выбора АЦП CS определяется портом Р2.3. Тактируется АЦП при помощи сигнала ALE. МК управляет АЦП при помощи управляющего сигнала RD — выбор чтения.

Рис. 4 — Условное обозначение аналогового мультплексора

Рис. 5

Индикация:

МК использует управляющий сигнал WR — выборзаписи, для обеспечения вывода значения температур по отсекам на 7-сегментные индикаторы. Для определения к какому отсеку какая температура соответствует используем сигнал выбора адреса, формируемого портами Р2.5 и Р2.6. Оба сигнала поступают на логический элемент 2-ИЛИ, а после сигнал поступает на вход синхронизации регистров, которые уже непосредственно подключены к индикаторам. Для каждого отсека используется по два 7-сегментных индикатора, для отображения десятичного значения температуры. Индикатор состоит из семи сегментов, каждый из которых может светиться в зависимости от полученного сигнала. Уровень логической единицы соответствует закрашенному сегменту. Для дальнейшей разработки необходимо каждому сегменту присвоить свое условное обозначение (рис. 6). Ниже представлена таблица (табл.1.), в которой каждой цифре соответствует определенный код построений в соответствии с изображением цифр.

Рис. 6

Таблица 1 — Таблица соответствий цифр и сегментов

a

b

c

d

e

f

g

Отображаемая цифра

1

1

1

1

1

1

0

0

1

1

0

0

0

0

1

1

0

1

1

0

1

1

1

1

1

0

0

1

0

1

1

0

0

1

1

1

0

1

1

0

1

1

1

0

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

1

1

1

1

1

1

1

1

0

1

1

Функциональная схема приведена в Приложении А.

3. ПРИНЦИПИАЛЬНАЯ СХЕМА

Для того чтобы приступить к изготовлению устройства, необходима принципиальная схема. Данная схема полностью соответствует функциональной схеме по смысловой нагрузке, но использовать для изготовления функциональную схему невозможно, так как при составлении данной схемы были использованы не существующие ИМС. Следовательно, прежде чем начать составление принципиальной схемы, нужно выбрать из справочника такие ИМС, которые функционально не отличаются от элементов функциональной схемы.

В качестве МП по заданию используем ОМЭВМ К1816ВЕ31. В принципиальной схеме используется обозначение DD1. Ниже представлены УГО, цоколевка и характеристика:

УГО и цоколевкаК1816ВЕ31

Рис. 6

Питание: +25В;

Средняя потребляемая мощность: Р = 572 мВт

Для задания тактовой частоты работы процессора используется кварцевый генератор на 6 МГц.

К1816ВЕ31не имеет встроенную память программ и поэтому требуется подключить внешнюю память программ. В качестве микросхемы памяти используем К573РФ6А, которая на принципиальной схеме обозначена DD6.

Рис. 7

УГО и цоколевка К573РФ6А

Питание: +15В;

Средняя потребляемая мощность: Р = 650 мВт

Для удерживания адреса необходим регистр КР1533ИР37. В принципиальной схеме используются обозначения DD5, DD7,DD9, DD11 и DD13.

УГО и цоколевкаКР1533ИР37

Рис. 8

Питание: +10В;

Средняя потребляемая мощность: Р = 800 мВт

Рис. 9

В качестве семисегментных индикаторовDD8, DD10,DD12 иDD14 используем КЛЦ302Б (зеленого цвета).

УГО 3ЛС320Б

Питание: +8В;

Средняя потребляемая мощность: Р = 1130 мВт

Для индикации также необходимы регистры КР1533ИР37 и 4 логических элемента 2-ИЛИ серии ТТЛ, DD15. 1-DD15.4.

УГО и цоколевкаЛЛ1

Рис. 10

Сигналы с кнопок поступают на буфер данныхDD4.

УГО и цоколевкаК155ЛП10

Рис. 11

Средняя потребляемая мощность: 425 мВт;

Питание: ± 5В

Рис. 12

Сигналы с термодатчиков 1 и 2 отсека поступают на аналоговый мультиплексорDD3.

УГО и цоколевка 590КН6

Средняя потребляемая мощность: 120 мВт;

Питание: ± 15В

Рис. 13

С аналогового мультиплексора DD3 данные поступают наАЦП, обозначенного на принципиальной схеме DD2.

УГО и цоколевка КР572ПВ3

Средняя потребляемая мощность: 40 мВт;

Питание: ± 15В

4. РАСЧЕТ ПОТРЕБЛЯЕМОЙ МОЩНОСТИ

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

Максимальная потребляемая мощность — сумма потребляемых мощностей каждым элементом схемы.

+ 120

5. АЛГОРИТМИТМИЧЕСКОЕ ОБЕСПЕЧЕНИЕ

Рис. 14

6. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Листинг

принципиальный схема инкубатор контроллер

Метка

Код на языке Assembler

Комментарий

clrp2. 4

подача на буфер активного сигнала

movxa,@dptr

запись в аккумулятор кода нажатой клавиши

movx @r6,a

запись кода в регистр R6 из аккумулятора

clrp2. 3

подача на ацп активного сигнала

m11:

movdptr,#0031h

инициализация 1 отсека

mov @dptr, a

определение реальной температуры

movr3,a

хранение значения температуры в регистре R3

clrp1. 6

подача на индикаторы активного сигнала

clrp1. 5

подача на индикаторы активного сигнала

movr6,a

инициализация регистра R6

movxdptr,@a

вывод значения из аккумулятора на индикаторы

//сравнение температуры

clr с

subba,#01h

из значения, хранимого в регистре R6 вычитаем 1

jcm7

переход если реальная температура меньше

clrp1. 0

выключаем отопление, если реальная температура больше

m7:

setbp1. 0

включаем отопление

//сравнение температуры

clr с

addca,#01h

к значению, хранимого в регистре R6 прибавляем 1

jcm9

переход если реальная температура меньше

clrp1. 0

выключаем отопление, если реальная температура больше

m9:

setbp1. 0

включаем отопление

clrp2. 3

подача на ацп активного сигнала

//инициализация 2 отсека

movdptr,# 0032h

инициализация 2 отсека

mova,@r6

инициализация регистра R6

mov @dptr, a

определение реальной температуры

movr3,a

хранение значения температуры в регистре R3

clrp1. 4

подача на индикаторы активного сигнала

clrp1. 3

подача на индикаторы активного сигнала

movxdptr,@a

вывод значения из аккумулятора на индикаторы

//сравнение температуры

clr с

subba,#01h

из значения, хранимого в регистре R6 вычитаем 1

jcm8

переход если реальная температура меньше

clrp1. 0

выключаем отопление, если реальная температура больше

m8:

setbp1. 0

включаем отопление

//сравнение температуры

clr с

addca,#01h

к значению, хранимого в регистре R6 прибавляем 1

jcm10

переход если реальная температура меньше

clrp1. 0

выключаем отопление, если реальная температура больше

m10:

setbp1. 0

включаем отопление

//timer

movtmod,#02h

нулевой таймер работает во 2 режиме

movth0,#3Ch

запись коэффициента пересчета в старший байт

movtl0,#0AFh

запись коэффициента пересчета в младший байт

tcon #33h

включение таймера

lcall #000Вh

разрешение прерываний

movr1,#00h

обнуление r1, где считаются переполнения

incr2

инкремент r2, где отсчитывается час

movth0,#3Ch

запись коэффициента пересчета в старший байт

movtl0,#0AFh

запись коэффициента пересчета в младший байт

reti

выход из подпрограммы обработки прерываний

movr1,a

инициализация r1

cjner1,#14h, m11

Переход, если содержимое r1 не равно 20

movr2,a

инициализация r2

cjner2,#0E10h, m11

Переход, если содержимое r2 не равно часу

setbp1. 1

включение поворота ячейки яиц на 45 градусов

ljmp m11

Безусловный переход на начало основной программы

Частота задающего генератора у ИМС К1816ВЕ31 равна 12МГц =12*106 Гц. Максимальный коэффициент пересчета таймера-счетчика равен FFFF.

коэффициент пересчета при 0,05 сек будет 50 10 или 3СAF16

для записи данного коэффициента во внутренний таймер необходимо

16 именно это число записываем в таймер и с него он начнет считать.

Во вложенном цикле в регистре R1 через 20 переполнений будет отсчитываться одна секунда:

2010 = 1416

В регистре R2будет отсчитываться один час или 3600 сек:

360 010 = 0Е1016

ЗАКЛЮЧЕНИЕ

Итогом выполнения курсового проекта является контроллер, управляющий работой инкубатора. Спроектированная система соответствует заданным условиям функционирования и потребляет небольшую мощность.

На первом этапе курсового проекта основная работа заключалась в формализации задания и составлении структурной схемы для дальнейшего ее преобразования в работоспособную функциональную схему. На втором этапе курсового проекта согласно функциональной схеме были подобраны соответствующие реальные элементы, а затем построена принципиальная схема. На третьем этапе был произведен расчет потребляемой мощности. На четвертом этапе были разработаны алгоритм и листинг, по которому данная система будет функционировать.

Приложение

Схема устройства

ПоказатьСвернуть
Заполнить форму текущей работой