на тему:
«Разработка термометра с автоматическим контролем температуры
на базе микроконтроллера AТ90S2313 с применением термостата DS1620»
Введение
Измерение, контроль и регулирование температуры является одной из неотъемлемых и важных задач в современном мире. Такая задача стоит и перед промышленностью, и перед сельским хозяйством, и в быту и даже в области высоких технологий. В разных случаях задача регулирования температуры имеет свою индивидуальную цель и метод решения.
Регулирование температуры различных газообразных, сыпучих и жидких сред, в том числе воздуха и воды является задачей и для дорожно–строительной отрасли промышленности. Примером может служить регулирование температуры приготовления битумной смеси, асфальта и т.д.
Возлагать на человека задачу контроля и регулирования температуры технологических процессов в эпоху высоких компьютерных технологий просто не рационально. На помощь человеку пришли различные цифровые датчики и регуляторы температуры с использованием микропроцессорной техники.
В данном курсовом проекте рассматривается проектирование и создание цифрового регулятора температуры на базе микросхемы-термометра DS1620, который совмещает температурный датчик, схему управления и АЦП в одном кристалле, и микроконтроллера фирмы Atmel AT90S2313.
1. Анализ задачи. Выбор компонентов
Наша задача состоит в поддержании температуры в заданном диапазоне значений. Коридор значений температуры задается оператором с клавиатуры. На ЖКИ необходимо выводить данные о текущей температуре, о верхнем пределе и о нижнем пределе (поочередно, в зависимости от выбранного оператором режима). Температурный датчик должен сообщать о нахождении температуры в заданном коридоре свечением светодиода на одном из своих выводов (Tcom). Также цифровой термостат будет осуществлять управление исполнительными устройствами (нагревателем и охладителем) подачей сигнала высокого уровня на соответствующие выводы (Thigh и Tlow). Одновременно включенными оба исполнительных механизма быть не должны. Задачи по управлению термостатом, по выводу информации на ЖКИ, по обработке информации с термостата и с клавиатуры оператора возлагаются на микроконтроллер.
1.1 Микроконтроллер
AT90S2313 - экономичный 8 битовый КМОП микроконтроллер, построенный с использованием расширенной RISC архитектуры AVR. Исполняя по одной команде за период тактовой частоты, AT90S2313 имеет производительность около 1MIPS на МГц, что позволяет разработчикам создавать системы оптимальные по скорости и потребляемой мощности.
В основе ядра AVR лежит расширенная RISC архитектура, объединяющая развитый набор команд и 32 регистра общего назначения. Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), что дает доступ к любым двум регистрам за один машинный цикл.
Подобная архитектура обеспечивает десятикратный выигрыш в эффективности кода по сравнению с традиционными CISC микроконтроллерами.
AT90S2313 предлагает следующие возможности: 2кБ загружаемой флэш памяти; 128 байт EEPROM; 15 линий ввода/вывода общего назначения; 32 рабочих регистра; настраиваемые таймеры/счетчики с режимом совпадения; внешние и внутренние прерывания; программируемый универсальный последовательный порт; программируемый сторожевой таймер со встроенным генератором; SPI последовательный порт для загрузки программ; два выбираемых программно режима низкого энергопотребления. Холостой режим (Idle Mode) отключает ЦПУ, оставляя в рабочем состоянии регистры, таймеры/счетчики, SPI порт и систему прерываний. Экономичный режим (Power Down Mode) сохраняет содержимое регистров, но отключает генератор, запрещая функционирование всех встроенных устройств до внешнего прерывания или аппаратного сброса.
Микросхемы производятся с использованием технологии энергонезависимой памяти высокой плотности фирмы Atmel. Загружаемая флэш память на кристалле может быть перепрограммирована прямо в системе через последовательный интерфейс SPI или доступным программатором энергонезависимой памяти. Объединяя на одном кристалле усовершенствованный 8-битовый RISC процессор с загружаемой флэш–памятью, AT90S2313 является мощным микроконтроллером, который позволяет создавать достаточно гибкие и эффективные по стоимости устройства. AT90S2313 поддерживается полной системой разработки, включающей в себя макроассемблер, программный отладчик/симулятор, внутрисхемный эмулятор и отладочный комплект.
1.2 Цифровой датчик-термометр DS1620
Для измерения температуры в цифровых устройствах необходимы температурный датчик, схема управления и АЦП. Последние модели температурных датчиков совмещают эти компоненты в одном кристалле.
Микросхема DS1620 (Dallas RS218-3810) – это девятиразрядный термометр и термостат, служащий для измерения и отображения температуры (рис. 1). Он имеет три выхода, которые используются при работе микросхемы в режиме термостата. Настройки выходного сигнала можно запрограммировать и сохранить во внутренней энергонезависимой памяти. Устройство измеряет температуру от –55 до +12˚С шагом 0,5˚С, преобразование занимает 1 с.
Передача данных от микросхемы к внешнему устройству осуществляется по трехпроводной последовательной шине: СLK/СОNV (контакт 2), DQ (контакт 1) и RЕSЕТ (контакт 3). Эти выходы совместимы с уровнями ТТЛ. Тhigt (контакт 7) – выход триггера высокой температуры. Если температура превышает установленный верхний порог, то выход Тhigt сигнализирует об этом высоким уровнем и остается в таком состоянии до тех пор, пока температура не упадет ниже заданного порога. Тlow (контакт 6) – выход триггера низкой температуры. Если температура опускается ниже определенного нижнего предела, то на нем появляется сигнал высокого уровня, сохраняющийся до тех пор, пока температура не поднимется выше указанного предела. Тсоm (контакт 5) – это выход комбинированного триггера высокой и низкой температуры. Тсоm=1, когда температура превышает верхний предел, Тсоm=0, когда она опускается ниже нижнего предела. Контакты 4 и 8 соединены с отрицательным и положительным проводами источника питания. Потребляемый ток в режиме ожидания равен 1 мкА, в рабочем режиме - 1 мА.
Управление устройством осуществляется в два этапа: сначала команды управления последовательно загружаются в микросхему, а затем девятиразрядное число, соответствующее температуре, либо считывается, либо записывается. Микросхема имеет девять команд:
1. Read temp (AАh): чтение значения регистра, содержащего результат последнего измерения.
2. Start conversion T (EЕh): запуск процесса измерения температуры. Данные не передаются.
3. Stop convert T (22h): остановка измерения. Данные не передаются.
4. Write TH (01h): запись верхнего предела в триггер высокой температуры – 9 бит данных.
5. Write TL (01h): запись нижнего предела в триггер высокой температуры – 9 бит данных.
6. Read TH (A1h): чтение содержимого триггера высокой температуры – 9 бит данных.
7. Read TL (A2h): чтение содержимого триггера низкой температуры – 9 бит данных.
8. Write configuratioin (0Ch): запись настроечных данных в регистр настройки – 8 бит данных.
9. Read configuratioin (ACh): чтение настроечных данных из регистра настройки – 8 бит данных.
Настроечное слово управляет режимами работы микросхемы DS1620. Оно сохраняется в регистре настройки. Функции битов регистра пиведены ниже:
DONE THF TLF XXX CPU 1SHOT
X | любое |
DONE | 0 – идет преобразование |
1 – преобразование завершено | |
THF | флаг высокой температуры. Если температура равна или выше верхнего предела, то бит ТНF=1. Он остается в единичном состоянии до тех пор, пока его не сбросят, записав ноль, или не отключат питание устройства |
TLF | флаг низкой температуры. Если температура равна или ниже нижнего/предела, то бит ТLF=1. Он остается в единичном состоянии до тех пор, пока его не сбросят, записав ноль, или не отключат питание устройства |
CPU | если СРU=0, то вход СLK/СОNV управляет началом цикла измерения; в противном случае микросхема работает в режиме обмена информацией с внешним устройством |
1SHOT | если 1SНОТ=1, микросхема производит один цикл измерения после поступления команды; в противном случае ИС настроена н непрерывное измерение температуры |
Данные о температуре имеют девятибитовый формат.
Дискретность представления температуры равна 1/2˚С. Некоторые соотношения между значениями температуры и выходными данными приведены ниже:
+125˚С | 0 11111010 (00FA) |
+25˚С | 0 00110010 (0032) |
+1/2˚C | 0 00000001 (0001) |
0˚C | 0 00000000 (0000) |
–1/2˚C | 1 11111111 (00FF) |
–25˚С | 1 11001110 (01CE) |
–55˚С | 1 10010010 (0192) |
Временные диаграммы передачи данных представлены на рис 2. Передача начинается при поступлении положительного фронта на вход RST (контакт 3). Если на этот вход подать 0, то передача прекращается. Процессами чтения и записи управляет тактирующий вход микросхемы. Один тактовый цикл состоит из отрицательного фронта и следующего за ним положительного. При записи информации состояние битов данных должно оставаться неизменным во время прохождения положительного фронта. При считывании данные выводятся из устройства по каждому отрицательному фронту тактовых импульсов. Когда на тактовом входе высокий уровень, выход DQ (контакт 1) имеет высокое сопротивление. При чтении данных младший бит передается первым. Через этот контакт можно как принимать, так и передавать данные. Схема с использованием термометра DS1620, подключенного к экспериментальной плате параллельного порта, приведена на рис. 3.
Поскольку вывод DQ, может использоваться как для чтения, так и для записи, а на экспериментальной плате параллельного порта таких двунаправленных линий нет, необходимо применять транзистор. База транзистора соединена с тактом D1. Когда ИС настроена на прием информации, данные поступают из ком пьютера на контакт D1, а затем через транзистор в инверсном виде – на микросхему. Когда она передает информацию, транзистор должен быть закрыт (это достигается подачей низкого уровня на его базу через тот же контакт), и данные поступают на контакт S1. Входы СLК/СОNV и RSТ соединены с контактами С1 и С2. После прохождения положительного фронта по входу RST микросхема настраивается на прием управляющей информации. Необходимые данные считываются с линии С1 под управлением тактовых импульсов. Если DS1620 настраивается на вывод данных, то после загрузки в нее управляющей команды D1 переходит в нулевое состояние, а биты данных последовательно выводятся под управлением тактовых импульсов и поступают на контакт S1. Если микросхема должна принимать данные, они также загружаются под управлением тактовых импульсов.
0 комментариев