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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 28.05.2018
Размер файла 3,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

СОДЕРЖАНИЕ

  • Введение
  • 1. Обзор рынка систем домашней безопасности и автоматизации
    • 1.1 История появления
    • 1.2 Область применения
    • 1.3 Сравнение характеристик различных моделей систем автоматизации и безопасности
  • 2. ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ
    • 2.1 Выбор элементной базы
      • 2.1.1 Контроллер Arduino Mega
      • 2.1.2 Ethernet-модуль ENC28J60
      • 2.1.3 Датчик температуры и влажности DHT11
      • 2.1.4 Комбинированный датчик газа MQ-9
      • 2.1.5 Магнитоконтактный извещатель ИО-102-4
      • 2.1.6 Модуль LCD 1602 I2C
    • 2.2 Технологии используемые в данном проекте
      • 2.2.1 Ethernet
      • 2.2.2 Стек протоколов TCP/IP
      • 2.2.3 Протокол HTTP
  • 3. РАЗРАБОТКА УСТРОЙСТВА
    • 3.1 Исходные материалы и составление плана
    • 3.2 Создание макета устройства
      • 3.2.1 Подключение датчиков
      • 3.2.2 Подключение Ethernet-модуля enc28j60
      • 3.2.3 Реализация управления системами вентиляции, отопления и открывания-закрывания ворот
      • 3.2.4 Климат-контроль, контроль доступа
    • 3.3 Написание программы и отладка
  • 4.ЗАКЛЮЧЕНИЕ
  • список использованных источников

контроллер вентиляция отопление магнитоконтактный

Введение

В современном мире все более актуальным становится такое понятие как "автоматизация". Она имеет отношение ко многим сферам человеческой деятельности: производству, научным исследованиям, сфере услуг, обучению, проектированию, домашней автоматизации и другим. Основная задача автоматических систем заключается в выполнении заданных функций или процедур без участия человека. Роль человека заключается в сборе исходных данных, выборе алгоритмов решения и анализе результатов.

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

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

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

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

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

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

· отопление

· вентиляция

· освещение

· открытие-закрытие ворот

· контроль доступа

· пожарная безопасность

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

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

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

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

Функции автоматики:

· Поддержание микроклимата помещения

· Контроль показаний датчиков дыма и газа

· Управления системой открытия-закрытия ворот

· Контроль доступа в помещение

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

Система исходя из режима работы и обстановки вокруг должна принимать те или иные решения. Поддержание температуры в помещении за счет уменьшения или увеличения отопления, и системы вентиляции. Включить или выключить освещение, если работы в помещение были прекращены. Включение вентиляции, если показания влажности и газа превысили допустимые значения. Оповестить пользователя, если сработали датчики контроля доступа.

Постановка задачи

Основной целью проекта является разработка устройства, которое будет выполнять управление и контроль подсистемами гаражного помещения. Устройство должно выполнять следующие функции:

· управление системой вентиляции

· управление освещением

· управление системой отопления

· управление открытием и закрытием ворот

· контроль показаний датчиков температуры, влажности и дыма

· контроль доступа в гаражное помещение

· оповещение пользователя при возникновении нежелательных ситуаций

Взаимодействие с пользователем должно осуществляться при помощи веб-интерфейса, либо мобильного приложения, а так же при помощи кнопок на самом устройстве.

Основные задачи разработки системы:

· анализ существующих систем

· выбор наиболее подходящей элементной базы

· разработка алгоритмов управления

· разработка человека-машинного интерфейса

· реализация алгоритмов и интерфейса

1. Обзор рынка систем домашней безопасности и автоматизации

1.1 История появления

История систем домашней автоматизации началась довольно давно. Еще в середине 20го века люди стали задумываться, как сделать свою жизнь комфортнее. Главной идеей тогда было: передача по одному кабелю нескольких видов информации сразу. Но кабельная система не успевала за развитием компьютерной системы, телефонной системы и системы безопасности.

К началу 70-х появился термин "Smart Home" - "Умный дом". На его развитие были пущены огромные деньги, ведь проект выглядел весьма и весьма прибыльным.

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

Управляется "Умный дом" при помощи пульта управления или с сотового телефона, либо через Интернет.

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

Например, освещение управляется при помощи сенсоров, которые реагируют на движение, так что свет выключается, если в помещении никого нет. Это очень удобно, если в доме много комнат и подсобных помещений.

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

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

Есть ли недостатки у этого современного чуда света? Недостаток, пожалуй, лишь один: нельзя бесконечно увеличивать количество подключенных устройств, т.к. это влияет на скорость работы системы. Время от времени придётся корректировать или менять всю систему "Умного дома" для того, чтобы подключить новые модули.

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

1.2 Область применения

Область применения систем автоматизации очень велика, это могут быть:

· Частная и коммерческая недвижимость (Квартиры, дома, дачи, офисы, склады)

· Пассажирские транспортные средства (Автомобили, яхты, катера)

· Производственные объекты (Котельные, метеостанции, добывающие скважины)

· Транспортные грузовые средства (трейлеры, автоцистерны)

· Объекты сельского хозяйства (птицефермы, скотофермы, теплицы)

На рисунке 1.1 показана схема системы автоматизации и управления.

Рисунок 1.1 - Схема системы автоматизации и управления

На сегодняшний день существует множество компаний, предлагающие на рынке системы автоматизации и безопасности. Многие могут предложить стандартные решения для квартиры, дома, гаража. Некоторые готовы за более сложные объекты и разрабатывать решение с учетом всех его особенностей и возлагаемых задач. Уровень цен зависит от используемого оборудования и набора выполняемых функций. Готовые решения обычно делятся на 3 варианта:

· Эконом. Минимальный набор функций. Охранно-пожарная сигнализация, контроль температуры, контроль затопления, управление освещением.

· Стандарт. Более богатый набор функций. Охранно-пожарная сигнализация, датчики движения, контроль температуры, контроль влажности, контроль системы отопления, контроль протечки воды.

· Максимальный. Наиболее полный набор функций. Охранно-пожарная сигнализация, видеонаблюдение, датчики газа, датчики движения, управление жалюзи, управление системой теплый пол, управление вентиляцией, датчики уличной температуры и влажности контроль температуры, контроль влажности, контроль системы отопления, контроль протечки воды.

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

1.3 Сравнение характеристик различных моделей систем автоматизации и безопасности

Для определения применяемых технологий и выбора минимального функционала для разрабатываемого устройства были рассмотрены 3 предложения от разных фирм: EasySmartBox "простой", SenseHome "mini свет", Умный Дом "Умная квартира". Предложения уровня эконом с минимальным функционалом.

Сравнение функциональных возможностей представлено в таблице 1.1.

Таблица.1.1 - Сравнение систем автоматизации

EasySmartBox

"простой"

SenseHome "mini

Свет"

Умный Дом "Умная

квартира"

Цена, руб.

165000

125000

90000

Контроллер

ОВЕН ПЛК

HAUSSTANDART Electronik

ОВЕН 110

Управление освещением

15 групп

11 групп

10 групп

Управление розетками

2

1

2

Регулятор яркости освещения

нет

да

да

Сценарии управления освещением

да

да

да

Контроль протечки воды

2

нет

1

Поддержание температуры

да

да

да

Датчики движения

2

4

8

Управление вентиляцией

нет

нет

да

Расширяемость системы

минимальная

минимальная

минимальная

Управление Android, iOS

да

да

нет

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

2. ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ

2.1 Выбор элементной базы

2.1.1 Контроллер Arduino Mega

Платформа Arduino очень популярна среди программистов, инженеров, дизайнеров и людей, интересующихся созданием электронных устройств. Всемирное признание получила за счет удобства, простоты и открытой архитектуре. Очень важным преимуществом является то, что программируется она напрямую через USB. Устройства, созданные на основе Arduino могут взаимодействовать с окружающей средой посредством различных датчиков и управлять различными устройствами.

Arduino Mega cобрана на базе чипа ATmega1280. На платформе расположены 54 цифровых входов/выходов (из них 54 могут быть задействованы как выходы широтно-импульсной модуляции), 16 аналоговых входов, 4 последовательных порта UART и разъем ICSP.Внешний вид платформы показан на рисунке 2.1.

Рисунок 2.1 - Arduino Mega(вид сверху)

Основные технические характеристики платформы Arduino Mega представлены в таблице 2.1.

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

ATmega1280

Рабочее напряжение

5 В

Рекомендуемое входное напряжение

7-12 В

Предельное входное напряжение

6-20 В

Цифровые Входы/Выходы

14 из которых могут использоваться как выходы ШИМ)

Аналоговые входы

16

Постоянный ток через вход/выход

40 мА

Постоянный ток для вывода 3.3 В

50 мА

Флеш-память

128 Кб из которых 4 Кб используются для загрузчика

ОЗУ

8 Кб

EEPROM

4 Кб

Тактовая частота

16 МГц

Таблица 2.1 - Характеристики Arduino Mega

Чип ATmega1280 имеет 3 вида памяти:

· Flash (18 Кб, из которых 4 используются для хранения загрузчика)

· SRAM (ОЗУ 8 Кб)

· EEPROM (4 Кб энергонезависимая память)

Питание Arduino Mega может происходить через USB подключение, а также напрямую от внешнего источника питания. В качестве внешнего источника питания может быть использован преобразователь напряжения AC/DC, аккумуляторная батарея. Подключение происходит через разъем 2.1мм, расположенным на плате, либо через выводы Vin и Gnd, подключаемые к плюсу и минусу источника питания соответственно.

Внешнее питание может быть от 6 до 20 В, но рекомендуемое напряжение находится в диапазоне 7-12 В.

На плате расположены выводы питания:

· VIN. Данный вход задействуется для питания платформы от внешнего источника, если отсутствует питание от разъема USB.

· 5V. Вывод используется для питания микроконтроллера, компонентов на плате. Также его можно использовать для питания внешних устройств, подключаемы к Arduino.

· 3.3V. При подаче питания на плату на данном выводе появляется напряжение 3.3 В, которое генерируется встроенным на плату регулятором AMS1117. Максимальное потребление тока 50 мА.

· GND. Выводы заземления.

Помимо выводов питания на плате расположены 54 цифровых входов/выходов и 16 аналоговых.

C помощью функций pinMode(), digitalWrite(), digitalRead() каждый из 54 цифровых выводов может быть настроен как вход или выход. Рабочее напряжение на выводах 5 В. Способны пропускать ток 40 мА.

Некоторые выводы имеют дополнительные функции:

(0, 1), (19,18), (17,16) - Rx и Tx могут выступать в качестве последовательной шины для передачи(Tx) и получения(Rx) данных TTL.

2, 3,18,19,20,21 - могут быть использованы для внешних прерываний.

0-13 - при помощи функции analogWrite() могут обеспечить ШИМ с разрешением 8 бит.

50, 51, 52, 53 - 53 (SS),51 (MOSI), 50(MISO), 52(SCK). Через данные выводы может осуществляться связь SPI.

A0 …A15 - аналоговые выводы, каждый из которых имеет разрешение 10 бит

20 (SDA) и 21 (SCL) - Посредством выводов осуществляется связь I2C (TWI).

AREF - Опорное напряжение для аналоговых входов.

Reset - используется для перезагрузки микроконтроллера.

Платформа программируется посредством программного обеспечения Arduino IDE. На рисунке 2.2 представлен скриншот программы Arduino.

Рисунок 2.2 - Среда разработки Arduino IDE

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

Если с первым и последним все понятно, то второе можно рассмотреть более подробно. Программы, также они имеют название "скетчи", пишутся на обычном C++, с некоторыми простыми дополнениями и функциями для управления вводом/выводом. Эту версию C++ также называют Wiring. Как и в обычном C++ сначала объявляются библиотеки и глобальные переменные, но главной особенностью программ (скетчей) является то, что в них обязательно должны присутствовать две функции: void setup() и void loop(). В void setup() описываются все первоначальные настройки и переменные, которые появляются при запуске платформы. В void loop() пишется сама программа которая будет выполнять задачи, возлагаемые на платформу.

Микроконтроллер ATmega1280 поставляется с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. При компиляции и загрузке скетча сначала текст программы передается компилятору avr-gcc, он в свою очередь переводит код программы в машинные коды пригодные для выполнения ядром микроконтроллера. Затем машинный код комбинируется с кодом из стандартных библиотек Arduino. В конечном результате получается файл в формате Intel HEX, который загружается в память микроконтроллера. Обычно запись кода в микроконтроллер выполняет стандартный UART-загрузчик Arduino.

2.1.2 Ethernet-модуль ENC28J60

В данном модуле в качестве микросхемы используется ENC28J60 в SSOP28 корпусе. Связь с микроконтроллером реализована через SPI интерфейс. Подключение к Arduino UNO:

· SO - MISO (Pin12)

· SI - MOSI (Pin 11)

· SCK - SCK (Pin 13)

· CS - SS (Pin 10)

· VCC - 5V

· GND -GND

· Reset - не подключен (перезагрузка)

Данный модуль поддерживает стандарт IEEE 802.3 и полностью совместим с сетями 10/100/1000 Base-T. Также поддерживает режимы Full и Half Duplex.

Внешний вид Ethernet-модуля представлен на рисунке 2.3

Рисунок 2.3 - Ethernet-модуль ENC28J60

Архитектура ENC28J60

На рисунке 2.4представлены основные блоки модуля ENC28J60

Рисунок 2.4 - Основные блоки ENC28J60

PHY -- физический уровень. Приёмник, передатчик, драйверы. Все необходимое для работы с витой парой и приему и передачи данных по стандарту 10BASE-T. В PHY содержит набор 16-битных регистров управление которыми происходит через MII. MII служит для абстрагирования канального уровня от типа среды передачи данных.

MAC (Medium Access Controller) -- канальный уровень. В данном блоке содержится логика, с помощью которой происходит прием и отправка пакетов в сети. В MAC происходит адресация, подсчет контрольной суммы, фильтрация пакетов. На сетевой уровень передает готовые пакеты, а на физический отправляет и принимает байты данных из сети.

Control Logic занимается всем остальным. Управляет энергопотреблением, обслуживает буфер, в котором хранятся принятые пакеты и пакеты для отправки.

Буфер для данных имеет размер 8 КБ. Буфер разделен на 2 части: в одной хранятся принятые пакеты, а в другой пакеты для отправки.

Таким образом, данный модуль реализует 2 уровня модели OSI (физический, канальный) и передает на микроконтроллер Arduino готовые пакеты данных.

Из плюсов данного модуля можно выделить несколько:

· Малые размеры

· Небольшая стоимость

· Обмен данными по SPI

К минусам можно отнести отсутствие официальной библиотеки для работы с данным модулем. Но он отчасти перекрывается наличием нескольких неофициальных библиотек, из которых можно выбрать любую на свой вкус.

2.1.3 Датчик температуры и влажности DHT11

Датчик DHT11(Рисунок 2.5) включает в себя сразу два полезных измерительных прибора -- термометр и гигрометр. Первый, очевидно, измеряет температуру, а второй -- влажность воздуха. Передача данных микроконтроллеру осуществляется в виде цифрового сигнала, что позволяет устанавливать датчик на расстоянии до 20 метров. Сенсор работает по собственному протоколу.

Рисунок 2.5 - Датчик температуры и влажности DHT11

Технические характеристики датчика приведены в таблице 2.2.

Таблица 2.2 - Характеристики датчика DHT11

напряжение питания

3-5В

потребляемый ток

2.5 мА в момент опроса (в остальное время меньше)

диапазон измерений влажности

20-80%, при точности -- 5%

диапазон измерений температур

0-50°C

частота опроса

1 Гц (раз в секунду)

Подключение датчика к плате происходит по трем контактам VCC к +5V, Gnd к Gnd, а Data к соответствующему цифровому входу на плате. Для работы с датчиком необходимо скачать и установить библиотеку DHT-library. Для получения данных используются функции dht.readHumidity() и dht.readTemperature().

2.1.4 Комбинированный датчик газа MQ-9

В помещениях, работа в которых нередко связана с выделение различных газов, в целях безопасности необходимо контролировать уровень этих газов. Датчик MQ-9 (Рисунок 2.6) работает по принципу увеличения проводимости при увеличении концентрации детектируемого газа. Используя простую электрическую схему, можно преобразовать проводимости датчика в сигнал, пропорциональный концентрации газа.

Рисунок 2.6 - Датчик газа MQ-9

Датчик может определять в окружающей среде угарный газ (CO), а также углеводородные газы, такие как: пропан, н-бутан, метан. Данный датчик применяется для обнаружения возгорания, неисправностей оборудования, работающего с газом, утечек промышленного газа. В таблице 2.3 приведены характеристики датчика MQ-9.

Таблица 2.3 - Характеристики датчика MQ-9

Определяемый газ

CO+CNG или CO+LPG

Чувствительность датчика

10-1000 ppm CO, 10-1000 ppm горючий газ

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

1...20 кОм 100ppm CO

Время отклика

?150сек

Время восстановления

?150сек

Сопротивление нагревателя

31Щ±3Щ

Напряжение нагревателя

5В±0,2В/1,5В±0,1В

Мощность нагревателя

350мВт

Рабочие условия

Температура: -10 ~ +50°C, влажность: ?95%RH, концентрация кислорода: 21%

2.1.5 Магнитоконтактный извещатель ИО-102-4

Охранный извещатель ИО-102-4 (Рисунок 2.7) используется для обнаружения открытия дверей, ворот, оконных проемов и других элементов помещения. Извещать построен на базе магнитоуправляемого датчика (геркона) и магнита. В нормальном состоянии геркон разомкнут и не пропускает через себя ток. При поднесении магнита, магнитное поле воздействует на проводящие элементы геркона и контакт замыкается.

Характеристики извещателя приведены в таблице 2.4.

Рисунок 2.7 - Магнитоконтактный извещатель ИО-102-4

Таблица 2.4 Характеристики извещателя ИО-102-4

Коммутируемое напряжение

0,05-72 В

Коммутируемый ток

0,1-250 мА

Максимальная коммутируемая мощность

10 Вт

Минимальное число срабатываний извещателя

106

Электрическое сопротивление при замкнутых контактах ( ток (100±10)мА) Ом, не более* при разомкнутых контактах, кОм, не менее

0,5 Ом

Электрическое сопротивление при разомкнутых контактах

200 кОм

Контакты замкнуты - при расстоянии между ними

10 мм и менее

Контакты разомкнуты - при расстоянии между ними

45 мм и более

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

-50 … +50 °С

Наработка до отказа

Не менее 200000ч

2.1.6 Модуль LCD 1602 I2C

LCD I2C модуль (Рисунок 2.8) позволить подключить символьный дисплей к плате Arduino всего по двум сигнальным проводам.

Рисунок 2.8 - Модуль LCD 1602 I2C

Основные технические характеристики:

· Дисплей: Символьный 16х02

· Подсветка: Синяя c белыми символами

· Контраст: Настраивается потенциометром

· Напряжение питания: 5В

· Интерфейс: I2C

· I2C адрес: 0x27

· Размеры: 82мм x 35мм x 18мм

Модуль оборудован четырех-пиновым разъемом стандарта 2.54мм

SCL: последовательная линия тактирования (Serial CLock)

SDA: последовательная линия данных (Serial DAta)

VCC: "+" питания

GND: "-" питания

Для работы с данным модулем необходимо установить библиотеку LiquidCrystal_I2C

2.2 Технологии используемые в данном проекте

2.2.1 Ethernet

На сегодняшний день Ethernet является самой популярной физической архитектурой сети. Она была разработана в 60-х годах в Гавайском университете и стала первой пакетной радиосетью, с использованием метода множественного доступа с контролем несущей и обнаружением конфликтов(CSMA/CD).

В 1972 г. в Xerox PARC разработали сетевую архитектуру с кабельной системой и схемой передачи сигналов. Эта оригинальная сеть дала возможность соединить более 100 компьютеров в сети со скоростью передачи данных менее 3 Мбит/с на расстоянии от одного километра.

На основе предыдущих разработок позже была создана расширенная спецификация сети, позволяющая передавать данные со скоростью 10 Мбит/с и стала основой для стандарта IEEE 802.3.

Ethernet имеет топологию типа "шина" или "звезда", в которой используется передача сигнала в основной полосе частот и метод арбитража доступа к сети CSMA/CD. Среда передачи данных Ethernet пассивна, т.е. передачей сигналов по сети управляют компьютеры.

Использование CSMA/CD в технологии Ethernet означает, что в каждый момент времени сеть может быть использована только одной рабочей машиной.

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

Кадр Ethernet IEEE 802.3

Комитет 802.3 определил стандартные правила для всех типов кадров Ethernet. Размер кадра может составлять минимально 24 байта, а максимально 1500 байт, включая полезные данные и заголовки. Получатель и отправитель каждого кадра определяются с помощью заголовков. Единственное условие - каждый адрес должен быть уникальным и состоять из 6 байтов.

Под указание адресов выделяется 12 байт. Под целевой адрес (предполагаемый получатель) 6 байт и под исходный адрес (отправитель) 6 байт. Эти адреса чаще всего называют MAC-адресами.

MAC-адрес может быть "универсально настраиваемым" и автоматически присваивается на заводе-изготовителе всем сетевым адаптерам во время изготовления, либо задаваемым вручную при установке.

МАС-адрес включает в себя шесть двузначных шестнадцатеричных чисел, разделённых двоеточием, например, 50:14:05:A2:5C:24. Первые два числа показывают идентификационный номер изготовителя. Изготовители сетевых адаптеров должны проходить лицензирование IEEE и получать уникальный номер и диапазон адресов.

Кадры стандарта 802 могут иметь адрес как одной рабочей станции, так и группы станций. Передачу кадра группе станций называют многоадресной передачей.

При корректной работе сетевые устройства Ethernet получают только те кадры, у которых адрес получателя соответствует MAC-адресу устройства, либо выполняет условия многоадресной передачи. Но большая часть сетевых адаптеров могут принимать все сетевые пакеты вне зависимости от адресов получателя. Работа в таком режиме увеличивает опасность несанкционированного доступа со стороны других пользователей сети, а также уменьшает производительность сети и самого компьютера.

За все время усовершенствования стандарта 802.3 в основном касались лишь собственного протокола, но одно существенное изменение было внесено и в структуру кадра. Стремление сделать протокол самодостаточным и независящим от работы других протоколов привело к изменению поля Type, которое имело длину 2 байта, в поле Length такой же длины. Ещё одним усовершенствованием кадра 802.3 от предшественников является ограничение общего размера кадра в пределах от 64 до 1500 октетов, начиная от начала поля адреса получателя и до конца контрольной суммы.

Структура кадра

Структура кадра IEEE 802.3 представлена на рисунке 2.9.

Рис 2.9 - Кадр Ethernet стандарта IEEE 802.3

· Поле преамбулы состоит из семи байтов. Оно используется для синхронизирующих данных. Каждый байт содержит одну и ту же последовательность битов - 10101010. Преамбула нужна для того, чтобы дать время и возможность схемам приемопередатчиков прийти в состояние устойчивой синхронизации с принимаемыми тактовыми сигналами.

· Ограничения начала кадра состоит из одного байта с набором битов 10101011. Его появление указывает на прием кадра

· Адрес получателя - длиной 2 или 6 байтов (MAC-адрес получателя). Первый бит адреса указывает на то, является адрес индивидуальным или групповым: если 0, то адрес указывает на определенную станцию, если 1, то это групповой адрес нескольких (возможно всех) станций сети. При широковещательной адресации все биты поля адреса устанавливаются в 1. Общепринятым является использование 6-байтовых адресов.

· Адрес отправителя - длиной 2 или 6 байтов. Содержит MAC-адрес станции отправителя. Первый бит всегда 0.

· Поле длины(Length) - имеет длину 2 байта и определяет длину поля данных в кадре.

· Поле данных может быть длиной от 0 до 1500 байт.

· Поле заполнения используется в том случае, если длина поля данных меньше 46 байт. Оно состоит из такого количества байтов, которое обеспечивает в сумме с длиной поля данных минимальную длину(46 байт). Подобное решение обеспечивает корректную работу механизма обнаружения коллизий. Если длина поля данных 46 или более байт, то поле заполнения в кадре не появляется.

· Поле контрольной суммы - 4 байта, содержащие значение, которое вычисляется по определенному алгоритму (полиному CRC-32). После получения кадра рабочая станция выполняет собственное вычисление контрольной суммы для этого кадра, сравнивает полученное значение со значением поля контрольной суммы и, таким образом, определяет, не искажен ли полученный кадр.

За все время разработки и усовершенствования технологии Ethernet можно выделить несколько основных видов:

Ethernet - первые версии Ethernet. Скорость обмена данными не превышала 10 Мбит/с.

Fast Ethernet - общее название для набора стандартов передачи данных в компьютерных сетях по технологии Ethernet со скоростью до 100 Мбит/с, в отличие от исходных 10 Мбит/с.

Gigabit Ethernet (GbE) - термин, описывающий набор технологий для передачи пакетов Ethernet со скоростью 1 Гбит / с. Он определен в документе IEEE 802.3-2005.

10 Gigabit Ethernet или 10GbE являлся новейшим (на 2006 год) и самым быстрым из существующих стандартов Ethernet. Он определяет версию Ethernet с номинальной скоростью передачи данных 10 Гбит/с, что в 10 раз быстрее Gigabit Ethernet. Стандарт для оптоволокна специфицирован в IEEE 802.3-2005, а для витой пары в IEEE 802.3an-2006.

40-гигабитный Ethernet (40GbE) и 100-гигабитный Ethernet (100GbE) - стандарты Ethernet, разработанные группой IEEE P802.3ba Ethernet Task Force в период с 2007 по 2011 год. Эти стандарты являются следующим этапом развития группы стандартов Ethernet, имевших до 2010 года наибольшую скорость в 10 гигабит/с. В новых стандартах обеспечивается скорость передачи данных в 40 и 100 гигабит в секунду[7].

2.2.2 Стек протоколов TCP/IP

Для передачи данных в сети Ethernet используется стек протоколов TCP/IP. Название состоит из двух важнейших протоколов семейства: TCP (Transmission Control Protocol) и IP (Internet Protocol). Данные протоколы были описаны самыми первыми в семействе.

Стек протоколов TCP/IP был разработан в 80х годах прошлого века по заказу Министерства обороны США и использовался в экспериментальной сети ARPAnet.

На данный момент стек протоколов широко применяется по всему миру для взаимодействия компьютеров в сети Internet. Основным преимуществом TCP/IP является надежная связь между сетевым оборудованием разных производителей. Это достигается благодаря отработанному во время эксплуатации набору правил взаимодействия между различными программными стандартами.

В протоколе TCP/IP каждому отводится своя задача: TCP отвечает за разбивку данных на небольшие кусочки (дейтаграммы) и соединение их на другом конце после отправки, IP же отвечает за передачу дейтаграмм и их получение.

Можно выделить несколько достоинств стека протоколов TCP/IP:

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

· Независимость от оборудования, так как стек протоколов TCP/IP определяет только передаваемый объект (дейтаграмму) и способ передачи по сети.

· При обмене данными обеспечивается подтверждение правильности движения информации.

Стек протоколов TCP/IP делится на 4 уровня:

· Прикладной

· Транспортный

· Сетевой

· Канальный

Прикладной уровень.

На данном уровне располагается большинство протоколов, с помощью которых работают приложения. Они обеспечивают доступ к сервисам других уровней. К сервисам прикладного уровня можно отнести протокол передачи файлов (FTP), протокол эмуляции удаленного терминала (Telnet), протокол передачи гипертекста (HTTP), почтовый протокол (SMTP).

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

Транспортный уровень.

Главной задачей прикладного уровня является обеспечение взаимодействия прикладных программ. Он предоставляет сеансовые коммуникационные службы. На данном уровне решается проблема доставки данных в правильном порядке, а также проверка получения. Транспортный уровень включается в себя несколько протоколов из которых можно выделить два наиболее популярных: TCP и UDP.

TCP (Transmission Control Protocol) - обеспечивает надежное соединение между двумя узлами. В его обязанности входит установка соединения, отправка пакетов в правильном порядке, а также отслеживание утерянных пакетов и их повторная передача.

UDP (User Datagram Protocol) - в отличие от TCP в данном протоколе отсутствует подтверждение доставки данных до адресата. Данных протокол используется при отправке малого количества данных, когда все помещается в один пакет, либо когда допускается потеря пакетов (подобное возможно в некоторых онлайн играх).

Сетевой уровень.

Данный уровень управляет движением данных по сети. От транспортного уровня пакет с данными вместе с адресом получателя передается на сетевой уровень. Уровень инкапсулирует пакет в дейтаграмму и заполняет заголовки. При приеме проверяется правильность поступившей информации.

Основным протоколом сетевого уровня является протокол IP (Internet Protocol). Он был разработан для передачи данных в распределенных сетях. Основным достоинством протокола IP можно назвать возможность эффективной работы в сетях с разным уровнем сложности топологии.

Канальный уровень.

Канальный уровень отвечает за прием и передачу дейтаграмм по конкретной сети. Он описывает способ передачи данных через физический уровень. Поддерживает стандарты популярных локальных сетей, таких как: Ethernet, IEEE 802.11 Wireless Ethernet, ATM, Token Ring.

Также на данном уровне описывается среда передачи данных, ее физические характеристики и принцип передачи данных.

На рисунке 2.10 представлена схема передачи единицы данных (для протоколов различных уровней).

Рисунок 2.10 - Схема передачи единицы данных

Так как стек протоколов TCP/IP был разработан до создания сетевой модели OSI (Open System Interconnection - базовая модель взаимодействия открытых систем), в связи с этим существует несколько вариантов их сопоставления.

На рисунке 2.11 показан самый популярный вариант сопоставления стека протоколов TCP/IP с базовой моделью OSI[6].

Рис 2.11 - Сопоставление OSI и TCP/IP

2.2.3 Протокол HTTP

HTTP (Hyper Text Transfer Protocol - протокол передачи гипертекста) широко распространенный протокол, созданный в 1992 году.

HTTP это протокол прикладного (7го) уровня (по модели OSI), который предназначен для передачи гипертекстовых документов. На данный момент позволяет передавать произвольные данные.

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

В настоящее время протокол HTTP обеспечивает работу всемирной паутины (World Wide Web). Он позволяет обмениваться данными между приложениями, взаимодействовать с различными веб-ресурсами. Зачастую HTTP используется в качестве "транспорта" для других протоколов прикладного уровня. Обмен данными по протоколу HTTP в большинстве случаев проходит через TCP/IP соединение, и, как правило, через 80-й порт. Но также можно выбрать любой другой порт.

Главным объектом взаимодействия по HTTP протоколу является ресурс. Обращение к ресурсу реализуется благодаря URI (Uniform Resource Identifier - идентификатор ресурса), который указывает на выбранный ресурс. В большинстве случаев в качестве ресурсов выступают файлы, хранящиеся на сервере, но также могут быть каталоги, либо абстрактные объекты.

Каждое HTTP сообщение состоит из 3-х частей (Рисунок 2.12):

· Стартовая строка - определяет тип сообщения

· Заголовки - описывают параметры передачи и прочие свойства.

· Тело сообщения - данная часть отделяется от заголовков пустой строкой. Здесь хранятся данные сообщения.

Рисунок 2.12 - Структура HTTP сообщения, полученного от сервера (дамп пакета, полученный сниффером Fiddler)

Для формирования HTTP запроса нужно составить стартовую строку и указать хотя бы заголовок Host. Необходимость указывать заголовок Host заключается в том, что удаленный сервер не знает, какой именно адрес использовался для соединения.

Формат стартовой строки для запроса и ответа имеют разный вид:

Стартовая строка запроса

Метод URI HTTP/Версия

Стартовая строка ответа

HTTP/Версия Код Состояние[Пояснение]

Метод - указывает на операцию, которая выполняется с указанным ресурсом. Метод может состоять из последовательности любых символов, кроме символов, которые используются для управления. Актуальна версия протокола HTTP 1.1 не вносит ограничения на количество различных методов, но для соответствия стандартам и сохранения совместимости используется лишь некоторый набор основных методов. В таблице 2.5 приведены основные методы и их описание.

Таблица 2.5 - Методы протокола HTTP

Метод

Описание

OPTIONS

Позволяет определить параметры соединения с определенным ресурсом, возможности и свойства веб-сервера.

Также с помощью OPTIONS можно определить работоспособность сервера и поддержку протокола HTTP.

GET

С помощью GET можно запросить содержимое нужного ресурса. Также используется для начала какого-либо процесса.

HEAD

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

POST

Используется для отправки данных. Данный метод не является идемпотентным (при отправке одинаковых запросов POST, результат, который вернет сервер может быть разным).

PUT

Применяется для загрузки содержимого запроса на указанный в запросе URI. Если по заданному URI не существовало ресурса, то сервер создаёт его и возвращает статус 201 (Created).

DELETE

Удаляет указанный ресурс.

TRACE

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

LINK

Устанавливает связь между ресурсами.

UNLINK

Удаляет связь между ресурсами.

Коды состояния

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

Каждый код представляется целым трехзначным числом. Первая цифра указывает на класс состояния, последующие - порядковый номер состояния (рисунок 2.13). За кодом ответа обычно следует краткое описание на английском языке.

Рисунок 2.13 - Структура кода состояния HTTP

Можно выделить 5 основных классов кодов состояний:

1xx (Информационный). В этот класс выделены коды, информирующие о процессе передачи. В HTTP/1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но ничего отправлять серверу не нужно. Сами сообщения от сервера содержат только стартовую строку ответа. Примеры ответов сервера: 100 Continue (Продолжать), 101 Switching Protocols (Переключение протоколов), 102 Processing (Идёт обработка).

2xx (Успешно). Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения. Примеры ответов сервера: 200 OK (Успешно), 201 Created (Создано), 202 Accepted (Принято), 204 No Content (Нет содержимого), 206 Partial Content (Частичное содержимое).

3xx (Перенаправление). Коды статуса класса 3xx сообщают клиенту, что для успешного выполнения операции нужно произвести следующий запрос к другому URI. В большинстве случаев новый адрес указывается в поле Location заголовка. Клиент в этом случае должен, как правило, произвести автоматический переход (жарг. "редирект"). Примеры ответов сервера: 300 Multiple Choices (Множественный выбор), 301 Moved Permanently (Перемещено навсегда),304 Not Modified (Не изменялось).

4xx (Ошибка клиента). Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. Примеры ответов сервера: 401 Unauthorized (Неавторизован), 403 Forbidden (Запрещено), 404 Not Found (Не найдено).

5xx (Ошибка сервера). Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю. Примеры ответов сервера: 500 Internal Server Error (Внутренняя ошибка сервера), 502 Bad Gateway (Плохой шлюз), 503 Service Unavailable (Сервис недоступен)

Заголовки HTTP

Заголовок HTTP (HTTP Header) -- это строка в HTTP-сообщении, содержащая разделённую двоеточием пару вида "параметр-значение". Как правило, браузер и веб-сервер включают в сообщения более чем по одному заголовку. Заголовки должны отправляться раньше тела сообщения и отделяться от него хотя бы одной пустой строкой.

Название параметра должно состоять минимум из одного печатного символа (ASCII-коды от 33 до 126). После названия сразу должен следовать символ двоеточия. Значение может содержать любые символы ASCII, кроме перевода строки и возврата каретки. На рисунке 2.14 показан пример HTTP заголовков.

.

Рисунок 2.14 - Пример заголовков HTTP

Все HTTP-заголовки разделяются на четыре основных группы:

General Headers (Основные заголовки) -- должны включаться в любое сообщение клиента и сервера.

Request Headers (Заголовки запроса) -- используются только в запросах клиента.

Response Headers (Заголовки ответа) -- присутствуют только в ответах сервера.

Entity Headers (Заголовки сущности) -- сопровождают каждую сущность сообщения.

Тело сообщения

Тело HTTP сообщения (message-body), если оно присутствует, используется для передачи сущности, связанной с запросом или ответом. Тело сообщения (message-body) отличается от тела сущности(entity-body) только в том случае, когда при передаче применяется кодирование, указанное в заголовке Transfer-Encoding. В остальных случаях тело сообщения идентично телу сущности.

Заголовок Transfer-Encoding должен отправляться для указания любого кодирования передачи, примененного приложением в целях гарантирования безопасной и правильной передачи сообщения. Transfer-Encoding - это свойство сообщения, а не сущности, и оно может быть добавлено или удалено любым приложением в цепочке запросов/ответов.

Присутствие тела сообщения в запросе отмечается добавлением к заголовкам запроса поля заголовка Content-Length или Transfer-Encoding. Тело сообщения (message-body) может быть добавлено в запрос только когда метод запроса допускает тело объекта (entity-body).

Все ответы содержат тело сообщения, возможно нулевой длины, кроме ответов на запрос методом HEAD и ответов с кодами статуса 1xx (Информационные), 204 (Нет содержимого, No Content), и 304 (Не модифицирован, Not Modified) [4].

3. РАЗРАБОТКА УСТРОЙСТВА

3.1 Исходные материалы и составление плана

В разработке устройства применялись устройства и программное обеспечение

· Паяльная станция Lukey 702

· Расходные материалы

· Контроллер Arduino Uno R3

· Ethernet-модуль enc28j60

· Комбинированный датчик газа MQ-9

· Датчик температуры/влажности DHT-11

· Магнитоконтактный извещатель ИО102-4

· Ключ "таблетка" (Touch Memory Key) RW1990

· Среда разработки Arduino

Разработка устройства проходила в несколько этапов:

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

· Написание программной части для каждого функционального блока.

· Объединение всех частей в один макет.

· Написание общего программного обеспечения и отладка.

3.2 Создание макета устройства

3.2.1 Подключение датчиков

Создание макета начиналось с самого простого - подключение датчиков и написание скетча для считывания с них информации.

Датчик газа MQ-9 имеет 4 контакта:

· VCC - "+" питания

· GND - "-" питания

· A0 - аналоговый выход

· D0 - цифровой выход

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

В итоге датчик был подключен следующим образом:

· VCC - VCC Arduino

· GND - GND Arduino

· A0 - A0 Arduino

Магнитоконтактный извещатель ИО102-4 построен на основе геркона. Работает по принципу замыкание-размыкание контакта при воздействии на него магнитного поля.

Магнитоконтактный извещатель имеет 2 выхода. Один подключается напрямую к VCC Arduino, а второй к цифровому разъему D2 и через резистор 10кОм подтягивается к GND.

Датчик температуры/влажности DHT-11 имеет 4 контакта:

· VCC

· GND

· Null - не используется

· DATA

Подключается к Arduino следующим образом:

· VCC-VCC

· GND-GND

· DATA - Pin 3 и к VCC через резистор 10кОм

Схема подключения датчиков показана на рисунке 3.1.

Рисунок 3.1 - Схема подключения датчиков к контроллеру Arduino Mega

После успешного подключения датчиков была написана программа, которая выводила показания датчиков в Serial Monitor Arduino с задержкой в 1 секунду (Рисунок 3.2).

Рисунок 3.2 - Вывод показания датчиков в Serial Monitor Arduino

3.2.2 Подключение Ethernet-модуля enc28j60

Следующим шагом стало подключение Ethernet-модуля enc28j60

Подключили к Arduino следующим образом:

· VCC - 3.3V

· GND - GND

· SCK - Pin 52

· SO - Pin 50

· SI - Pin 51

· CS - Pin 55

Схема подключение показана на рисунке 3.3.

Рисунок 3.3 - Подключение Ethernet-модуля enc28j60

Далее Ethernet был подключен к роутеру кабелем "витая пара".

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

А самым главным минусом является то, что нет официальной библиотеки для работы с данным модулем.

На просторах интернета можно встретить три наиболее часто используемые библиотеки:

· Ethercard

· EtherShield совместно с ETHER_28J60

· Arduino_uip

Каждую библиотеку можно разделить на 3 дочерних, связанных между собой:

· Библиотека для управления микросхемой. Все необходимое для работы с витой парой и приему и передачи данных по стандарту 10BASE-T.

· Библиотека, описывающая работу канального уровня. Прием и передача готовых пакетов, подсчет контрольной суммы.

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

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

Из всего набора функций наиболее актуальными и полезными для нас будут: serviceRequest(), print() и respond().

serviceRequest() проверяет, есть ли запрос на сервер, и сохраняет параметры запроса. Дальше, в зависимости от логики программы, функцией print() заполняется буфер данных, который будет передан клиенту. После заполнения буфера функция respond() передает ответ обратно клиенту.

Первым делом модулю программно были присвоены MAC-адрес и IP-адрес и с помощью командной строки и функции ping было проверено, видно ли наше устройство внутри локальной сети. По запросу ping на IP -адрес нашего устройства получили результат, который показан на рисунке 3.4.

Рисунок 3.4 - Проверка соединения с Ethernet-модулем в локальной сети

Ответ получен, можно двигаться дальше.

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

Рисунок 3.5 - Результат запроса к серверу через браузер Google Chrome

3.2.3 Реализация управления системами вентиляции, отопления и открывания-закрывания ворот

Помимо контроля над показаниями датчиков, среди задач проекта были реализация управления системами вентиляции, отопления и открывания-закрывания ворот.

Каждая из перечисленных систем имеет 2 режима работы: ВКЛ и ВЫКЛ (либо ОТКРЫТЬ, ЗАКРЫТЬ для системы открывания-закрывания ворот). Поэтому было решено для управления каждой системой выдели по одному цифровому разъему на контроллере Arduino. Суть заключалась в том, что на выход подавался сигнал, который будет распознан той или иной системой, как сигнал к включению, а если же сигнал на выходе будет отсутствовать, то система будет выключена.

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

В макете в качестве вентиляции выступает кулер охлаждения 5В от ноутбука, а в качестве системы отопления выступает лампочка накаливания 3В. Так как ключом будет являться реле, то с питанием данных устройств проблем не возникло. Через 26й пин Arduino происходит управление воротами. Схема подключения показана на рисунке 3.6.

...

Подобные документы

  • Описание функциональной схемы контроллера системы отопления, обеспечивающего многопозиционный контроль температуры и управление ветками отопления и котлом. Разработка принципиальной схемы. Обоснование выбора. Алгоритм работы устройства. Листинг программы.

    курсовая работа [1,1 M], добавлен 26.12.2012

  • Разработка принципиальной системы контроля доступа с управлением "ролл"-воротами. Описание функциональной схемы и ее элементов. Выбор модуля контроллера ворот, датчиков, электронных цифровых ключей. Программа управления микроконтроллером; алгоритм работы.

    курсовая работа [2,1 M], добавлен 26.12.2012

  • Особенности использования микроконтроллеров в различных изделиях. Создание максимально гибко настраиваемого контроллера температуры и влажности. Создание физической модели контроллера. Реализация удаленного управления микроконтроллера через сеть Wi-Fi.

    курсовая работа [3,8 M], добавлен 04.02.2021

  • Разработка принципиальной электрической схемы микропроцессорного устройства управления двигателем постоянного тока на базе контроллера ATmega 128. Разработка пакета подпрограмм на языке Assembler в целях регулирования и корректной работы устройства.

    курсовая работа [271,5 K], добавлен 14.01.2011

  • Компоновка роботизированного комплекса. Разработка циклограммы работы объектов. Построение релейно-контактной, логической бесконтактной схем по циклограмме и сети Петри. Выбор программируемого контроллера. Разработка и написание программы управления.

    курсовая работа [922,9 K], добавлен 26.01.2012

  • Функционально-модульная структура программного обеспечения контроллера домофона. Электронная схема электронного замка, модуля микрофона и динамика. Выбор комбинированного источника питания. Разработка программного модуля. Программа управления домофоном.

    курсовая работа [484,7 K], добавлен 29.03.2017

  • Устройство и назначение однокристальных микроконтроллеров, сферы их применения. Разработка контроллера для управления домашней метеостанцией: расчет принципиальной схемы и характеристика ее элементов, выбор датчиков. Описание программы управления.

    курсовая работа [280,3 K], добавлен 28.12.2012

  • Общая характеристика гидроэлектростанций Республики Беларусь. Разработка автоматизированной системы управления каскадом малых и микро гидроэлектростанций. Программирование логического контроллера датчиков температуры и оборотов турбин электростанции.

    дипломная работа [4,1 M], добавлен 14.07.2014

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

    дипломная работа [2,1 M], добавлен 10.07.2014

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

    курсовая работа [354,9 K], добавлен 26.12.2012

  • Проектирование устройства, выполняющего функцию определения минимального давления на основе информации о показаниях полученных от 7 датчиков. Разработка набора команд управления микроконтроллером в среде программного обеспечения Code Vision AVR.

    курсовая работа [24,5 K], добавлен 28.06.2011

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

    курсовая работа [2,7 M], добавлен 10.11.2014

  • Разработка и обоснование функциональной схемы системы автоматического управления технологическим процессом. Расчет мощности электродвигателей. Выбор и компоновка шкафа электроавтоматики. Моделирование программного обеспечения в Logo Soft Comfort v6.0.

    курсовая работа [4,1 M], добавлен 02.04.2013

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

    курсовая работа [666,0 K], добавлен 10.07.2015

  • Контроллер управления двигателями. Назначение, краткая характеристика, перспективы внедрения робота-дозиметриста. Обзор основных способов беспроводной передачи данных на большие расстояния. Проектирование принципиальной схемы бортового контроллера.

    дипломная работа [2,4 M], добавлен 05.01.2013

  • Общая характеристика автоматизированной системы мониторинга и учета электроэнергии на фидерах контактной сети. Сравнение с современными автоматизированными системами коммерческого учета электроэнергии. Разработка модели и алгоритма программного комплекса.

    дипломная работа [2,0 M], добавлен 28.06.2015

  • Результаты предпроектного обследования завода. Разработка и реализация программного комплекса "Subсontraсting". Информационное и программное обеспечение продукта. Технико-экономическое обоснование внедрения проекта, его безопасность и экологичность.

    дипломная работа [5,4 M], добавлен 22.06.2011

  • Разработка структурной схемы и интерфейса программного комплекса управления сайтом. Выбор языка программирования. Принципы тестирования программы. Разработка руководства оператора и системного программиста. Расчет сметы затрат на программный продукт.

    дипломная работа [4,1 M], добавлен 11.06.2012

  • Разработка функциональной и принципиальной схемы. Выбор управляющего контроллера. Описание МК PIC16F626, МК AVR, МК 51. Выбор элементной базы. Разработка управляющей программы. Описание алгоритма работы программы. Схема устройства, листинг программы.

    курсовая работа [492,9 K], добавлен 28.12.2012

  • Структурная схема системы управления. Характеристики первичных датчиков, электронасоса, индикатора, микроконтроллера, системы прерываний. Работа регистров и аналого-цифрового преобразователя. Алгоритм работы микропроцессора - управляющего устройства.

    курсовая работа [2,2 M], добавлен 06.02.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.