Разработка цифрового устройства на базе микроконтроллера Atmel
Разработка устройства беспроводной системы передачи температурных показаний. Характеристика проекта топологии макетной платы, описание особенностей макетной схемы, описание соответствующего скетча для микроконтроллера, анализ прошивки микроконтроллера.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.02.2019 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Федеральное агентство железнодорожного транспорта
Омский государственный университет путей сообщения
Кафедра «Автоматика и системы управления»
РАЗРАБОТКА ЦИФРОВОГО УСТРОЙСТВА
НА БАЗЕ МИКРОКОНТРОЛЛЕРА ATMEL
Пояснительная записка к курсовому проекту
по дисциплине «Программирование аппаратных средств ЭВМ»
ИНМВ.302000.000 ПЗ
Студентка гр. 24 М
____________Г.И. Магай
«__»________2017 г.
Руководитель - доцент
кафедры АиСУ
____________А.C. Окишев
«__»________2017 г.
Омск 2017
Задание
Тема данного курсового проекта - «Отображение и хранение температурных показаний с помощью веб-интерфейса».
В курсовом проекте необходимо разработать принципиальную схему, топологию макетной платы, прошить микроконтроллер.
Реферат
Пояснительная записка содержит 17 страниц, 3 рисунка, 3 таблицы, 4 источника, 1 приложение.
Arduino UNO, датчик влажности и температуры DHT11, макетная плата, соединительные провода.
Цель работы - разработать устройство беспроводной системы передачи температурных показаний.
В результате курсового проекта разработана топология макетной платы, собрана макетная схема, написан соответствующий скетч для микроконтроллера, прошит микроконтроллер.
Курсовой проект выполнен в текстовом редакторе Microsoft Word 2010, прошивка написана в Arduino IDE, разработка топологии макетной платы выполнена в Fritzing.
Содержание
- Введение
- 1 Разработка принципиальной схемы
- 1.1 Микроконтроллер
- 1.2 DHT11 датчик
- 1.3 Ethernet-контроллер W5100
- 2 Разработка схемы соединений
- 3 Прошивка микроконтроллера и разработка программы
- Заключение
- Библиографический список
- Приложение А
- микроконтроллер плата устройство беспроводной
- Введение
- Микроконтроллер - это программируемая микросхема, состоящая из процессора (ядра) и периферии (АЦП, ЦАП, входа/выхода), обладающая оперативной и (или) постоянной памятью, выполняющая последовательность операций в соответствии с программой.
- В современной жизни микроконтроллеры применяются во всех сферах жизни, начиная от микроволновки и заканчивая сложными системами управления. По сравнению с первыми моделями, во много раз увеличилась производительность, появились дополнительные возможности (например, подключение внешней памяти), количество размещаемой на кристалле периферии стало столько, что при разработке несложных проектов, достаточно иметь сам микроконтроллер, сделать «обвязку», подключить источник питания и устройство готово.
- В данном курсовом проекте будет разработано устройство хранения и отображения по веб-интерфейсу данных температуры и давления.
1 Разработка принципиальной схемы
Принципиальная схема, принципиальная электрическая схема - графическое изображение (модель), служащее для передачи с помощью условных графических и буквенно-цифровых обозначений (пиктограмм) связей между элементами электрического устройства.
1.1 Микроконтроллер
Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные (как i8051 и аналоги).
Микроконтроллеры Atmel объединяют в себе эффективные встроенные решения, проверенные технологии и революционные идеи, являясь идеальным выбором для современных интеллектуальных сетевых продуктов.
Микроконтроллеры Atmel также поддерживают простую и удобную интеграцию технологии емкостного сенсорного ввода для реализации кнопок, ползунков и колес прокрутки. Кроме того, микроконтроллеры Atmel позволяют внедрять беспроводные функции и функции защиты.
В качестве микроконтроллера выбран Arduino Leonardo на базе ATmega32u4 (рисунок 1).
Arduino Leonardo имеет 20 цифровых вход/выходов (из них 7 могут использоваться в качестве выходов ШИМ и 12 - как аналоговые входы), кварцевый генератор частотой 16 МГц, гнездо микро-USB, разъем ICSP и кнопку reset. На ней есть все, что необходимо для работы с микроконтроллером. ATmega32u4 имеет 32 КБ флеш-памяти (вместе с 4 КБ, которые используются загрузчиком (бутлодером)). Также контроллер имеет 2,5 КБ ОЗУ и 1 КБ EEPROM (чтение и запись которой производится с помощью библиотеки EEPROM).
Рисунок 1 - Микроконтроллер Arduino Leonardo
Назначение выводов микроконтроллера Arduino Leonardo представлено в таблице 1, на рисунке 2.
Рисунок 2 - Назначение выводов микроконтроллера Arduino Leonardo
Таблица 1 - Назначение выводов микроконтроллера Arduino Leonardo
Вывод |
Назначение |
|
PD3 |
Цифровой вывод ШИМ |
|
PD5 |
Цифровой вывод ШИМ |
|
PD6 |
Цифровой вывод ШИМ |
|
PB5 |
Цифровой вывод ШИМ |
|
PB6 |
Цифровой вывод ШИМ |
|
PB7 |
Цифровой вывод ШИМ |
|
PC7 |
Цифровой вывод ШИМ |
|
5V |
Вывод для напряжение 5 В от стабилизатора платы |
|
3.3V |
Вывод для напряжения 3,3 В от стабилизатора напряжения платы |
|
GND |
Выводы земли |
|
VIN |
Напряжение от внешнего источника питания |
|
PF0 |
Аналоговый вход |
|
PF1 |
Аналоговый вход |
|
PF4 |
Аналоговый вход |
|
PF5 |
Аналоговый вход |
|
PF6 |
Аналоговый вход |
|
PF7 |
Аналоговый вход |
|
PD2 |
Используется для передачи данных по последовательному интерфейсу RX0 |
|
PD3 |
Используется для передачи данных по последовательному интерфейсу TX1 |
|
AREF |
Аналоговое опорное напряжение |
|
PD1 |
АЦП пины на цифровом пине |
|
PD4 |
АЦП пины на цифровом пине |
|
PE6 |
АЦП пины на цифровом пине |
|
IOREF |
Предоставляет платам расширения информацию о рабочем напряжении |
|
PD0 |
Используется для связи с другими устройствами по шине I2C |
|
PD1 |
Используется для связи с другими устройствами по шине I2C |
1.2 DHT11 датчик
Плата модуля содержит основные компоненты: датчик температуры и относительной влажности DHT11 в синем корпусе, светодиод индикации питания и вилка соединителя. Внутри DHT11 небольшая плата с компонентами: емкостным датчиком влажности, терморезистором, имеющим отрицательную характеристику и микроконтроллером.
Рисунок 3 - Назначение выводов датчика DHT11
Характеристики:
? измерение температуры и относительной влажности;
? низкое энергопотребление;
? измерение температуры в диапазоне 0°C - 50°C (погрешность ±2°C);
? измерение влажности в диапазоне 20% - 90% (погрешность ±5%)
? шаг измерения температуры 1°С;
? напряжение питания 3 - 5,5В;
? максимальный потребляемый ток 2,5мА;
? потребляемый ток в режиме ожидания: 150нА.
Датчик влажности и температуры DHT11 способен работать, только если он один подключен к линии интерфейса.
На плате модуля контакт информационного сигнала соединен с линией питания резистором 10 кОм. При использовании соединения длинной 20 м этот резистор следует заменить на 4,7 или 5,1 кОм. Для соединения протяженностью более 30 см для информационного сигнала необходимо применять экранированный провод. В этом случае использовать экран сигнального провода в качестве проводника GND запрещается. Подключение к общему проводу должно выполняться как обычно отдельным проводом. Электрическое соединение экрана производится в соответствии с правилами экранирования для защиты от помех. К линиям питания датчика должен быть подключен конденсатор. Выход датчика соединяется с интерфейсом 1-Wire микроконтроллера. После включения питания и до первого обращения к датчику должно пройти не менее 1 секунды. Микроконтроллер должен установить соединенный с датчиком вывод в режим выхода. Далее на выходе МК формируется лог. 0 продолжительностью не менее 18 мс, представлено на рисунках 4,5.
Рисунок 4 - Представление сигнала
Затем выход МК переводится в лог. 1 на время не менее 50 микросекунд. После этого МК переводит контакт в режим входа, готовясь принимать данные.
Рисунок 5 - Представление сигнала
Датчик влажности и температуры DHT11 выходит из режима ожидания и примерно через 25…45 микросекунд датчик отвечает микроконтроллеру, переводя линию на 80 микросекунд в лог. 0, а затем на 80 микросекунд в лог.
1.3 Ethernet - контроллер w5100
Плата расширения Aduino Ethernet построена на базе Ethernet-контроллера Wiznet W5100, который позволяет Ардуино подключаться к сети Интернет. Wiznet W5100 поддерживает стек сетевых протоколов (IP) и позволяет работать как с TCP, так и с UDP-протоколами. При этом микросхема может обслуживать до четырех одновременно открытых сокет-соединений. Для написания программ, работающих с глобальной сетью через плату расширения, рекомендуется использовать библиотеку Ethernet. Для подключения платы расширения к Ардуино предусмотрен специальный разъем, представляющий собой металлические выводы ("папа") с одной стороны платы и гнезда ("мама") - с другой стороны. Такая конструкция позволяет подключить к Ардуино сразу несколько плат расширения, разместив их одну над другой.
Последняя версия платы расширения поддерживает стандартную распиновку 1.0, принятую в модели Arduino UNO R3.
Плата расширения Ethernet поддерживает технологию "Power over Ethernet" и имеет стандартный разъем RJ-45 со встроенной гальванической развязкой.
На плате предусмотрен разъем для подключения micro-SD карты памяти, что дает возможность хранения файлов и организации сетевого доступа к ним. Устройство совместимо с Arduino Uno и Mega (используется библиотека Ethernet). Для работы со встроенным microSD-кардридером служит библиотека SD. Для активизации кардридера с помощью этой библиотеки в качестве вывода SS следует указывать вывод 4. Самая первая версия платы расширения Ethernet содержала полноразмерный разъем для SD-карт, который в настоящее время не поддерживается.
В устройстве также реализована функция управления сбросом Ethernet-модуля W5100 при подаче питания. Необходимость в этой функции обусловлена тем, что предыдущие версии платы расширения были несовместимыми с Arduino Mega, из-за чего приходилось вручную сбрасывать Ethernet-модуль после каждой подачи питания.
Текущая версия платы расширения поддерживает технологию Power over Ethernet (PoE) и может работать со специальным модулем, позволяющим получать энергию через Ethernet-кабель, который представляет собой обычную витую пару категорий. Достоинства контроллера:
- низкий уровень выходных пульсаций и шума (100 мВ от пика до пика);
- диапазон входного напряжения от 36В до 57В;
- защита от перегрузок и коротких замыканий;
- выходное напряжение 9В;
- DC-DC преобразователь с высоким КПД: 75% при 50% нагрузке;
- изоляция между входом и выходом в 1500В.
Ардуино взаимодействует с микросхемой W5100 и SD-картой памяти по одной SPI-шине (через разъем ICSP). На Duemilanove шина SPI занимает цифровые выводы 11, 12 и 13, а на Arduino Mega - 50, 51 и 52. На обеих платах в качестве выводов для активизации микросхемы W5100 или SD-карты памяти используются выводы 10 и 4 соответственно. Поэтому данные выводы не могут использоваться в качестве выводов общего назначения для выполнения каких-то других функций. Следует также помнить, что для корректной работы SPI-интерфейса аппаратный вывод SS Arduino Mega (53) должен быть всегда сконфигурирован как выход, несмотря на то, что он не взаимодействует ни с W5100, ни с SD-картой памяти.
Рисунок 2 - Внешний вид Ethernet -контроллера W5100
2 Разработка схемы соединений
Ниже представлена принципиальная схема подключения Ардуино, модуля и датчика. Датчик DHT11 подключен с помощью соединительных проводов к пинам на плате Arduino, соединил разъем GND на микроконтроллере с выводом земли на макетной плате, выход DATA в датчике соединён с пином 7 на плате, вывод VCC соединён с питанием 5V на плате.
Рисунок 3 - Схема соединений на макетной плате.
3 Прошивка микроконтроллера и разработка программы
Запись прошивки в микроконтроллер осуществляется с помощью Arduino IDE (рисунок 9).
Микроконтроллеры для Arduino отличаются наличием предварительно прошитого в них загрузчика (bootloader). С помощью этого загрузчика пользователь загружает свою программу в микроконтроллер без использования традиционных отдельных аппаратных программаторов. Загрузчик соединяется с компьютером через интерфейс USB (если он есть на плате) или с помощью отдельного переходника UART-USB. Поддержка загрузчика встроена в Arduino IDE и выполняется в один щелчок мыши.
Что бы работать с DHT-11, подключаем библиотеку dht11.h прописываем пин на котором подключен датчик (у нас будет 7 цифровой пин) и вводим переменные. Чтобы на страницу выводить русские символы, кириллицу, вызываем команду установки кодировки текста. А чтобы наша страничка обновляла значения с датчиков пишем тег "refresh" со значением 5 секунд.
Код программы представлен в листинге А.
Заключение
В ходе выполнения курсового проекта была изучена документация микроконтроллера Arduino Leonardo, а также подключаемых модулей Wiznet W5100, температурного датчика DHT11, собрана схема в специальном программном пакете Fritzing. Произведено описание структурной схемы.
Библиографический список
1 Arduino IDE [Электронный ресурс] - Режим доступа: http://www.arduino.cc
2 Микроконтроллер Arduino Leonardo [Электронный ресурс] - Режим доступа:https://www.arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf
3 Температурный датчик DHT11 [Электронный ресурс] - Режим доступа: https://datasheets.maximintegrated.com/en/ds/ DHT11.pdf
4 Fritzing [Электронный ресурс] - Режим доступа: https://fritzing.org/ /download/
Приложение А
(Обязательное)
Листинг программы
#include <dht11.h>
#include <SPI.h>
#include <Ethernet.h>
dht11 DHT;
#define DHT11_PIN 7
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 43, 177);
EthernetServer server(80);
void setup() {
Ethernet.begin(mac, ip); //инифиализация библиотеки Ethernet server library
server.begin();
}
void loop() {
// listen for incoming clients // если подключился клиент, это значит, что у него будут байты, которые можно будет прочитать:
EthernetClient client = server.available();
if (client) {
// an http request ends with a blank line // считываем байты, пришедшие от клиента, а затем отправляем их
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (c == '\n' && currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Connection: close");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<meta http-equiv='refresh' content='5'/>");
client.println("<meta http-equiv='content-type' content='text/html; charset=UTF-8'>");
client.println("<title>Данные с датчиков</title>");
Листинг А, лист 1
// client.print(sensorReading);
client.println("<br />");
int chk;
chk = DHT.read(DHT11_PIN);
client.print("Температура = ");
client.print( DHT.temperature);
client.print(" °C<br/>");
client.print("Влажность = ");
client.print(DHT.humidity);
client.print(" %");
client.print("</br>");
client.print("</br>");
client.print("<form action='Magay G 24m 'target='_blank'><button type='submit' >Tehnopage.ru</button></form>");
client.println("</html>");
break;
}
if (c == '\n') {
// you're starting a new line
currentLineIsBlank = true;
}
else if (c != '\r') {
// you've gotten a character on the current line
currentLineIsBlank = false;
}
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
}
}
Размещено на Allbest.ru
Подобные документы
Создание приемника команд RC5 для персонального компьютера на основе микроконтроллера ATmega8. Особенности написания файла прошивки и симулирование устройства. Порядок выполнения сборки собственной схемы и характеристика полученного микроконтроллера.
курсовая работа [2,0 M], добавлен 24.11.2013Описание структуры системы синтезатора. Описание ресурсов однокристального 8-разрядного Flash CMOS микроконтроллера РIC16F876. Основное предназначение сторожевого таймера WDT. Описание функциональных узлов МПС. Разработка алгоритма работы устройства.
курсовая работа [1,1 M], добавлен 14.12.2009Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.
контрольная работа [18,4 K], добавлен 24.12.2010Описание области применения устройства релаксационного воздействия на человека "Лампа хорошего настроения". Выбор микроконтроллера устройства. Алгоритм функционирования программы, её тестирование. Правила и нормы охраны труда при работе с компьютером.
дипломная работа [5,8 M], добавлен 28.09.2015Рассмотрение структурной схемы микропроцессорной системы обработки данных. Описание архитектуры микроконтроллера ATmega161. Расчет оперативного запоминающего устройства. Строение, назначение адаптера параллельного интерфейса, способы его программирования.
курсовая работа [621,5 K], добавлен 24.09.2010Разработка цифрового измерительного устройства на базе ПЛИС QUARTUS II 9.1SP2 WEB EDITION. Схема подключения МК ATMEGA8515. Схема включения буфера RS-485. Расчёт потребляемой мощности. Разработка программного кода для микроконтроллера ATmega8515.
курсовая работа [491,5 K], добавлен 03.06.2015Принцип действия устройства сбора информации на базе микроконтроллера МК51: индикация, "рабочий режим" и передача данных персонального компьютера. Алгоритм начального опроса датчиков. Электрическая принципиальная схема устройства, текст программы.
курсовая работа [102,5 K], добавлен 21.10.2012Разработка проекта аппаратной реализации сетевой игры "Пинг Понг", рассчитанной на двух игроков на базе микроконтроллеров AVR АТMEGA 128. Выполнение прошивки микроконтроллера с помощью пользовательского интерфейса среды программирования CodeVisionAVR.
курсовая работа [1,2 M], добавлен 25.04.2012Назначение и применение микроконтроллеров - интегральных микросхем, предназначенных для управления электронными схемами. Описание способа адресации. Разработка программы, описание электрической и структурной схемы разрабатываемого микроконтроллера.
курсовая работа [177,6 K], добавлен 30.06.2014Моделирование заданных команд, внутренних функциональных устройств и объектов ввода-вывода микроконтроллера. Разработка программа для демонстрации совместной работы микроконтроллера и моделируемого внешнего устройства. Компоненты архитектуры ATMega128.
курсовая работа [3,6 M], добавлен 12.06.2013