Разработка автомобильного термометра на базе микроконтроллера

Разработка автомобильного термометра на базе микроконтроллера.

Статьи по теме
Искать по теме

Малогабаритный автомобильный термометр на базе микроконтроллера

Устройство должно отвечать следующим требованиям:

– диапазон измеряемых температур от -40 до +60 градусов Цельсия

– индикация – жидкокристаллический цифровой индикатор

– разрешающая способность 0,5 градусов Цельсия

– тип чувствительного элемента – терморезистор

– питание термометра – 12 В постоянного тока

Автомобильные термометры используется в транспортных средствах для измерения и индикации температуры окружающей среды. Подобные устройства должны обладать небольшими габаритами, выводить информацию в удобной цифровой форме на ЖК или светодиодный дисплей и питаться от автомобильной сети 12 В.


1 Разработка функциональной схемы. Работа измерителя

Разработка автомобильного термометра на базе микроконтроллера

Рисунок 2.1 – Функциональная схема измерительного устройства (Д – датчик температуры (терморезистор), У – усилитель, МК – микроконтроллер, ЖК – жидкокристаллический дисплей, ИП – источник питания)

Устройство работает следующим образом: терморезистивный датчик, помещаемый снаружи автомобиля, включен в одно из плеч измерительного моста Уитстона. В исходном состоянии мост сбалансирован – сопротивления всех элементов равны 1.2 кОм, что соответствует максимальной измеряемой температуре – плюс 60 градусов Цельсия. Если температура внешней среды меняется, это влечет за собой изменение сопротивления терморезистора, и, как следствие, разбалансировку измерительного моста. Напряжение с измерительной диагонали моста подается на входы инструментального операционного усилителя, где производится их вычитание и усиление. После этого сигнал поступает на вход 10-ти битного АЦП, встроенного в микроконтроллер. Дискретизированный сигнал обрабатывается программой контроллера, которая вычисляет сопротивление терморезистора и, затем, по таблице определяет температуру.

2 Обоснование и выбор элементной базы

Датчик

В качестве датчика для устройства используется NTC терморезистор B57020 производства компании Epcos. Датчик является выносным и имеет защищенный соединительный кабель. Основные технические характеристики датчика привдены в Таблице 1.

Таблица 1 – Технические характеристики B57020.

Диапазон рабочих температур, °С

-40…+80

Максимальная мощность, мВт

350

Погрешность сопротивления, %

±2

Номинальная температура, °С

0

Остальных технические характеристики и таблица соответствия сопротивления температуре приводятся в Приложении А.

Усилитель

В качестве усилителя сигнала датчика для данного устройства используется прецизионный операционный усилитель AD8551 фирмы Analog Devices. Усилитель работает в дифференциальном режиме, т.е. усиливает разность напряжений на своих входах. Усилитель имеет однополярное питание, высокую точность и небольшой потребляемый ток.

Разработка автомобильного термометра на базе микроконтроллера

Рисунок 2.2 – Схема включения усилителя

Выходное напряжение

Разработка автомобильного термометра на базе микроконтроллера

Технические характеристики AD8551 приведены в Приложении Б.

Чтобы рассчитать коэффициент усиления, оценим максимально и минимально возможное напряжение на входе усилителя по формуле

Разработка автомобильного термометра на базе микроконтроллера

Получим Umax=0.49 В, Umin= 0В. Следовательно, коэффициент усиления следует установить равным 10.


Микроконтроллер

В качестве микроконтроллера в устройстве используется микросхема AT89C51AC3 производства фирмы Atmel. Так как в данном устройстве от контроллера не требуется высокой скорости вычисления и большого объема памяти, то выбор был в первую очередь обусловлен наличием в этом контроллере достаточного количества выводов для реализации статической индикации, а так же встроенного АЦП, что позволило несколько упростить схему устройства.

Данный контроллер выполнен на архитектуре процессора Intel MCS51 и имеет 256 байт встроенного ОЗУ, 2048 байт встроенного расширенного ОЗУ, 64 кбайт

встроенной флэш-памяти, три 16-разрядных таймера-счетчика, Диапазон рабочих напряжение питания 3…5.5 В, пять портов: 32 + 4 цифровых линии ввода-вывода,

10-разрядный АЦП с 8 мультиплексированными входами. Потребляемые микроконтроллером в режиме работы ток высчитывается по формуле:

В качестве резонатора используется керамический резонатор CSTCV12.0MTJ0C4-TC частотой 12 Мгц производства компании Murata.

Остальные технические характеристики AT89C51AC3 приведены в Приложении В.

ЖК индикатор

Так как в устройстве требуется выводить всего три цифры и знак, в качестве устройства индикации удобно взять 3.5-символьный семисегментный ЖК индикатор фирмы Futurlec с общим анодом. Устройство работает от напряжении 5 В и имеет очень маленький потребляемый ток (максимум 25 мкА).

Индикатор подключен напрямую к микроконтроллеру в режиме статической индикации.

Технические характеристики ЖК дисплея приведены в Приложении Г.

Источник питания

Напряжение питания схемы – 12 В постоянного тока. Все токопотребляющие элементы имеют рабочее напряжение 5 В, поэтому в качестве DC-DC преобразователя можно использовать стабилизатор напряжения LM78M05 фирмы Fairchild Semiconductor. Он выдает стабилизированные 5 В при входном напряжении от 7 до 20 В и силе тока на выходе 350 мА.

Рассчитаем токопотребление нашей схемы: I = 0,7мА + 12,8мА + 25мкА = 12,5мА

Из расчета видно, что источник питания обеспечивает достаточный ток для питания устройства.

Технические хараткеристики LM78M05 приведены в Приложении Д.


3 Архитектура и основные элементы микроконтроллера

Разработка автомобильного термометра на базе микроконтроллера

Рисунок 3.1 – Структурная схема микроконтроллеров семейства MCS-51

Архитектура семейства MСS-51 в значительной мере предопределяет ее назначение – это построение компактных и дешевых цифровых устройств. Все функции микроконтроллера реализуются с помощью единственной микросхемы. В состав семейства MCS-51 входит ряд микросхем от самых простых микроконтроллеров до достаточно сложных. Микроконтроллеры семейства МС8-51 позволяют выполнять как задачи управления различными устройствами, так и реализовывать простейшие алгоритмы цифровой обработки сигналов. Все микросхемы этого семейства работают с одной и той же системой команд. Большинство микросхем выполняется в одинаковых корпусах с совпадающей цоколевкой (схемой расположения выводов). Это позволяет использовать для разработанного устройства микросхемы разных фирм-производителей (таких как Intel, Dallas, Atmel, Philips и т. д.) без переделки принципиальной схемы устройства и программы.


Структурная схема микроконтроллера представлена на рисунке 3.1 и состоит из следующих основных функциональных узлов:

- блока управления;

- арифметико-логического блока;

- блока таймеров/счетчиков;

- блока последовательного интерфейса и прерываний;

- программного счетчика, памяти данных и памяти программ.

Двусторонний обмен данными между элементами внутренней структуры

микроконтроллера осуществляется с помощью внутренней 8-разрядной I шины данных.

По такой схеме построены практически все представители семейства МСS-51. Различные микросхемы этого семейства различаются только регистрами специального назначения (в том числе и количеством портов). Система команд всех контроллеров семейства МСЗ-51 содержит 111 базовых команд длиной 1, 2 или 3 байта и не изменяется при переходе от одной микросхемы к другой. Это обеспечивает прекрасную переносимость программ с одной микросхемы на другую. Рассмотрим подробнее назначение каждого блока.

Блок управления и синхронизации предназначен для выработки синхронизирующих и управляющих сигналов, обеспечивающих координацию совместной работы блоков микроконтроллера во всех допустимых режимах его работы. В состав блока управления входят:

- устройство формирования временных интервалов;

- логика ввода-вывода;

- регистр команд;

- регистр управления потреблением электроэнергии;

- дешифратор команд, логика управления микроконтроллером.

Устройство формирования временных интервалов предназначено для формирования и выдачи внутренних синхросигналов фаз, тактов и циклов. Количество машинных циклов определяет продолжительность выполнения команд. Практически все команды микроконтроллера выполняются за один или два машинных цикла, кроме команд умножения и деления, продолжительность выполнения которых составляет четыре машинных цикла. Обозначим частоту задающего генератора через Fг. Тогда длительность машинного цикла равна 12/Fг или составляет 12 периодов сигнала задающего генератора. Логика ввода-вывода предназначена для приема и выдачи сигналов, обеспечивающих обмен информацией с внешними устройствами через порты ввода-вывода РО-РЗ.

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

Регистр управления потреблением (PCON) позволяет останавливать микроконтроллер для уменьшения потребления электроэнергии и уменьшена уровня помех. Еще большего уменьшения потребления электроэнергии и уменьшения помех можно добиться, остановив задающий генератор микроконтроллера при помощи переключения битов регистра управления потреблением PCON. В вариантах микросхемы, изготовленных по технологии n-МОП (серия 1816 или иностранных микросхем, в названии 1 вторых в середине отсутствует буква "с"), регистр управления потреблением PCON содержит только один бит, управляющий скоростью передачи последовательного порта SMOD, а биты управления потреблением электроэнергии отсутствуют.

Арифметико-логический блок (АЛБ) представляет собой параллельное

8-разрядное устройство, обеспечивающее выполнение арифметических и логических операций. АЛБ состоит из:

- регистров временного хранения ТМР1 и ТМР2;

- ПЗУ констант;

- арифметико-логического устройства;

- дополнительного регистра (регистра В);

- аккумулятора (АСС);

- регистра состояния программ (Р8\У).

Регистры временного хранения – это 8-разрядные регистры, предназначенные для приема и хранения операндов на время выполнения операций над ними. Регистры временного хранения программно не доступны, ими управляет только микропрограмма выполнения команд.

ПЗУ констант обеспечивает выработку корректирующего кода при дво-1чно-десятичном представлении данных или кода маски при битовых операциях и констант.

Арифметико-логическое устройство представляет собой схему комбинационного типа с последовательным переносом, предназначенную для выполнения арифметических операций сложения, вычитания и логических операций "И", "ИЛИ", суммирования по модулю 2 и инвертирования.

Регистр В – восьмиразрядный регистр, используемый во время операций умножения и деления. Для других инструкций он может рассматриваться как дополнительный регистр внутренней памяти микроконтроллера.

Аккумулятор – 8-разрядный регистр, предназначенный для приема и хранения результата, полученного при выполнении арифметико-логических операций или операций сдвига


Блок последовательного интерфейса и прерываний предназначен для

Организации последовательного ввода-вывода информации и организации

Прерываний выполнения программы. В состав этого блока входят:

- логика управления;

- регистр управления;

- буфер передатчика;

- буфер приемника;

- приемопередатчик последовательного порта;

- регистр приоритетов прерываний;

- регистр разрешения прерываний;

- логика обработки флагов прерываний.

Счетчик команд предназначен для формирования текущего 16-разрядного адреса

внутренней или внешней памяти программ. В состав счетчика команд входят

16-разрядный буфер счетчика команд, регистр счетчика команд и схема инкремента (увеличения содержимого на 1).

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

Порты РО, Р1, Р2, РЗ являются квазидвунаправленными портами ввода-1 вывода и предназначены для обеспечения обмена информацией между микроконтроллером и внешними устройствами, образуя 32 линии ввода-вывода.

Регистр состояния программы (PSW) предназначен для хранения информации о состоянии АЛУ при выполнении программы.

Память программ предназначена для хранения программного кода и представляет собой постоянное запоминающее устройство (ПЗУ). В разных микросхемах применяются масочные, стираемые ультрафиолетовым излучением или FLASH ПЗУ.

Регистр указателя данных (DPTR) предназначен для формирования 16-разрядного адреса внешней памяти данных или памяти программ при считывании таблиц констант.

Указатель стека (SP) представляет собой 8-разрядный регистр, предназначенный для организации особой области памяти данных (стека), в которой хранятся адреса возврата из подпрограмм, переменные и содержимое внутренних регистров микроконтроллера (в том числе регистры PSW и аккумулятор).


4 Блок-схема программы

Разработка автомобильного термометра на базе микроконтроллера

Рисунок 4.1 – Блок-схема программы


Литература

1. Аш Ж. с соавторами. Датчики измерительных систем. – М., 1992. -480 с.

2. Микушин А. Занимательно о микроконтроллерах – СПб., 2006. 424 с.

3. Фрунзе А. Микроконтроллеры? Это же просто! – М., 2002. 336с.