Создание ошейника для домашних животных с GPS-навигацией на платформе Arduino
Анализ GPS-навигаторов для животных. Использование плат и среды программирования Arduino для разработки ошейника с GPS-навигатором для отслеживания маршрута, проделанного животным, и уведомления об этом пользователя. Выбор модели микроконтроллера.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.10.2015 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Курсовая работа
по специальности 230113 "Компьютерные системы и комплексы"
Содержание
- Введение
- 1. Теоретическая часть
- 2.1 Применение устройства
- 2.2 Анализ доступных на рынке GPS навигаторов для животных
- 2.3 Использование плат и среды программирования Arduino
- 2.4 Использование микроконтроллеров
- 2.5 Классификация и структура микроконтроллеров
- 2.6 Структура процессорного ядра микроконтроллера
- 2.7 Преимущества миниатюрной платы Tiny Duino
- 2.8 Принцип действия GPS
- 3. Практическая часть
- 3.1 Необходимые платы для создания устройства
- 3.2 Подключение элементов
- 3.3 Подключение тестового образца к компьютеру
- 3.5 Тестирования устройства
- 4. Экономическая часть
- 5. Заключение
- 6. Список литературы
Введение
GPS - аббревиатура от английского Global Positioning System, проект был реализован и принадлежит военному ведомству США и первоначально задумывался только для военных целей. Основной задачей проекта является высокоточное позиционирование различных подвижных и статических объектов на местности. Основой системы являются 24 NAVSTAR База слежения за спутниками. (Navigation Satellite Timeand Ranging) спутника работающих в единой сети, находящихся на шести разных круговых орбитах расположенных под углом 60° друг к другу, таким образом, чтобы из любой точки земной поверхности были видны от четырех до двенадцати таких спутников. На каждой орбите находится по 4 спутника, высота орбит примерно равна 20200 км, а период обращения каждого спутника вокруг земли 12 часов. Система не полностью автономна, ее работоспособность контролируется станциями наблюдения с Земли.
Спутниковая Система Навигации (GPS) является американской системой, основанной на радионавигации местности, которая обеспечивает надежное расположение, навигацию, и выбор времени услуг гражданским пользователям на непрерывной международной основе - свободный доступ для всех. Для любого человека, имеющего приемник GPS, система обеспечит возможность определения местоположения и времени. GPS обеспечивает информацией относительно точного местоположения и любую информацию о времени для неограниченного количества людей независимо от погоды, времени суток, и в любом месте на планете.
Современные навигаторы отличаются от приборов прошлых лет. Когда-то помехой устройствам подобного рода могли быть, например, листья деревьев или же какие-нибудь иные, "несложные", преграды. Теперь инновационные приборы работают практически в любых условиях и им не мешают ни горы, ни городские сооружения, ни лесные массивы.
Для радионавигации у человека есть множество различных приборов и устройств позволяющих быстро и без особых проблем определять маршрут и пройденную дистанцию, но бывают ситуации когда человеку необходимо узнать о пройденном маршруте своего любимого домашнего питомца, например кота и от этого напрямую зависит жизнь животного.
Проанализировав рынок устройств GPS навигации было обнаружено что на нем практически нет устройств которые по доступной цене помогут в отслеживании маршрута передвижения домашнего любимца. В связи с проведенным анализом было принято решение о создании специального ошейника с GPS навигацией на платформе Arduino. Данная платформа была выбрана из-за низкой стоимости плат, высокой совместимости с различными ОС, простой и понятной системой программирования, аппаратной возможностью расширения и открытыми принципиальными схемами - микроконтроллеры ATMEGA8 и ATMEGA168 являются основой Arduino.
Целью данной дипломной работы будет создание ошейника для домашних животных с GPS навигацией на платформе Arduino, который позволит отслеживать маршрут проделанный животным и уведомить об этом пользователя при помощи считывания информации с microSDкарточки. В случае необходимости это поможет уберечь его от смертельной опасности.
В процессе достижения поставленной цели дипломной работы, решаются следующие задачи:
анализ технологии gps навигации;
выбор модели микроконтроллера Arduino;
выбор радиоэлементов и создание макетной платы;
написание программного кода для микроконтроллера,
создание экономически выгодного устройства на основе Arduino, которое будет обладать низкой себестоимостью благодаря открытой и доступной платформе и большими возможностями для модификаций.
1. Теоретическая часть
2.1 Применение устройства
В наше время забота о домашнем любимце бывает очень не простой, в условиях большого количества автомобилей, вредных соседей и прочих неприятностей. Данное устройство поможет хозяину животного, отслеживать маршрут передвижения и позволит решить стоит ли отпускать на улицу, в этот опасный мир, вашего пушистого зверька. Также при необоснованных претензиях вы сможете доказать что ваше животное не совершало то, в чем его обвиняют.
Данное устройство также может быть преобразовано например в GPS навигатор для велосипеда или автомобиля а значит оно может подойти широкому кругу пользователей.
2.2 Анализ доступных на рынке GPS навигаторов для животных
Проведя анализ доступных решений на рынке GPS навигаторов для домашних животных был сделан вывод о том что в данный момент на рынке присутствует монопольный производитель под названием "Где Мои", контролирующий порядка 80 процентов рынка подобных устройств. Для того чтобы продемонстрировать преимущество созданного проекта на базе Arduino был проведен обзор продукции компании "Где Мои".
1) X-Pet #1 весом всего 35 г, легко закрепить на ошейник даже небольшой собаки или кошки (от 7 кг). Конструктивно состоит из двух частей: на ошейнике постоянно находится крепление, на которое перед прогулкой легко устанавливается само устройство. Это обеспечивает удобную зарядку, которой хватает на несколько суток. Он автоматически обновляет местонахождение и настраивается пользователем дистанционно.
навигация ошейник микроконтроллер платформа
Благодаря сенсору движения заряд аккумулятора емкостью 500 mAh не расходуется, если устройство снято или животное спит. Кроме того, о низком заряде аккумулятора пользователь предупреждается заранее.
Среднее время автономной работы в состоянии постоянного движения: в режиме LBS - до 50 часов, в режиме GPS - до 15 часов. Время зависит от уровня радиосигналов и уличной температуры. Цена данного решения 5000 рублей.
2) X-Pet #2 - маленький маячок весом 60 г, который подойдет для собак от 16 кг и удобен для использования как в городе, так и за городом. В том числе эта модель подойдет для охотничьих собак, за исключением норных пород.
Также маячок X-Pet #2 можно использовать для животных, имеющих хозяйственное значение: овец, коров, лошадей, когда достаточно автономной работы на протяжении 5-7 дней.
Защищенный от воды и грязи маячок (IP65) крепится на ошейник с использованием чехла, поставляемого в комплекте.
Маячок имеет два режима слежения, которые можно переключать дистанционно. Цена решения 7100 рублей.
3) PET Tracker MPS-340 B. Устройство обладает надежной GPS-связью и наличием специальных программ для IPhone и Android, которые позволят быть в курсе передвижений вашего питомца. Обладает множеством дополнительных функций, вроде сигнала "SOS" или запоминания маршрутов, делают GPS-ошейник еще более практичным. Цена решения 5000 рублей.
В результате обзора можно сделать вывод о том что представленные на рынке устройства очень дороги для большинства покупателей, т.к. по данным Федеральной службы государственной статистики, в 2015 году средняя заработная плата составляет всего 30 тысяч рублей. Из чего следует что покупка подобных устройств финансово невыгодна.
Однако устройство GPS созданное на базе Arduino значительно превосходит конкурентов в ценовой политике и обойдется пользователю в 3000 - 3500 рублей, при этом данное устройство обладает широкой гибкостью в модернизации. Это означает что при желании пользователь сможет самостоятельно установить более объемную батарею или поставить дополнительные платы Arduino позволяющие расширить функционал устройства.
2.3 Использование плат и среды программирования Arduino
Свою бешеную популярность Arduino приобрела благодаря простоте и дружелюбности. Этому способствуют тысячи публикаций, учебников, заметок в интернете и различных печатных и видео пособий по работе.
Программы для Arduino пишутся на обычном C++, дополненным простыми и понятными функциями для управления вводом/выводом на контактах. Для удобства работы с Arduino существует бесплатная официальная среда программирования "Arduino IDE", работающая под Windows, Mac OS и Linux. С помощью неё загрузка новой программы в Arduino не составит труда, для этого нужно лишь подключить плату к компьютеру через USB [2].
Для создания нужных устройств не нужно специальное оборудование. Полноценные устройства можно собирать, используя специальную макетную доску, перемычки и провода.
Ещё одной отличительной особенностью Arduino является наличие плат расширения, так называемых shields или просто "шилдов". Это дополнительные платы, которые ставятся подобно слоям бутерброда поверх Arduino, чтобы дать ему новые возможности. Так например, существуют платы расширения для подключения к локальной сети и интернету, для управления мощными моторами для получения координат и времени со спутников GPS и многие другие.
2.4 Использование микроконтроллеров
Микроконтроллер (рис 2.1) - компьютер на одной микросхеме. Предназначен для управления различными электронными устройствами и осуществления взаимодействия между ними в соответствии с заложенной в микроконтроллер программой. В отличие от микропроцессоров, используемых в персональных компьютерах, микроконтроллеры содержат встроенные дополнительные устройства. Эти устройства выполняют свои задачи под управлением микропроцессорного ядра микроконтроллера [9].
В отличие от микроконтроллера контроллером обычно называют плату, построенную на основе микроконтроллера, но достаточно часто при использовании понятия "микроконтроллер" применяют сокращенное название этого устройства, отбрасывая приставку "микро" для простоты. Также при упоминании микроконтроллеров можно встретить слова "чип" или "микрочип", "кристалл" (большинство микроконтроллеров изготавливают на едином кристалле кремния), сокращения МК или от английского microcontroller - MC.
Микроконтроллеры можно встретить в огромном количестве современных промышленных и бытовых приборов: станках, автомобилях, телефонах, телевизорах, холодильниках, стиральных машинах и даже современных кофеварках. Среди производителей микроконтроллеров можно назвать Intel, Motorola, Hitachi, Microchip, Atmel, Philips, Texas Instruments, InfineonTechnologies (бывшая Siemens Semiconductor Group) и многих других.
Рисунок 2.1 Стандартный микроконтроллер
2.5 Классификация и структура микроконтроллеров
В настоящее время выпускается целый ряд типов МК. Все эти приборы можно условно разделить на три основных класса:
§ 8-разрядные МК для встраиваемых приложений;
§ 16 - и 32-разрядные МК;
§ цифровые сигнальные процессоры (DSP).
Наиболее распространенным представителем семейства МК являются 8-разрядные приборы, широко используемые в промышленности, бытовой и компьютерной технике. Они прошли в своем развитии путь от простейших приборов с относительно слаборазвитой периферией до современных многофункциональных контроллеров, обеспечивающих реализацию сложных алгоритмов управления в реальном масштабе времени. Причиной жизнеспособности 8-разрядных МК является использование их для управления реальными объектами, где применяются, в основном, алгоритмы с преобладанием логических операций, скорость обработки которых практически не зависит от разрядности процессора.
Росту популярности 8-разрядных МК способствует постоянное расширение номенклатуры изделий. Современные 8-разрядные МК обладают, как правило, рядом отличительных признаков. Перечислим основные из них:
§ модульная организация, при которой на базе одного процессорного ядра (центрального процессора) проектируется ряд (линейка) МК, различающихся объемом и типом памяти программ, объемом памяти данных, набором периферийных модулей, частотой синхронизации;
§ использование закрытой архитектуры МК, которая характеризуется отсутствием линий магистралей адреса и данных на выводах корпуса МК. Таким образом, МК представляет собой законченную систему обработки данных, наращивание возможностей которой с использованием параллельных магистралей адреса и данных не предполагается;
§ использование типовых функциональных периферийных модулей (таймеры, процессоры событий, контроллеры последовательных интерфейсов, аналого-цифровые преобразователи и др.), имеющих незначительные отличия в алгоритмах работы в МК различных производителей;
§ расширение числа режимов работы периферийных модулей, которые задаются в процессе инициализации регистров специальных функций МК.
При модульном принципе построения все МК одного семейства содержат процессорное ядро, одинаковое для всех МК данного семейства, и изменяемый функциональный блок, который отличает МК разных моделей. Процессорное ядро включает в себя:
§ центральный процессор;
§ внутреннюю контроллерную магистраль (ВКМ) в составе шин адреса, данных и управления;
§ схему синхронизации МК;
§ схему управления режимами работы МК, включая поддержку режимов пониженного энергопотребления, начального запуска (сброса) и т.д.
Изменяемый функциональный блок включает в себя модули памяти различного типа и объема, порты ввода/вывода, модули тактовых генераторов (Г), таймеры. В относительно простых МК модуль обработки прерываний входит в состав процессорного ядра. В более сложных МК он представляет собой отдельный модуль с развитыми важными возможностями. В состав изменяемого функционального блока могут входить и такие дополнительные модули как компараторы напряжения, аналого-цифровые преобразователи (АЦП) и другие. Каждый модуль проектируется для работы в составе МК с учетом протокола ВКМ. Данный подход позволяет создавать разнообразные по структуре МК в пределах одного семейства.
2.6 Структура процессорного ядра микроконтроллера
Самыми главными и определяющими характеристиками, производительности процессорного ядра МК, являются:
§ набор регистров для хранения промежуточных данных;
§ система команд процессора;
§ способы адресации операндов в пространстве памяти;
§ организация процессов выборки и исполнения команды.
С точки зрения системы команд и способов адресации операндов процессорное ядро современных 8-разрядных МК реализует один из двух принципов построения процессоров:
§ процессоры с CISC-архитектурой, реализующие так называемую полную систему команд (Complicated Instruction Set Computer);
§ процессоры с RISC-архитектурой, реализующие сокращенную систему команд (Reduced Instruction Set Computer).
CISC-процессоры выполняют большой набор команд с развитыми возможностями адресации, давая разработчику возможность выбрать наиболее подходящую команду для выполнения необходимой операции. В применении к 8-разрядным МК процессор с CISC-архитектурой может иметь однобайтовый, двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд. Время выполнения команды может составлять от 1 до 12 циклов. К МК с CISC-архитектурой относятся МК фирмы Intel с ядром MCS-51, которые поддерживаются в настоящее время целым рядом производителей, МК семейств НС05, НС08 и НС11 фирмы Motorola и ряд других. [12]
В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации. Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К МК с RISC-процессором относятся МК AVR фирмы Atmel, МК PIC16 и PIC17 фирмы Microchip и другие.
На первый взгляд, МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. Однако на практике вопрос о производительности более сложен и неоднозначен.
С точки зрения организации процессов выборки и исполнения команды в современных 8-разрядных МК применяется одна из двух уже упоминавшихся архитектур МПС: фон-неймановская (принстонская) или гарвардская.
Основное преимущество архитектуры Фон-Неймана - упрощение устройства МПС, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. Неслучайно поэтому фон-неймановская архитектура стала основной архитектурой универсальных компьютеров, включая персональные компьютеры.
Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители МК не поняли, что она дает определенные преимущества разработчикам автономных систем управления.
Дело в том, что, судя по опыту использования МПС для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества фон-неймановской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации операндов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных.
Кроме того, гарвардская архитектура обеспечивает потенциально более высокую скорость выполнения программы по сравнению с фон-неймановской за счет возможности реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполнением предыдущей, и нет необходимости останавливать процессор на время выборки команды. Этот метод реализации операций позволяет обеспечивать выполнение различных команд за одинаковое число тактов, что дает возможность более просто определить время выполнения циклов и критичных участков программы.
Большинство производителей современных 8-разрядных МК используют гарвардскую архитектуру. Однако гарвардская архитектура является недостаточно гибкой для реализации некоторых программных процедур. Поэтому сравнение МК, выполненных по разным архитектурам, следует проводить применительно к конкретному приложению.
В настоящее время наиболее яркими представителями из компаний микроконтроллеров SISC и RISC, имеющих соответственно фон-неймановскую и гарвардскую архитектуры являются микроконтроллеры i8051 и AVR - микроконтроллеры фирмы Atmel, которые по ряду характеристик превзошли очень известные PIC - микроконтроллеры.
2.7 Преимущества миниатюрной платы Tiny Duino
Кен Бернс - хакер со своим сообществом разработали более дешевый аналог популярного микроконтроллера Arduino, который был назван не иначе как TinyDuino.
Микроконтроллер с открытым исходным кодом - Arduino успешно используется во множестве проектов по всему миру, успех этой платы заставил Кена Бернса разработать более дешевую альтернативу Arduino, в итоге получив более миниатюрное устройство TinyDuino, которое несмотря на уменьшение не потеряло свою гибкость и производительность.
Сообщество TinyCircuits фактически предлагает две модели: TinyDuino и TinyLilyMini которые могут предоставить широкий спектр возможностей. Первая основана на ArduinoUno. Размер микроконтроллера составляет всего 20 х 20 мм. Модель может похвастаться поддержкой плат TinyShields, которые могут содержать такие модули, как Bluetooth и Wi-Fi. Также за счет них можно расширить функциональность, также подключив поддержку USB, чтение датчиков или множество других возможностей.
Вторая же модель TinyLilyMini, еще меньше первой, она основана на ArduinoLilyPad. Размеры устрйоства составляют 14 мм в диаметре. Но TinyLily Мини не поддерживает TinyShields, но имеет встроенный USB-адаптер, светодиодную панель и контрольную систему. Интересно, что TinyLily можно стирать и пришивать к одежде, что позволяет его использовать для электроники в текстильных изделиях.
Обе платы подключаются к компьютеру и программируются за счет интегрированной средой разработки Arduino IDE. Проект TinyDuino достиг своей цели на Kickstarter, собрав $10 000.
2.8 Принцип действия GPS
Возможность определять координаты вне зависимости от капризов природы и времени суток появилась с началом освоения космоса. Днем рождения спутниковой навигации принято считать 4 октября 1957 года, когда был запущен первый искусственный спутник Земли. Однако лишь в конце 70-х годов была создана первая спутниковая радионавигационная система (СРНС), которая позволяла определить координаты объекта при помощи радиосигналов, передаваемых со спутника.
СРНС применяются для определения положения и ориентации сухопутных, воздушных и морских подвижных объектов. При строительстве туннеля под Ла-Маншем строители начали копать с противоположных сторон, сопоставляя свои местоположения при помощи СРНС NAVSTAR (GPS), что, в результате, позволило им встретиться ровно посередине. Системы навигации используются геодезистами, спасателями, работают на баллистических ракетах. Не первый год за рубежом в комплектацию некоторых моделей автомобилей входит приемник GPS-сигналов (рис 2.2.) При ввозе автомобилей в Россию приемники отключаются - этого требует наше законодательство.
Рисунок 2.2 Схема работы GPS
Основными требованиями, которые предъявляются к СРНС, являются точность определения координат и времени и возможность получать навигационную информацию в любой момент. СРНС первого поколения - "Транзит" в США и "Цикада" в СССР - этим требованиям не удовлетворяли: во-первых, длительные перерывы между сеансами навигации (до 30 минут в приполярных районах и до 2 часов в экваториальных) не позволяли пользователю определять свое местоположение, когда захочется. Во-вторых, погрешность определения горизонтальных координат подвижного объекта была довольно большой - от 10 до 100 м. Кроме того, СРНС первого поколения не давали информации о высоте и скорости объекта.
В СРНС второго поколения был внесен ряд изменений. Проблема точности и оперативности определения координат была решена за счет увеличения количества спутников в системе. [2]
Чтобы пользователь мог в любой момент узнать свое местоположение и время, необходимо было обеспечить одновременную радиовидимость как минимум четырех спутников, расположенных определенным образом.
Для решения этой задачи достаточно, чтобы на орбите находилось 18 спутников, однако было решено использовать 24 - для повышения точности определения координат самих спутников.
Принцип работы систем спутниковой навигации таков. Приемник навигационных сигналов измеряет задержку распространения сигнала от каждого из видимых спутников до приемника. Задержка сигнала, умноженная на скорость света, - это расстояние от спутника в момент излучения до приемника в момент приема. Из принятого сигнала приемник получает информацию о положении спутника.
Геометрически работу спутниковой навигационной системы можно продемонстрировать следующим образом: пользователь находится в точке пересечения нескольких сфер, центрами которых являются видимые спутники. Радиусы сфер равны дальности до каждого из спутников. Для определения широты и долготы приемнику необходимо принимать сигналы как минимум от трех спутников; прием сигнала от четвертого спутника позволяет определить и высоту объекта над поверхностью. Эти данные позволяют найти координаты пользователя, решив некоторую систему уравнений. При определении координат объекта возникают ошибки, связанные с влиянием ионосферы, температуры воздуха, атмосферного давления и влажности (каждый фактор вносит погрешность до 30 м). Эфемероидная погрешность (разница между расчетным и реальным положением спутника) составляет от 1 до 5 м; интерференция тоже вносит свой вклад. Суммарная ошибка может достигать 100 м. [3]
Для уменьшения погрешностей используется так называемый дифференциальный режим GPS (Differential GPS). В этом режиме приемник пользователя получает поправки к своим координатам от базовой станции. Обычно поправки передаются в реальном времени по радиоканалу. В результате точность определения координат достигает 1-5 м. Новым классом систем относительной навигации являются системы, обеспечивающие (в реальном времени) точность местоопределения порядка 1 см. Суть технологии такова: опорная станция и приемник пользователя получают сигналы от спутников. Затем опорная станция посылает результаты измерения фазы и псевдодальности всех видимых спутников на приемник пользователя. В результате обработки на приемнике относительные координаты определяются с точностью до 1 см в реальном времени с надежностью 0,999.
На сегодняшний день существует две крупные спутниковые радионавигационные системы: NAVSTAR и ГЛОНАСС.
3. Практическая часть
3.1 Необходимые платы для создания устройства
Для создания полноценного устройства, необходимо произвести перечень задействованных плат и элементов с их подробным описанием.
Для создания макетного устройства были использованы следующие платы.
Arduino Uno (рис 3.1.) контроллер построен на ATmega328. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи.
В отличие от всех предыдущих плат, использовавших FTDI USB микроконтроллер для связи по USB, новый Ардуино Uno использует микроконтроллер ATmega8U2.
Рисунок 3.1 Arduino Uno
Жизненно важный компонент устройства это GPS модуль (рис 3.2.). Для начала нужно разобраться с работой GPS. Выбранный модуль - один из самых дешевых и простых. Тем не менее, производитель обещает наличие батарейки для сохранения данных о спутниках. По описанию, холодный старт должен занимать 36 секунд, однако, в реальных условиях эксплуатации это заняло около 20 минут. Следующий старт, однако, уже 2 минуты.
Важный параметр устройств, подключаемых к плате Arduino - энергопотребление. Если перегрузить преобразователь платы, она может сгореть. Для используемого приемника максимальное энергопотребление - 45mA @ 3.3v. Arduino Uno должна полностью выдержать напряжение.
Рисунок 3.2 GPS SkyLab SKM53
Arduino GPRS Shield SIM900 от Seeed Studio (рис 3.3) - это плата расширения, позволяющая Arduino работать в сетях сотовой связи по технологиям GSM/GPRS для приёма и передачи данных, SMS и голосовой связи.
Плата построена на базе модуля SIM Com SIM900. Также на ней расположены: слот для SIM-карты, стандартные 3,5 мм джек для аудио-входа и выхода и разъём для внешней антенны.
Рисунок 3.3 GPRS SIM900
Общение с платой производится через serial-соединение с помощью набора AT-команд. AT commands - язык инструкций, изначально разработанный для управления настройками модемов, однако оказался настолько удобным, что было выпущено несколько стандартов для мобильных устройств. AT - это просто текстовый протокол, в котором в качестве префикса отдельной команды используется строка AT (от англ. attention), а название и параметры следуют далее так же в текстовом виде. Набор допустимых команд и их параметры описываются стандартом, который поддерживает конкретное устройство. Сейчас наиболее используемые стандарты: GSM 07.07, 07.05.
С помощью джамперов на плате возможно установить используемые для коммуникации контакты: аппаратные 0-й и 1-й или 7-й и 8-й для работы через SoftwareSerial-эмуляцию. По этому каналу в итоге и будут пересылаться AT-команды.
Соединительные кабели (рис 3.4) понадобятся в создании этого проекта для налаживания связи между платами устройства.
Рисунок 3.4 Соединительные кабели
3.2 Подключение элементов
GPS не управляемый, хотя и имеет RX пин. Для чего - неизвестно. Основное, что можно делать с этим приемником - читать данные по протоколу NMEA с TX пина. Уровни - 5V, как раз для платы Arduino, скорость - 9600. Подключается VIN в VCC ардуины, GND в GND, TX в RX соответствующего serial (рис 3.5).
Рисунок 3.5 Подключение к Arduino Uno
Данные читаются с использованием библиотеки TinyGPS. Чтение происходит удачно. После перехода на Uno пришлось использовать Software Serial. Из-за особенностей строение Arduino Uno часть сообщения теряется но это не очень критично, так как TinyGPS отсекает неправильные сообщения, но это довольно неприятно т.к. о частоте в 1Гц можно забыть (рис 3.6).
Рисунок 3.6 Подключение GPS Skylab
Теперь начинается более интересная часть. GSM модуль - SIM900. Он поддерживает GSM и GPRS. Ни EDGE, ни уж тем более 3G, не поддерживаются. Для передачи данных о координатах это, вероятно, хорошо - не будет задержек и проблем при переключении между режимами, плюс GPRS сейчас есть почти везде. Однако, для каких-то более сложных приложений этого уже может не хватить. Модуль управляется также по последовательному порту, с тем же уровнем - 5V. И здесь нам уже понадобятся и RX, и TX (рис 3.7) Модуль - shield, то есть, он устанавливается на плату arduino. Причем совместим как с mega, так и с uno. Скорость по умолчанию - 115200. Собираем на Mega, и тут нас ждет первый неприятный сюрприз: TX пин модуля попадает на 7 пин меги. На 7м пину меги недоступны прерывания, а значит, придется соединить 7й пин, скажем, с 6м, на котором прерывания возможны. Таким образом, потратим один пин ардуины впустую. Ну, для меги это не очень страшно - всё-таки пинов хватает. А вот для Uno это уже сложнее (напоминаю, там всего 2 пина, поддерживающих прерывания - 2 и 3). В качестве решения этой проблемы можно предложить не устанавливать модуль на arduino, а соединить его проводами. Тогда можно использовать Serial1. После подключения пытаемся "поговорить" с модулем (не забываем его включить).
Рисунок 3.7 Подключение RX и TX
Выбираем скорость порта - 115200, при этом хорошо, если все встроенные последовательные порты (4 на mega, 1 на uno) и все программные работают на одной скорости. Так можно добиться более устойчивой передачи данных [7].
3.3 Подключение тестового образца к компьютеру
Для того чтобы работать с платой Arduino ее необходимо подключить к компьютеру. При подключении устройства к компьютеру следует иметь ввиду следующее. Arduino Uno, Mega, Duemilanove и Arduino Nano автоматически распознают источник питания - будь это USB либо внешний источник питания. Если же используется Arduino Diecimila, то перед подключением к компьютеру необходимо убедиться, что устройство настроено на питание от USB. Источник питания на этой плате выбирается джампером (небольшая пластмассовая деталь, позволяющая замкнуть между собой только два вывода из трех), подключающего цепь питания платы либо к USB, либо к разъему питания. Перед подключением Ардуино к компьютеру нужно убедиться, что джампер стоит на двух выводах, которые расположены ближе к USB-разъему. С помощью USB-кабеля нужно подключить Arduino к компьютеру. При этом должен загореться зеленый светодиод питания (отмеченный на плате как PWR).
Рисунок 3.8 Тестовый стенд
После этого необходимо установить соответствующие драйвера. В последнее время появилось много устройств с использованием микросхемы CH340G и потребность в драйверах для нее очень резко выросла. Много кто ищет где скачать и как установить драйвера для CH340G, однако при тщательном поиске в интернете найти их не составит труда. После подключения нашего устройства, мы увидим что устройство определится как USB 2.0 SERIAL, но Windows 7 не сможет установить драйвера (рис 3.9).
Рисунок 3.9 Диспетчер устройств
Скачиваем драйвер CH340G, в котором содержатся два драйвера к CH340G и CH341G.
После скачивания открывается архив (рис 3.10).
Рисунок 3.10 Архив с драйвером
И извлекается помощью архиватора содержимое в любое удобное и доступное место, после чего снова открывает диспетчер устройств и производим процедуру ручной установки драйвера (рис 3.11).
Рисунок 3.11 Ручное обновление
Одним из наиболее популярных устройств на CH340G является переходник USB-COM TTL модель BTE13-009 от китайского производителя BAITE, последние модели Arduino Uno и Mega.
После предыдущих действий нужно выбрать из контекстного меню пункт "Выполнить поиск драйверов на этом компьютере" и указываем путь до распакованного ранее драйвера (рис 3.12)
Рисунок 3.12 Путь к драйверу
После всех проделанных действий, система обнаружит контроллер arduino и для пользователя станет возможным работать с ним. Для программирования контроллера нужна специальная оболочка, программа которая позволит программировать устройство и связь между платами.
3.5 Тестирования устройства
После сборки устройства и написания кода, необходимо было спаять некоторые детали. Для этого использовался обычный паяльник и олово. После пайки, настал черед протестировать полученное устройства (рис 3.14).
Рисунок 3.14 Готовое устройство
Для наглядного испытания, готовое устройство подключил в автомобиле к 12 V и при поездке был получен трек от устройства с пройденным маршрутом (рис 3.15). Устройство работает.
Рисунок 3.15 Полученный маршрут
4. Экономическая часть
Для того чтобы эффективно осуществлять распространение продукции, руководству и разработчикам проекта необходимо знать конкретные затраты на устройство. Для того чтобы выдвинуть устройство на конкурентный рынок необходимо решить достаточно широкий круг экономических задач.
Для этого необходимо рассчитать, во сколько обойдется создание одного экземпляра готового устройства, рассчитать его себестоимость, стоимость программного обеспечения, рентабельность.
Таблица 1. Калькуляция на единицу продукции
№ Статьи |
Наименование калькуляций статей |
Сумма затрат (руб.) |
|
1 |
Основные затраты: Arduino Uno Gsm Skylab Skm53 GPRS SIM900 Кабели соединений Итого: |
300 1300 1500 50 3150 |
|
2 |
Заработная плата |
0 |
|
3 |
Программное обеспечение |
102 |
|
4 |
Себестоимость |
3252 |
|
5 |
Цена |
4500 |
|
6 |
Прибыль |
1250 |
|
7 |
Рентабельность |
0.38 |
Расчет стоимости программного обеспечения выполняется по следующей формуле
Q=q*c* (1+p);
Где:
q - число операторов (исходных команд в продукте) = 40
с - коэффициент сложности программы = 1,5
p - коэффициент коррекции программы в процессе ее
разработки = 0,7
Получается:
Q=40*1,5* (1+0,7) =102 руб.
Расчет себестоимости происходит по формуле Сп = затраты + ПО, где выходит Сп = 3150 +102 =3252 руб. Для массового производства необходимо рассчитать рентабельность и увидеть показатель экономической эффективности.
Рентабельность комплексно отражает степень эффективности использования материальных, трудовых и денежных ресурсов, а также природных богатств. Коэффициент рентабельности рассчитывается как отношение прибыли к активам, ресурсам или потокам, её формирующим. Может выражаться как в прибыли на единицу вложенных средств, так и в прибыли, которую несёт в себе каждая полученная денежная единица.
Рассчитываем Прибыль по формуле П = Ц - Сп, где получается что П = 4500 - 3252 = 1250 руб. Рассчитываем рентабельность по формуле Р = (П/Сп) *100%, где получается что Р = (1250/3252) *100% = 0.38. В результате выполнения всех расчетов, стало ясно что данный проект крайне выгоден, он заметно дешевле чем любой из присутствующих на рынке аналогов и он принесет высокую прибыль при переходе на массовое производство.
5. Заключение
В ходе дипломной роботы поставленная цель разработки удобного, недорого GPS ошейника для домашних животных, который позволял бы вычислять проделанный маршрут домашнего любимца была достигнута.
В процессе решались следующие задачи:
анализ технологии gps навигации;
выбор микроконтроллера Arduino и радиоэлементов;
сборка устройства и написание программного кода;
расчет экономической выгоды устройства на основе Arduino.
Готовое устройство прошло все необходимые испытания, в результате которых можно сказать что теоретически оно может быть запущенно в серийное производство и массово распространятся на рынке GPS навигации. После сбора и отладки проекта были проделаны экономические расчеты в результате которых стало понятно что проект оказался намного дешевле, чем немногочисленные аналоги представленные на конкурентном рынке. Если наладить производство и подключить сюда различные рекламные компании, то данное устройство будет пользоваться спросом.
Разработанная система представляет собой сложный комплекс аппаратного и программного обеспечения, с применением современных технологий и опыта программирования в среде Arduino. Полученное устройство имеет возможность модернизации при необходимых навыках пользователя, может быть добавлен дисплей и другие полезные элементы при сохранении изначальной конструкции в целом.
Подводя итог, можно сказать, что разработанная система позволит на высоком уровне отслеживать передвижения домашнего питомца а иногда и спасти его жизнь. Проведя анализ аналогичных устройств на рынке стало понятно что проект амбициозен и при должном контроле способен приносить прибыль для разработчика и спокойствие для владельцев домашних животных.
6. Список литературы
1. А.В. Кравченко.10 практических устройств на AVR-микроконтроллерах, 2014. - 340 с.
2. Бонни Бэйкер. Что нужно знать цифровому разработчику об аналоговой электронике - Додэка XXI, 2011 г.,360 с.;
3. Гололобов В. Arduino для старших курсов - М.: Москва, 2012. - 211 с.
4. Улли Соммер. Программирование микроконтроллерных плат Arduino/Freeduino. БХВ-Петербург; 2012 г., 256 стр.
5. Бригхэм Ю., Эрхардт М. Анализ финансовой отчётности // Финансовый менеджмент = Financial management. Theory and Practice. - 10-е изд. /Пер. с англ. под. ред. к. э. н. Е.А. Дорофеева. - СПб.: Питер, 2007. - С.131. - 960 с
6. Владимир Гуревич. Электрические реле. Солон-Пресс, ДМК Пресс; 2011 г.688 стр.
7. Гоноровский, И.С. Ардуино и программирования: Учебник для вузов. - 4-е изд., перераб. и доп. - М.: Программирование, 2012. - 512 с.
8. И.В. Коршуна. Современные мощные микроконтроллеры: Архитектура, средства проектирования, примеры применения, ресурсы сети Интернет. - М: Аким, 2009, - 272 с.
9. http://habrahabr.ru/ - ресурс IT специалистов
10. http://arduino.ru/ - программирование на ardiuno
11. http://arduino-projects.ru // - сбор проектов arduino
12. А. Белоус. Основы схемотники. 2012 г., 472 стр; Техномир
Размещено на Allbest.ru
Подобные документы
Представление о системе Arduino. Структура платформы Android. Выбор средств разработки. Разработка структур данных и алгоритмов. Характеристика Bluetooth модуля, блок реле, резисторов, диодов. Графический интерфейс приложения. Написание кода программы.
дипломная работа [4,0 M], добавлен 19.01.2017Возможности платформы Arduino. Загрузка микроконтроллера прерываниями. Подтягивающие (нагрузочные) резисторы. Аналого-цифровой преобразователь, цоколевка. Прерывание по таймеру, память. Библиотеки Servo, SPI, Stepper. Комбинация фазы синхронизации.
курсовая работа [53,4 K], добавлен 23.12.2014Разработка программного обеспечения в объектно-ориентированной среде визуального программирования Microsoft Office VBA, реализующего базу данных "Энциклопедия домашних животных". Выбор языка программирования. Реализация программных модулей в блоках.
курсовая работа [3,3 M], добавлен 11.01.2013Изучение видов роботов-жуков. Анализ платформ для управления периферийными устройствами, реализации передачи и обработки полученных данных. Основной выбор сервоприводов и дальномеров. Программирование робота через специализированную среду Arduino IDE.
курсовая работа [588,7 K], добавлен 11.08.2017Проектирование удобного приложения для комфортной навигации по файлам облачного хранилища в одном файловом менеджере. Выбор интегрированной среды разработки. Выбор инструментов для визуализации приложения. Выбор средств отслеживания HTTPзапросов.
курсовая работа [3,6 M], добавлен 16.07.2016Общая характеристика и описание математической модели. Выбор и обоснование среды программирования, анализ входных и выходных данных. Структурное проектирование приложений и интерфейса пользователя. Реализация и оценка защитного программирования.
курсовая работа [564,9 K], добавлен 26.09.2014Создание программного обеспечения, позволяющего сортировать элементы числового массива в порядке возрастания или убывания их значений. Выбор языка программирования, среды разработки и построение алгоритма. Руководство пользователя и программиста.
курсовая работа [295,4 K], добавлен 07.04.2011Алгоритм разработки программного обеспечения. Выбор оптимальной среды программирования. Использование регистров специального назначения. Листинг программы в кодах языка Assambler. Результаты ее компилирования. Блок схема основной программы и макроса RND.
курсовая работа [416,5 K], добавлен 11.03.2015Обоснование языка программирования Object Pascal и среды разработки Delphi. Создание интерфейса пользователя. Проектирование структуры и описание компонентов, использованных при разработке программного продукта. Составление инструкции пользователя.
курсовая работа [888,7 K], добавлен 20.05.2015Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.
курсовая работа [1,5 M], добавлен 17.01.2011