МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ОБНИНСКИЙ ИНСТИТУТ АТОМНОЙ ЭНЕРГЕТИКИ - филиал |
федерального государственного автономного образовательного учреждения высшего профессионального образования |
«Национальный исследовательский ядерный университет «МИФИ» (ИАТЭ НИЯУ МИФИ)
|
Физико энергетический факультет
Кафедра: Автоматики контроля и диагностики
Лабораторная работа №1
«Построение системы на основе аппаратно-программного комплекса Arduino»
Выполнил:
студент гр. ТД-М16 ______________________ Горенков Е.С.
(подпись, дата)
студент гр. ТД-М16 ______________________ Пауков П.С.
(подпись, дата)
студент гр. ТД-М16 ______________________ Подгорнов И.М.
(подпись, дата)
Проверил:
к.т.н., доцент ______________________ Белоусов П.А.
(подпись, дата)
Обнинск, 2016 г.
Содержание
Введение 3
1 Описание компонентов системы 4
1.1 Плата Arduino 4
1.2 Датчик удара KY-031 7
1.3 Датчик вибраций KY-002 9
1.4 Датчик температуры KY-013 11
2 Сборка системы 13
Алгоритм: 15
Вывод 17
Список литературы 18
Введение
Целью нашей работы является ознакомление и построение системы на аппаратно-программном комплексе Arduino.
Arduino — аппаратно-программное средство для построения простых систем автоматики и робототехники, ориентированная на непрофессиональных пользователей [1]. Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат. Arduino позволяет компьютеру выйти за рамки виртуального мира в физический и взаимодействовать с ним. Устройства на базе Arduino могут получать информацию об окружающей среде посредством различных датчиков, а также могут управлять различными исполнительными устройствами.
Используя возможности Arduino, было принято решение собрать такую систему оповещения, которая бы реализовывала задачу охраны и контроля проникновения в помещение. Данные задачи являются актуальными, потому что они находят широкое применение в различных областях деятельности человека.
Охранная сигнализация — это совокупность технических средств для обнаружения появления нарушителя на охраняемом объекте и подачи извещения о тревоге для принятия мер по задержанию нарушителя [2].
Из определения можно выделить несколько основных задач, которые будет выполнять наша система:
обнаружение нарушителя;
передача извещения в нужном формате в определённое место;
обеспечение процедуры постановки на охрану и снятия с охраны.
1 Описание компонентов системы
Для создания охранной системы на основе аппаратно-программного комплекса Arduino использовались плата Arduino и следующие датчики:
датчик удара KY-031;
датчик вибраций KY-002;
датчик температуры KY-013.
Рассмотрим каждый каждый в отдельности.
1.1 Плата Arduino
Плата Arduino (рисунок 1) применяется для создания электронных устройств с возможностью приема сигналов от различных цифровых и аналоговых датчиков, которые могут быть подключены к нему, и управления различными исполнительными устройствами [3]. Проекты устройств, основанные на Arduino, могут работать самостоятельно или взаимодействовать с программным обеспечением на компьютере.
Рисунок 1 — Плата Arduino
Выводы питания:
Arduino Uno может быть запитан от USB либо от внешнего источника питания - тип источника выбирается автоматически.
VIN - напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
5V - yа вывод поступает напряжение 5В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (7 - 12В), от USB (5В) или через вывод VIN (7 - 12В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
3V3 - 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный ток, потребляемый от этого вывода, составляет 50 мА.
GND — выводы земли.
IOREF - этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Ардуино. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.
Вводы и выводы:
В Arduino Uno есть 6 аналоговых входов (A0 -A5), каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). Помимо этого, некоторые из аналоговых входов имеют дополнительные функции [4]:
Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы ATmega8U2, выполняющей роль преобразователя USB-UART.
Внешние прерывания: выводы 2 и 3. Могут служить источниками прерываний, возникающих при фронте, спаде или при низком уровне сигнала на этих выводах.
ШИМ: выводы 3, 5, 6, 9, 10 и 11. Могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.
Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Данные выводы могут осуществлять связь по интерфейсу SPI.
Светодиод: 13. Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW — выключается.
TWI: вывод A4 или SDA и вывод A5 или SCL. Данные выводы могут осуществлять связь по интерфейсу TWI.
AREF - опорное напряжение для аналоговых входов.
Reset - формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения.
Характеристики:
Микроконтроллер: ATmega328.
Рабочее напряжение: 5В.
Входное напряжение (рекомендуемое): 7-12 В.
Входное напряжение (предельное): 6-20 В.
Цифровые Входы/Выходы: 14 (6 из которых могут использоваться как выходы ШИМ).
Аналоговые входы: 6
Постоянный ток через вход/выход: 40 мА.
Постоянный ток для вывода 3.3 В: 50 мА.
Флеш-память: 32 Кб (ATmega328) из которых 0.5 Кб используются для загрузчика.
ОЗУ: 2 Кб (Atmega328).
EEPROM: 1 Кб (ATmega328).
Тактовая частота: 16 МГц.
Подключение платы:
Перед тем как собирать систему нужно убедится в работоспособности как используемых датчиков, так и самой платы Arduino. Для этого собирается простая схема, которая поможет совершить проверку. Схема состоит из платы Arduino, гибких проводников и рассматриваемого датчика. Графическое представление схемы представлено на рисунке 2.
Рисунок 2 — Схема проверки
Этапы проверки:
Первый проводник подключаются к выводу GND, который соответствует «земле».
Второй проводник подключается к выводу +5V, который соответствует «питанию».
Третий проводник подключается к цифровому выводу (D10).
К другим концам проводников подключаются контакты датчика в соответствии с их назначением.
Через USB-провод плата подключается к компьютеру, и с него запускается программный код, который воспроизводит работу данного датчика.
В зависимости от правильности программного кода и получаемого результата на плате Arduino можно судить о работоспособности устройств (датчика и/или платы).
В следующих пунктах будут представлены программный код для реализации работы трёх датчиков: датчика удара KY-031, вибрации KY-002 и температуры KY-013.
