Мегаобучалка Главная | О нас | Обратная связь


Обоснование выбора микроконтроллера



2020-03-19 317 Обсуждений (0)
Обоснование выбора микроконтроллера 0.00 из 5.00 0 оценок




Оглавление

 

Техническое задание

Введение

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

Обоснование выбора микроконтроллера

Выбор датчиков

Описание элементов схемы

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

Вывод

Литература

Приложение


Техническое задание

 

В рамках курсовой работы необходимо разработать контроллер управления домашней метеостанцией.

Так как прибор должен обеспечивать определенный интерфейс с пользователем,    предусматриваются 6 клавиш управления:

.Клавиша + минута.

.Клавиша - минута.

.Клавиша + час.

.Клавиша + день.

.Клавиша + месяц.

.Клавиша + год.

Для индикации используется алфавитно-цифровой ЖКИ на 2 строки по 22 позиции. В качестве входных датчиков используются датчики, температуры, давления и влажности. Исполнительной части в данном устройстве нет. Для связи с компьютером используется последовательный порт

Устройство должно выполнять следующие функции:

1. Измерять с помощью датчиков температуру в комнате и на улице, давление, влажность.

2. Запоминать полученные результаты.

.   Передавать информацию на удаленный компьютер.

.   Выводить информацию на LCD.

.   Отображать дату и время на LCD.

однокристальный контроллер управление датчик


Введение

 

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

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

За последние годы микроэлектроники бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров (ОМК), которые предназначены для «интеллектуализации» оборудования различного назначения. ОМК представляет собой приборы, конструктивно выполненные в виде БИС, и включающие в себя все составные части «голой» микроЭВМ: микропроцессор, память программы, память данных, также программированные интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости, что микроконтроллерам, видимо нет разумной альтернативной базы для построения управляющих и регулирующих систем. К настоящему времени более двух третей мирового рынка микропроцессорных средств составляют именно ОМК.


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

 

ДВ - датчик влажности

ДТ1 - первый датчик температуры

ДТ2 - второй датчик температуры

ДД - датчик давления

МП - микропроцессор

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

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

COM - блок сопряжения по последовательному порту

Описание элементов схемы

Вышеприведённая функциональная схема представляет структуру контроллера бытовой метеостанции. Схему можно представить в виде следующих блоков:

МК - управляющий микроконтроллер. Он считывает информацию датчиков температуры, давления и влажности, а также посылает сигналы в ЖКИ.

ЖКИ - специализированный жидкокристаллический дисплей, необходимый для отображения температуры,давления,влажности, а так же времени и даты.

Т1 - датчик температуры для измерения температуры воздуха на улице.

Т2 - датчик температуры для измерении температуры воздуха в комнате.

БК - блок клавиатуры. Клавиатура содержит шесть кнопок. Это позволяет упростить логику и обеспечивает большое удобство работы с системой.

 

Обоснование выбора микроконтроллера

 

При выборе микроконтроллера мною было рассмотрено три микроконтроллера: AVR, PIC и МК-51. Основными критериями при выборе были: реализуемые функции, объем памяти, количество портов, стоимость.

Микроконтроллер семейства МК-51 имеют следующие аппаратные особенности:

· внутреннее ОЗУ объемом 128 байт;

·   четыре двунаправленных побитно настраиваемых восьмиразрядных порта ввода-вывода;

·   два 16-разрядных таймера-счетчика;

·   встроенный тактовый генератор;

·   адресация 64 КБайт памяти программ и 64 Кбайт памяти данных;

·   две линии запросов на прерывание от внешних устройств;

·   интерфейс для последовательного обмена информацией с другими микроконтроллерами или персональными компьютерами.

Микроконтроллер 8751 снабжен УФ ПЗУ объемом 4 Кбайт.

Микроконтроллер выполнен на основе высокоуровневой n-МОП технологии. Через четыре программируемых параллельных порта ввода/вывода и один последовательный порт микроконтроллер взаимодействует с внешними устройствами. Основу структурной схемы (рис. 1) образует внутренняя двунаправленная 8-битная шина, которая связывает между собой основные узлы и устройства микроконтроллера: резидентную память программ (RPM), резидентную память данных (RDM), арифметико-логическое устройство (ALU), блок регистров специальных функций, устройство управления (CU) и порты ввода/вывода (P0-P3).

AVR имеет Flash-память программ ROM объемом 1K ... 8К, внутреннюю оперативную память SRAM (кроме AT90S1200) объемом 128 ... 512 байт, блок энергонезависимой электрически стираемой памяти данных EEPROM объемом 64 ... 512 байт, который может быть загружена извне как через SPI интерфейс, так и с помощью обычного программатора.

Перечислим периферийные устройства AVR:

1 таймер/счетчик, разрядность 8 бит;

2 n таймер/счетчик, разрядность 16 бит (кроме AT90S1200 и AT90S2323) с возможностью организации функций ШИМ и захвата/сравнения;

3 аналоговый компаратор (кроме AT90S2323);

4 скоростной последовательный интерфейс SPI;

5 встроенная система сброса микроконтроллера;

6 асинхронный дуплексный последовательный порт UART;

7 контроллер прерываний;

8 внутренний тактовый генератор;

9 сторожевой (WATCHDOG) таймер.

Pic16C84 относится к семейству КМОП микроконтроллеров. Отличаются тем, что имеет внутреннее 1К х 14 бит EEPROM для программ, 8-битовые данные и 64 байт EEPROM памяти данных. При этом отличаются низкой стоимостью и высокой производительностью. Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл. Периферия включает в себя 8-битный таймер/счетчик с 8-битным программируемым предварительным делителем и 13 линий двунаправленного ввода/вывода. Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений.

Рассмотрев вышеперечисленные микроконтроллеры я решил взять микроконтроллер МК-51. Данный микроконтроллер удовлетворяет всем необходимым требованиям, доступен по цене, его архитектура подробно изучена в курсе лекций и на лабораторных работах.

Из 51 серии мной выбран AT89C52s (рис.1):

 

Рис.1 AT 89 C 52 s

 

Обозначения:

·   Uss - потенциал общего провода ("земли");

·         Ucc - основное напряжение литания +5 В;

·         X1,X2 - выводы для подключения кварцевого резонатора;

·         RST - вход общего сброса микроконтроллера;

·         PSEN - разрешение внешней памяти программ; выдается только при обращении к внешнему ПЗУ;

·         ALE - строб адреса внешней памяти;

·         ЕА - отключение внутренней программной память; уровень 0 на этом входе заставляет микроконтроллер выполнять программу только внешнее ПЗУ; игнорируя внутреннее(если последнее имеется);

·         P1 - восьми битный квази двунаправленный порт ввода/вывода: каждый разряд порта может быть запрограммирован как на ввод, так и на вывод информации, независимо от состояния других разрядов;

·         P2 - восьми битный квази двунаправленный порт, аналогичный Р1; кроме того, выводы этого порта используются для выдачи адресной информации при обращении к внешней памяти программ или данных (если используется 16-битовая адресация последней). Выводы порта используются при программировании 8751 для ввода в микроконтроллер старших разрядов адреса:

·         РЗ - восьми битный квази двунаправленный порт, аналогичный. Р1; кроме того, выводы этого порта могут выполнять ряд альтернативных функций, которые используются при работе таймеров, порта последовательного ввода-вывода, контроллера прерываний, и внешней памяти программ и данных;

·         P0 - восьми битный двунаправленный порт ввода-вывода информации: при работе с внешними ОЗУ и ПЗУ по линиям порта в режиме временного мультиплексирования выдается адрес внешней памяти, после чего осуществляется передача или прием данных.

 

Выбор датчиков

 

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

Типичная метеостанция снимает следующие показатели:

1. Температура в комнате и за ее пределами.

2. Влажность.

.   Давление.

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

В качестве датчика температуры оптимальным решением по моему мнению является датчик DS18B20.

Микросхема цифрового термометра DS18S20, обеспечивает измерение температуры в диапазоне -55..+125°C с дискретностью 0.5°C. Стоимость микросхемы DS18S20 составляет примерно 2$, стоимость деталей адаптера для подключения её к COM-порту компьютера - еще меньше.

 

Рис. 1. Внешний вид микросхемы цифрового термометра DS18S20.

 

С помощью дополнительных вычислений дискретность представления температуры можно уменьшить, в нашем случае она равна 0.1°C. S20 допускает напряжение питания от +3 до +5.5В. В режиме ожидания потребляемый ток близок к нулю (менее 1мкА), а во время преобразования температуры он равен примерно 1мА. Процесс преобразования длится максимум 750мс.

Принцип действия датчика основан на подсчете количества импульсов, вырабатываемых генератором с низким температурным коэффициентом во временном интервале, который формируется генератором с большим температурным коэффициентом. Счетчик инициализируется значением, соответствующим -55°C (минимальной измеряемой температуре). Если счетчик достигает нуля перед тем, как заканчивается временной интервал (это означает, что температура больше -55°C), то регистр температуры, который также инициализирован значением -55°C, инкрементируется. Одновременно счетчик предустанавливается новым значением, которое задается схемой формирования наклона характеристики. Эта схема нужна для компенсации параболической зависимости частот генераторов от температуры. Счетчик снова начинает работать, и если он опять достигает нуля, когда интервал еще не закончен, процесс повторяется снова. Схема формирования наклона загружает счетчик значениями, которые соответствуют количеству импульсов генератора на один градус Цельсия для каждого конкретного значения температуры. По окончанию процесса преобразования регистр температуры будет содержать значение температуры.

Для DS18S20 температура представляется в виде 9-битного значения в дополнительном коде. Поскольку это значение занимает 2 байта, все разряды старшего байта равны знаковому разряду. Дискретность представления температуры составляет 0.5°C. Зависимость выходного кода от температуры приведена в таблице:

Температура Выходной код (Binary) Выходной код (Hex)

Ст. байт Мл. байт

+125°C 0000 0000 1111 1010 00FAh

+25°C   0000 0000 0011 0010 0032h

+0.5°C  0000 0000 0000 0001 0001h

°C 0000 0000 0000 0000 0000h

°C 1111 1111 1111 1111 FFFFh

-25°C    1111 1111 1100 1110 FFCEh

°C 1111 1111 1001 0010 FF92h

Кроме ПЗУ DS18S20 имеет промежуточное ОЗУ объемом 8 байт, плюс два байта энергонезависимой памяти. Карта памяти DS18S20 показана на рисунке:

Рис. 3. Карта памяти DS18S20.

 

Байты TH и TL представляют собой температурные пороги, с которыми сравниваются 8 бит каждого измеренного значения температуры (младший бит отбрасывается). С помощью специальной команды можно организовать сигнализацию выхода температуры за пределы этих порогов. Если такая функция не нужна, байты TH и TL можно использовать для хранения любых данных пользователя.

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

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

Инициатором обмена по 1-проводной шине всегда выступает мастер. Все пересылки начинаются с процесса инициализации. Инициализация производится в следующей последовательности (рис.4 ):

 

Рис.4. Инициализация обмена по 1-проводной шине.

 

Мастер посылает импульс сброса (reset pulse) - сигнал низкого уровня длительностью не менее 480 мкс.

За импульсом сброса следует ответ подчиненного устройства (presence pulse) - сигнал низкого уровня длительностью 60 - 240 мкс, который генерируется через 15 - 60 мкс после завершения импульса сброса.

Ответ подчиненного устройства даёт мастеру понять, что на шине присутствует термометр и он готов к обмену. После того, как мастер обнаружил ответ, он может передать термометру одну из команд. Передача ведётся путём формирования мастером специальных временных интервалов (time slots). Каждый временной интервал служит для передачи одного бита. Первым передаётся младший бит. Интервал начинается импульсом низкого уровня, длительность которого лежит в пределах 1 - 15 мкс. Поскольку переход из единицы в ноль менее чувствителен к ёмкости шины (он формируется открытым транзистором, в то время как переход из ноля в единицу формируется подтягивающим резистором), именно этот переход используют 1-проводные устройства для синхронизации с мастером. В подчиненном устройстве запускается схема временной задержки, которая определяет момент считывания данных. Номинальное значение задержки равно 30 мкс, однако, оно может колебаться в пределах 15 - 60 мкс. За импульсом низкого уровня следует передаваемый бит. Он должен удерживаться мастером на шине в течение 60 - 120 мкс от начала интервала. Временной интервал завершается переводом шины в состояние высокого уровня на время не менее 1 мкс. Нужно отметить, что ограничение на это время сверху не накладывается. Аналогичным образом формируются временные интервалы для всех передаваемых битов (рис. 5):

 


 

Рис. 5. Передача бита по 1-проводной шине.

 

Первой командой, которую должен передать мастер для DS18S20 после инициализации, является одна из команд функций ПЗУ. Всего DS18S20 имеет 5 команд функций ПЗУ: ROM [CCh]. Эта команда позволяет пропустить процедуру сравнения серийного номера и тем самым сэкономить время в системах, где на шине имеется всего одно устройство.

Приняв команду Read ROM, DS18S20 будет готов передать 64-битный код, который мастер должен принять.

При приеме данных от подчиненного устройства временные интервалы для принимаемых битов тоже формирует мастер. Интервал начинается импульсом низкого уровня длительностью 1 - 15 мкс. Затем мастер должен освободить шину, чтобы дать возможность термометру вывести бит данных. По переходу из единицы в ноль DS18S20 выводит на шину бит данных и запускает схему временной задержки, которая определяет, как долго бит данных будет присутствовать на шине. Это время лежит в пределах 15 - 60 мкс. Для того чтобы данные на шине, которая всегда обладает некоторой ёмкостью, гарантированно установились, требуется некоторое время. Поэтому момент считывания данных мастером должен отстоять как можно дальше, но не более чем на 15 мкс от начала временного интервала (Рис 6):

Рис. 6. Чтение бита по 1-проводной шине.

 

Прием байта начинается с младшего бита. Вначале идет байт кода семейства. За кодом семейства идет 6 байт серийного номера, начиная с младшего. После обработки одной из команд функций ПЗУ, DS18S20 способен воспринимать еще несколько команд: Scratchpad [4Eh]. Эта команда позволяет записать данные в промежуточное ОЗУ DS18S20. Scratchpad [BEh]. Эта команда позволяет считать данные из промежуточного ОЗУ. T [44h]. Эта команда запускает процесс преобразования температуры. E2 [B8h]. Эта команда действует обратным образом по отношению к команде Copy Scratchpad, т.е. она позволяет считать байты TH и TL из энергонезависимой памяти в промежуточное ОЗУ. При включении питания эта команда выполняется автоматически.

При использовании DS18S20 только для измерения температуры нужны всего две из этих команд: Convert T и Read Scratchpad.

Последовательность действий при измерении температуры должна быть следующей:

Посылаем импульс сброса и принимаем ответ термометра.

Посылаем команду Skip ROM [CCh].

Посылаем команду Convert T [44h].

Формируем задержку минимум 750мс.

Посылаем импульс сброса и принимаем ответ термометра.

Посылаем команду Skip ROM [CCh].

Посылаем команду Read Scratchpad [BEh].

Читаем данные из промежуточного ОЗУ (8 байт) и CRC.

Проверяем CRC, и если данные считаны верно, вычисляем температуру.

В качестве датчика давления я взял аналоговый датчик MPAXZ4115X, измеряющий напряжение в стандартном диапазоне от минимального 650 мм рт. ст. до максимального 850 мм рт. ст.. При этом сигнал на выходе меняется от 0 до 5 В.

Так как микроконтроллер без внутреннего АЦП, то необходим внешний АЦП. Для этого используем ЦАП + компаратор

SА3 сравнивающий сигнал с датчика и с ЦАП по совпадению и переключению компартора происходит оцифровка.

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

Для реализации клавиатуры выбран шифратор кода. Клавишный код передается тремя линиями и еще одна заведена на прерывание что упрощает процесс приема кода.

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

Для накопления данных используется Flesh ПЗУ последовательного типа AT24C256 по интерфейсу I2C. Данное ПЗУ имеет возможность многократной перезаписи данных и за счет использования последовательного канала задействуются только 2 порта. Это очень удобно, потому что используемый контроллер имеет аппаратно поддерживаемую возможность работы с протоколом I2C, что в свою очередь упрощает программную реализацию устройства. (рис. 2).

 

Рис.2 Схема АТ24Схх

 

Микросхемы EEPROM серии АТ24Схх фирмы Atmel - недорогие малогабаритные, электрически перепрограммируемые, энергонезависимые запоминающие устройства, с низким энергопотреблением и управлением по шине I2С.

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

Для сопряжения с компьютером по интерфейсу USB используется преобразователь USB-COM FT232RL. Его достоинство в том, что без использования дополнительного преобразователя уровня можно его подключить непосредственно к последовательному порту контроллера.



2020-03-19 317 Обсуждений (0)
Обоснование выбора микроконтроллера 0.00 из 5.00 0 оценок









Обсуждение в статье: Обоснование выбора микроконтроллера

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (317)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.011 сек.)