Микропроцессорная система GPS трекинга
Сравнительный анализ разрабатываемого устройства и аналогов по характеристикам и цене. Создание печатной платы и создание программы. Алгоритм работы трекера. Использование двух различных модулей связи – GPS и GPRS. Использование GPS-трекера на практике.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.10.2017 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Национальный минерально-сырьевой университет "Горный"
Кафедра АТПП
Дипломный проект
"Микропроцессорная система GPS трекинга"
Автор: Орлов Г.А.
Санкт-Петербург 2013 год
Содержание
Введение
1. Технологический раздел
1.1 Технологии, используемые в данном проекте
1.2 Модуль связи GSM/GPRS Sim900D
1.3 Приёмник местоположения GPS Quectel L10
1.4 Микроконтроллер STM32F100C4T6
1.5 Среда разработки для микроконтроллера STM32F100 CooCox CoIDE
1.6 Отладочное устройство STM32F4 Discovery
1.7 Импульсный стабилизатор напряжения на lm2596t-3.3 с напряжением 3.3 вольт и максимальным током 3 А
1.8 Программа по проектированию плат и схем, DipTrace
2. Проектный раздел
2.1 Исходные материалы
2.2 Сравнительный анализ разрабатываемого устройства и аналогов по характеристикам и цене
2.3 Создание печатной платы и создание программы
2.4 Структурная схема устройства
3. Специальный раздел
3.1 Алгоритм работы трекера
3.2 Схемотехника трекера
3.3 Код программы
4. Организационно-экономический раздел
5. Безопасность Жизнедеятельности
5.1 Область и порядок применения правил
5.2 Требования к техническому процессу, устройству и оборудованию производственных помещений и рабочих мест
5.3 Требования к вентиляции
5.4 Требования к санитарно-бытовым, вспомогательным помещениям и средствам индивидуальной профилактики
5.5 Требования к содержанию и уборке помещений
5.6 Медико-профилактическое обслуживание рабочих
Заключение
Список литературы
Введение
GPS-трекер представляет собой стационарный прибор, который становится частью бортового навигационного оборудования. Он предназначен для приема и передачи информации о местонахождении, скорости и маршруте движения объекта в режиме реального времени. Применение GPS трекера актуально для любых видов слежения объектов и субъектов. Такое устройство используется для мониторинга по перевозки пассажиров и грузов, в службах инкассации, охраны, почтовой доставки, в личных целях, присмотр за детьми, помощи и спасения. Кроме того, наличие трекера в авто дает возможность отследить его местонахождение в случае угона, а также выявить ненадлежащее использование автомобиля в личных целях водителей.
Необходимость определять местоположение людей и различных движущихся объектов привела к появлению такого устройства как GPS-трекер. В результате на сегодняшний день любой заинтересованный человек может быть в курсе событий, которые происходят с его близкими людьми или сотрудниками, а также легко узнавать о местоположении автомобилей и другого транспорта. Для этого достаточно положить в портфель GPS-маячок, дочери или сына, вручить его сотруднику или поместить под капот автомобиля, чтобы водитель не смог долезть до него и испортить.
Особенные характеристики
Основой работы GPS-маячка является использование двух различных модулей связи - GPS и GPRS. Система GPS покрывает около 99% поверхности земного шара, что дает возможность отслеживать местоположение трекера практически в любом месте планеты. Данные о нахождении и перемещениях передаются на приемное устройство через канал GPRS. Приемным устройством может быть коммуникатор, планшетный или персональный компьютер, ноутбук, либо на удаленный сервер.
GPS-трекер оснащен резервным питанием, что позволяет ему работать длительное время в автономном режиме. Кроме того, он может соединять в себе функции коммутационного устройства и портативного маяка.
Есть очень интересная функция, которой оснащено большинство портативных GPS трекеров, является кнопка "SOS".Она включается после нажатия на специальную кнопку устройства. В результате данные передаются на заранее заданные номера в виде СМС с указанием точного времени и места, с которого был произведен тревожный сигнал.
Более того, при необходимости трекер может быть совмещен с другими устройствами. Трекер с этой функцией лучше всего подойдет корпоративным клиентам, а также для обеспечения безопасности и определения местонахождения пожилых людей и детей.
Использование GPS-трекеров
Применение GPS-трекеров позволяет просматривать местонахождение объектов в режиме реального времени. Для этого данные наносятся на карту в смартфоне или компьютере. Полученная информация дает возможность анализировать маршруты передвижения объекта.
Благодаря наличию тревожной кнопки "SOS" вы всегда сможете оставаться на связи и прийти на помощь человеку в трудный момент. Современные возможности геопозиционирования позволяют определять местоположение прибора с высокой точностью до трех метров независимо от того, насколько далеко он находится. Приобретая такой маячок, вы приобретаете спокойствие за своих родных, близких, сотрудников и имущество.
GPS-трекеры нельзя назвать новинкой на рынке, так как они уже достаточно давно используются не только самыми разными компаниями, но и обычными людьми. Предлагаемые производителями модели, отличающиеся функциональными возможностями и ценой способны удовлетворить потребности различных целевых аудиторий.
В частных целях GPS-трекеры обычно используют родители для наблюдения за детьми. Например, находясь на работе, раньше вам было сложно контролировать своего ребенка и переживания о том, благополучно ли он вернулся домой из школы, мешали вам сосредоточиться на работе. С GPS-трекером вы имеете возможность получать информацию о месте его пребывания в любую минуту, видеть маршрут его следования и т.д. Если ваш ребенок изменил привычный маршрут следования от школы до дома, то вы моментально получите об этом предупредительный сигнал. Здесь следует отметить и предупредить, что слежка с помощью GPS-трекера может быть незаконной. трекер программа связь
Распространенным случаем является использование GPS-трекера в противоугонных целях вашего автомобиля. Обладая компактными размерами, трекеры позволяют устанавливать их в салон автомобиля таким образом, что они практически незаметны для постороннего глаза. Для того, чтобы в случае угона автомобиля получать сигнал на телефон или другое устройство, нужно просто запрограммировать его определенным образом. Но если все-таки ваш автомобиль уже двигается по дороге под чужим управлением, то отслеживание его местоположения в значительно облегчите процесс поимки и возврата вашей машины.
Для служб спасения GPS-трекеры надежные помощники. Они способны не только помочь определить координаты пострадавшего человека, но и записывать пройденный маршрут и звуки, работать в качестве "черного ящика".
Основную долю из компаний, которые в своей деятельности ежедневно пользуются GPS-трекерами, представляют компании предоставляющие услуги по международным и междугородним грузоперевозкам. Требование клиентов, знать в какой точке находится груз в данный момент становится вполне естественным и реализуемым. Если на автомобиль, контейнер или бандероль установить трекер, который будет отправлять сигнал о местоположении автомашины, то при использовании программного обеспечения, грузополучатель, также как и грузоотправитель будет иметь эту информацию в режиме он-лайн. Для этого каждый груз (трекер) имеет специальный код. Зайдя на сайт и набрав это специальный код, на карте моментально отображается точка нахождения груза.
Ну и GPS-трекер облегчает руководителям процесс контроля за своими водителями. Имея на борту автомобиля такое устройство, водителю будет сложно без особой причины отлучиться "по собственным делам" или просто остановиться для отдыха.
Для бухгалтеров или снабженцев использование этой системы также приносит заметное облегчение в работе, так как система контроля за расходом бензина позволяет делать оптимальные закупки топлива или рассчитывать себестоимость грузоперевозки по данному маршруту.
1. Технологический раздел
1.1 Технологии, используемые в данном проекте
GPS
Выбранные трекеры используют спутниковую систему навигации - GPS (Global Positioning System - система глобального позиционирования). GPS позволяет в любом месте Земли (не включая приполярные области), почти при любой погоде, а также в космическом пространстве вблизи планеты определить местоположение и скорость объектов. Система разработана, реализована и эксплуатируется Министерством обороны США.
Принцип определения координат объекта в системе GPS основан на вычислении расстояния от него до нескольких спутников, точные координаты которых известны. Информация о расстоянии минимум до 3 спутников позволяет однозначно определить координаты объекта как точку пересечения сфер, центр которых спутники, а радиус измеренное расстояние.
Рис. 1 Определение с трёх спутников
Расстояние до каждого из спутников определяется как время прохождения радиосигнала от спутника до приемника умноженное на скорость света. Возникает задача точного определения времени прохождения радиосигнала. Она решается за счет генерации и передачи со спутника сигнала, модулируемого с помощью специальной последовательности. Точно такой же сигнал генерируется в GPS приемнике, а анализ отставания принятого сигнала от внутреннего позволяет определить время его прохождения.
Рис 2.Время прохождения радиосигнала
Для точного определения времени прохождения сигнала часы GPS приемника и спутника должны быть максимально синхронизированы, отклонение даже на несколько микросекунд приводит к погрешности измерения в десятки километров. На спутнике для этих целей имеются высокоточные атомные часы. Установить аналогичные часы в GPS приемник невозможно (используются обычные кварцевые часы), поэтому для синхронизации времени используются дополнительные сигналы, как минимум с еще одного спутника.
На практике при хорошей видимости небосвода GPS приемники получают сигналы сразу от множества спутников (до 10-12), что позволяет им синхронизировать часы и определять координаты с достаточно высокой точностью.
Рис. 3 Работа системы GPS
Орбиты спутников системы GPS. Пример видимости спутников из одной из точек на поверхности Земли. Visible sat- число спутников, видимых над горизонтом наблюдателя в идеальных условиях (чистое поле).
Наряду с последовательностью, по которой определяется время распространения сигнала, каждый спутник передает двоичную информацию - альманах и эфемериды. Альманах содержит информацию о текущем состоянии и расчетную орбиту всех спутников (получив информацию от одного спутника, появляется возможность сузить секторы поиска сигналов других спутников). Эфемериды - уточненную информацию об орбите конкретного спутника, передающего сигнал (реальная орбита спутника может отличаться от расчетной). Именно точные данные о текущем положении спутников позволяют GPS приемнику рассчитывать относительно них собственное местоположение.
GPRS
GSM (Global System for Mobile Communications) - это глобальный стандарт цифровой мобильной сотовой связи.
GPRS (General Packet Radio Service) - надстройка над технологией мобильной связи GSM, осуществляющая пакетную передачу данных. GPRS позволяет пользователю сети сотовой связи производить обмен данными с другими устройствами в сети GSM и с внешними сетями, в том числе Интернет.
Рис 4. Общая схема передачи данных через GPRS
Система GSM состоит из множества подсистем, но для передачи информации по GPRS используется 2 из них: подсистема базовых станций и подсистема GPRS.
Подсистема GPRS состоит из пакетного коммутатора и GPRS шлюза.
Как только трекер запросит обмен данными через GPRS, GSM-модуль посылает запрос на базовую станцию, которая в свою очередь передаёт информацию на контроллер базовых станций. Контроллер базовых станций соединяется с пакетным коммутатором. Пакетный коммутатор выполняет функции обработки пакетной информации и преобразования кадров GSM в форматы, используемые протоколами TCP/IP глобальной компьютерной сети Internet. Выполнив преобразование он отсылает данные на GPRS шлюз. Шлюз обеспечивает связь системы GPRS с пакетными сетями передачи данных: Internet, Intranet и др. Он содержит всю необходимую информацию о сетях, куда абоненты GPRS могут получать доступ, а также параметры соединения. Подсистема базовых станций состоит из приёмо-передающих базовых.
Протокол NMEA 0183
GPS модули выбранных трекеров отсылают информацию управляющему устройству в формате протокола NMEA 0183. NMEA 0183 - текстовый протокол связи морского (как правило, навигационного) оборудования (или оборудования, используемого в поездах) между собой. GPS модуль отсылает множество строчек в формате данного протокола, но в данном проекте меня интересует лишь RMC строка, которая представляет собой "рекомендуемый минимум навигационных данных".
Формат RMC строки: $GPRMC,hhmmss.ss,A,GGMM.MM,P,gggmm.mm,J,v.v,b.b,ddmmyy,x.x,n,m*hh<CR><LF>
Значение полей:
"GP" - идентификатор источника; в приведенном примере это GPS
"RMC" - "Recommended Minimum sentence C" ("рекомендуемый минимум навигационных данных")
"hhmmss.ss" - время фиксации местоположения по Всемирному координированному времени UTC: "hh" - часы, "mm" - минуты, "ss.ss" - секунды. Длина дробной части секунд варьируется. Лидирующие нули не опускаются.
"A" - статус: "A" - данные достоверны, "V" - недостоверны.
"GGMM.MM" - широта. 2 цифры градусов("GG"), 2 цифры целых минут, точка и дробная часть минут переменной длины. Лидирующие нули не опускаются.
"P" - "N" для северной или "S" для южной широты.
"gggmm.mm" - долгота. 3 цифры градусов("ggg"), 2 цифры целых минут, точка и дробная часть минут переменной длины. Лидирующие нули не опускаются.
"J" - "E" для восточной или "W" для западной долготы.
"v.v" - горизонтальная составляющая скорости относительно земли в узлах. Число с плавающей точкой. Целая и дробная части переменной длины.
"b.b" - путевой угол (направление скорости) в градусах. Число с плавающей точкой. Целая и дробная части переменной длины. Значение равное 0 соответствует движению на север, 90 - восток, 180 - юг, 270 - запад.
"ddmmyy" - дата: день месяца, месяц, последние 2 цифры года (ведущие нули обязательны).
"x.x" - магнитное склонение в градусах (часто отсутствует), рассчитанное по некоторой модели. Число с плавающей точкой. Целая и дробная части переменной длины.
"n" - направление магнитного склонения: для получения магнитного курса магнитное склонение необходимо "E" - вычесть, "W" - прибавить к истинному курсу.
"m" - индикатор режима: "A" - автономный, "D" - дифференциальный, "E" - аппроксимация, "N" - недостоверные данные (часто отсутствует, данное поле включая запятую отсутствует в старых версиях NMEA).
"hh" - контрольная сумма.
<CR> - байт равен 0x0D.
<LF> - байт равен 0x0A.
Устройство трекера
Трекер состоит из 3-х блоков:
1) GPS приемник
Задача приёмника - как описано выше, принять сигналы со спутников, определить текущее положение спутиников, определить расстояние до спутников, определить своё местоположение, скорость, направление движения и отправить эти данные на управляющее устройство.
В качестве приёмника в "GPS трекере" выступает GPS модуль Quectel L10. В качестве приёмника в коммуникаторе выступает встроенный в коммуникатор GPS или ГЛОНАСС модуль, у каждого производителя он разный.
2) Передатчик
Задача передатчика - передать полученные данные с приёмника на удалённый сервер в заданном формате.
В качестве передатчика в "GPS трекере" выступает GSM модуль SIM 900D. В качестве передатчика в коммуникаторе выступает встроенный телефонный модуль, у каждого производителя он разный.
3) Управляющее устройство
Задача управляющего устройства - связать в единую систему (трекер) приёмник и передатчик, т.е. принять данный с приёмника и отправить через передатчик на удалённый сервер.
В качестве управляющего устройства в "GPS трекере" выступает микроконтроллер STM32F100. В качестве управляющего устройства в коммуникаторе выступает микроконтроллер производителя устройства.
Рис 5. Устройство GPS трекера
Стек протоколов TCP/IP
Передача данных между всеми компонентами системы осуществляется по стеку протоколов TCP/IP.
Стек протоколов TCP/IP состоит из нескольких уровней:
Транспортный уровень (англ. Transport layer) - 4-й уровень сетевой модели OSI, предназначен для доставки данных. При этом не важно, какие данные передаются, откуда и куда, то есть, он предоставляет сам механизм передачи. Блоки данных он разделяет на фрагменты, размер которых зависит от протокола, короткие объединяет в один, а длинные разбивает. Протоколы этого уровня предназначены для взаимодействия типа точка-точка. Пример: TCP, UDP, SCTP.
Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции, например, функции передачи данных без подтверждения приема, и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности, мультиплексируют несколько потоков данных, обеспечивают механизм управления потоками данных и гарантируют достоверность принятых данных.
Некоторые протоколы транспортного уровня, называемые протоколами без установки соединения, не гарантируют, что данные доставляются по назначению в том порядке, в котором они были посланы устройством-источником. Некоторые транспортные уровни справляются с этим, собирая данные в нужной последовательности до передачи их на сеансовый уровень. Мультиплексирование (multiplexing) данных означает, что транспортный уровень способен одновременно обрабатывать несколько потоков данных (потоки могут поступать и от различных приложений) между двумя системами. Механизм управления потоком данных - это механизм, позволяющий регулировать количество данных, передаваемых от одной системы к другой. Протоколы транспортного уровня часто имеют функцию контроля доставки данных, заставляя принимающую данные систему отправлять подтверждения передающей стороне о приеме данных.
Канальный уровень (англ. Data Link layer) - уровень сетевой модели OSI, предназначенный для передачи данных узлам, находящимся в том же сегменте локальной сети. Также может использоваться для обнаружения и, возможно, исправления ошибок, возникших на физическом уровне. Примерами протоколов, работающих на канальном уровне, являются: Ethernet для локальных сетей (многоузловой), Point-to-Point Protocol (PPP), HDLC и ADCCP для подключений точка-точка (двухузловой).
Канальный уровень отвечает за доставку кадров между устройствами, подключенными к одному сетевому сегменту. Кадры канального уровня не пересекают границ сетевого сегмента. Функции межсетевоймаршрутизации и глобальной адресации осуществляются на более высоких уровнях модели OSI, что позволяет протоколам канального уровня сосредоточиться на локальной доставке и адресации.
Заголовок кадра содержит аппаратные адреса отправителя и получателя, что позволяет определить, какое устройство отправило кадр и какое устройство должно получить и обработать его. В отличие от иерархических и маршрутизируемых адресов, аппаратные адреса одноуровневые. Это означает, что никакая часть адреса не может указывать на принадлежность к какой либо логической или физической группе.
Когда устройства пытаются использовать среду одновременно, возникают коллизии кадров. Протоколы канального уровня выявляют такие случаи и обеспечивают механизмы для уменьшения их количества или же их предотвращения.
Многие протоколы канального уровня не имеют подтверждения о приёме кадра, некоторые протоколы даже не имеют контрольной суммы для проверки целостности кадра. В таких случаях протоколы более высокого уровня должны обеспечивать управление потоком данных, контроль ошибок, подтверждение доставки и ретрансляции утерянных данных.
На этом уровне работают коммутаторы, мосты. В программировании доступ к этому уровню предоставляет драйвер сетевой платы. В операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС.
Рисунок 6. Инкапсуляция и демультиплексирование данных
Инкапсуляция в компьютерных сетях - это метод построения модульных сетевых протоколов, при котором логически независимые функции сети абстрагируются от нижележащих механизмов путём включения или инкапсулирования этих механизмов в более высокоуровневые объекты. Например, когда процесс хочет послать сообщение с помощью UDP, то производится последовательность действий:
· процесс передает сообщение к UDP в соответствии с парой гнездовых адресов и длины данных;
· UDP получает данные, дополненные заголовком UDP;
· UDP передает пользовательскую датаграмму к IP с гнездовым адресом;
· IP дополняет свой заголовок, который использует значение 17 в поле протокола, указывающее, что данные поступили от UDP-протокола;
· IP-датаграмма дополняет и добавляет собственный заголовок (при необходимости и окончание) и передает его к физическому уровню;
· физический уровень кодирует биты в электрические или оптические сигналы и посылает их отдалённой машине.
АТ -команды
AT-команды (набор команд Hayes) - набор команд, разработанных в 1977 году компанией Hayes для собственной разработки, модема "Smartmodem 300 baud". Набор команд состоит из серий коротких текстовых строк, которые объединяют вместе, чтобы сформировать полные команды операций, таких как набор номера, начала соединения или изменения параметров подключения.
Для того, чтобы модем распознал эти команды, они должны быть записаны в специфической форме. Каждая команда всегда начинается буквами AT или at (от англ. ATtention, за что и получили своё название), дополненных одной или больше командой и завершаемой в конце нажатием клавиши Enter . Команды воспринимаются модемом только тогда, когда он находится в "командном режиме" или offline.
AT-команды обычно отправляются модему посредством коммуникационного программного обеспечения, но также могут быть введены пользователем вручную, с компьютерной клавиатуры.
Набор команд оказался весьма удачным решением и в качестве задающих установки Hayes-совместимого модема, используется для его оптимального функционирования для тех или иных целей, в различных условиях: при разном состоянии телефонной линии, частотной характеристики линии, зашумлённости, наличии частых искровых помех и т. д.
Стандартизация набора команд Hayes (и AT-команд) выразилась в документе под названием Data Transmission Systems and Equipment - Serial Asynchronous Automatic Dialing and Control, известном как TIA/EIA-602. Далее, ITU-T выпустила документ V.250 (так же известный как V.25ter), содержащий все команды TIA/EIA-602 и несколько дополнительных. После чего был выпущен TIA/EIA-602-A содержащий только ссылки на V.250 и небольшую историческую справку.
Для настройки (активации, деактивации и перенастройки установок) модема, Hayes-команды могут использовать различные профили модема.
Набор команд и архитектура оказались весьма удачными и неоднократно расширялись и дополнялись. ETSI выпустил ряд стандартов описывающих управление мобильными телефонами и модемами стандарта GSM, таких как GSM07.05 и GSM07.07. Некоторые производители коммуникационного оборудования дополняют стандартный набор AT-команд своими собственными расширениями.
1.2 Модуль связи GSM/GPRS Sim900D
SIM900D - бюджетный GSM/GPRS модуль компании SIMCOM.
Ключевые преимущества: популярный форм-фактор с торцевыми пайками, позволяющий не использовать дорогостоящие технологии монтажа и контроля пайки, удобный встроенный TCP/IP стек, низкая цена.
Характеристики GSM модуля SIM900:
· Четыре диапазона GSM 850/ 900/ 1800/ 1900 МГц
· Класс передачи данных GPRS multi-slot class 10/8
· Соответствие стандарту GSM фазы 2/2+
· Класс мощности 4 (2 Вт в диапазонах 850/ 900 МГц)
· Класс мощности 1 (1 Вт в диапазонах 1800/1900MHz)
Размеры: |
33х 33х 3 мм |
|
Масса: |
6,2 г |
|
Напряжение питания |
3,2 ... 4,8 В |
|
Температурный диапазон: |
-40 °C ... +80 °C |
· Управление AT командами (GSM 07.07,07.05 и фирменные AT команды SIMCOM)
· Встроенный стек TCP/IP, UDP/IP
· Протоколы HTTP и FTP
· Embedded AT - работа с пользовательским ПО
· Контроллер заряда Li аккумулятора.
Данный модуль будем использовать, как модем для передачи координат.
Рис. 7 Gsm модем SIM900D
Рис. 8 Обозначение выводов Sim900D
1.3 Приёмник местоположения GPS Quectel L10
GPS модуль L10 задаёт новый стандарт производительности благодаря высокоэффективному набору системной логики MTK. L10 имеет 210 каналов PRN. И благодаря 66 каналам поиска и 22 каналам одновременного слежения, находит и отслеживает спутники за очень короткое время даже в условиях слабого сигнала. Этот универсальный, функционально-законченный GPS приёмник объединяет в себе широкий набор функций с гибкими возможностями по подключению. Простота его интегрирования в изделия позволяет сократить время разработки новых изделий для автомобильных, промышленных и потребительский рынков.
· 210 PRN каналов с 66 каналами поиска и 22 каналами слежения,
· -165dBm чувствительность в режиме слежения,
· Наивысшая чувствительность в режиме поиска, -148dBm
· Низкое энергопотребление, 38mA (с пассивной антенной)
· Защита всех входов от электростатического напряжения
· 4 Мбит встроенной флэш-памяти
· Более совершенная помехоустойчивая схема, позволяющая интегрировать модули в другие беспроводные решения, такие как: WiFi, WiMax, CDMA и GSM
· Готовность к работе с AGPS
· Более точная навигация в условиях плотной городской высотной застройки благодаря компенсации переотражённых сигналов
· Частота обновления координат 5 Гц
· Полно-скоростной совместимый с USB 2.0 интерфейс
Рис. 9 Приёмник GPS Quectel L10
1.4 Микроконтроллер STM32F100C4T6
Рис. 10 STM32f100c4t6 обозначение выводов
Рис. 11 Размер STM32F100 в сравнении с монетой
В данном устройстве центральным контроллером будем являться STM32f100, который в свою очередь будет управлять модулями GPS и GPRS. Выбран он из-за своей дешевизны и при этом имеет малый размер (LQFP48 7 Ч 7 mm) для более плотной компоновке, так что устройство можно уменьшить в размерах.
Основные параметры
ЦПУ: Ядро |
Cortex-M3 |
|
ЦПУ: F,МГц |
от 0 до 24 |
|
Память: Flash,КБайт |
16 |
|
Память: RAM,КБайт |
4 |
|
I/O (макс.),шт. |
37 |
|
Таймеры: 16-бит, шт |
6 |
|
Таймеры: Каналов ШИМ,шт |
3 |
|
Таймеры: RTC |
Да |
|
Интерфейсы: UART,шт |
2 |
|
Интерфейсы: SPI,шт |
1 |
|
Интерфейсы: I2C,шт |
1 |
|
Интерфейсы: DMA,шт |
1 |
|
Аналоговые входы: Разрядов АЦП,бит |
12 |
|
Аналоговые входы: Каналов АЦП,шт |
10 |
|
Аналоговые выходы: Разрядов ЦАП,бит |
12 |
|
Аналоговые выходы: Каналов ЦАП,шт |
2 |
|
VCC,В |
от 2 до 3.6 |
|
TA,°C |
от -40 до 105 |
|
Корпус |
LQFP-48 |
Общее описание
Отличительные особенности:
· До семи 16-битных ШИМ-таймеров, в т.ч. таймер с расширенным управлением: всего 26 каналов
· Три независимых 16-битных ШИМ-таймера с комплементарными выходами и генератором паузы неперекрытия
· Встроенный 12-битный сдвоенный ЦАП с поддержкой прямого доступа к памяти (DMA) и буферизованными выходами
· Устройства ввода-вывода для управления потребительской электроникой (CEC)
· CEC, IІC (400кГц), ведущий и подчиненный SPI (до 12Мбит/сек), USART (до 3Мбит/сек)
· 32-битный набор инструкций ARM Cortex-M3 Thumb-2 и 7-канальный DMA
· Ускоритель CRC с поддержкой DMA
· Встроенная схема сброса при подаче питания и при недопустимом снижении напряжения питания, сторожевой таймер, откалиброванный на фазе производства RC-генератор частоты 8 МГц и 40 кГц для синхронизации часов реального времени (RTC) и сторожевого таймера
Преимущества:
· Идеально подходят для применения в управляющих системах
· Идеальны для выполнения функций управления в составе электрооборудования, в т.ч. приборы индукционного нагрева
· Снижают общую себестоимость системы
· Снижают сложность проектирования и минимизируют использование ЦПУ, устройств ввода-вывода и памяти
· Расширенные коммуникационные возможности
· Достигают превосходной производительности, благодаря 16-битной плотности кода
· Упрощают проверку Flash-памяти на целостность
· Снижают себестоимость системы
1.5 Среда разработки для микроконтроллера STM32F100 CooCox CoIDE
CoIDE является новым, свободным и высоко интегрированной средой разработки ПО для микроконтроллеров ARM на базе Cortex MCU, которая включает в себя все инструменты необходимые для разработки. Она интегрирует структурообразователь и отладчик для простоты использования.
Особенности программы:
? Бесплатное использование
? Полный функционал
? Загрузка кода программ периферии мк
? Без проблем можно подключить программатор
? Поддержка многих других серий микроконтроллеров
Рис. 12 Программа CoIDE
1.6 Отладочное устройство STM32F4 Discovery
Рис. 13 STM32F4 DISCOVERY
STM32F4DISCOVERY - плата для быстрого и удобного изучения микроконтроллеров серии STM32F4, ориентированных на мультимедийные приложения.
На плате установлен 32-битный ARM-микроконтроллер STM32F407VGT6 семейства Cortex-M4 со следующими характеристиками:
· Корпус LQFP100 (100 ножек)
· Напряжение питания: 1.8 - 3.6 В
· Частота: до 168 МГц
· Память программ (Flash): 1 МБайт
· ОЗУ (RAM): 196 Кбайт
· 4 Кбайт backup SRAM (аналог EEPROM)
· Поддержка инструкций DSP и чисел с плавающей точкой
· 16-битные таймеры: 2 базовых таймера, 8 таймеров общего назначения, 2 продвинутых таймера, 2 watchdog
· 2 32-битных таймера общего назначения
· USB 2.0 full-speed device/host/OTG со своим PHY на борту
· USB 2.0 high-speed/full-speed device/host/OTG с отдельным DMA, со своим full-speed PHY на борту, есть поддержка ULPI
· 10/100 Ethernet MAC с отдельным DMA, поддержка PHY-микросхем с интерфесами IEEE 1588v2, MII/RMII
· 3x SPI (37.5 МБит/с), 2 из них с мультиплексированными полнодуплексными I2S для качественной передачи звука
· 3x I2C с поддержкой SMBus/PMBus
· 4x USART, 2x UART: 10.5 МБит/с, интерфейс ISO 7816, LIN, IrDA, modem control
· 2x CAN (2.0B Active)
· SDIO (для SD-карт)
· DCMI - [от 8 до 14]-битный параллельный интерфейс камеры (до 54 МБайт/с)
· Аналоговый генератор случайных чисел
· Встроенный модуль расчёта CRC
· 82x GPIO (выводы I/O)
· RTC (Real-Time Clock)
· 3 12-битных АЦП, 2.4 миллиона выборок в секунду, 16 каналов, 7.2 миллиона выборок в секунду в режиме тройного чередования
· 2 12-битных ЦАП
· Контроллер DMA с 16 каналами и поддержкой FIFO и пакетной передачи
· Параллельный интерфейс LCD, режимы 8080/6800
· FSMC - контроллер статической памяти с поддержкой Compact Flash, SRAM, PSRAM, NOR и NAND
· Возможность отладки по JTAG или SWD
Что ещё установлено на плате:
· Отладчик ST-Link для отладки и прошивки МК, выведен разъём SWD для программирования других плат и контроллеров
· Есть выводы для внешнего питания 5 и 3 В
· Есть кнопка сброса
· Четыре светодиода и одна кнопка, доступные для программирования
· Все 100 выводов МК выведены по бокам платы разъемы по два ряда
· LIS302DL - MEMS-датчик движения, 3х-осевой цифровой акселерометр
· MP45DT02 - цифровой MEMS-микрофон
· CS43L22 - аудио-ЦАП со встроенным драйвером динамиков класса D
· Для USB OTG выведен разъём micro-USB. Если плату с заводской прошивкой подключить через этот разъём к компьютеру, то она будет вести себя как джойстик класса USB HID.
1.7 Импульсный стабилизатор напряжения на lm2596t-3.3 с напряжением 3.3 вольт и максимальным током 3 А
Рис. 14 Стабилизатор на плате
По рекомендации в даташите было рекомендовано установить данное устройство, как питание. Sim900D при подключение связи и поиске кратковременно тянет 2А, потом переходит в рабочий режим, максимальный ток падает до 500мА. В схеме стоит 2 конденсатора, катушка индуктивности, диод шоттки и интегральный стабилизатор напряжения lm2596t-3.3
Стабилизатор состоит из 2-х электролитических конденсаторов емкостью 680 мкФ на 50 вольт, катушка индуктивности на 100мкГн, диод шоттки 1N5822 и интегрированный стабилизатор LM2596t-3.3
Рис. 15 Схема стабилизатора
1.8 Программа по проектированию плат и схем, DipTrace
Данная программа проста в обращении интуитивно понятная, могу привести даже пример, программа Компас в ней так же все очень понятно.
Библиотеки компонентов огромны в объемах и это только стандартный набор, все компоненты по ГОСТу сделаны, что немаловажно. Я эту программу применял для создании схемотехнической схемы трекера.
Рис. 16 В DipTrace можно сделать многослойные платы
В будущем данную программу буду применять в создании печатных плат для себя и своих проектов. Может преобразовать файлы в P-CaD, что так же является плюсом.
У любимого всеми самодельщиками комплекта sPlan 7.0 и Sprint Layout 5.0 нет связки между программой проектирования принципиальной схемы и печатной платы. А подавляющее большинство доступных инсталяшек Proteus заражено вирусами.
Программный пакет DipTrace представляет собой полнофункциональную систему для разработки принципиальных схем и печатных плат. Включает в себя четыре программы:
1. PCB Layout - проектирование плат с помощью мощного автотрассировщика, удобной ручной трассировки и системы позиционирования компонентов.
2. Schematic - проектирование схем с поддержкой иерархии и неограниченного количества листов. Экспорт в редактор плат, список сетей (netlist) или симулятор.
3. Pattern Editor - редактор корпусов для печатной платы. Позволяет создавать свои библиотеки.
4. Component Editor - редактор компонентов. Рисование символов схемотехники и связка их с корпусами. Позволяет создавать свои библиотеки.
А так же:
· Стандартные библиотеки - содержат более 100 000 компонентов.
· 3D предпросмотр - позволяет просматривать трехмерную модель платы. С программой поставляются более 2.5 тыс. 3D-моделей корпусов.
· Импорт/Экспорт - система может импортировать схемы, платы и библиотеки из P-CAD, PADS и других популярных программ. Экспорт в P-CAD, Gerber и другие форматы позволит подготовить платы для любого производства.
· Русский интерфейс, справка, учебник и форматки - позволят быстро изучить и эффективно пользоваться программой.
Вы ищите недорогую, профессиональную, лицензионную и легкую в использовании систему проектирования принципиальных схем и печатных плат, которая позволит импортировать Ваши наработки из P-CAD и других программ? Попробуйте DipTrace!
Возможности и функции DipTrace
Интуитивно-понятный пользовательский интерфейс
Многоуровневая иерархия и поддержка многолистовых схем позволяет быстро и эффективно разрабатывать сложные принципиальные схемы. Преобразование схемы в плату, обновление проекта из измененной схемы и обратная аннотация производятся одним кликом. Все объекты подсвечиваются при работе. Учебник содержит пошаговые рекомендации и проведет Вас через все этапы создания платы.
Удобное ручное и автоматическое позиционирование
Функции "Упорядочивание", "Позиционирование по списку" и "Автоматическая расстановка компонентов" помогут Вам легко и быстро оптимизировать расположение компонентов и размеры платы.
Эффективные возможности трассировки
Cовременный бессеточный автотрассировщик способен качественно и быстро разводить как сложные многослойные платы с разными типами компонентов, так и простые двухслойные проекты. Сеточный трассировщик может использоваться на простых однослойных платах c перемычками. Поддержка Specctra DSN/SES позволяет использовать внешние трассировщики. Развитые средства ручной трассировки дают возможность быстро и эффективно проектировать нестандартные платы. Размеры плат неограничены.
Всесторонняя проверка проекта
Широкие возможности проверки проекта на различных этапах создания позволяют выявить ошибки до отправки файлов производителю. Проверка включает следующие этапы: автоматизированная проверка новых компонентов в библиотеках, выявляющая возможные признаки ошибок и минимизирующая "человеческий фактор"; проверка допустимости соединений в схеме (ERC); проверка зазоров, размерностей и различных признаков ошибок на плате (DRC); проверка целостности соединений на плате; сравнение со схемой. Ошибки выводятся в виде списка и отображаются в проекте, возможно их исправление "на лету" с перезапуском проверки.
3D предпросмотр платы
Функция трехмерного предпросмотра моделирует внешний вид конечного изделия, дает возможность выявить недостатки компоновки до передачи в производство. Благодаря аппаратному ускорению графики возможно поворачивать и масштабировать модель устройства в реальном времени. С программой поставляются более 2.5 тыс 3D-моделей корпусов.
Моделирование схемы
Экспорт принципиальной схемы в формате Spice-нетлист (.cir) даст возможность промоделировать Ваше устройство в программе LT Spice или любом другом внешнем симуляторе.
Импорт / Экспорт
Функции импорта и экспорта позволяют Вам работать с принципиальными схемами, платами и библиотеками в форматах других EDA и CAD-приложений: DXF, P-CAD, PADS, OrCAD и Eagle, а также работать с нетлистами: Accel, Allegro, Mentor, PADS, P-CAD, OrCAD, Protel 2.0 и Tango.
Создание файлов для производства
В DipTrace Вы можете получить все необходимые для производства файлы (Gerber RS-274X, Excellon N/C Drill, DXF). Векторизация позволяет экспортировать в Gerber-формат TrueType шрифты и растровые изображения.
Создание собственных библиотек
Удобные средства разработки компонентов и корпусов с автоматическим расположением и нумерацией выводов по заданным правилам позволяют за считанные минуты создавать компоненты любых размеров и сложности.
2. Проектный раздел
2.1 Исходные материалы
В разработке устройства применялись устройства и программное обеспечение
· Паяльная станция Lukey852D+Fan
· Руки
· Расходные материалы
· Модем GSM Sim 900D
· Приемник GPS Quectel L10
· Отладочная плата STM32F4 Discovery
· Среда разработки программы CooCox CoIDE
· Микроконтроллер STM32F100C4T6
· Импульсный стабилизатор напряжения на LM2596t-3.
· Программа по проектированию печатных плат и принципиальных схем DipTrace
2.2 Сравнительный анализ разрабатываемого устройства и аналогов по характеристикам и цене
GPS/GPRS/GSM трекер Teltonika FM2100
Рис. 17 Teltonika FM2100
FM2100 это терминал с возможностью соединения GPS и GSM, который может определять координаты устройства и передавать их по GSM сети. Это устройство прекрасно подходит в тех случаях, когда нужно определить местонахождение удаленного объекта. Так что Вы легко и быстро можете определять местонахождение своих удаленных объектов (грузовых, легковых автомобилей, кораблей и т.д.).
FM2100 может выполнять задания на удаленных объектах, например, следить за состоянием двигателя, управлять дверьми грузового автомобиля и т.д.
В случае потери связи FM2100 может хранить до 10000 записей и, сразу после восстановления соединения, устройство передаст накопленные данные по GPRS. Таким образом, Вы не лишитесь данных (координаты, показатели датчиков и т.д.).
Применение:
· Безопасность
· Слежение
· Помощь в пути
· Сбор платы за проезд
· Страхование
Основные характеристики:
· Сбор GPS и I/O данных
· Наблюдение в реальном времени
· Разумный алгоритм сбора данных (время, расстояние и события)
· Отправка собранных данных посредством GPRS (TCP/IP и UDP/IP протоколы)
· Разумный алгоритм GPRS соединения (сохранение GPRS траффика)
· Работа в роуминговых сетях (предпочтительный список GSM провайдеров)
· Выявление I/O событий и отправка их посредством GPRS или SMS.
· Отправка SMS по 24 запланированным координатам
· 5 зон "geofence" (прямоугольник или окружность)
· Режим ожидания (сохраняет аккумулятор транспорта)
· OTA (обновление программ посредством GPRS)
· Датчик движения
SENSEIT GT13
Рис 18. SENSEIT GT13
SENSEIT GT13 позволит вам обеспечить непрерывный on-line мониторинг перемещения ваших близких, а также, при необходимости, контроль их входа и выхода из заданной вами геозоны.
Использование SENSEIT GT13 будет комфортным для ваших близких - трекер имеет компактный размер и весит всего 57,5 гр. А наличие кнопки SOS обеспечит им дополнительную безопасность: при срабатывании кнопки координаты местоположения объекта передаются на зарегистрированный адрес электронной почты.
Всем владельцам SENSEIT GT13 предоставляется право бесплатного использования поддерживающей трекер системы мониторинга MobiTrack в течение года.
Таблица 1. Сравнение 2-х устройств
2.3 Создание печатной платы и создание программы
Разработка печатной платы в Sprint-Layout 5
Рис. 19 Первый слой платы для Sim900D
Рис. 20 Второй слой платы для Sim900D
Рис. 20 Плата для GPS приемника Quectel L10
Рис. 21 Плата для STM32f100c4t6
Создание управляющей программы для контроллера.
Создание программы происходит в Coocox CoIDE, почитав многие популярные сайты, я решил по отзывам да и по наитию, установить данную программу, которая сама сделана на эклипсе. CoIDE имеет большое количество библиотек, которые можно подключить для любого контроллера который он может поддержать. Можно к нему привязать программу для заливки прошивки в микроконтроллер, а не все время запускать по отдельности программ.
Рис. 22 Создание проекта
Рис. 23 Выбор чип или отладочная плата
Рис. 24 Выбор производителя, серии и модели чипа
Рис. 25 Подключение библиотек для каждого интерфейса
Рис. 26 Создание программы
Рис. 27 Прошивка STM32F100 через интегрированный программатор ST-Link
Рис. 28 Сбор программы
Рис. 29 Отладка программы
2.4 Структурная схема устройства
Рис. 30 Структурная схема трекера
3. Специальный раздел
3.1 Алгоритм работы трекера
3.2 Схемотехника трекера
3.3 Код программы
#include "gprs.h"
#include "ch.h"
#include "hal.h"
#include <string.h>
#include "util.h"
#include "led.h"
#define GPRS_CMD_BUF 256
#define ATZ_RETRY 5
#define CMD_WAIT_TIME 250
#define GPRS_SERIAL SD2
SerialConfig SD2_Config = {
.sc_speed = 115200,
.sc_cr2 = USART_CR2_STOP1_BITS,
.sc_cr3 = USART_CR3_RTSE | USART_CR3_CTSE
};
uint8_t *gprs_data = NULL;
static WORKING_AREA(waGPRSThread, 256);
static msg_t GPRSThread(void *arg) {
(void)arg;
if (gprs_data != NULL) {
chHeapFree(gprs_data);
}
gprs_data = chHeapAlloc(NULL, GPRS_CMD_BUF);
size_t gprs_bytes_read;
uint16_t signal_level;
uint16_t i;
char num_buf[16];
uint8_t num_len;
chRegSetThreadName("gprs_thread");
if (gprs_data == NULL) {
while (TRUE) {
//palTogglePad(GPIO_LED_1_PORT, GPIO_LED_1_PIN);
chThdSleepMilliseconds(50);
}
}
sdStart(&GPRS_SERIAL, &SD2_Config);
palSetPadMode(GPRS_USART_PORT, GPRS_USART_TX_PIN, PAL_MODE_ALTERNATE(7));
palSetPadMode(GPRS_USART_PORT, GPRS_USART_RX_PIN, PAL_MODE_ALTERNATE(7));
palSetPadMode(GPRS_USART_PORT, GPRS_USART_CTS_PIN, PAL_MODE_ALTERNATE(7));
palSetPadMode(GPRS_USART_PORT, GPRS_USART_RTS_PIN, PAL_MODE_ALTERNATE(7));
palSetPadMode(GPIO_GPRS_PWR_BAT_PORT, GPIO_GPRS_PWR_BAT_PIN, PAL_MODE_OUTPUT_PUSHPULL);
palSetPadMode(GPIO_GPRS_RESET_PORT, GPIO_GPRS_RESET_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
// Turn on GPRS power
palClearPad(GPIO_GPRS_PWR_BAT_PORT, GPIO_GPRS_PWR_BAT_PIN);
chThdSleepSeconds(5);
while (TRUE) {
//palTogglePad(GPIO_LED_1_PORT, GPIO_LED_1_PIN);
if (init_modem() == E_OK)
break;
}
set_led_0_prescaler(5);
uint8_t counter = 0;
while (TRUE) {
counter++;
if (counter == 10) {
counter = 0;
send_tcp_message();
}
//palTogglePad(GPIO_LED_1_PORT, GPIO_LED_1_PIN);
if (is_gprs_network_ok() == TRUE) {
//sdWrite(&SD1, "NETWORK REGISTERED", sizeof("NETWORK REGISTERED") - 1);
} else {
//sdWrite(&SD1, "NO NETWORK", sizeof("NO NETWORK") - 1);
}
chThdSleepMilliseconds(100);
if (gprs_get_signal_level(&signal_level) == E_OK) {
/* sdWrite(&SD1, "SIGNAL LEVEL: ", sizeof("SIGNAL LEVEL: ") - 1);
stoa(signal_level, num_buf, &num_len);
sdWrite(&SD1, num_buf, num_len - 1);
sdWrite(&SD1, "\r\n", sizeof("\r\n") - 1);*/
} else {
//sdWrite(&SD1, "SIGNAL LEVEL: ERR\r\n", sizeof("SIGNAL LEVEL: ERR\r\n") - 1);
}
chThdSleepMilliseconds(1000);
}
chHeapFree(gprs_data);
}
uint8_t init_modem() {
uint16_t i;
uint16_t bytes_read;
for (i = 0; i < ATZ_RETRY; i++) {
sdWrite(&GPRS_SERIAL, "ATE0\r\n", sizeof("ATE0\r\n"));
chThdSleepMilliseconds(200);
if (gprs_cmd("ATZ\r\n", sizeof("ATZ\r\n") - 1, "\r\nOK\r\n", sizeof("\r\nOK\r\n") - 1) == E_OK)
break;
chThdSleepMilliseconds(500);
}
if (i >= ATZ_RETRY)
return E_NOT_RESPONDING;
return E_OK;
}
uint8_t gprs_cmd(char * cmd_str, uint16_t cmd_len, char * answer_str, uint16_t answer_len) {
uint16_t bytes_read;
// Flush buffer
sdAsynchronousRead(&GPRS_SERIAL, gprs_data, GPRS_CMD_BUF);
sdWrite(&GPRS_SERIAL, cmd_str, cmd_len);
chThdSleepMilliseconds(CMD_WAIT_TIME);
if (answer_str == NULL) {
return E_OK;
}
bytes_read = sdAsynchronousRead(&GPRS_SERIAL, gprs_data, answer_len);
if (bytes_read == answer_len) {
if (strncmp(gprs_data, answer_str, bytes_read) == 0) {
return E_OK;
}
}
return E_INVALID_ANSWER;
}
uint8_t gprs_cmd_read(char * cmd_str, uint16_t cmd_len, uint16_t *answer_len) {
uint16_t bytes_read;
sdWrite(&GPRS_SERIAL, "ATE0\r\n", sizeof("ATE0\r\n"));
chThdSleepMilliseconds(200);
// Flush buffer
sdAsynchronousRead(&GPRS_SERIAL, gprs_data, GPRS_CMD_BUF);
sdWrite(&GPRS_SERIAL, cmd_str, cmd_len);
chThdSleepMilliseconds(1000);
bytes_read = sdAsynchronousRead(&GPRS_SERIAL, gprs_data, GPRS_CMD_BUF);
*answer_len = bytes_read;
if (bytes_read == 0)
return E_NOT_RESPONDING;
return E_OK;
}
uint8_t gprs_get_signal_level(uint16_t *signalLevel) {
uint16_t bytes_read;
char signalLevelStr[3] = {0, 0, 0};
if (gprs_cmd_read("AT+CSQ\r\n", sizeof("AT+CSQ\r\n") - 1, &bytes_read) != E_OK) {
return E_NOT_RESPONDING;
}
if (bytes_read < 13)
return E_INVALID_ANSWER;
if (strncmp(gprs_data, "\r\n+CSQ:", sizeof("\r\n+CSQ:") - 1) != 0) {
return E_INVALID_ANSWER;
}
signalLevelStr[0] = gprs_data[8];
if (gprs_data[9] != ',')
signalLevelStr[1] = gprs_data[9];
*signalLevel = atos(signalLevelStr);
return E_OK;
}
void init_gprs() {
// GPRS Thread
chThdCreateStatic(waGPRSThread, sizeof(waGPRSThread), NORMALPRIO, GPRSThread, NULL);
}
uint8_t is_gprs_network_ok() {
sdWrite(&GPRS_SERIAL, "ATE0\r\n", sizeof("ATE0\r\n"));
chThdSleepMilliseconds(200);
if (gprs_cmd("AT+CREG?\r\n", sizeof("AT+CREG?\r\n") - 1, "\r\n+CREG 0,1\r\n", sizeof("\r\n+CREG 0,1\r\n") - 1) == E_OK)
return TRUE;
return FALSE;
}
uint8_t send_tcp_message() {
uint16_t bytes_read;
uint8_t i;
if (is_gprs_network_ok() != TRUE) {
// return E_NO_NETWORK;
}
chThdSleepMilliseconds(100);
// Enable embedded TCP/IP stack
gprs_cmd("AT+WIPCFG=1\r\n", sizeof("AT+WIPCFG=1\r\n") - 1, NULL, 0);
chThdSleepMilliseconds(250);
sdAsynchronousRead(&GPRS_SERIAL, gprs_data, GPRS_CMD_BUF);
// Open GPRS bearer
gprs_cmd("AT+WIPBR=1,6\r\n", sizeof("AT+WIPBR=1,6\r\n") - 1, NULL, 0);
chThdSleepMilliseconds(250);
sdAsynchronousRead(&GPRS_SERIAL, gprs_data, GPRS_CMD_BUF);
// Set GPRS AP
gprs_cmd("AT+WIPBR=2,6,11,\"internet\"\r\n", sizeof("AT+WIPBR=2,6,11,\"internet\"\r\n") - 1, NULL, 0);
chThdSleepMilliseconds(250);
sdAsynchronousRead(&GPRS_SERIAL, gprs_data, GPRS_CMD_BUF);
// Connect to GPRS
gprs_cmd("AT+WIPBR=4,6,0\r\n", sizeof("AT+WIPBR=4,6,0\r\n") - 1, NULL, 0);
chThdSleepSeconds(3);
bytes_read = sdAsynchronousRead(&GPRS_SERIAL, gprs_data, GPRS_CMD_BUF);
if (bytes_read > 0) {
if (strncmp(gprs_data, "\r\nOK", sizeof("\r\nOK") - 1) != 0) {
//return E_GPRS_CONNECT_ERROR;
}
} else {
//return E_GPRS_CONNECT_ERROR;
}
// Establish connection
gprs_cmd("AT+WIPCREATE=2,1,\"195.209.231.43\",5555\r\n", sizeof("AT+WIPCREATE=2,1,\"195.209.231.43\",5555\r\n") - 1, NULL, 0);
chThdSleepSeconds(1);
gprs_cmd("AT+WIPDATA=2,1,1\r\n", sizeof("AT+WIPDATA=2,1,1\r\n") - 1, NULL, 0);
chThdSleepSeconds(3);
gprs_cmd("Hello from wismo!\r\n", sizeof("Hello from wismo!\r\n") - 1, NULL, 0);
chThdSleepMilliseconds(250);
gprs_cmd("+++", sizeof("+++") - 1, NULL, 0);
chThdSleepMilliseconds(250); }
4. Организационно-экономический раздел
В данной главе производится расчет себестоимости устройства.
Себестоимость устройства включает в себя:
1. Стоимость сырья и основных материалов
2. Стоимость покупных изделий и полуфабрикатов
3. Заработная плата работника
4. Отчисления на социальное страхование
5. Накладные расходы
Перечень использованного оборудования приведен в таблице 2
Табл. 2
Расчет расходов на покупные изделия приведено в таблице 3.1 и 3.2
Табл. 3
№ |
Наименование |
кол./шт. |
цена/шт. (руб./шт.) |
цена (руб.) |
|
1 |
Cercap 0.01/50v 1206 |
3 |
1,37 |
4,11 |
|
2 |
quectel l10 |
1 |
394,5 |
394,5 |
|
3 |
киг 100мкГн |
1 |
63 |
63 |
|
4 |
lm2596t 3.3 |
1 |
125 |
125 |
|
5 |
exr 680мкФ/50в |
2 |
21 |
42 |
|
6 |
чип 1к 1206 |
20 |
1,1 |
22 |
|
7 |
Чип 150 0850 |
20 |
1,1 |
22 |
|
8 |
чип 1мкф |
20 |
2,1 |
42 |
|
9 |
Чип 0,1мкф 1206 |
20 |
2,5 |
50 |
|
10 |
чип 1мкф 1206 |
20 |
1,7 |
34 |
|
11 |
Чип 1,2к 2010 |
20 |
1,1 |
22 |
|
12 |
Чип 4,7 мкф 1210 |
20 |
5,5 |
110 |
|
13 |
STM32f100c4t6 |
4 |
42,81 |
171,24 |
|
14 |
Чип 510 2010 |
4 |
1,1 |
4,4 |
|
15 |
А 20 антенна gps |
1 |
40,21 |
40,21 |
|
16 |
Sim900D |
1 |
601,25 |
601,25 |
|
17 |
Кварцевый резонатор 8 МГц |
1 |
14,3 |
14,3 |
|
18 |
разъем для антенны GSM |
1 |
76 |
76 |
|
19 |
Держатель sim-карты |
1 |
21,5 |
21,5 |
|
20 |
Чип 10пФ |
10 |
1,1 |
11 |
|
21 |
чип 30пФ |
2 |
1,1 |
2,2 |
|
22 |
Чип 270 |
4 |
3,4 |
13,6 |
|
23 |
1000 мкф |
1 |
15,8 |
15,8 |
|
24 |
10 мкф |
10 |
2,2 |
22 |
|
25 |
чип 10К 2512 |
10 |
2,2 |
22 |
|
26 |
Чип 22 |
3 |
1,1 |
3,3 |
|
27 |
Чип 200 |
4 |
1,1 |
4,4 |
|
28 |
Чип 4,7К |
3 |
1,1 |
3,3 |
|
29 |
Чип 47К |
3 |
1,1 |
3,3 |
|
30 |
Чип 10К 1206 |
10 <... |
Подобные документы
Модуль связи GSM/GPRS Sim900D. Приемник местоположения GPS. Среда разработки для микроконтроллера. Сравнительный анализ разрабатываемого устройства и аналогов по характеристикам и цене. Создание печатной платы. Алгоритм работы трекера. Код программы.
дипломная работа [7,8 M], добавлен 11.07.2013Разработка алгоритма работы микроконтроллерного устройства или микроконтроллерной системы. Код программы на языке СИ. Создание библиотеки компонентов в Pattern.exe, Symed.exe. Выбор материала печатной платы. Определение конструктивных параметров платы.
дипломная работа [513,6 K], добавлен 16.06.2017Наименование разрабатываемого устройства. Назначение разрабатываемого устройства в городском транспорте. Обзорный анализ найденных аналогов. Обоснование актуальности разработки устройства. Разработка функциональной схемы разрабатываемого устройства.
курсовая работа [175,6 K], добавлен 04.07.2008Информационное обеспечение автоматизированной системы, создаваемой для устранения ошибок при внесении различных данных о всех услугах. Создание таблиц. Описание автоматизируемых функций приложения. Укрупнённый алгоритм программы, логика работы модулей.
курсовая работа [931,5 K], добавлен 27.09.2012Разработка приложения "Ведомость начисления заработной платы" в среде программирования C++Builder. Алгоритм и сценарий работы программы. Проектирование интерфейса пользователя. Написание программных модулей и результаты тестирования данной программы.
курсовая работа [597,4 K], добавлен 31.01.2016Создание игровой программы, реализующей игру в бильярд на компьютере. Математическое описание законов физики, определяющих траекторию движения шаров по бильярдному столу. Существующие аналоги разрабатываемого продукта. Алгоритмы игровой программы.
контрольная работа [31,3 K], добавлен 25.07.2012Создание и использование динамически загружаемых библиотек в Delphi. Преимущества использования, создание простейшей DLL. Статическая и динамическая загрузка DLL, обмен данными с ней. Создание программы, работающей с базой данных клиентов кардиоцентра.
курсовая работа [425,2 K], добавлен 07.07.2012Создание первичной документации для сопровождения изготовления уже разработанной печатной платы "Стабилизатора напряжения". Создание библиотеки компонентов. Добавление в библиотеку элемента "конденсатор электролитический". Трассировка печатной платы.
курсовая работа [2,7 M], добавлен 19.12.2011Создание электрической схемы проектируемого устройства с помощью графического интерфейса. Улучшение кодовой базы с помощью рефакторинга. Разработка алгоритма работы программы. Использование методики Test driven development, написание тестового покрытия.
курсовая работа [1,3 M], добавлен 15.02.2016Сравнительный анализ языков программирования высокого уровня Си и Паскаль: структура программы, типы данных, арифметические операции, операторы ветвления и циклы. Создание программы поиска подпоследовательностей одинаковых элементов в множественном виде.
курсовая работа [78,9 K], добавлен 28.12.2012Создание модели распределенного банка данных на базе двух ЭВМ, соединенных каналом связи. Определение емкости накопителей перед компьютерами и обеспечение безотказной работы системы. Составление временной диаграммы и схемы моделирующего алгоритма.
курсовая работа [830,5 K], добавлен 28.06.2011Понятие иллюстрации и её использование в печатной продукции. Алгоритм обработки иллюстраций. Понятие цветоделения. Функциональные возможности графических редакторов и их сравнительный анализ. Обзор возможностей графического редактора Adobe Photoshop.
дипломная работа [4,3 M], добавлен 26.01.2013Сравнительный анализ языков программирования высокого уровня Си и Паскаль. Реализация алгоритма обработки данных. Тестирование и отладка программы или пакета программ. Структура программы на языке Турбо Паскаль. Указатели и векторные типы данных.
курсовая работа [233,5 K], добавлен 14.12.2012Создание тестовой программы используя flash-технологии, Action-скрипт. Характеристика и принципы работы в программе Macromedia Flash 7 MX. Использование панели Actions-скрипт. Создание и оформление теста с помощью программы Macromedia Flash.
курсовая работа [614,0 K], добавлен 10.04.2008Создание программы для поиска минимума функции двух вещественных переменных в заданной области с помощью генетического алгоритма. Генетические алгоритмы и операторы. Создание начальной популяции. Размножение. Мутация и селекция. Тестирование программы.
курсовая работа [131,6 K], добавлен 22.02.2015Описание этапов разработки программы "дневник": формулирование проблемной ситуации, определение технических требований в функциональным характеристикам и надежности программы, проектирование интерфейса, создание алгоритмов. Тестирование готового продукта.
курсовая работа [1,7 M], добавлен 26.12.2011Постановка задачи разработки web-системы индивидуальных блогов. Создание основных программных модулей и элементов базы данных. Алгоритм работы с записями и комментариями, добавления математических формул. Расчет экономических показателей проекта.
отчет по практике [3,1 M], добавлен 06.07.2012Язык манипуляции данными. Процесс отбора данных. Использование агрегатных функций и специальных операторов в условиях отбора. Создание и использование представлений и хранимых процедур. Использование триггеров, разработка интерфейса пользователя.
лабораторная работа [70,6 K], добавлен 13.02.2013Использование программы Outlook Express для работы с электронной почтой. Рабочее окно программы. Выбор режима работы, назначение панелей инструментов. Настройка программы для совместного использования. Создание, отправка и удаление электронного письма.
курсовая работа [18,7 K], добавлен 21.06.2011Создание Web-документов (от простейших статических до документов на основе динамического HTML): форматирование текста, создание списков, таблиц, встраивание различных объектов, использование средств интерактивного общения с пользователем.
методичка [45,5 K], добавлен 27.10.2010