Разработка программного и аппаратного комплекса 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработка программного и аппаратного комплекса



4.1. Аппаратная часть
4.1.1. Датчики и логика обработки информации

В основе системы управления «умный дом» лежит центральный контроллер, который отвечает за обработку информации с датчиков и выработку управляющих воздействий на основе заданных алгоритмов и выставленных пользователем параметров. Корректная работа всей системы зависит именно от контроллера это делает его выбор особенно важным. Основываясь на приведённых выше основных требованиях в данной работе в качестве центрального управляющего устройства применяется многофункциональная плата Arduino Mega 2560.

Arduino Mega 2560 наиболее новая и мощная разработка компании Arduino внешний вид платы представлен на рисунке 2.7. Большим преимущест- вом многофункциональной платы состоит в том, что она выполнена в виде го- тового компактного модуля, который включает в себя необходимые элементы для программирования и функционирования микроконтроллера, а также может быть легко заменён на подобный ему в случае неисправности.

Mega 2560 основана на микроконтроллере фирмы Atmel ATmega2560 и обладает следующими характеристиками: входное напряжение (рекомендуе- мое)7–12 В, входное напряжение (предельное) 6–20 В, цифровые входы/выходы 54 (14 из которых могут работает так же, как выходы широтно-импульсной

Рисунок 2.7 - Многофункциональная плата Arduino Mega 2560

модуляции, аналоговые входы 16, выводы питания 5 В и 3,3 В, флеш-память 256 Кбайт, оперативная память 8 Кбайт, EEPROM 4 Кбайт.

В состав Arduino Mega 2560 входит все необходимое для удобной рабо- ты с микроконтроллером: 54 цифровых входа/выхода (из которых 15 могут ис- пользоваться в качестве ШИМ-выходов), 16 аналоговых входов, четыре UART (аппаратных приемопередатчика для реализации последовательных интерфей- сов), кварцевый резонатор на 16 МГц, разъем USB, разъем питания, разъем ICSP для внутрисхемного программирования и кнопка сброса. Для начала ра- боты с устройством достаточно просто подать питание от AC/DC-адаптера или батарейки, либо подключить его к компьютеру посредством USB-кабеля [15].

Arduino Mega 2560 способен получать питание двумя способами: через кабель USB или через разъём питания от внешнего источника. В роли внешнего источника может использоваться либо аккумуляторная батарея, либо AC/DC- адаптер. Подаваемое напряжение от внешнего источника может лежать в диа- пазоне от 6 до 20 В, но рекомендуется использовать источники с напряжением на выходе от 7 до 12 В, ввиду того, что напряжение свыше 12 В может привести к перегреву стабилизатора, а при напряжение ниже 7 В возникает снижение на- пряжение на выводе платы выдающем 5 В. Возможность использования акку- муляторной батареи, а при уровнях питания от 7 до 12 В достаточно использо- вать батарейку типа крона, позволяет системе продолжать функционирование при отсутствии напряжения в сети или при отключении питания от сети при выполнении мер противопожарной безопасности. Переключение источников питания осуществляется на основе напряжения, считанного с вывода IOREF.

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

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

Система «Умный дом» подразумевает использование большого количест- ва датчиков и исполнительных устройств, поэтому выбранная многофункцио- нальная плата управления обладает 54 дискретными и 16 аналоговыми выхода- ми, каждый из которых может быть использован как 10-ти битный аналогово- цифровой преобразователь. Принципиальная схема Arduino Mega 2560 пред- ставлена на рисунке 2.8. На плате расположены три пары выводов для подклю- чения устройств по последовательному соединению, например, с ещё одним Arduino, пять выводов могут быть использованы для выполнения прерываний по одному из условий: по фронту, по уровню или по спаду. Двенадцать вывод могут быть использованы в качестве 8-ми битного широтно-импульсного моду- лятора. Широтно-импульсная модуляция широко применяется в системе «Ум- ный дом», с их помощью регулируется уровень освещённости и скорость вра- щения вентиляторов в системе кондиционирования. На плате реализованы вы- воды для подключения устройств по интерфейсам I2C и SPI, посредством дан- ных интерфейсов в настоящей работе подключены большинство датчиков сис- темы «Умный дом».

Микроконтроллер ATmega2560 обладает четырьмя UART приёмопере- датчиками, которые применяются для реализации последовательных интерфей- сов, это позволяет осуществлять связь Arduino Mega 2560 с компьютером или с другими микроконтроллерами. Данное свойство можно использовать для объе- динения нескольких Arduino и распределения нагрузки по управлению систе- мой, а также для непрерывного функционирования системы в случаях выхода из строя одной из плат.

 

Рисунок 2.8 – Принципиальная схема Arduino Mega 2560

На плате установлен ещё один контроллер фирмы Atmel ATmega16U2, он применяется для связи одного из UART передатчиков с USB-портом персо- нального компьютера. В пакет программного обеспечения Arduino входит специальная программа SerialMonitor, позволяющая считывать и отправлять на Arduino простые текстовые данные, это позволяет проверить работоспособ- ность платы и ознакомиться с её функциональностью. В ATmega2560 реализо- вана поддержка ещё двух последовательных интерфейсов, а именно TWI / I2C и SPI, вдобавок линии SPI также выведены на разъем ICSP, совместимый с Arduino Uno, Duemilanove и Diecimila.

Технические характеристики Arduino Mega 2560 полностью подходят для выполнения поставленной задачи, но для платы управления существует ещё один важный параметр, а именно возможность её программирования. Плата Arduino Mega 2560 сделана на основе микроконтроллера ATmega2560, это оз- начает, что её можно запрограммировать с помощью любого программного обеспечения для написания и отладки контроллеров семейства AVR, в данной работе используется программное обеспечение AVR Studio фирмы Atmel. Про- граммирование осуществляется на языке С, но у плат компании Arduino суще- ствует также возможность их программирования на языке Arduino, основанном на C/C++ и скомпонованным с библиотекой AVR Libc. Язык Arduino прост в освоении и удобен при работе с платами данной компании и обладает широким спектром библиотек для работы с периферийным оборудованием, но програм- мы написанные на языке С позволяют значительно оптимизировать ресурсы микроконтроллера, поэтому данные языки будет применяться совместно. ATmega2560 в Arduino Mega выпускается с прошитым загрузчиком, позволяю- щим загружать в микроконтроллер новые программы без необходимости ис- пользования внешнего программатора путём подключения к ПК через USB - разьём, однако при необходимости остаётся возможность прошивки контролле- ра через разъем для внутрисхемного программирования ICSP.

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

Схема построена на базе микроконтроллера NodeMCU v3 LoLin со встроенным Wi-Fi модулем ESP8266 [Рис. 3.1]. Данный контроллер, несмотря на свою низкую цену, очень удобным средством разработки цифровых схем для умного дома.

Основные преимущества NodeMCU:

· Простота программирования;

· На основе Lua 5.1.4

· Асинхронная ивентов модель программирования;

· 40+ встроенных модулей;

· Проект постоянно обновляется, как и его документация [10]

· Поддержка программирования на нескольких языках, в том числе С

Рис. 3.1 - Схема микроконтроллера NodeMCU v3 LoLin

Программирование выполняется в среде разработки Arduino IDE на языке программирования С. Микроконтроллер подключается к компьютеру через microUSB, что обеспечивает его питанием. Также через microUSB выполняется его программирования.

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

·Датчик темперутры

·Relay module 2din

Рис. 3.2 - Схема подключения рабочей модели

Связь

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


 



Поделиться:


Последнее изменение этой страницы: 2021-05-12; просмотров: 195; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.111.125 (0.012 с.)