Рефераты. Цифровой термометр на микропроцессоре AVR-MEGA 128

2. Синтез структурной схемы


Структурная схема для цифрового термометра приведена на рисунке 2.1.


Рисунок 2.1 – структурная схема цифрового термометра


На рисунке 2.1 показано:

ЖКИ – жидко-кристаллический индикатор;

МК – микроконтроллер;

Д– цифровой датчик температуры;

RS232С – последовательный интерфейс.

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

производит опрос датчика температуры и сохраняет в ОЗУ значения температуры, полученные от датчика в каждом цикле опроса температуры;

по требованию компьютера, микроконтроллер отсылает в компьютер значения температуры из ОЗУ от датчика температуры.

Измеренная температура не только сохраняется, но и выводится на жидкокристаллический экран (ЖКИ). Графические возможности экрана позволяют отображать не только цифровые значения температуры, но и отображать изменения температуры во времени в виде графиков. Также микроконтроллер может сохранять не одно значение температуры, а несколько (до 20 значений).

Если значение температуры выходит за диапазон 30-400С, то микроконтроллер формирует предупреждающий сигнал с помощью светодиодов.

Кнопка производит сброс, если измеренные значения температуры выходят за значения 30-400С.

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


3. Синтез схемы электрической принципиальной цифрового термометра


В данном проекте разработан цифровой термометр с использованием микроконтроллера AVR ATMEGA128. Схема устройства представлена на чертеже ЛОЕТ.06-1.09Э3. Перечень элементов –ЛОЕТ.06-1.09 ПЭ3.

Описание схемы устройства

Прибор осуществляет измерения путём заряда конденсатора до уровня примерно равного VCC, последующего разряда его через опорный резистор с одновременным подсчётом внутренних тактов до того момента, пока на входе CIN не появится лог. «0». Далее конденсатор снова заряжается до значения, близкого к VCC и разряжается через термистор, при этом также подсчитываются тактовые импульсы. Неизвестное сопротивление резистора вычисляется как отношение числа тактов при разряде конденсатора термистором к числу тактов при разряде через опорный резистор и последующим домножением на известное значение сопротивления опорного резистора. Программа вычисляет сопротивле-ние термистора, переводит это значение в температуру, переводит её в градусы Цельсия и отображает значение на ЖКИ.

К выводам 50,51 МК подключен датчик температуры ТМР 35, представленная на рисунке 3.1


Рисунок 3.1- Микросхема TMP35


ТМР35 обеспечивает выходное напряжение, линейно изменяющееся пропорционально температуре по шкале Цельсия. TMP35 не требует внешней калибровки обеспечивая типичную точность +/-10C при +250C и +/-20C в диапазоне -400C к +1250C. Низкое выходное сопротивление TMP35 и линейность выводного напряжения и отсутствие необходимости точной калибровки упрощает его подключение к электрической схеме терморегулятора, Аналого-цифровым преобразователя. Устройства питается по двухпроводной линии от источника напряжением от 2.7 V к 5.5 V. Питающий ток имеет величину значительно ниже 50мка, обеспечивая очень низкий саморазогрев — меньше чем 0.10C в невозмущенной атмосфере. Кроме того, заложена функция отключения обеспечивающая снижение питающего тока до величины меньше чем 0.5мка. TMP35 работает при температуре от 100C до 1250C [3]. Резисторы R12 и R13 ограничивают ток, проходящий через датчик.

К выводам 14 и 15 (PB4, PB5) микроконтроллера с помощью ограничиваю-щих резисторов R2 ÷ R4 подсоединяется выводами CLK и DI ЖКИ, выполненный на микросхеме НТ1611. Через ограничивающие резисторы R6, R6 к выводу VDD подводится напряжение питания от источника.

Жидкокристаллический индикатор показан на рисунке 3.2


Рисунок 3.2- Микросхема НТ1611


Если измеренные значения температуры выходят за заданные пределы, то загораютя светодиоды VD1, VD2. R9,R10 ограничивают ток, проходящий через светодиоды.

К выводым 2, 3 (РЕ0,РЕ1) микроконтроллера присоединяется микросхема MAX232C, которая позволяет производить обмен информацией с компьютером через последовательный интерфейс RS232C. Для этого задействованы выводы T1IN, T1OUT, R1IN, R1OUT. В соответствии с описанием микросхемы к выводам C1+, C1- и C2+, C2- подключаются конденсаторы С3, С4 емкостью 0,1 мкФ. Такие же конденсаторы С1, С2 для создания необходимых уровней питания подключаются к ножке 2 (Vs+) и к шине питания; к ножке 6 (Vs-) и к земле [1]. Устройство можно подключить к компьютеру с помощью разъема XР1.

Условное графическое обозначение микросхемы MAX232C показан на рисунке 3.3.


Рисунок 3.3 – УГО ADM202_SO16


Микросхема ADM202_SO16 позволяет осуществлять связь по интерфейсу RS232C одновременно с двумя устройствами.

Для формирования правильного импульса сброса в момент включения питания к выводу (RESET) микроконтроллера подключена RC-цепочка (R11,C9). Эта цепь используется для задержки запуска микроконтроллера при включении питания, что нужно для его правильного запуска, а также для ручного перезапуска микроконтроллера нажатием на кнопку SВ1 . Цепь сброса по включению питания обеспечивает запрет включения процессора до тех пор, пока напряжение питания не достигнет безопасного уровня. После того, как напряжение питания достигнет уровня включения, процессор не включается до тех пор, пока встроенный таймер не обработает несколько периодов сторожевого таймера. Внешний сброс обрабатывается по низкому уровню на выходе RESET. Вывод должен удерживаться в низком состоянии, по крайней мере, два периода тактовой частоты. После снятия сигнала 0 с вывода RESET через некоторое время микроконтороллер запускается. Кроме того, для информирования пользователя о рабочем режиме подключается светодиод VD3. Этот светодиод мигает зеленым цветом, когда производится чтение значений температуры из датчика. В остальное время светодиод не горит. Так как чтение значений температуры происходит непрерывно, кроме случаев прерывания вызванных для связи с компьютером, то светодиод мигает с периодом 0,8 мс. И перестает мигать в момент обмена информацией с компъютером [1].

К выводам 23 (XTA/L1) и 24 (XTA/L1) МК подсоединяется кварцевый резонатор ZQ1 с частотой 14 МГц. Для облегчения запуска тактового генератора необходимо подключение двух конденсаторов С7 и С8.

Устройство получает питание от аккумулятора напряжением 5 В через сглаживающий С-фильтр, состоящий из конденсаторов С5и С6 и стабилизатора напряжения. К вспомогательным устройствам относятся автоматический выключатель QF1 и индикатор включения – светодиод VD5. Резистор R7 ограничивает ток через светодиод. Стабилизатор напряжения включается между выходом выпрямителя и нагрузкой. Он выполнен на микросхеме DD3 типа КР142ЕН5А.

В качестве резисторов были выбраны резисторы МЛТ. Это металлопленочные резисторы, которые содержат резистивный элемент в виде очень тонкой металлической пленки, осажденной на основание из керамики, стекла, слоистого пластика, ситалла или другого изоляционного материала. Металлопленочные резисторы характеризуются высокой стабильностью параметров, слабой зависимостью сопротивления от частоты и напряжения и высокой надежностью. Недостатком некоторых металлопленочных резисторов является пониженная надежность при повышенной номинальной мощности, особенно при импульсной нагрузке. ТКС резисторов типов МЛТ не превышает 0,02% °С. Уровень шумов резисторов группы А не более 1 мкВ/В, группы Б – не более 5 мкВ/В.

Конденсаторы С6 - типа К53 - 4 – электролитический, оксиднополупроводниковый. Конденсаторы С1…С5, С9,С10 типа КМ-6– это керамические монолитные конденсаторы, широко применяется в разнообразных контурах и цепях радиоаппаратуры УКВ и КВ в качестве блокировочных, переходных и т.д.

Конденсаторы С7,C8 типа КЛС – конденсаторы керамческие литые секционные. Это конденсаторы постоянной емкости, общего назначения, которые предназначены для работы в цепях постоянного, переменного и импульсного тока.

Программирование МК осуществляется через разъем XP2.


4. Разработка алгоритма работы микроконтроллера


Программа работы микроконтроллера заключается в следующем:

при нажатии кнопки RESET (SB1) производится непрерывный (циклический) опрос датчика и сохранение полученных значений температуры в ОЗУ.

непрерывлый вывод полученных значений температуры на ЖКИ индикатор (цифровое отображение информации на экране)

формирование сигнала предупреждения с помощью блока светодиодов в случае выхода значения температуры за пределы 300С<Т<400С (согласно техническому заданию).

Алгоритм программы приведен на рисунке 4.1.

Первым действием в программе производятся начальные установки микроконтроллера. В них устанавливается указатель стека на последнюю ячейку ОЗУ, исходное состояние каналов связи с датчиками температуры и UART, скорость обмена по UART, разрешаются прерывания от таймера/счетчика0 и от UART, переписывается количество и индивидуальные адреса датчиков температуры из EEPROM в ОЗУ, в регистры записываются необходимые константы.

Когда начальные установки завершены, начинается часть программы, которая производит опрос датчика температуры. Она будет циклически повторятся, пока подводится питание к микроконтроллеру или пока не возникнет запрос на прерывание. Опрос датчика температуры начинается с сигнала сброса на линии (блок 2 рисунок 4.1) Затем следует команда игнорирования адреса датчика температуры SKIP ROM [CCh].

Команда начала измерения температуры CONVERT T [44h] (блок 4, рисунок 4.1) разрешает преобразование значений температуры в цифровой вид для датчика.


Рисунок 4.1 – Алгоритм работы микроконтроллера


Аналого-цифровое преобразование значений температуры занимает время от 750 мс до 800 мс. Поэтому, чтобы получить правильное значение температуры, необходимо выждать паузу 800 мс (блок 5, рисунок 4.1). Пауза выдерживается с помощью таймера/счетчика 0. Во время паузы можно совершать другие действия (например, произвести обмен данными с компьютером или вывести результаты на ЖКИ).

После паузы производится опрос датчика. Опрос датчика начинается с сигнала сброса на линии связи с датчиком (блок 6, рисунок 4.1). После сигнала сброса и ответного сигнала от датчика следует команда MATCH ROM [55h]. Эта команда сообщает датчику, что после неё на линии связи будет выставлен индивидуальный 64-х битовый адрес датчика. После того, как адрес выставлен на линии, датчик температуры сравнивает выставленный адрес со своим собственным адресом, и, после этого к работе с микроконтроллером датчик готов.

В блоке 7 производится чтение значения температуры и запись его в соответствующие ячейки ОЗУ.

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.