Разработка блока управления шлагбаумом с использованием сетей мобильной связи GSM
GSM блок управления автоматикой ворот. Передатчик сигнала с пульта. Описание электрической принципиальной схемы блока управления шлагбаумом (БУШ). Работа БУШ в режиме редактирования массива телефонных номеров в памяти, при приеме входящего звонка.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 04.02.2016 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
1. Введение
2. Краткий обзор существующих систем GSM управления шлагбаумами
2.1 GSM блок управления автоматикой ворот ESIM110/ESIM120
2.2 GSM контроллер TELEOFIS ZATVOR
2.3 GSM контроллер VRT012
3. Постановка задачи
4. Описание структурной схемы БУШ
4.1 Микроконтроллер
4.2 Приёмник сигнала с пульта
4.3 Передатчик сигнала пульта
4.4 GSM модуль
4.5 Wi-Fi модуль
4.6 Источник резервного питания
5. Описание функциональной схемы БУШ
6. Описание электрической принципиальной схемы БУШ
7. Функционирование БУШ
7.1 Работа БУШ при приеме входящего звонка
7.2 Работа БУШ в режиме считывания статического кода пульта управления шлагбаумом
7.3 Работа БУШ в режиме редактирования массива телефонных номеров в памяти
8. Описание конструкции БУШ
9. Описание ПО БУШ
10. Описание ПО терминала
Выводы по разделу
11. Экономическая часть
11.1 Планирование разработки блока управления шлагбаумом с построением ленточного графика
11.1.1 Определение трудоёмкости и продолжительности работ по созданию блока управления шлагбаумом
11.1.2 Построение ленточного графика разработки программного продукта
11.2 Расчёт сметы затрат на разработку программного обеспечения
11.2.1 Основная заработная плата исполнителей
11.2.2 Дополнительная заработная плата
11.2.3 Расчёт обязательных начислений на заработанную плату
11.2.4 Расчёт расходов на материалы
11.2.5 Накладные расходы
11.2.6 Расчёт стоимости машинного времени
Выводы по разделу
12. Экология и безопасность жизнедеятельности
12.1 Анализ опасных и вредных факторов на рабочем месте разработчика системы мониторинга складских помещений
12.2 Комплекс мероприятий по улучшению условий труда на рабочем месте
12.2.1 Эргономические требования к рабочему месту
12.2.2 Электромагнитное излучение дисплея ПК
12.2.3 Противопожарная защита
12.2.4 Расчёт освещённости
12.2.5 Уровень шума
12.2.6 Обеспечение электробезопасности
12.2.7 Воздушная среда в помещениях с ПЭВМ
12.3 Экологичность
Выводы по разделу
13. Выводы по дипломному проекту
14.Список использованной литературы
15.Перечень принятых сокращений
1. Введение
В настоящее время GSM системы управления шлагбаумами становятся чрезвычайно популярными в нашей стране. Шлагбаумы установлены практически повсеместно: на въезде в крупные предприятия и организации, охраняемые автостоянки, жилые массивы и т.д.
Управление шлагбаумами может осуществляться множеством различных способов: с помощью радио и ИК пультов дистанционного управления, специальных RFID меток, установленных на транспортные средства, с использованием GSM сетей.
Способы управления с помощью пультов имеют ряд недостатков, заключающихся в том, что каждый абонент (владелец транспортного средства) должен иметь свой пульт для управления шлагбаумом, что влечет за собой неудобство пользования шлагбаумом, так как пульты ломаются, теряются, плюс достаточно высокая стоимость его приобретения.
Тоже самое касается и RFID меток, так как прежде чем открыть шлагбаум, нужно установить RFID-метку на транспортное средство, что невозможно сделать, если абонент является временным посетителем (гостем) охраняемой зоны.
В связи с изложенным наиболее удобным способом управления шлагбаумами остается управление с использованием GSM-сетей (сотовой связи).
Этот способ обладает неоспоримыми преимуществами по сравнению с другими способами управления: не требуется приобретения дополнительного устройства (пульта или RFID-метки), простота администрирования системы (добавление или удаления номера мобильного телефона абонента в базу данных номеров устройства управления шлагбаумом).
2. Краткий обзор существующих систем GSM управления шлагбаумами
2.1 GSM блок управления автоматикой ворот ESIM110/ESIM120
Esim110/Esim120 - это микропроцесcорный прибор, он предназначен для управления автоматикой ворот, шлагбаумов или другими электрическим приборами через сеть GSM (рис.2.1).
Рисунок 2.1 GSM блок управления автоматикой ворот ESIM110/ESIM120
Основные функции:
* Удаленный контроль над выходом бесплатным телефонным звонком.
* Автоматический контроль над выходом по расписанию.
* Настраиваемая продолжительность импульса.
* Автоматическая синхронизация даты и времени
* До 5 номеров администраторов с доступом конфигурации через SMS, а так же контроля над входами и выходами при помощи
SMS сообщений и бесплатных телефонных звонков.
* База данных до 500 (1000 - опционально) пользователей с доступом к контролю над выходом бесплатным телефонным звонком.
* Ограничение авторизации телефонного номера пользователя по установленному сроку (дата/время) или по количеству звонков на телефонный номер системы.
* Ограничение управления выходом для пользователей в соответствии с указанными днями недели и временем.
* Журнал событий до 1000 записей, содержащий: дату, время, телефонный номер/имя пользователя и телефонный номер администратора управлявшего выходом.
* 3 выхода с настраиваемыми тревожными текстами для оповещения о состоянии или поломке ворот.
* Периодическое оповещение о самотестировании отправляемое на телефонный номер администратора.
КОНТРОЛЛЕР ESIM110 РЕАЛИЗУЕТ ДВА РЕЖИМА КОНТРОЛЯ ДОСТУПА:
Управление разрешено любому пользователю, позвонившему на номер установленной в приборе SIM карты. При звонке на номер установленной в приборе SIM карты контроллер проверит, вписан ли номер звонящего в память системы управления. Если в базе данных GSM-контроллера номер есть -- система управления сбрасывает звонок и на установленное время активирует реле для управления исполнительным устройством (ворота, шлагбаум, СКУД и т.д.). Если номер SIM карты звонящего не вписан в память GSM контроллера -- контакты реле не включаются.
Для номеров телефонов пользователей, которым разрешено управление, возможно устанавливать ограничения по времени/дате доступа, а также по максимальному количеству разрешенных звонков.
В систему все включено. Интуитивно понятная настройка при помощи SMS (SMS сообщения на русском языке).
GSM контроллер ELDES ESIM110 имеет 3 информативных входа, которые при необходимости можно задействовать для оповещения администратора о системных событиях через SMS сообщение, например: поломке привода автоматики, статуса незакрытых ворот, шлагбаума или саботаже (умные ворота).
GSM контроллер для управления автоматикой ESIM110 поддерживает GPRS связь. Таким образом, можно быстро сконфигурировать ESIM110, используя для этого свой интернет браузер - нужно всего-навсего подключиться через www.eldes.lt/login с полученными одноразовыми данными для подключения, и выполнить нужные настройки.
2.2 GSM контроллер TELEOFIS ZATVOR
TELEOFIS ZATVOR (рис. 2) реализует одновременно два режима работы: GSM сигнализатор и GSM замок:
Рисунок 2.2 GSM контроллер TELEOFIS ZATVOR
GSM контроллер TELEOFIS ZATVOR является оригинальным и надежным решением для широкого круга задач, например для оперативного информирования кого-либо о случившемся событии. Такими событиями могут быть:
- аварийная ситуация на оборудовании, объекте;
- срабатывание датчика сигнализации;
- открытие/закрытие дверей и окон;
- включение прибора или аппаратуры;
- превышение заданного значения давления воды/газа (аналоговый вход);
- протечка воды;
- замыкание контактов;
Устройство при срабатывании (замыкании) одного из датчиков отправляет SMS сообщения на три телефонных номера с указанием номера сработавшего входа. Можно настроить произвольные сообщения для каждого входа.
Краткие технические характеристики :
- два входа «сухой контакт»;
- один вход АЦП;
- два выхода «открытый коллектор»;
- встроенный блок питания 220В;
- резервная SIM карта;
- крепление на DIN рейку;
- температурный диапазон до -40° С.
Режим GSM электрозамок.
Благодаря наличию двух управляемых выходов GSM контроллер ZATVOR легко реализует управление подключенными к нему устройствами по звонку или SMS.
Управление по звонку осуществляется бесплатно -- GSM замок принимая команду «отбивает» входящий звонок, не поднимая трубку.
Управление по SMS позволяет реализовать включение/выключение устройств по SMS с подтверждением принятия команды по SMS.
GSM замок может использоваться для:
- открытия/закрытия дверей, ворот, шлагбаумов;
- управления отопительным оборудованием, котлами, саунами;
- домашней автоматизации;
- управление осуществляется только с определенных пользователем номеров (белый список).
2.3 GSM контроллер VRT012
Рисунок 2.3 GSM контроллер VRT012
Устройство VRT012 (рис. 2.3) предназначено для управления воротами или другими исполнительными устройствами с помощью подачи звонков с мобильного телефона.
Устройство, зафиксировав звонок и получив номер звонящего, сравнивает его с номерами из внутреннего списка и при совпадении с одним из номеров выдает внешний сигнал на включение исполнительного устройства. При этом устройство не осуществляет поднятия трубки и таким образом звонящий избегает расходов на звонки.
Устройство может содержать в памяти до 500 различных номеров.
Устройство снимает сигнал включения либо по истечении таймаута либо при поступлении сигнала с внешней кнопки или датчика.
Для большего удобства устройство может быть сконфигурировано с помощью команд посылаемых на него по SMS или через встроенный последовательный интерфейс RS232 с компьютера.
3. Постановка задачи
Целью дипломного проекта является разработка блока управления шлагбаумом (БУШ) с использованием GSM сетей, который позволяет по звонку с мобильного телефона управлять открытием/закрытием шлагбаумов.
Модуль должен обладать следующими характеристиками:
- иметь в своем составе память не менее чем на 1500 номеров абонентов;
- обладать возможностью имитации сигналов с пультов шлагбаумов для упрощения интеграции в существующие системы;
- возможностью удаленного редактирования базы данных номеров с использованием беспроводной сети Wi-Fi;
- возможностью считывания статических кодов с пультов шлагбаумов для последующей имитации этих пультов.
Модуль должен иметь конструкцию, позволяющую его устанавливать как в стойку с автоматикой самого шлагбаума, так и на некотором удалении от него (например, в комнате охраны).
4. Описание структурной схемы блока управления шлагбаумом
Блок управления шлагбаумом состоит из следующих основных узлов:
- микроконтроллер;
- приёмник на 433Мгц;
- передатчик на 433Мгц;
- GSM модуль;
- Wi-Fi модуль;
- Аккумулятор для резервного питания;
- Контроллер заряда аккумулятора;
- память для хранения телефонных номеров абонентов.
4.1 Микроконтроллер
В качестве микроконтроллера используется STM32F103C8T6.
Микроконтроллер предназначен для управления устройством, анализа данных с GSM - модуля, формирование импульсов имитации кода пульта, приёма сигнала с пульта, добавления или удаления номеров телефонов из памяти по командам с Wi-Fi модуля.
Основные технические характеристики микроконтроллера:
* ядро: ARM Cortex M3;
* тактовая частота: 72МГц;
* FLASH-память: 128кб;
* SRAM-память: 20кб;
* интерфейсы: SPI, I2C, USART, USB 2.0, CAN;
* АЦП: до двух 12 бит/16 каналов;
* напряжение питания: 2…3,6В;
* ток потребления: до 2мкА в режиме ожидания;
* четыре режима работы с малым потреблением;
* температурный диапазон: -40°C...125°С;
* тип корпуса: LQFP48.
4.2 Приёмник сигнала с пульта
В качестве приёмника сигнала с пульта используется модуль XY-MK-5V (рис.4.1).
Рисунок 4.1 Модуль XY-MK-5V.
Модуль имеет следующие технические характеристики:
- рабочее напряжение: 5.0VDC +0.5V;
- рабочий ток: ?2.5mA (5.0VDC);
- принцип работы: супергетеродинный;
- рабочий режим: OOK;
- рабочая частота: 433MHz принимаемую частоту, можно изменить путём подстройки контура;
- Полоса пропускания: 2MHz;
- Чувствительность: свыше -105dBm (50Щ);
- Размеры: 30 x 14 мм;
- вес: 2г.
4.3 Передатчик сигнала пульта
В качестве передатчика сигнала с пульта используется модуль FS1000A (рис.4.2).
Рисунок 4.2 Модуль FS1000A.
Модуль имеет следующие технические характеристики:
- рабочее напряжение: 3V~12V;
- рабочий ток: max?40mA (12V), min?9mA(3V);
- модуляция: ASK;
- логический уровень сигнала на выходе: Лог. -Единица = 1/2Vcc до Vcc, лог. ноль = от 0 до 0.7v;
- рабочая частота: 433MHz;
- мощность передатчика: 25mW при питании от 12V;
- погрешность частот: +150kHz (max);
- длина волны: 18см;
- вес: 2г.
4.4 GSM модуль
В качестве GSM - модуля используется модуль SIM900 (рис. 4.3)
Рисунок 4.3 Модуль SIM900
SIM900 - представитель нового поколения бюджетных 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/1900 MГц);
- размеры: 24 * 24 * 3 мм;
- масса: 6,2 г;
- управление AT командами (GSM 07.07 ,07.05 и фирменные AT команды SIMCom);
- аудиокодеки HR, FR, EFR, AMR, подавление эха;
- CSD до 14.4кбит/с;
- PPP-стек;
- встроенный стек TCP/IP, UDP/IP;
- MUX (07.10);
- напряжение питания 3,2 ... 4,8 В;
- рабочий температурный диапазон: -30 °C ... +80 °C;
- расширенный температурный диапазон: -40 °C ... +85 °C (незначительное отклонение радиочастотных характеристик от спецификации GSM при сохранении функциональной работоспособности);
- SMT-монтаж благодаря торцевым контактам под пайку.
Расширенный функционал (доступен в прошивке ENHANCE):
- протоколы HTTP и FTP;
- протокол защищённых сокетов SSL;
- декодирование DTMF-тонов;
- eMail - формирование и отправка электронных писем посредством АТ-команд;
- SMS Autorun - исполнение АТ-команд, полученных по SMS от определенного абонента;
- 2.5Mb user memory - встроенная память для пользовательских данных;
- MMS - формирование, дополнение пользовательскими файлами и отправка с помощью АТ-команд;
- AMR play - воспроизведение аудиофайлов в динамик или в сторону удаленного абонента;
- Jamming Detection - функция обнаружения глушения сигнала;
- FOTA - обновление прошивки модуля по беспроводному каналу;
- Easy Scan - получение информации об окружающих базовых станциях без подключения SIM-карты;
- PING - проверка доступности адреса в Internet посредством обмена ICMP пакетами.
Прошивка с поддержкой технологии Embedded AT позволяет записывать в память модуля и исполнять пользовательский код, написанный на языке С.
4.5 Wi-Fi модуль
В качестве Wi-Fi модуля приёмо-передачи данных используется модуль HLK-RM04 (рис. 4).
Рисунок 4.4. Модуль HLK-RM04.
HLK-RM04 - это новый недорогой встраиваемый UART-Ethernet-WiFi модуль, разработанный компанией Shenzhen Hi-Link Electronic co., Ltd. Модуль поддерживает последовательный интерфейс, стек протоколов TCP/IP, сеть Ethernet, беспроводные сети (Wi-Fi). Основная особенность - любые обычные устройства, работающие с последовательным портом, могут передавать данные через HLK-RM04 в сеть Интернет без какой-либо дополнительной настройки. Также, обеспечивает простое и быстрое решение для передачи данных с пользовательских последовательных устройств в сети Ethernet.
Особенности:
- совместимость с 802.11b/g/n 2,4ГГц;
- поддержка 802.3 и 802.3u;
- Wi-Fi: клиентский режим, режим точки доступа (WAP), режим роутера;
- поддержка WPS/WDS;
- диапазон скоростей передачи данных: 1200~500000 бит/c;
- поддержка прозрачного режима передачи;
- поддержка множества механизмов обеспечения безопасности при аутентификации:
o WEP64/WEP128/ TKIP/ AES
o WEP/WPA-PSK/WPA2-PSK;
- поддержка беспроводного роуминга;
- поддержка множества сетевых протоколов:
o PPPOE/TCP/UDP/DDDNS
o DHCP/DNS/HTTP/Firewire;
- распознавание команд AT+
- два метода настройки - через последовательный интерфейс или по WEB;
- размеры: 29мм*40мм* 8.8мм.
Преимущества:
- хорошее решение для WiFi-роутера;
- может использоваться во множестве различных продуктов;
- сокращает время разработки готовых продуктов;
- нет завышенных радиочастотных требований;
- совместимость со стандартами CE и FCC (часть 15)
Области применения:
- индикаторы состояния WiFi-подключения;
- выключатели питания WiFi-устройств;
- системы умного дома и автоматизации;
- системы беспроводной диагностики (по протоколу OBDII);
- системы радиочастотной идентификации;
- периферия для игровых устройств;
- промышленные системы;
- телеметрия;
- дистанционное управление.
Электрические характеристики |
Примечание |
||
Ток потребление при включенном Wi-Fi |
140 мА |
Работающий в любом из трех режимов Wi-Fi |
|
Ток при одном включенном разъеме RJ-45 |
120 мА |
Последовательный в RJ45 |
|
Ток при двух включенных разъёмах RJ-45 |
135 мА |
Один разъём для LAN, другой для WAN |
|
Работают Wi-Fi и 2 разъёма RJ-45 |
160 мА |
Режим работы по умолчанию |
|
Радиочастотные характеристики |
Примечание |
||
Чувствительность приёма |
-70 дБм |
||
Максимальная мощность передачи |
18 дБм/15дБм/13.5 дБм |
802.11b/g/n |
|
Сопротивление антенны |
50 Ом |
2.4 - 2.5ГГц |
|
VSWR (max) |
2:1 |
2.4 - 2.5ГГц |
|
Точность центральной частоты |
±25ppm |
Дополнительно разрешается ±15ppm |
|
Периферия |
Примечание |
||
UART |
2 шт. |
1200-500 Кбит/с |
|
Разъёмы RJ-45 (WAN) |
4 шт. |
Поддержка PPPOE |
|
Разёемы RJ-45 (LAN) |
4 шт. |
Поддержка DHCP |
|
Выход 3.3 В |
1 шт. |
300 мА/3.3В |
|
Выход 1,8 В |
1 шт. |
300 мА/1,8В |
4.6 Источник резервного питания
В качестве источника резервного питания используется литий-ионный аккумулятор повышенной ёмкости TrustFire 18650 (рис. 4.5).
Рисунок 4.5 Аккумулятор TrustFire 18650.
Технические характеристики аккумулятора:
- напряжение: 3,7 В;
- ёмкость: 2400 мАч;
- габариты, мм: 67 х 18,5;
- напряжение заряда: 4,2 В.
Защита от перезаряда: есть. Защищённые аккумуляторы TrustFire 18650 / 2400 мАч оригинальный аккумулятор, с фирменной платой защиты, прошедший множество заводских тестов, и на сегодняшний день является лидером продаж среди аккумуляторов Li-ION 18650. Содержат электронную плату контроля внешнего/внутреннего напряжения. Она автоматически отключает зарядку батареи при превышении напряжения 4,20 В, а также при глубокой разрядке элемента (ниже 2,75 В). Кроме того, система контроля убережет TrustFire 18650 от случайного короткого замыкания.
Методика заряда LION аккумуляторов остаётся неизменна. Аккумуляторы Li-ION не любят сильного разряда и максимального заряда. Аккумуляторы 18650 Li-ION не требуют так называемого "разгона". Ими можно пользоваться сразу, достав из упаковки.
Аккумулятор устанавливается на модуле в специальный отсек (рис. 4.6)
Рисунок 4.6. Отсек для Li-ion аккумулятора форм-фактора 18650.
5. Описание функциональной схемы
Функциональная схема блока управления шлагбаумом изображена на плакате №2.
GSM модуль SIM900 подключён к интерфейсу USART2 микроконтроллера. Wi-Fi модуль HLK-RM04 подключён к USART1 микроконтроллера и работает в режиме USART-моста. Bыход данных приёмника XY-MK-5V подключён к порту таймера 4, который работает в режиме захвата и измерения временных интервалов входящего сигнала. Вход данных передатчика FS1000A подключён к выходу таймера 2, который работает в режиме формирования временных интервалов. В качестве памяти для хранения телефонных номеров абонентов используется EEPROM 24С512, имеющая следующие технические характеристики:
- тип организации памяти: 64k x 8;
- напряжение питания, В: 2.5…5.5;
- интерфейс последовательный;
- время доступа, нс: 100;
- число циклов записи 10e6;
- температурный диапазон, C: -40…85;
- тип корпуса dip8.
EEPROM подключена к микроконтроллеру по интерфейсу I2C. Телефонные номера хранятся в ячейках памяти EEPROM последовательно, начиная с первой ячейки. Один номер занимает 4 байта и хранится в формате 89ххххххххх, где ххххххххх - 32-битное число, хранящееся в памяти EEPROM в 4-х ячейках, а цифры «8» и «9» являются одинаковыми для всех номеров и добавляются при считывании номера из памяти. Соответственно при записи в память цифры «8» и «9» отбрасываются. Индекс абонента соответствует адресу ячейки памяти умноженному на 4. При такой организации памяти EEPROM 24c512 позволяет хранить до 19000 номеров абонентов.
Для зарядки аккумулятора резервного питания используется микросхема контроллера зарядки TP4056. Контроллер обеспечивает регулируемый зарядный ток от 50 до 1000 мА. Точность заряда: 1.5%. Входное напряжение: 4.5В-5.5В. Напряжение полного заряда: 4.2В. Микросхема имеет индикацию процесса заряда и сама отключает аккумулятор при достижении напряжения на нем 4,2 В.
6. Описание электрической принципиальной схемы блока управления шлагбаумом
Принципиальная электрическая схема блока управления шлагбаумом изображена на плакате №3.
Так как микроконтроллеру STM32F103C8T6 необходим источник питания 3.3В, а напряжение питания схемы - 5В, то в блоке установлен линейный стабилизатор с малым падением напряжения на нагрузке LM1117 (DA1).
Данный стабилизатор обладает следующими техническими характеристиками:
VIN,В |
от 4.5 до 15 |
|
EN |
Нет |
|
Выход: VOUT1,В |
3.3 |
|
Выход: IOUT1,мА |
800 |
|
Vdrop,В |
1.2 |
|
TA,°C |
от 0 до 125 |
|
Корпус |
LLP-8 SOT-223-4 TO-252 TO-263-3 |
Диод Шоттки (D1) BAT760 предназначен для подключения резервного питания (аккумулятора) при необходимости. В случае присутствия напряжения питания 5В, диод закрыт, так как напряжение на аккумуляторе составляет 3.7В. При отсутствии напряжения питания 5В диод открывается и схема питается от напряжения на аккумуляторе (3.7В), при этом блок может работать только в режиме управления шлагбаумом, корректировка базы данных номеров телефонов невозможна, так как Wi-Fi модулю требуется питание не менее 4.9В.
Так как диапазон напряжения питания GSM модуля SIM900 составляет от 3.2 до 4.8В, рабочее напряжение 3.7В, для питания модуля установлен дополнительный преобразователь напряжения на микросхеме MIC29303 (DA2).
Для тактирования микроконтроллера установлен кварцевый резонатор Y1 на 8Мгц. Частота в 72Мгц, необходимая для работы контроллера получается путем программного умножения на 8.
Кварцевый резонатор Y2 необходим для тактирования модуля часов реального времени микроконтроллера (RTC).
На схеме также установлены светодиоды:
- D2 - для индикации статуса модуля SIM900;
- D3 - для индикации наличия сигнала сотовой сети;
- D4 - для индикации активности Wi-Fi модуля.
DD4 является сокетом для установки сим-карты.
7. Функционирование блока управления шлагбаумом
Блок - схемы алгоритма функционирования БУШ изображены на плакате 5.
7.1 Работа блока управления шлагбаумом при приёме входящего звонка
При включении питания блок управления шлагбаумом переходит в режим ожидания звонка, т.е. появления данных с модуля SIM900 в буфере USART2. Во время звонка модуль SIM900 выдает на линию TX строку ASCII символов в следующем формате:
RING +CLIP: "+7XXXXXXXXXX",145,"",,”name”,0
Где:
- "+7XXXXXXXXXX" - номер абонента
- 145, формат номера в сообщении. 145 -- интернациональный формат, 129 -- неизвестный (например, при русских символах)
- 0, -- данные верны, 1, -- данные не даёт оператор 2, -- данные недоступны из-за ограничений сети.
- «name», -- имя записи в записной книжке
ПО контроллера анализирует строку и по признаку «+7» считывает номер телефона в 32-битную переменную. Далее номера последовательно считываются из EEPROM и проверяются на совпадение с входящим номером. Если совпадение установлено, запускается процедура воспроизведения статического кода пульта.
Воспроизведение осуществляется в соответствии с записанным кодом. Массив байтов кода преобразуется в массив битов, далее с помощью таймера воспроизводится преамбула (пауза), далее воспроизводится последовательность импульсов и пауз, ранее записанной длительности (логические нули и единицы).
Воспроизведение пакета данных с преамбулой повторяется в течение нескольких секунд. Это необходимо для уверенного приёма кода автоматикой шлагбаума.
7.2 Работа блока управления шлагбаумом в режиме считывания статического кода пульта управления шлагбаумом
БУШ переводится в режим считывания статического кода по команде с терминала.
В большинстве пультов для управления шлагбаумами используются управляющие микросхемы SC2272 или RT1527.
Пульт посылает данные в виде пакета, который состоит из двух частей: преамбула (бит синхронизации) и данных (рис. 7.1)
Рисунок 7.1 Пакет данных с битом синхронизации
Перед посылкой каждого пакета данных передаётся «бит синхронизации», преамбула. Когда передатчик молчит, на выходе приёмника присутствует случайный шум в виде частых случайных переключений «0»/«1». Для начала приёма полезных данных необходимо определить молчание на выходе приёмника -- «бит синхронизации».
За битом синхронизации передаются сами данные. Здесь у разных микросхем -- разная трактовка. Например, у RT1527 -- короткий импульс = бит «0», длинный импульс = бит «1» (рис. 7.2),
Рисунок 7.2 Формат пакета данных микросхемы RT1527
а у SC2272 -- последовательность двух коротких = бит «0», последовательность двух длинных = бит «1», последовательность короткого и длинного -- бит «F» (рис. 7.3).
Рисунок 7.3 Формат пакета данных микросхемы SC2272
Но в любом случае соотношение времён импульсов имеет закономерность: если принять время короткого импульса за 1t, то при передаче короткого импульса -- соотношение импульса и паузы 1t/3t, при передаче длинного импульса -- соотношение импульса и паузы 3t/1t. Время передачи «бита синхронизации» будет 32t.
При таком соотношении таймингов в БУШ реализован следующий алгоритм приёма с автоматическим определением «биттайминга»:
- ожидание длительности паузы (уровень «0») больше чем 4мс -- «бит синхронизации»;
- измерение длительности этой паузы, и по ней расчёт времён длинного и короткого импульса последующих передаваемых данных.
- после приёма «бита синхронизации» переход в режим принятия всего пакета. Контроллер следит, чтобы импульсы примерно попадали в рассчитанные времена, и учитывает, что за коротким импульсом следует длинная пауза, за длинным импульсом -- короткая пауза, после передачи пакета следует «бит синхронизации».
Если при приёме что-то не попало в своё время -- сбрасывает приём и возвращается к ожиданию преамбулы.
После успешного приёма принятые биты сохраняются в массив, их количество и временные характеристики.
Далее массив битов преобразуется в массив байтов статического кода пульта, который может быть воспроизведен с помощью передатчика.
7.3 Работа блока управления шлагбаумом в режиме редактирования массива телефонных номеров в памяти
При приходе с терминальной программы команды на чтение EEPROM микроконтроллер через интерфейс USART2 последовательно передает в Wi-Fi модуль содержимое ячеек памяти EEPROM. При этом считываются только те ячейки памяти, которые содержат информацию, пустые ячейки игнорируются (пустыми считаются те ячейки памяти, в которых все 4 байта номера телефона содержат нули). Структура записи телефонных номеров в EEPROM:
Номер телефона 1 |
Номер телефона 2 |
|||||||
Байт1 |
Байт2 |
Байт3 |
Байт4 |
Байт1 |
Байт2 |
Байт3 |
Байт4 |
|
Адр.0 |
Адр.1 |
Адр.2 |
Адр.3 |
Адр.4 |
Адр.5 |
Адр.6 |
Адр.7 |
При записи телефонных номеров в память терминальная программа передает в БУШ только измененные номера телефонов вместе с индексами. Это необходимо для сокращения количества циклов перезаписи EEPROM, т.е. увеличения ресурса её работы.
8. Описание конструкции блока управления шлагбаумом
Сборочный чертеж БУШ изображен на плакате 5.
Плата с радиоэлектронными компонентами размещается в пластиковом влагозащищенном корпусе. Размер корпуса 156х68х43.6 мм.
На передней панели корпуса имеются индикаторы питания (Power), зарядки аккумулятора, (Charge) режима ожидания (Standby), активности Wi-fi сети (Wi-Fi act), наличия и статуса GSM сети (GSM net и GSM status).
На боковых панелях с одной стороны выведен разъём питания +5В, с другой - антенна сети Wi-Fi.
На корпусе предусмотрены также отверстия для крепления его на стену.
Габариты корпуса позволяют устанавливать БУШ практически в любом удобном месте, в том числе в стойку с автоматикой шлагбаума.
Энергопотребление БУШ не превышает 2А.
9. Описание ПО блока управления шлагбаумом
Управляющая программа для микроконтроллера БУШ написана на языке С++ c использованием среды программирования CooCox IDE для микроконтроллеров ARM Cortex M3.
Главный модуль программы:
void main (void)
{
u8 i;
//Инициализация тактирования системы
RCC->CR |= 0x00010000; //включение внешнего источника тактирования
while((RCC->CR&0x00020000) == 0); //ждем пока источник тактирования не готов
RCC->CFGR |= 0x001C0200; //умножитель на 9
RCC->CR |= 0x01000000; //включаем блок умножения
while((RCC->CR&0x02000000) == 0); //ждём пока блок умножения не готов
RCC->CFGR |= 0x00000002; //выбираем внешний источник как источник тактирования
while ((RCC->CFGR&0x0000000C) != 0x00000008); //ждём пока источник не запустится
//Инициализация частот тактирования периферии
RCC->APB2ENR |= 0x501D; //AFIO; GPIO A,B,C; USART1 enable
RCC->APB1ENR |= 0x18260002; //TIM3; PWR; BKP; I2C1; USART2, enable
RCC->AHBENR |= 0x0001; //DMA1 enable
//Инициализация USART1
//PA9 - USART1_TX - режим AF PP 50
//PA10 - USART1_RX - режим IN FLOATING 50
GPIOA->CRH &= 0xFFFFFF0F;
GPIOA->CRH |= 0x000000B0;
USART1->BRR = 0x0271; //baudrate - 115200(0x0271)
USART1->CR1 = 0x202C; //mode TX and RX, RX interrupt enable, USART1 on
USART1->CR3 |= 0x00C0; //USART1 DMA TX and RX enable
//Инициализация USART2
//PA2 - USART2_TX - режим AF PP 50
//PA3 - USART2_RX - режим IN FLOATING 50
GPIOA->CRL &= 0xFFFFF0FF;
GPIOA->CRL |= 0x00000B00;
USART2->BRR = 0x004E; //baudrate - 115200(0x004E)
USART2->CR1 = 0x202C; //mode TX and RX, RX interrupt enable, USART1 on
//Инициализация модуля I2C1 (EEPROM)
//adressing mode 7-bit slave adress, interface adress = 1
//PB7 - I2C1 SDA - режим AF OD 50 (or SD CS)
//PB6 - I2C1 SCL - режим AF OD 50
GPIOB->CRL &= 0x00FFFFFF;
GPIOB->CRL |= 0xFF000000;
I2C1->CR2 |= 0x0009;
I2C1->TRISE = 0x10;
I2C1->CCR = 0x002D;
I2C1->OAR1 = 0x4001;
//конфигурирование контроллера прерываний NVIC
NVIC->ISER[0] |= 0x2003C048; //Timer 3 interrupt enable,RTC, DMA1 channel 4,5,6,7, exti line 0 interrupt enable
NVIC->ISER[1] |= 0x00000160; //USART1, USART2,
//Инициализация контроллера DMA для USART1 TX
DMA1_Channel4->CCR |= 0x00001092;
//read from memory, memory inc mode, priority medium, TC int enable
DMA1_Channel4->CPAR = (u32)&(USART1->DR);
DMA1_Channel4->CMAR = (u32)&TxBuffer;
//Инициализация контроллера USART1 RX DMA init
DMA1_Channel5->CCR |= 0x00001082;
//read from pheripherial, memory inc mode, priority medium, TC int enable
DMA1_Channel5->CNDTR = 6;
DMA1_Channel5->CPAR = (u32)&(USART1->DR);
DMA1_Channel5->CMAR = (u32)&RxBuffer;
__enable_irq();
COM_CODE = 5;
AT_CPBF();
while(1);
}
Процедура записи сектора в EEPROM:
void EEPROM_PageWrite(u8 *data, u16 WriteAddr, u16 N_data)
{
u8 i;
I2C1->CR1 |= 0x0401; //I2C1 acknowledge enable, I2C1 enable
while(I2C1->SR2&0x02); //wait while bus busy
I2C1->CR1 |= 0x0100; //send signal START
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00030001) != 0x00030001); //check EV5=0x00030001
I2C1->DR = 0xA0; //send EEPROM adress
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00070082) != 0x00070082); //check EV6=0x00070082
I2C1->DR = (u8)((WriteAddr&0xFF00)>>8); //send Hi adr
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00070084) != 0x00070084); //check EV8=0x00070084 (ACK)
I2C1->DR = (u8)(WriteAddr&0x00FF); //send Lo adr
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00070084) != 0x00070084); //check EV8=0x00070084 (ACK)
for(i=0;i<N_data;i++)
{
I2C1->DR = data[i]; //send data
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00070084) != 0x00070084); //check EV8=0x00070084 (ACK)
}
I2C1->CR1 |= 0x0200; //send signal STOP
I2C1->CR1 &= 0xFFFE; //I2C1 disable
Delay(5);
}
Процедура чтения сектора из EEPROM:
u8 EEPROM_SecRead(u8 *data, u16 ReadAddr, u16 N_data)
{
u8 i;
I2C1->CR1 |= 0x0401; //I2C1 acknowledge enable, I2C1 enable
while(I2C1->SR2&0x02); //wait while bus busy
I2C1->CR1 |= 0x0100; //send signal START
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00030001) != 0x00030001); //check EV5=0x00030001
I2C1->DR = 0xA0; //send EEPROM adress
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00070082) != 0x00070082); //check EV6=0x00070082
I2C1->DR = (u8)((ReadAddr&0xFF00)>>8); //send Hi adr
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00070084) != 0x00070084); //check EV8=0x00070084
I2C1->DR = (u8)(ReadAddr&0x00FF); //send Lo adr
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00070084) != 0x00070084); //check EV8=0x00070084
I2C1->CR1 |= 0x0100;
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00030001) != 0x00030001); //check EV5=0x00030001
I2C1->DR = 0xA1;
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00030040) != 0x00030040); //check EV6=0x00030040
for(i=0;i<N_data;i++)
{
data[i] = I2C1->DR;
while((((I2C1->SR1|(I2C1->SR2)<<16)&0x00FFFFFF)&0x00030040) != 0x00030040); //check EV6=0x00030040
}
I2C1->CR1 &= 0xFBFF; //I2C1 acknowledge disable
I2C1->CR1 |= 0x0200; //send signal STOP
I2C1->CR1 &= 0xFFFE;//I2C1 disable
Delay(1);
return data;
}
Процедура записи/чтения терминалом номеров телефонов из EEPROM с использованием канала 5 DMA контроллера:
void DMA1_Channel5_IRQHandler(void)
{
u8 mas_ind[2];
if(DMA1->ISR&0x00010000)
{
DMA1->IFCR = 0xFFFFFFFF;
DMA1_Channel5->CCR &= 0xFFFE;
if(rx_flag)
{
mas_ind[0] = (u8)index;
mas_ind[1] = (u8)(index>>8);
EEPROM_PageWrite(mas_ind,0,2);
EEPROM_PageWrite(RxBuffer,2,index*4);
DMA1_Channel5->CNDTR = 3;
DMA1_Channel5->CCR |= 0x0001;
rx_flag = 0;
return;
}
switch (RxBuffer[0])
{
case 0x03:
EEPROM_SecRead(TxBuffer,0,index*4+2);
DMA1_Channel4->CNDTR = index*4+2;
DMA1_Channel4->CCR |= 0x0001;
break;
case 0x01:
rx_flag = 1;
index = (u16)RxBuffer[1] | (u16)RxBuffer[2]<<8;
DMA1_Channel5->CNDTR = index*4;
DMA1_Channel5->CCR |= 0x0001;
break;
}
}
}
Процедура считывания и анализа входящего телефонного номера:
void USART2_IRQHandler(void)
{
char S_inc_tel[9], ATH0[] = {65,84,72,48,13};
u16 j;
u8 mas_tel[4];
u32 inc_n_tel;
if(USART2->SR&0x0020)
{
RxBuffer[k] = USART2->DR;
if((RxBuffer[k]=='"')&N_tel_flag)
{
N_tel_flag = 0;
k = 0;
for(j=0;j<9;j++) S_inc_tel[j] = RxBuffer[j];
inc_n_tel = str_to_u32(S_inc_tel);
j = 2;
while(j<=ind*4+2)
{
EEPROM_SecRead(mas_tel,j,4);
if(inc_n_tel == ((u32)mas_tel[0] | (u32)mas_tel[1]<<8 | (u32)mas_tel[2]<<16 | (u32)mas_tel[3]<<24))
{
TIM4->CR1 |= 0x0001; //play code
//trans_flag = 1;
TS_Text(0,0,"Numer accepted",14,0xFFFF,0);
//TS_dec(l,15,0,15,0xFFFF,0);
Delay(50);
for (j=0;j<5;j++)
{
while((USART2->SR&0x0080)==0);
USART2->DR = ATH0[j];
}
break;
}
j = j+4;
}
return;
}
if((k>3)&(RxBuffer[k-2]=='+')&(RxBuffer[k-1]=='7')&(RxBuffer[k++]=='9'))
{
k = 0;
N_tel_flag = 1;
}
}
}
10. Описание ПО терминала
Данный программный модуль написан на языке программирования С# в среде программирования Microsoft Visual Studio 2012.
Вид окна программы изображен на рис. 10.1.
После запуска программы необходимо выбрать номер виртуального COM - порта, к которому подключен модуль Wi-Fi БУШ (работающего в режиме UART-моста).
При нажатии экранной кнопки «Загрузить» программа считывает из EEPROM БУШ перечень номеров телефонов абонентов и отображает их в виде перечня.
Рисунок 10.1 Окно терминальной программы.
Экранные кнопки «Добавить» и «Удалить» служат для добавления или удаления номеров из списка.
Экранная кнопка «Сохранить» служит для записи перечня номеров в EEPROM БУШ.
Данная программа дополнительно обладает функцией переключения БУШ в режим считывания статического кода пульта шлагбаума. Данный режим активируется нажатием экранной кнопки «считать код пульта». После окончания процесса считывания БУШ автоматически возвращается в прежний режим работы.
Фрагмент текста программы терминала для компьютеров с процессорами х86 и операционной системой Windows:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.IO;
namespace ERNC_COMPort
{
public partial class Form1 : Form
{
// string str;
delegate void SetTextCallback(string text);
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
string[] availablePorts = SerialPort.GetPortNames();
foreach (string port in availablePorts)
{
comboBox5.Items.Add(port);
}
comboBox5.Text = comboBox5.Items[0].ToString();
// comboBox4.Text = "1";
serialPort1.StopBits = StopBits.One;
serialPort1.DataBits = 8;
serialPort1.BaudRate = 115200;
serialPort1.PortName = comboBox5.Text;
serialPort1.Parity = Parity.None;
}
catch (Exception e9)
{
MessageBox.Show(e9.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
serialPort1.Open();
if (serialPort1.IsOpen)
{
button1.Enabled = false;
button5.Enabled = true;
comboBox5.Enabled = false;
bt_load.Enabled = true;
bt_save.Enabled = true;
}
}
catch (Exception e1)
{
MessageBox.Show(e1.Message);
}
}
private void comboBox5_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox5.Text = comboBox5.SelectedItem.ToString();
serialPort1.PortName = comboBox5.Text;
}
private void button5_Click(object sender, EventArgs e)
{
try
{
serialPort1.Close();
if (!serialPort1.IsOpen)
{
button1.Enabled = true;
button5.Enabled = false;
comboBox5.Enabled = true;
bt_load.Enabled = false;
bt_save.Enabled = false;
}
}
catch (Exception e2)
{
MessageBox.Show(e2.Message);
}
}
private void N_tel_list_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (N_tel_list.CurrentCell.ColumnIndex == 0)
{
TextBox tb = (TextBox)e.Control;
tb.KeyPress += new KeyPressEventHandler(tb_KeyPress);
}
else
{
TextBox tb = (TextBox)e.Control;
tb.KeyPress -= tb_KeyPress;
}
}
void tb_KeyPress(object sender, KeyPressEventArgs e)
{
if ((!Char.IsNumber(e.KeyChar) && (e.KeyChar != '-') && (e.KeyChar != ',')))
{
if ((e.KeyChar != (char)Keys.Back) || (e.KeyChar != (char)Keys.Delete))
{ e.Handled = true; }
}
}
private void bt_add_Click(object sender, EventArgs e)
{
N_tel_list.Rows.Add();
Tb_N_num.Text = Convert.ToString(N_tel_list.Rows.Count);
N_tel_list.Rows[N_tel_list.Rows.Count - 1].Cells[0].Value = Convert.ToUInt32(tb_add.Text);
}
private void bt_del_Click(object sender, EventArgs e)
{
for (int i = 0; i < N_tel_list.SelectedRows.Count; i++)
{
N_tel_list.Rows.RemoveAt(N_tel_list.SelectedRows[0].Index);
}
Tb_N_num.Text = Convert.ToString(N_tel_list.Rows.Count);
}
private void bt_save_Click(object sender, EventArgs e)
{
byte[] com = new byte[1];
byte[] mas_N_tel = new byte[4];
byte[] mas_index = new byte[2];
int i;
com[0] = 0x01;
mas_index[0] = (byte)(N_tel_list.Rows.Count);
mas_index[1] = (byte)(N_tel_list.Rows.Count >> 8);
serialPort1.Write(com, 0, 1);
serialPort1.Write(mas_index, 0, mas_index.Length);
for (i = 0; i < N_tel_list.Rows.Count; i++)
{
uint N_tel = Convert.ToUInt32(N_tel_list.Rows[i].Cells[0].Value);
mas_N_tel[0] = (byte)(N_tel);
mas_N_tel[1] = (byte)(N_tel >> 8);
mas_N_tel[2] = (byte)(N_tel >> 16);
mas_N_tel[3] = (byte)(N_tel >> 24);
serialPort1.Write(mas_N_tel, 0, mas_N_tel.Length);
}
}
private void bt_load_Click(object sender, EventArgs e)
{
byte[] com = new byte[3];
byte[] in_mas = new byte[60000];
uint[] N_tel = new uint[15000];
byte[] mas_N_tel = new byte[4];
byte[] mas_index = new byte[2];
int i,j=0,N_rec;
if(N_tel_list.Rows.Count != 0) while (N_tel_list.Rows.Count != 0) N_tel_list.Rows.Remove(N_tel_list.Rows[N_tel_list.Rows.Count - 1]);
com[0] = 0x03;
com[1] = 0x00;
com[2] = 0x00;
serialPort1.Write(com, 0, 3);
N_rec = (int)serialPort1.ReadByte() | (int)serialPort1.ReadByte() << 8;
for (i = 0; i < N_rec*4; i++) in_mas[i] = (byte)(serialPort1.ReadByte());
i = 0;
for (j = 0; j < N_rec; j++)
{
N_tel[j] = (uint)(in_mas[i]) | (uint)(in_mas[i+1]) << 8 | (uint)(in_mas[i+2]) << 16 | (uint)(in_mas[i+3]) << 24;
N_tel_list.Rows.Add();
N_tel_list.Rows[N_tel_list.Rows.Count - 1].Cells[0].Value = N_tel[j];
i = i + 4;
}
Tb_N_num.Text = Convert.ToString(N_tel_list.Rows.Count);
}
private void bt_search_Click(object sender, EventArgs e)
{
uint N_tel_search = Convert.ToUInt32(tb_search.Text);
for (int i = 0; i < N_tel_list.Rows.Count; i++) if (Convert.ToUInt32(N_tel_list.Rows[i].Cells[0].Value) == N_tel_search)
{
N_tel_list.CurrentCell = N_tel_list[0, i];
break;
}
}
}
}
Выводы по разделу
В ходе выполнения специальной части проекта был создан блок управления шлагбаумом с использованием GSM сети, обладающий следующими характеристиками:
- возможность хранения номеров до 19000 абонентов;
- возможность корректировки списка номеров телефонов дистанционно с использованием Wi-Fi сети;
- возможность считывания и имитации сигналов пультов практически любых шлагбаумов;
- лёгкая интеграция в существующие системы без доработки конструкции;
- возможность автономной работы при временном отсутствии напряжения питания;
- за счёт универсальности конструкции возможность установки, как в помещениях, так и на улице, в любом удобном для заказчика месте в зоне действия передатчика 433 Мгц.
блок управление шлагбаум сигнал
11. Экономическая часть
11.1 Планирование разработки блока управления шлагбаумом с построением ленточного графика
11.1.1 Определение трудоёмкости и продолжительности работ по созданию блока управления шлагбаумом
Процесс разработки включает: обзор и анализ аналогичных систем управления шлагбаумами, анализ и выбор аппаратных и программных средств для создания системы; отладка; испытание. Согласно ГОСТ 23501.1-79 регламентируются следующие стадии проведения исследования:
техническое задание - ТЗ (ГОСТ 23501.2-79);
эскизный проект - ЭП (ГОСТ 23501.5-80);
технический проект - ТП (ГОСТ 23501.6-80);
рабочий проект - РП (ГОСТ 23501.11-81);
внедрение - ВП (ГОСТ 23501.15-81).
В таблице 11.1. приведён перечень работ, выполняемых на всех стадиях разработки БУШ.
Таблица 11.1 - Состав работ и стадии разработки БУШ
Стадии разработки |
Перечень работ |
|
Техническое задание |
- постановка задачи; - подбор литературы; - сбор исходных данных; - определение требований к системе; - определение этапов, и сроков. |
|
Эскизный проект |
- анализ аналогичных систем; - разработка общей структуры системы; - детализация подсистем в первом приближении; -документирование. |
|
Технический проект |
- разработка структуры системы; - выбор и описание элементов системы; - разработка управляющей программы. |
|
Рабочий проект |
- описание технических особенностей элементов системы; - программирование; - разработка программной документации; - согласование и утверждение программы и методики испытаний. |
|
Внедрение |
- опытная эксплуатация; - анализ данных, полученных в результате опытной эксплуатации; - корректировка технической документации по результатам испытаний. |
Трудоёмкость разработки БУШ на каждой из стадий определяется как сумма трудоёмкостей входящих в них работ, оцениваемых экспертным путём в человеко-днях, и носит вероятностный характер, так как зависит от множества трудно-учитываемых факторов.
Трудоёмкость каждой отдельной работы определяется по формуле (3.1).
, (3.1)
где
tmin - минимально возможная трудоёмкость выполнения данной работы в человеко-днях;
tmax - максимально возможная трудоёмкость выполнения этой работы в человеко-днях.
Продолжительность каждого вида работ в календарных днях (Ti) определяется по формуле (3.2), в днях.
, (3.2)
где
ti - трудоёмкость работ, человек-дней;
Чi - численность исполнителей, человек;
Kвых - коэффициент, учитывающий выходные и праздничные дни, вычисляется по формуле (3.3).
, (3.3)
где
Ккал. - число календарных дней;
Краб. - число рабочих дней.
Для расчёта принимается среднее значение Kвых=1,47.
Полный список видов и этапов работ по созданию программного продукта, экспертные оценки и расчётные величины их трудоёмкости, а также продолжительность каждого вида работ, рассчитанные по формулам (3.1) и (3.2), представлены в таблице 11.2.
Таблица 11.2. - Расчёт трудоёмкости и продолжительности работ по созданию системы мониторинга.
№ п/п |
Наименование стадий и работ |
Трудоёмкость, человеко-дни |
Количество исполнителей, чел. |
Продолжи- тельность, календарные дни |
|||
tmin |
tmax |
ti |
Чi |
Тi |
|||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
Техническое задание |
|||||||
1 |
Постановка задачи |
3 |
3 |
3 |
2 |
2,2 |
|
2 |
Подбор литературы |
4 |
4 |
4 |
1 |
5,88 |
|
3 |
Сбор исходных данных |
5 |
5 |
5 |
1 |
7,35 |
|
4 |
Определение требований к системе |
3 |
3 |
3 |
2 |
2,2 |
|
5 |
Определение стадий, этапов и сроков разработки системы |
2 |
2 |
2 |
2 |
1,47 |
|
Эскизный проект |
|||||||
6 |
Анализ аналогичных систем |
2 |
2 |
2 |
1 |
2,94 |
|
7 |
Разработка общей структуры системы |
2 |
3 |
2,4 |
2 |
1,77 |
|
8 |
Детализация подсистем в первом приближении |
1 |
2 |
1,4 |
2 |
1,03 |
|
9 |
Документирование |
2 |
3 |
2,4 |
1 |
3,53 |
|
Технический проект |
|||||||
10 |
Разработка структуры системы |
5 |
5 |
5 |
1 |
7,35 |
|
11 |
Выбор и описание элементов системы |
2 |
3 |
2,4 |
1 |
3,53 |
|
12 |
Разработка управляющей программы |
5 |
5 |
5 |
1 |
7,35 |
|
Рабочий проект |
|||||||
13 |
Описание технических особенностей элементов системы |
3 |
4 |
3,4 |
1 |
5 |
|
14 |
Программирование |
11 |
13 |
11,8 |
1 |
17,35 |
|
15 |
Разработка программной документации |
4 |
5 |
4,4 |
1 |
6,47 |
|
16 |
Согласование и утверждение программы и методики испытаний |
1 |
2 |
1,4 |
2 |
1,03 |
|
Внедрение |
|||||||
17 |
Опытная эксплуатация |
6 |
7 |
6,4 |
1 |
9,4 |
|
18 |
Анализ данных, полученных в результате опытной эксплуатации |
2 |
3 |
2,4 |
1 |
3,53 |
|
19 |
Корректировка технической документации по результатам испытаний |
2 |
2 |
2 |
1 |
2,94 |
|
Итого |
70 |
93 |
Таким образом, общая трудоёмкость разработки программного продукта составляет 70 человеко-дней, а их продолжительность - 93 календарных дней.
11.1.2 Построение ленточного графика разработки программного продукта
В качестве инструмента планирования работ используем ленточный график. Ленточный график является удобным, простым и наглядным инструментом для планирования работ. Он представляет собой таблицу, где перечислены работы и длительность выполнения каждой из них. Продолжением таблицы является линейный график, построенный в масштабе, наглядно показывающий продолжительность каждой работы в виде отрезков прямых, располагающихся в соответствии с последовательностью выполнения работ.
Ленточный график разработки программного продукта, построенный по данным таблицы 11.2, приведён на рисунке 11.1.
Рисунок 11.1. Ленточный график разработки системы
График позволяет наглядно представить логическую последовательность и взаимосвязь отдельных работ, сроки начала и окончания работ, соблюдение которых обеспечит своевременное выполнение проекта и разработку программного продукта.
11.2 Расчёт сметы затрат на разработку программного обеспечения
Сметная стоимость проектирования и внедрения системы включает в себя затраты, определяемые по формуле (3.4)
Спр=Сосн+Сдоп+Снзп+См+Смаш.вр+Сн; (3.4)
где
Спр- стоимость разработки системы;
См - затраты на используемые материалы;
Сосн - основная заработная плата исполнителей;
Сдоп - дополнительная заработная плата исполнителей, учитывающая потери времени на отпуска и болезни (принимается в среднем 10% от основной заработной платы);
Снзп -обязательные начисления на заработную плату;
Сн - накладные расходы включают затраты на управление, уборку, ремонт, электроэнергию, отопление и другие хозяйственные расходы (принимаются в размере 60% от основной и дополнительной заработной платы);
Смаш.вр - стоимость машинного времени.
11.2.1 Основная заработная плата исполнителей
На статью «Заработная плата» относят заработную плату научных, инженерно-технических и других работников, непосредственно участвующих в разработке ПС. Расчёт ведётся по формуле (3.5)
Зисп=Зср*Т , (3.5)
где
Зисп - заработная плата исполнителей (руб.);
Зср - средняя дневная тарифная ставка работника организации разработчика программного продукта (руб./чел.дни);
Т - трудоёмкость разработки ПС (чел./дни).
Зср определяется по формуле (3.6):
Зср=С/Фмес , (3.6)
где:
С - месячная зарплата работника (руб./мес.);
Фмес - среднее количество рабочих дней в месяце (20дн.).
Расчёт затрат на основную заработную плату разработчиков программного продукта приведен в таблице 11.3
Таблица 11.3- Затраты на заработную плату
№ |
Исполнитель |
Оклад, руб./мес. |
Оклад, руб./день |
Трудоёмкость, чел. дней |
Сумма, руб. |
|
1 |
2 |
3 |
4 |
5 |
6 |
|
1 |
Инженер-программист |
15000 |
750 |
70 |
52500 |
|
2 |
Руководитель |
30000 |
1500 |
6 |
9000 |
|
Итого Сосн |
76 |
61500 |
11.2.2 Дополнительная заработная плата
Дополнительная заработная плата на период разработки системы рассчитывается относительно основной и составляет 10% от её величины.
Сдоп=Сосн*0.1=61500*0,1=6150 руб.
11.2.3 Расчёт обязательных начислений на заработную плату
Согласно Федеральному закону от 24.12.2009 №212-ФЗ «О страховых взносах в пенсионный фонд Российской Федерации, фонд социального страхования Российской Федерации, федеральный фонд обязательного медицинского страхования и территориальные фонды обязательного медицинского страхования» совокупность фискальной нагрузки на предприятия составляет:
- 30% от суммы основной и дополнительной заработной платы в отношении каждого работника нарастающим итогом с начала года и до 512 000 руб.
- 10% от суммы основной и дополнительной заработной платы в отношении каждого работника нарастающим итогом с начала года и составляет более 512 000 руб. Величина годовых обязательных начислений на заработную плату (Снзп) определяется по формуле (3.7).
Снзп = (Сосн + Сдоп) * 30%, руб. (3.7)
Снзп = (61500 + 6150) *0,3 = 20295 руб.
11.2.4 Расчёт расходов на материалы
На эту статью относят все затраты на приобретаемые устройства, магнитные носители данных, бумагу, для печатных устройств, канцтовары и др. Затраты по ним определяются по экспертным оценкам. Расчёт расходов на материалы приведен в таблице 11.4
Таблица 11.4. Расчёт затрат на материалы
№ |
Материалы |
Количество, штуки |
Стоимость, рубли |
|
1 |
2 |
3 |
4 |
|
1 |
Модуль SIM900 |
1 |
1587 |
|
2 |
Wi-Fi модуль HLK-RM04 |
1 |
1299 |
|
3 |
Договор с оператором сотовой связи + SIM-карта |
1 |
200 |
|
4 |
Передатчик FS1000A |
1 |
1050 |
|
5 |
Li-ion аккумулятор |
1 |
550 |
|
6 |
Пластиковый корпус G1022BF |
1 |
925 |
|
7 |
Микроконтроллер STM32F103C8T6 |
1 |
280 |
|
8 |
EEPROM 24C512 |
1 |
350 |
|
9 |
Приёмник XY-MK-5V |
1 |
660 |
|
Итого, См |
6901 |
11.2.5 Накладные расходы
На статью «Накладные расходы» относят расходы, связанные с управлением и организацией работ. Накладные расходы рассчитываются относительно основной заработной платы. Величина накладных расходов принимается равной 60% от основной зарплаты исполнителей. Формула расчёта (3.8)
Сн=Сосн*К, (3.8)
где
Сн - накладные расходы (руб.);
Сосн - основная заработная плата исполнителей (руб.);
К - коэффициент учёта накладных расходов (К=0,6).
Сн= 61500 * 0.6 = 36900 (руб.)
11.2.6 Расчёт стоимости машинного времени
Затраты на машинное время, необходимое для разработки системы, расходы на приобретение и подготовку материалов научно-технической информации, расходы на использование средствами связи. Расчёт затрат на машинное время осуществляется по формуле (3.9)
Смаш.вр = Кмаш.вр * Змаш.вр , (3.9)
где
Кмаш.вр - средняя стоимость одного часа машинного времени (Кмаш.вр=50 руб./ч.);
Подобные документы
Описание работы блока управления привода Fm-Stepdrive по схеме электрической структурной, необходимость её модернизации. Расчет временных соотношений командного цикла и надежности модернизированной схемы блока управления, выбор её элементной базы.
курсовая работа [573,5 K], добавлен 13.03.2014Назначение блока узкополосного передатчика. Требования к печатному узлу. Базовые требования по целостности сигнала. Разработка конструкции блока. Расчет искажений сигнала. Способы согласования линии связи. Помехи в короткой и длинной линии связи.
дипломная работа [4,3 M], добавлен 14.07.2016Анализ существующих методов и устройств для измерения высоты и дальности. Разработка структурной схемы микропроцессорного блока отображения информации и электрической принципиальной схемы блока измерительного преобразователя. Описание функций выводов.
курсовая работа [3,5 M], добавлен 13.03.2012Разработка структурной и принципиальной схемы микропроцессора. Подключение шины адреса, данных и управления к соответствующим блокам на схеме. Формирование блока устройства памяти (ОЗУ и ПЗУ) и подключение его к шинам блока центрального процессора.
контрольная работа [220,5 K], добавлен 08.07.2012Основное предназначение микроконтроллера PIC18F2550. Этапы изготовления микропроцессорного блока. Анализ микросхемы, предназначенной для обработки цифровой информации в соответствии с заданной программой. Характеристика принципиальной электрической схемы.
курсовая работа [2,8 M], добавлен 07.06.2012Разработка функциональной и принципиальной схемы блока управления контактором и расчет силовой части устройства. Расчет параметров силового транзистора и элементов блока драйвера. Выбор микроконтроллера и вычисление параметров программного обеспечения.
дипломная работа [3,4 M], добавлен 16.12.2011Описание структурной схемы блока управления. Узел прижима оптического диска. Принципиальная схема отдельных узлов блока. Условия работы и параметры исполнительного двигателя диска. Выходной каскад блока управления. Узел защиты от перегрузки по току.
дипломная работа [9,0 M], добавлен 27.02.2016Способы управления вакуумным контактором, предназначенным для работы в сетях переменного и постоянного токов. Анализ функциональной и принципиальной схемы устройства. Расчет силовой части. Опытно-конструкторская разработка блока управления контактором.
дипломная работа [3,0 M], добавлен 15.08.2011Разработка принципиальной электрической и структурной схемы, техпроцесса, технологической оснастки платы управления, использующейся в стойке блока контроля КБ-63. Назначение и принцип функционирования. Аттестация разработанного технологического процесса.
курсовая работа [203,8 K], добавлен 08.04.2010Структурная схема микропроцессорной системы управления. Разработка принципиальной схемы блока чтения информации с датчиков. Алгоритм работы блока обмена данными по последовательному каналу связи. Электрические параметры системы, листинг программы.
курсовая работа [1,4 M], добавлен 21.11.2013