Алгоритмическое и программное обеспечение системы контроля параметров

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

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

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

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

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

Алгоритмическое и программное обеспечение системы контроля параметров

Введение

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

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

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

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

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

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

1. Обзор существующих аппаратных и программных средств

1.1 Ардуино

Описание

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

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

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

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

Конструктив

Ардуино и Ардуино-совместимые платы спроектированы таким образом, чтобы их можно было при необходимости расширять, добавляя в устройство новые компоненты. Эти платы расширений подключаются к Ардуино посредством установленных на них штыревых разъемов. Существует ряд плат с унифицированным конструктивом, допускающим конструктивно жесткое соединение процессорной платы и плат расширения в стопку через штыревые линейки. Кроме того, выпускаются платы уменьшенных габаритов (например, Nano, Lilypad) и специальных конструктивов для задач робототехники. Независимыми производителями также выпускается большая гамма всевозможных датчиков и исполнительных устройств, в той или иной степени совместимых с базовым конструктивом Ардуино.

Рисунок 1.1 - Стандартный конструктив Ардуино с платами расширения

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

В линейке устройств Ардуино в основном применяются микроконтроллеры Atmel AVR ATМега328, ATМега168, ATМега2560, ATМега32U4 с частотой тактирования 16 или 8 МГц. В старых изделиях применялись ATМега8, ATМега1280 и другие. Есть также плата на процессоре ARM Cortex M3 AT91SAM3X8E с частотой тактирования 84 МГц. В микроконтроллер предварительно прошивается загрузчик (BootLoader), поэтому внешний программатор не нужен. Тем не менее большинство плат имеет штыревой разъем для внутрисхемного программирования (ICSP).

Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединенных в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:

некоторые команды работают только с регистрами r16…r31. К ним относятся команды работающие с непосредственным операндом: ANDI/CBR, ORI/SBR, CPI, LDI, LDS(16-бит), STS(16-бит), SUBI, SBCI, а также SER и MULS;

команды увеличивающие и уменьшающие 16-битное значение (в тех моделях, где они доступны) с непосредственным операндом (ADIW, SBIW) работают только с одной из пар r25:r24, r27:r26 (X), r29:r28 (Y), или r31:r30 (Z);

команда копирования пары регистров (в тех моделях, где доступна) работает только с соседними регистрами начинающимися с нечетного (r1:r0, r3:r2, …, r31:r30);

результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r1:r0. Также, только эта пара используется в качестве операндов для команды самопрограммирования (где доступна);

некоторые варианты команд умножения принимают в качестве аргументов только регистры из диапазона r16…r23 (FMUL, FMULS, FMULSU, MULSU).

Периферия

Порты ввода-вывода микроконтроллеров оформлены в виде штыревых линеек. Никакого буферизирования, защиты, конвертации уровней или подтяжек, как правило, нет. Микроконтроллеры питаются от 5В или 3,3В, в зависимости от модели платы. Соответственно порты имеют такой же размах допустимых входных и выходных напряжений. Программисту доступны некоторые специальные возможности портов ввода-вывода микроконтроллеров, например широтно-импульсная модуляция (ШИМ), аналогово-цифровой преобразователь (АЦП), интерфейсы UART, SPI, I2C. Количество и возможности портов ввода-вывода определяются конкретным вариантом микропроцессорной платы.

Помимо портов на платах микроконтроллеров иногда устанавливается периферия в виде интерфейсов USB или Ethernet. Опциональный набор внешней периферии на модулях расширения включает в себя:

- USB Device (чаще всего как виртуальный COM порт через FTDI FT232, имеются также версии с эмуляцией USB HID Class клавиатур и мышек);

- проводной и беспроводной Ethernet как на основной плате так и на платах расширения;

- модуль GSM и другие беспроводные интерфейсы;

- USB Host;

- SD card;

- модуль управления низковольтным мотором на базе L298;

- графический ЖКИ индикатор;

- модуль с макетным полем.

Поддерживаются шаговый и коллекторный двигатели с напряжением до 12В и током до 2А на канал. Могут подключаться также реле, электромагниты и т. п. Модуль не имеет гальванической развязки.

Сторонние производители выпускают широкую гамму датчиков и исполнительных устройств, подключаемых к Ардуино. Например, гироскопы, компасы, манометры, гигрометры, термометры, релейные модули, индикаторы, клавиатуры и т. п.

1.2 Виды Ардуино

Существует несколько версий платформ Ардуино. Последняя версия Leonardo базируется на микроконтроллере ATМега32u4. Uno, как и предыдущая версия Duemilanove построены на микроконтроллере Atmel ATmeg. Старые версии платформы Diecimila и первая рабочая Duemilanoves были разработаны на основе Atmel ATМега168, более ранние версии использовали ATМега8. Ардуино Мега2560, в свою очередь, построена на микроконтроллере ATМега2560.

Все размеры и разновидности ардуино-плат абсолютно совместимы друг с другом. Ниже представлены основные версии плат Ардуино.

Due - новая плата на базе ARM микропроцессора 32bit Cortex-M3 ARM SAM3U4E. (Релиз ожидается в конце октября 2012)

Leonardo - последняя версия платформы Arduno на ATМега32u4 микроконтроллере . Отличается разъемом microUSB, по размерам совпадает с UNO.

Yun - новая плата, с встроенной поддержкой WiFi на базе ATМега32u4 and the Atheros AR9331

Micro - новое компактное решение на базе ATМега32u4.

Uno - самая популяраня версия базовой платформы Ардуино USB. Uno имеет стандартный порт USB. Ардуино Uno во многом схожа с Duemilanove, но имеет новый чип ATМега8U2 для последовательного подключения по USB и новую, более удобную маркировку вход/выходов. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями.

Ардуино Ethernet - контроллер со встроенной поддержкой работы по сети и с опциональной возможностью питания по сети с помощью модуля POE (Power over Ethernet).

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

Diecimila - предыдущая версия базовой платформы Ардуино USB.

Nano - это компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B.

Мега ADK - версия платы Мега 2560 с поддрежкой USB host интерфейса для связи с телефонами на Android и другими устройствами с USB интерфейсом.

Мега2560 - новая версия платы серии Мега. Построена на базе AtМега2560 и с использованием чипа ATМега8U2 для последовательного соединения по USB порту.

Мега - предыдущая версия серии Мега на базе AtМега1280.

Ардуино BT платформа с модулем Bluetooth для беспроводной связи и программирования. Совместима с платами расширения Ардуино.

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

Fio - платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки.

Mini - самая маленькая платформа Ардуино. Прекрасно работает как макетная модель, или, в проектах, где пространство является критическим параметром. Платформа подключается к компьютеру при помощи адаптера Mini USB.

Адаптер Mini USB - плата, конвертирующая подключение USB в линии 5 В, GND, TX и RX для соединения с платформой Ардуино Mini или другими микроконтроллерами.

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

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

Serial - базовая платформа с интерфейсом RS232 для связи и программирования. Плата легко собирается даже начинающими пользователями. (включает схемы и файлы CAD)

Serial Single Sided - платформа разработана для ручной сборки. Она обладает чуть большим размером, чем Diecimila, но совместима с платами расширения Ардуино.

USB Serial Light Адаптер - адаптер, позволяющий подключать платы Ардуино к компьютеру для обмена данными и заливки скетчей. Удобен для программирования таких плат, как Ардуино Mini, Ардуино Ethernet и других, не имеющих своего разъема USB

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

плата расширения WiFi используется для соединения с беспроводными сетями стандарта 802.11 b/g.

плата расширения Xbee Shield обеспечивает при помощи модуля Maxstream Xbee Zigbee беспроводную связь нескольким устройствам Ардуино в радиусе до 35 метров (в помещении) и до 90 метров (вне помещения).

плата расширения Motor Shield обеспечивает управление двигателями постоянного тока и чтение датчиков положения.

плата расширения Ethernet Shield обеспечивает подключение к интернету.

1.3 Ардуино Мега 2560

Описание

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

Мега 2560 - это обновленная версия Ардуино Мега.

Ардуино Мега 2560 отличается от всех предыдущих плат тем, что в нем для преобразования интерфейсов USB-UART вместо микросхемы FTDI используется микроконтроллер ATМега16U2 (ATМега8U2 в версиях платы R1 и R2).

На плате Мега 2560 версии R2 добавлен резистор, подтягивающий к земле линию HWB микроконтроллера 8U2. Подобная мера позволяет упростить процесс обновления прошивки и переход устройства в режим DFU.

Рисунок 1.2 - Ардуино Мега 2560 (вид сверху)

Рисунок 1.3 - Ардуино Мега 2560 (вид снизу)

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

В отличие от MICROCHIP, компания ATMEL Corp. - один из мировых лидеров в производстве широкого спектра микросхем энергонезависимой памяти, FLASH-микроконтроллеров и микросхем программируемой логики, взяла старт по разработке RISC-микроконтроллеров в середине 90-х годов, используя все свои технические решения, накопленные к этому времени.

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

AVR-архитектура, на основе которой построены микроконтроллеры семейства AT90S, объединяет мощный гарвардский RISC-процессор с раздельным доступом к памяти программ и данных, 32 регистра общего назначения, каждый из которых может работать как регистр- аккумулятор, и развитую систему команд фиксированной 16-бит длины. Большинство команд выполняются за один машинный такт с одновременным исполнением текущей и выборкой следующей команды, что обеспечивает производительность до 1 MIPS на каждый МГц тактовой частоты.

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

Регистровый файл также доступен как часть памяти данных. 6 из 32-х регистров могут использоваться как три 16-разрядных регистра-указателя для косвенной адресации. Старшие микроконтроллеры семейства AVR имеют в составе АЛУ аппаратный умножитель.

Базовый набор команд AVR содержит 120 инструкций. Инструкции битовых операций включают инструкции установки, очистки и тестирования битов.

Все микроконтроллеры AVR имеют встроенную FLASH ROM с возможностью внутрисхемного программирования через последовательный 4-проводной интерфейс.

Периферия МК AVR включает: таймеры-счетчики, широтно-импульсные модуляторы, поддержку внешних прерываний, аналоговые компараторы, 10-разрядный 8-канальный АЦП, параллельные порты (от 3 до 48 линий ввода и вывода), интерфейсы UART и SPI, сторожеой таймер и устройство сброса по включению питания. Все эти качества превращают AVR-микроконтроллеры в мощный инструмент для построения современных, высокопроизводительных и экономичных контроллеров различного назначения.

В рамках единой базовой архитектуры AVR-микроконтроллеры подразделяются на три подсемейства:

сlassic AVR - основная линия микроконтроллеров с производительностью отдельных модификаций до 16 MIPS, FLASH ROM программ от 2 до 8 Кбайт, ЕEPROM данных от 64 до 512 байт, SRAM от 128 до 512 байт;

Мега AVR с производительностью от 1 до 16 MIPS для сложных приложений, требующих большого обьема памяти, FLASH ROM программ от 4 до 128 Кбайт, ЕEPROM данных от 64 до 512 байт, SRAM от 2до 4 Кбайт, SRAM 4 Кбайт, встроенный 10-разрядный 8-канальный АЦП, аппаратный умножитель 8x8;

tiny AVR - низкостоимостные микроконтроллеры в 8-выводном исполнении имеют встроенную схему контроля напряжения питания, что позволяет обойтись без внешних супервизорных микросхем.

AVR-микроконтроллеры поддерживают спящий режим и режим микропотребления. В спящем режиме останавливается центральное процессорное ядро, в то время как регистры, таймеры-счетчики, сторожевой таймер и система прерываний продолжают функционировать. В режиме микропотребления сохраняется содержимое всех регистров, останавливается тактовый генератор, запрещаются все функции микроконтроллера, пока не поступит сигнал внешнего прерывания или аппаратного сброса. В зависимости от модели, AVR-микроконтроллеры работают в диапазоне напряжений от 2,7 до 6 В либо от 4 до 6 В (исключение составляет ATtiny12V с напряжением питания 1,2 В).

Средства отладки. ATMEL предлагает программную среду AVR-studio для отладки программ в режиме симуляции на программном отладчике, а также для работы непосредственно с внутрисхемным эмулятором. AVR-studio доступен с WEB-страницы ATMEL, содержит ассемблер и предназначен для работы с эмуляторами ICEPRO и МегаICE. Ряд компаний предлагают свои версии Си-компиляторов, ассемблеров, линковщиков и загрузчиков для работы с микроконтроллерами семейства AVR. Как и продукция MICROCHIP, микроконтроллеры ATMEL широко применяются в России и, как следствие, программируются многими отечественными программаторами. Ряд российских фирм предлагает также различные аппаратные средства отладки AVR-микроконтроллеров.

Характеристики

Характеристики Ардуино Мега 2560 представлены в таблице 1.1.

Таблица 1.1 - Характеристики Ардуино Мега 2560

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

ATМега2560

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

Напряжение питания (рекомендуемое)

От 7 до 12В

Напряжение питания (предельное)

От 6 до 20В

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

54 (из которых 15 могут использоваться в качестве ШИМ-выходов)

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

16

Максимальный ток одного вывода

40 мА

Максимальный выходной ток вывода 3.3V

50 мА

Flash-память

256 КБ из которых 8 КБ используются загрузчиком

SRAM

8 КБ

EEPROM

4 КБ

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

16 МГц

Питание

Ардуино Мега может быть запитан от USB либо от внешнего источника питания - тип источника выбирается автоматически.

В качестве внешнего источника питания (не USB) может использоваться сетевой AC/DC-адаптер или аккумулятор/батарея. Штекер адаптера (диаметр - 2.1мм, центральный контакт - положительный) необходимо вставить в соответствующий разъем питания на плате. В случае питания от аккумулятора/батареи, ее провода необходимо подсоединить к выводам Gnd и Vin разъема POWER.

Напряжение внешнего источника питания может быть в пределах от 6 до 20 В. Однако, уменьшение напряжения питания ниже 7В приводит к уменьшению напряжения на выводе 5V, что может стать причиной нестабильной работы устройства. Использование напряжения больше 12В может приводить к перегреву стабилизатора напряжения и выходу платы из строя. С учетом этого, рекомендуется использовать источник питания с напряжением в диапазоне от 7 до 12В.

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

- VIN. Напряжение, поступающее в Ардуино непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера;

- 5V. На этот вывод поступает напряжение 5В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (от 7 до 12В), от USB (5В) или через вывод VIN (от 7 до 12В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя;

- 3V3. 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный ток, потребляемый от этого вывода, составляет 50 мА;

- GND. Выводы земли;

- IOREF. Этот вывод предоставляет платам расширения информацию о рабочем напряжении микроконтроллера Ардуино. В зависимости от напряжения, считанного с вывода IOREF, плата расширения может переключиться на соответствующий источник питания либо задействовать преобразователи уровней, что позволит ей работать как с 5В, так и с 3.3В-устройствами.

Память

В микроконтроллере ATМега2560 есть 256 КБ флеш-памяти программ (из которых 8 КБ используются загрузчиком), 8 КБ памяти SRAM и 4 КБ EEPROM (для работы с этой памятью служит библиотека EEPROM).

Входы и выходы

С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 54 цифровых выводов Ардуино Мега можно настроить на работу в качестве входа или выхода. Уровень напряжения на выводах ограничен 5В. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо этого, некоторые выводы Ардуино могут выполнять дополнительные функции:

последовательный интерфейс Serial: выводы 0 (RX) и 1 (TX); Serial 1: 19 (RX) и 18 (TX); Serial 2: 17 (RX) и 16 (TX); Serial 3: 15 (RX) и 14 (TX). Данные выводы используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Выводы 0 и 1 также соединены с соответствующими выводами микросхемы ATМега16U2, выполняющей роль преобразователя USB-UART;

внешние прерывания: выводы 2 (прерывание 0), 3 (прерывание 1), 18 (прерывание 5), 19 (прерывание 4), 20 (прерывание 3) и 21 (прерывание 2). Эти выводы могут использоваться в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, при фронте, спаде или изменении сигнала. Для получения дополнительной информации см. функцию attachInterrupt();

ШИМ: выводы 2 - 13 и 44 - 46. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала;

интерфейс SPI: выводы 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). С применением библиотеки SPI данные выводы позволяют осуществлять связь по интерфейсу SPI. Линии SPI также выведены на разъем ICSP, совместимый с Ардуино Uno, Duemilanove и Diecimila;

светодиод: 13. Встроенный светодиод, подсоединенный к выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW - выключается;

TWI: выводы 20 (SDA) и 21 (SCL). С использованием библиотеки Wire данные выводы позволяют осуществлять связь по интерфейсу TWI. Обратите внимание, что расположение этих выводов отличается от Ардуино Duemilanove и Diecimila.

В Ардуино Мега 2560 есть 16 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). По умолчанию, измерение напряжения осуществляется относительно диапазона от 0 до 5 В. Тем не менее, верхнюю границу этого диапазона можно изменить, используя вывод AREF и функцию analogReference().

Помимо перечисленных на плате существует еще несколько выводов:

AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference();

Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения.

Связь

Ардуино Мега 2560 предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. В ATМега2560 есть четыре аппаратных приемопередатчика UART для реализации последовательных интерфейсов (c логическим уровнем TTL 5В). Микроконтроллер ATМега16U2 (или ATМега8U2 на платах версии R1 и R2) обеспечивает связь одного из приемопередатчиков с USB-портом компьютера, и при подключении к ПК позволяет Ардуино определяться как виртуальный COM-порт (для этого операционной системе Windows потребуется соответствующий .inf-файл, в отличие от OSX и Linux, где распознавание платы в качестве COM-порта происходит автоматически). В пакет программного обеспечения Ардуино входит специальная программа SerialMonitor, позволяющая считывать и отправлять на Ардуино простые текстовые данные. При передаче данных через микросхему ATМега8U2/ATМега16U2 во время USB-соединения с компьютером, на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1, без использования USB-преобразователя, данные светодиоды не задействуются).

Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Мега2560.

В микроконтроллере ATМега2560 также реализована аппаратная поддержка последовательных интерфейсов TWI и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной TWI; для получения более подробной информации см. библиотеку Wire. Для работы с интерфейсом SPI используйте библиотеку SPI.

Автоматический сброс

Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Ардуино Мега 2560 спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов ATМега8U2, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATМега2560 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Ардуино. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR.

Однако эта система может приводить и к другим последствиям. При подключении Мега 2560 к компьютерам, работающим на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Ардуино Мега2560 активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Ардуино, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Ардуино, осуществляет отправку спустя секунду после установки соединения.

На плате Мега 2560 существует дорожка (отмеченная как «RESET-EN»), разомкнув которую, можно отключить автоматический сброс микроконтроллера. Для повторного восстановления функции автоматического сброса необходимо спаять между собой выводы, расположенные по краям этой дорожки. Автоматический сброс также можно выключить, подключив резистор номиналом 110 Ом между выводом RESET и 5В; для получения более подробной информации см. соответствующую ветку форума.

Защита USB от перегрузок

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

Совместимость с платами расширения

Максимальная длина и ширина печатной платы Мега2560 составляет 10.2 см и 5.4 см соответственно, с учетом разъема USB и разъема питания, выступающих за пределы платы. Три крепежных отверстия позволяют прикреплять плату к поверхности или корпусу. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 не кратно традиционным 2.54 мм и составляет 4 мм.

Ардуино Мега2560 спроектирован таким образом, чтобы быть совместимым с большинством плат расширения для Ардуино Uno, Diecimila и Duemilanove. Для этого цифровые выводы 0 - 13 (а также смежные с ними выводы AREF и GND), аналоговые входы 0 - 5, разъем питания и ICSP-разъем на всех платах расположены одинаково. Кроме того, в перечисленных устройствах линии основного приемопередатчика UART соединены с одними и теми же выводами (0 и 1), как и линии внешних прерываний 0 и 1 (выводы 2 и 3 соответственно).

1.4 Программирование

Ардуино Мега программируется с помощью программного обеспечения Ардуино.

ATМега2560 в Ардуино Мега выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500.

Тем не менее, микроконтроллер можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик.

Язык программирования устройств Ардуино основан на C/C++. Он прост в освоении, и на данный момент Ардуино - это, пожалуй, самый удобный способ программирования устройств на микроконтроллерах.

Язык Ардуино можно разделить на три раздела:

- операторы;

- данные;

- функции.

1.5 Среда разработки

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

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

Блокнот

Средой Ардуино используется принцип блокнота: стандартное место для хранения программ (скетчей). Скетчи из блокнота открываются через меню File > Sketchbook или кнопкой Open на панели инструментов. При первом запуске программы Ардуино автоматически создается директория для блокнота. Расположение блокнота меняется через диалоговое окно Preferences.

Закладки, файлы и компиляция

Позволяют работать с несколькими файлами скетчей (каждый открывается в отдельной закладке). Файлы кода могут быть стандартными Ардуино (без расширения), файлами С (расширение *.с), файлами С++ (*.срр) или головными файлами (.h).

Загрузка скетча в Ардуино

Перед загрузкой скетча требуется задать необходимые параметры в меню Tools > Board и Tools > Serial Port. Платформы описываются далее по тексту. В ОС Mac последовательный порт может обозначаться как dev/tty.usbserial-1B1 (для платы USB) или /dev/tty.USA19QW1b1P1.1 (для платы последовательной шины, подключенной через адаптер Keyspan -to-Serial). В ОС Windows порты могут обозначаться как COM1 или COM2 (для платы последовательной шины) или COM4, COM5, COM7 и выше (для платы USB). Определение порта USB производится в поле Последовательной шины USB Диспетчера устройств Windows. В ОС Linux порты могут обозначаться как /dev/ttyUSB0, /dev/ttyUSB1.

После выбора порта и платформы необходимо нажать кнопку загрузки на панели инструментов или выбрать пункт меню File > Upload to I/O Board. Современные платформы Ардуино перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса будут мигать светодиоды RX и TX. Среда разработки Ардуино выведет сообщение об окончании загрузки или об ошибках.

При загрузке скетча используется Загрузчик (Bootloader) Ардуино, небольшая программа, загружаемая в микроконтроллер на плате. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Загрузчик (Bootloader) активен в течении нескольких секунд при перезагрузке платформы и при загрузке любого из скетчей в микроконтроллер. Работа Загрузчика (Bootloader) распознается по миганию светодиода (13 пин) (напр.: при перезагрузке платы).

Библиотеки

Библиотеки добавляют дополнительную функциональность скетчам, например, при работе с аппаратной частью или при обработке данных. Для использования библиотеки необходимо выбрать меню Sketch > Import Library. Одна или несколько директив #include будут размещены в начале кода скетча с последующей компиляцией библиотек и вместе со скетчем. Загрузка библиотек требует дополнительного места в памяти Ардуино. Неиспользуемые библиотеки можно удалить из скетча убрав директиву #include.

На Ардуино.cc имеется список библиотек. Некоторые библиотеки включены в среду разработки Ардуино. Другие могут быть загружены с различных ресурсов. Для установки скачанных библиотек необходимо создать директорию «libraries» в папке блокнота и затем распаковать архив. Например, для установки библиотеки DateTime ее файлы должны находится в подпапке /libraries/DateTime папки блокнота.

1.6 Датчики

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

Датчик освещенности

Модуль расширения с датчиком освещенности на базе фоторезистора GL5528. Сопротивление фоторезистора уменьшается, когда интенсивность света окружающей среды увеличивается. LM358 используется в качестве повторителя, что позволяет получать более точные данные. На рисунке 1.4 представлен датчик освещенности.

Рисунок 1.4 Датчик освещенности

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

Простой в использовании датчик движения реагирующий на изменение теплового излучения. С помощью двух потенциометров расположенных на модули, можно регулировать время реакции от 0.3 до 25 секунд и диапазон до 6 метров. Характеристики:

- Grove совместимый интерфейс;

- диапазон напряжения: 3 ~ 5 В;

- 20 * 40 мм.;

- угол обзора: 120°;

- покрываемое расстояния: не более 6 м.

На рисунке 1.5 представлен датчик движения.

Рисунок 1.5 - Датчик движения

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

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

- Grove совместимый интерфейс;

- температура: от 0 до 50 °C (±2°C);

- влажность: от 20 до 90 % (±5%);

- цифровой интерфейс;

- 5 В. питание (VCC);

- 24 * 44 мм.

На рисунке 1.6 представлен датчик влажности и температуры.

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

1.7 Дисплей

Для управления системой, задания определенных параметров и контроля состояния системы используется сенсорный дисплей ITDB02-5.0. Сенсорный дисплей с 40-пиновым интерфейсом для Ардуино и AVR микроконтроллеров. Модуль включает в себя разъем для SD-карты.

Особенности:

- плоский дизайн;

- сенсорный дисплей;

- 8 и 16 битовый режим передачи данных;

- управляющий контроллер SSD1963;

- цвета 65 тыс.;

- подсветка светодиодная;

- слот для SD карты;

- рабочее напряжение 3,3 - 5 В.;

- Ардуино совместимость;

- ITDB02 LCD Shield совместимость;

- размер 11.75 Ч 8.93 см.

На рисунке 1.7 представлен дисплей.

Рисунок 1.7 - Сенсорный дисплей ITDB02-5.0

1.8 Блок реле

SainSmart 8 channel Signal Relay Module Board,For Ардуино МЕГА 2560 R3 1280 - 8ми-канальный релейный электронный модуль для управления внешними устройствами через АРДУИНО контроллер .

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

Параметры:

- определение интерфейса;

- LED индикатор для каждого реле;

- FR-4 стекловолокно печатной платы (Double Layer);

- толщина печатной платы: 1,6 мм;

- размер: 103 х 51 х 16 мм;

- питание: 5В постоянного тока / 70 мА.

Входной сигнал управления напряжение:

- от 0В до 0,5В состояние (реле выключено);

- от 0.5В до 2.5В (неизвестное состояние);

- от 2.5В до 5В состояние (реле включено).

Входной сигнал управления высокое состояние ток:

- 2.5В: 0,1 мА;

- 3.3В: 0.18мA;

- 5В: 0.35мА.

Катушка:

- напряжение - 5В постоянного тока;

- ток - 8.3мА;

- сопротивление - 2880 Ом + -10%;

- емкость - 125 В AC / 1A, 30 В постоянного тока / 2 А.

На рисунке 1.8 изображен блок реле.

Рисунок 1.8 - Блок реле

1.9 Блок питания

Импульсный БП мощностью 15 Вт (12В), корпус для монтажа на шасси, механическая подстройка выходного напряжения: ± 10%, защита от короткого замыкания, перегрузки и по напряжению, габариты: 79x51x28 мм.

Блок питания NES-15-12 производства Mean Well - это экономичная модель импульсного источника тока, предназначенная для использования в системах охранного видеонаблюдения, контроля доступа или других системах, где есть необходимость в высококачественных и надежных компонентах системы электропитания.

Параметры:

- клеммная колодка для быстрого подключения;

- перфорированный корпус для лучшего охлаждения;

- регулировка выходного напряжения (механическая);

- защита от перегрева (автоматическое восстановление);

- защита от перегрузки (автоматическое восстановление);

- защита от перенапряжения (автоматическое отключение);

- защита от КЗ (короткого замыкания) по выходным цепям.

Характеристики:

- пусковой ток - «холодный старт» 45 A / 230 В AC;

- номинальное напряжение выхода - 12 В;

- регулировка напряжения в диапазоне - от 10.8 до 13.2 В;

- сила тока на выходе - 1.3 А;

- диапазон силы тока - от 0 до 1.3 А;

- мощность - 15.6 Вт;

- КПД: 81%;

- подключение - 1-фазное, универсальный AC вход;

- номинальное напряжение входа - 230 В;

- допустимое напряжение входа - от 85 до 264 В;

- допустимая частота переменного тока - от 47 до 63 Гц;

- уровень пульсаций (размах): 150мВ;

- электрическая прочность изоляции - «вход-выход» 3000В, «вход-земля» 1500В;

- испытан на вибростенде при перегрузках в 2G c частотой от 10 до 500 Гц;

- рабочие температуры - от -20 до 60° С;

- габариты - 79х51х28 мм;

- вес - 0.18 кг.

1.10 Модуль DS1302

Часы реального времени - электронная схема, предназначенная для учета времени, даты, дня недели и др. В общем-то RTC (real time clock - часы реального времени) могут быть реализованы и без специализированных устройств, но использование отдельной микросхемы позволяет добиться более низкого энергопотребления, освободить ресурсы процессора для решения других задач и добиться более высокой точности.

Рисунок 1.9 - Модуль DS1302

Характеристики:

- cчитает секунды, минуты, часы, день недели, день месяца, месяц, год с учетом високосных лет до 2100года;

- отображение времени в 12 или 24 часовом видах с отображением AM или PM;

- питание может находится в диапазоне от 2.0 до 5.5В;

- при 2В потребляет ток меньше 300нА;

- простой 3-х проводной интерфейс;.

- рабочий диапазон температур: от -40 до+850С.

Заключение

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

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

Принято решение о разработке двух режимов управления - ручной и автоматический.

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

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

Библиографический список

автоматизация помещение микроконтроллер

1 СТП ОмГУПС-1.2-2005. Работы студенческие учебные и выпускные квалификационные: общие требования и правила оформления текстовых документов. - Омский Государственный Университет Путей Сообщения, Омск, 2005. 28 с.

2 Официальный сайт проекта Ардуино [Электронный ресурс]/ Электронные текстовые данные - Режим доступа: https://arduino.ru//

3 Официальный сайт приобретения периферии для Arduino [Электронный ресурс]/ Электронные текстовые данные - Режим доступа: http://fixled.ru/sensors//

4 Официальный сайт платформы для разработки [Электронный ресурс]/ Электронные текстовые данные - Режим доступа: http:// http://arduino.ru/Arduino_environment/

Размещено на Allbest.ru

...

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

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

    реферат [59,4 K], добавлен 18.12.2013

  • Основное программное обеспечение для автоматизации производства. Финансовые и коммуникационные системы. Системы планирования и управления. Текстовые редакторы и табличные процессоры. Финансовое программное обеспечение. Шрифтовые технологии в документах.

    шпаргалка [551,9 K], добавлен 16.08.2010

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

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

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

    презентация [481,3 K], добавлен 29.11.2012

  • Системы контроля и управления доступом: контроллерные и программные. Технические тенденции их развития. Структура и элементы систем видеонаблюдения, области их применения и программное обеспечение. Интегрированные системы безопасности, уровни интеграции.

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

  • Анализ деятельности предприятия ОАО "Уралтранснефтепродукт": структура, бизнес-процессы, функции финансового отдела. Информационные системы компании: технические средства, прикладное программное обеспечение, локальная сеть, аппаратные средства защиты.

    отчет по практике [1015,6 K], добавлен 14.06.2015

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

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

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

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

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

    реферат [44,0 K], добавлен 07.12.2011

  • Программное обеспечение — неотъемлемая часть компьютерной системы, логическое продолжение технических средств. Типология прикладного программного обеспечения. Интегрированные пакеты программ. Общая характеристика системы автоматизации проектных работ.

    курсовая работа [39,2 K], добавлен 16.01.2011

  • Аппаратные и программные средства, на базе которых возможно построение локальной сети. Локальные и глобальные сети. Одноранговые и многоранговые сети. Топологии объединения группы компьютеров в локальную сеть. Используемые технологии локальных сетей.

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

  • Характерные технические особенности контроллера ALPHA XL Mitsubishi Electric. Подключение модуля адаптера для получения сигнала с датчиков температуры. Пример разработки в программируемой среде. Преимущества программируемых контроллеров Альфа (alpha xl).

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

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

    контрольная работа [227,6 K], добавлен 01.03.2009

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

    реферат [87,7 K], добавлен 07.03.2009

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

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

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

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

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

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

  • Вычислительные системы, сети и телекоммуникации: цели и задачи обработки информации, аппаратные средства её реализации. Функции управления ЭВМ, их программные составляющие (память, интерфейс, средства обработки). Многопроцессорные вычислительные системы.

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

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

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

  • Показатели финансовой устойчивости предприятий. Программные средства, используемые в качестве инструментария поддержки финансовых решений. СУБД-системы управления. Автоматизированные системы управления финансово-хозяйственной деятельностью предприятий.

    презентация [122,2 K], добавлен 27.12.2014

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