79774

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

Дипломная

Информатика, кибернетика и программирование

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

Русский

2015-02-15

388 KB

7 чел.


Задание на дипломное проектирование



Аннотация


Содержание

[1] Задание на дипломное проектирование

[2] Аннотация

[3] Содержание

[4] Введение

[4.1] Актуальность

[5] Обзорно-аналитическая часть

[5.1] Анализ требований

[5.1.1] Взаимодействие с пользователем

[5.2] Обзор аналогичных устройств

[5.2.1] Система TAVR GSM

[5.2.2] Система КСИТАЛ

[5.2.3] Универсальный GSM модуль М–GSM

[5.2.4] Система ADL-GPRS

[6] Разработка

[6.1] Определение способа реализации протокола GSM

[6.2] Выбор схем входов и выходов

[6.3] Выбор типа контроллера

[6.4] Выбор способов питания устройства

[6.5] Использование средств разработки и отладки в процессе разработки

[6.5.1] Отладочная плата MikroElektronika SmartGSM-GPRS Board

[6.5.2] Отладочная плата MikroElektronika UNI-DS3

[6.5.3] Использование плат в процессе разработки

[6.5.4] Использование эмулятора Proteus

[6.6] Выбор структуры программы

[6.6.1] Обработка исключений

[6.6.2] Декомпозиция программы

[6.6.3] Обеспечение переносимости между отладочным стендом и готовым устройством

[6.7] Работа с GSM-модулем

[6.7.1] Протокол RS-232

[6.7.2] Передача и приём данных

[6.7.3] AT-команды

[6.7.4] Формирование AT-команд и разбор ответов

[6.7.5] Инициализация GSM-модуля

[6.7.6] Посылка SMS

[6.8] Взаимодействие с пользователем

[6.8.1] Хранение списка номеров телефонов пользователей

[6.8.2] Оповещение пользователя об изменении состояния входов

[6.8.3] Приём входящих SMS

[6.9] Защита от зависаний программы и GSM-модуля

[6.10] Разработка принципиальной схемы и трассировки печатной платы

[6.10.1] Выбор микроконтроллера

[6.10.2] Выбор элементов обвязки GSM-модуля

[6.10.3] Выбор стабилизаторов напряжения

[6.10.4] Расчет номиналов схем входов и выходов

[6.10.5] Выбор конструкции печатной платы

[7] Экспериментальная часть

[7.1] Функциональное тестирование макетного образца устройства

[8] Охрана труда

[8.1] Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей.

[8.2] Методы и средства защиты пользователей от воздействия на них опасных и вредных факторов.

[8.2.1] Микроклимат

[8.2.2] Освещённость

[8.2.3] Требования к рабочему месту

[8.2.4] Требования к режиму труда

[8.2.5] Требования к рабочей позе

[8.2.6] Меры профилактики при работе с ПЭВМ

[8.2.7] Результаты

[9] Выводы

[10] Список литературы


Введение

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

Актуальность

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

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


Обзорно-аналитическая часть

Анализ требований

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

Система отопления может быть:

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

Исходя из этого, может потребоваться возможность контролировать следующие параметры:

  •  наличие электропитания непосредственно отопительного оборудования
  •  температуру теплоносителя или самого нагревателя
  •  давление теплоносителя (для обнаружения повреждения системы)
  •  ток потребления оборудования
  •  температуру воздуха в помещении

а также в некоторых случаях и какие-либо другие, в том числе срабатывание охранных и пожарных датчиков.

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

За счёт того, что несколько датчиков-реле можно легко подключить к одному входу, для подключения любого количества датчиков требуется всего два входа – один для нормально-замкнутых, а другой для нормально-открытых (в случае их наличия) датчиков. Однако, для того, чтобы сообщить пользователю точную причину срабатывания датчика желательно, чтобы каждый датчик был подключен к своему входу, то есть число входов соответствовало числу датчиков. В итоге было решено в разрабатываемом устройстве использовать 5 входов.

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

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

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

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

Взаимодействие с пользователем

Взаимодействие с пользователем возможно либо с помощью его мобильного телефона, либо с помощью компьютера через Интернет. Использование связи с помощью компьютера позволяет передавать большее количество информации, чем в случае использования мобильного телефона, а также может не отвлекать пользователя, что позволяет передавать информацию, которая может пригодиться только в редких случаях. Однако поскольку связь между двумя пользовательскими устройствами через интернет часто невозможна из-за динамических IP-адресов, NAT и фаерволов, то требуется участие сервера. При этом могут использоваться обычные сервисы (например e-mail), но этот способ требует значительного количества ресурсов для реализации (скорее всего вообще микроконтроллера другого класса) и кроме того во многих случаях неудобен для пользователя. Другой вариант – использование своего сайта, который принимает данные от устройства и выдаёт их в удобном пользователю виде. В этом случае требуется сайт, причём, скорее всего расположенного на платном хостинге, поскольку функциональности бесплатных не хватает для полноценной обработки данных.

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

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

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

Рис.

Схема взаимодействия устройства с пользователем.

Основными задачами взаимодействия устройства с пользователем являются:

  •  Передача сообщения о событиях
  •  Первоначальное задание номера телефона пользователя
  •  Изменение настроек
  •  Подтверждение изменения настроек

При этом GSM предоставляет следующие основные услуги связи:

  1.  Передача речевой информации. Кроме того вместо речевой информации могут передаваться и любые другие данные, однако это требует поддержки со стороны принимающего устройства. Эта возможность ранее использовалась для доступа в интернет.
  2.  Передача факсимильных сообщений.
  3.  Передача текстовых сообщений (SMS). Размер сообщения ограничен 160 символами при использовании 7-битной кодировки(она позволяет использовать латинский алфавит и цифры), 140 символами при 8-битной кодировке и 70 символами при 16-битной кодировке, которая требуется для русского языка.
  4.  Доступ в интернет с мобильного телефона (WAP).
  5.  Доступ в интернет с компьютера (протоколы GPRS, EDGE).
  6.  Передача мультимедийных сообщений(MMS).

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

Исходя из этого, в качестве способа передачи пользователю сообщений о событиях выбрана посылка SMS.

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

Изменение настроек может производиться либо кнопками на самом устройстве, либо удалённо через GSM. Для настройки с помощью кнопок требуется наличие экрана и достаточного количества механических кнопок на устройстве, что сильно его удорожает. Другим способом может быть изменение настроек через редактирование записей на SIM-карте, однако данным метод является весьма сложным и неудобным для пользователя. Удалённая настройка может производиться с помощью SMS. Этот метод требует некоторой подготовки пользователя, а также плохо подходит для изменения значительного количества настроек. Однако поскольку в разрабатываемом устройстве не требуется сложная настройка перед использованием, то метод изменения настроек с помощью SMS является наиболее подходящим. Кроме того это позволяет практически без использования дополнительных ресурсов микроконтроллера удалённо включать и выключать какие-либо нагрузки.

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

Обзор аналогичных устройств

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

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

Система TAVR GSM

Система ТАВР является сигнализацией начального уровня. Она имеет только один датчик – датчик движения. Она состоит из двух блоков, связывающихся по радиоканалу: GSM-блока, который оповещает пользователя, и контрольной панели, имеющей датчик движения и считыватель ключей Touch Memory.

Система КСИТАЛ

Универсальный GSM модуль М–GSM

Система ADL-GPRS


Разработка

Определение способа реализации протокола GSM

Для обработки протокола GSM можно использовать либо обычный мобильный телефон (практически все мобильные телефоны имеют возможность управления по COM-порту), либо GSM-модуль. GSM-модули специально предназначены для использования GSM в составе различных устройств, в результате чего они значительно дешевле, чем мобильные телефоны, которые можно использовать в составе устройства. GSM-модуль представляет собой полностью законченный блок, позволяющий устройству использовать GSM для связи. Модуль имеет как радиопередатчик, так и процессор. Его функциональность в плане взаимодействия с остальной частью устройства полностью аналогична простому мобильному телефону, но он не имеет средств для взаимодействия напрямую с пользователем. Также ему необходима внешняя антенна и, нередко, разъём для SIM-карты. Прошивка сделана и записана в модуль производителем и её изменение разработчиком устройства, использующего данный модуль, обычно не предполагается.

Модуль либо присоединяется к основной плате устройства разъёмом либо припаивается к ней. В обоих случаях используется поверхностный монтаж. Модулей или разъёмов для них, монтаж которых производится в отверстия, найти не удалось.

Модули, как правило, имеют аудио входы и выходы, выводы для подключения SIM-карты (разъём SIM-карты либо встроен в модуль, либо его сигналы выведены на разъём), разъём антенны и последовательный порт (UART) для управления.

Управление модулем производится через последовательный порт с помощью AT-команд. Протокол последовательного порта соответствует протоколу RS-232 за исключением того, что логической 1 соответствует напряжение равное напряжению питания, а логическому 0 – напряжение 0В.

Питание у всех GSM-модуля рассчитано на работу с Li-ion аккумулятором, а потому им необходимо напряжение питания около 4В. При этом все модули имеют встроенный стабилизатор напряжения, из-за чего напряжение питание цифровых входов и выходов не соответствует входному напряжению, что усложняет источник питания устройства.

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

В итоге был выбран модуль SIM900, поскольку он самый дешёвый из имеющих необходимые возможности. Он имеет следующие характеристики:

  •  Соответствует GSM Phase 2/2+
  •  Работает в диапазонах 850, 900, 1800 и 1900 МГц, то есть может полноценно работать практически во всех странах мира, в том числе и в России
  •  Поддерживает SIM-карты с напряжение питания 3В и 1,8В, то есть все которые на используются в настоящее время
  •  Управляется AT-командами, совместимыми с GSM 07.07 и 07.05
  •  Поддерживает работу с SMS как в режиме PDU, так и в текстовом режиме
  •  Имеет GPRS с мультислот-классом 10(есть модификации с классом 8) и классом совместного использования голосовых и пакетных сервисов B(не может одновременно поддерживать GPRS-сеанс и совершать голосовые вызовы)
  •  Имеет реализацию стека TCP/IP
  •  Поддерживает SIM Application Toolkit
  •  Имеет последовательные интерфейсы для управления AT-командами и для отладки (на отладочной плате второй интерфейс не используется)
  •  Имеет возможность автоматического определения частоты последовательного интерфейса
  •  Мощность передатчика: 2Вт при 850 и 900МГц и 1Вт при 1800 и 1900МГц
  •  Напряжение питания: 3,2 – 4,8В (внутренние питание процессора - 2,9В)
  •  Средний ток потребления: 30мкА в выключенном состоянии, 1 – 1,5 мА в ждущем (SLEEP) режиме, 22мА в режиме ожидания, 150-250мА в режиме разговора и 120-450мА при работе по GPRS
  •  Температурный диапазон от -30 до +80°C. В диапазоне температур -40 – -30°C и 80 – 85°C модуль остаётся работоспособен, однако некоторые характеристики могут не соответствовать стандарту GSM

Выбор схем входов и выходов

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

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

Выбор типа контроллера

В данном устройстве было решено использовать микроконтроллер архитектуры AVR. В качестве языка программирования выбран C, а в качестве IDEAtmel AVR Studio 5 с компилятором avr-gcc.

Выбор способов питания устройства

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

В качестве типа автономного источника питания было решено использовать наиболее распространённые батарейки размера AA (другие обозначения – тип 316 или R6). В случае малого энергопотребления, как в данном устройстве, целесообразно использовать солевые батарейки, ёмкость которых при разряде малым током составляет 250-500 мА*ч. Исходя из этого для непрерывной работы от одного комплекта батареек в течение 3 месяцев (2160 часов), ток потребления не должен превышать 150 мкА.

Поскольку напряжение логических уровней GSM-модуля фиксировано, то требуется либо схема преобразования уровней, либо питание микроконтроллера тем же напряжением, что и GSM-модуль – 2,9В . Так как выбранный микроконтроллер способен работать при данном напряжении, то было решено использовать напряжение питания микроконтроллера 2,9В ± 0,2В . Из-за того, что при работе от батареек микроконтроллер должен работать постоянно, то собственный ток потребления стабилизатора напряжения без нагрузки должен быть достаточно маленьким.

GSM-модуль можно питать либо напрямую, либо через стабилизатор напряжения. Его рабочий диапазон напряжения питания – 3,2 – 4,8 В, а диапазон напряжений трёх батареек – 2,7 – 4,8 В, то есть его подключение напрямую не позволяет полностью использовать ёмкость батареек, а при небольших отклонениях параметров модуля может привести к неработоспособности с новыми батарейками (при превышении верхнего порога напряжения модуль автоматически отключается). Поэтому для питания модуля требуется стабилизатор напряжения. Причём во время работы от батареек этот стабилизатор напряжения можно отключать. Причём эту схему отключения питания GSM-модуля можно кроме того использовать для его сброса в случае ошибок и отсутствия реакции на кнопку выключения питания.

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

Соответственно в случае, если для питания GSM-модуля использовать стабилизатор с малым минимальным падением напряжения, то можно в качестве автономного источника можно использовать 5 батареек AA, напряжение которых – 4,8 – 8В. При этом напряжение внешнего источника питания целесообразно взять 9В.

Использование средств разработки и отладки в процессе разработки

В процессе разработки программного обеспечения было решено использовать отладочные платы MikroElektronika SmartGSM-GPRS Board и MikroElektronika UNI-DS3 для отладки программы микроконтроллера.

Отладочная плата MikroElektronika SmartGSM-GPRS Board

Данная плата позволяет использовать GSM-модули в различных приложениях. Она имеет разъёмы для подключения одного из следующих модулей:

  1.  TELIT GM862-GPS, GM862-QUAD-PY или GM862-QUAD
  2.  Simcom SIM340Z
  3.  Siemens MC55

Кроме этого она имеет стабилизаторы напряжения для их питания, разъём SIM-карты, антенну, преобразователи уровней последовательного порта для подключения как к COM-порту компьютера, так и напрямую к микроконтроллеру, кнопки включения и выключения модуля, аналоговые входы и выходы, а также микрофон и динамик с соответствующими усилителями.

В процессе разработки плата использовалась совместно с GSM-модулем SIM340. Он имеет практически те же характеристики, что и SIM900 и отличается от лишь другим корпусом и чуть более узким диапазоном напряжений питания и рабочей температуры.

Отладочная плата MikroElektronika UNI-DS3

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

  1.  MCS51, а именно AT89S8253
  2.  AVR – ATMega128
  3.  PIC – PIC18F4520

и многих других

Ко всем микроконтроллерам прилагается программатор разработанный фирмой MikroElektronika, подключаемый по USB. На компьютере должна быть установлена специальная программа и драйвер.

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

Также в составе отладочной платы имеется большое количество различной периферии: интерфейсы RS-232, RS-485, CAN, USB(для микроконтроллеров, которые его поддерживают), различные устройства, работающие по SPI – Ethernet-контроллер, часы реального времени, 12 битный ЦАП, 12 битный АЦП, слот для MMC/SD карт и разъёмы для подключения дисплеев.

Поскольку в качестве типа микроконтроллера был выбран AVR, плата UNI-DS3 использовалась с платой микроконтроллера AVR 64-pin Card. На ней установлен микроконтроллер ATMega128. Данный микроконтроллер имеет следующие основные характеристики:

  •  Питание 2,7-5,5В (на отладочной плате питание – 5В)
  •  Тактовая частота до 16МГц(на отладочной плате может использоваться внешний тактовый генератор 10МГц или встроенные тактовые генераторы)
  •  Перепрограммируемая(flash) память программы 128кБ
  •  Оперативная память 4кБ
  •  EEPROM 4кБ
  •  Два универсальных синхронных/асинхронных приёмо-передатчика(USART)
  •  Два 8-битных и два 16-битных таймера/счётчика
  •  8-канальный 10-битный встроенный АЦП
  •  Поддержка интерфейса I2C
  •  Поддержка интерфейса SPI
  •  Сторожевой таймер со встроенным тактовым генератором
  •  Встроенный аналоговый компаратор

Использование плат в процессе разработки

Использование данных отладочных плат при разработке позволило отказаться от изготовления прототипов устройства до момента окончательной разработки программы и большей части схемы. Кроме того наличие второго USART у микроконтроллера сильно облегчило отладку программы.

Для связи микроконтроллера с GSM-модулем используется USART0 микроконтроллера. Для этого весь порт E соединён с разъёмом платы SmartGSM-GPRS Board, на который выведены все сигналы последовательного порта. USART1 используется для отладочного вывода на компьютер через разъём RS-232 на плате UNI-DS3.

Для передачи сигнала включения питания GSM-модулю сделана внешняя схема, состоящая из транзистора и резистора, показанная на .

Рис.

Для определения включен или выключен в данный момент модуль, выходное напряжение питания его стабилизатора VDD_EXT через резистор 1кОм подаётся на вывод PD0 контроллера.

Использование эмулятора Proteus

Выбор структуры программы

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

Существует несколько возможных способов такой организации:

  1.  Последовательное выполнение задач в главном цикле. В этом случае все задачи выполняются последовательно в цикле. То есть программа имеет следующий вид:

int main(void)

{

   /* инициализация */

   while(1) {

       /* задача 1 */

       /* задача 2 */

   }

}

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

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

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

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

  1.  Обработка событий в главном цикле и, частично, в прерываниях. В этой структуре все задачи разбиваются на события, которые обрабатываются по мере поступления. При этом для отсчёта задержек используются программные таймеры (срабатывание таймера тоже является событием), а не пустые циклы. Например, в одном из вариантов реализации программа может иметь такой вид :

unsigned char divTimer=0;

unsigned char timer1=0;

unsigned short timer2=0;

unsigned char timer3=0;

ISR(TIMER0_COMP_vect) /* обработчик прерывания таймера*/

{

   divTimer--;

   if (timer1) timer1--;

   if (timer2) timer2--;

   if (!divTimer) {

       divTimer = 250;

       if (timer3) timer3--;

   }

}

/* другие прерывания */

int main(void)

{

   /* инициализация */

   sei();

   while(1) {

       if (/*условие события 1*/) {

           /* обработчик события 1 */

           timer1 = 100;

       }

       if (!timer1 && /*условие продолжения события 1*/) {

           /* продолжение обработки события после задержки */

       }

       if (/*условие события 2*/) {

           /* обработчик события 2 */

       }

   }

}

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

  1.  Кооперативная многозадачность. По сути, кооперативная многозадачность отличается от обработки событий лишь отсутствием разбиения задачи на набор событий, что устраняет её основной недостаток и, соответственно, облегчают реализацию больших задач. Однако кооперативная многозадачность требует значительного количества ресурсов, прежде всего оперативной памяти, которой в 8-битных контроллерах мало, поэтому она может использоваться только в относительно больших программах.

В разрабатываемой программе существует несколько больших задач, которые требуется выполнять параллельно, однако все они используют один и тот же ресурс – GSM-модуль. Причём при работе с GSM-модулем производится много последовательных операций, в том числе с ожиданием ответов (до 15 секунд), а остальная часть задач сводится к обработке возникающих событий. Поэтому в качестве структуры программы была выбрана смешанная структура – не связанные с GSM-модулем части задач реализованы в виде обработки событий, а работа с GSM-модулем производится последовательно, в том числе и с циклами задержки, а управление возвращается в главный цикл только после окончания работы с модулем. В результате время обработки события может достигать десятков секунд и в течение этого времени другие события связанные с GSM-модулем не обрабатываются. При этом события, обработка которых не связана с модулем обрабатываются, для чего они вынесены в функцию IdleProc, которая вызывается во всех циклах ожидания. Незапрашиваемые коды GSM-модуля (например, сообщение о приёме SMS), которые приходят во время работы с ним других задач тоже обрабатываются до возврата в главный цикл, поскольку они мешают обработке ответов, для чего их обработка вынесена в функцию ProcessUnsolicitedCode. Дальнейшая же обработка этих незапрашиваемых кодов, которая может быть произведена потом, вынесена в обработку событий в главном цикле. Для отсчёта всех задержек (связанных как с циклами, так и с обработкой событий) в программе используются программные таймеры, реализованных с помощью одного аппаратного. Критичные к времени обработки события (приём и передача данных по последовательному порту, а также системный таймер) обрабатываются в прерываниях.

Обработка исключений

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

В качестве способа обработки исключений был выбран способ с возвратом кода ошибки в возвращаемом значении функции. Тип возвращаемого значения каждой функции, в которой может возникнуть исключение, в этом случае – код возврата ResultCode. В случае, если функция выполнилась без ошибок возвращается RC_OK, (равный 0 для уменьшения размера кода). Если же возникла ошибка, то функция заканчивает работу и возвращает код ошибки. В этом случае вызывающая функция либо обрабатывает ошибку, либо тоже заканчивает работу и возвращает код ошибки. Данный способ имеет значительный недостаток – поскольку функция не может возвращать два значений, то в случае, если необходимо возвращать ещё какое-либо значение (например, принятый байт), то его приходится передавать другим способом. Поскольку в микроконтроллерах архитектуры AVR есть полноценный стек, то для передачи таких значений было решено передавать в вызываемую функцию указатель на переменную в стеке в которую будет записано значение.

Декомпозиция программы

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

В программе были выделены следующие части программы:

  •  Работа с последовательным портом (USART): передача, приём и отладочный вывод.
  •  Разбор строк-ответов GSM-модуля.
  •  Управление GSM-модулем.
  •  Основная структура программы: главный цикл обработки событий, программные таймеры, временные задержки и функции для обработки фоновых событий.
  •  Взаимодействие с пользователем.

Поскольку код для работы с последовательным портом может использоваться во многих разных проектах, то было решено максимально отделить его от остальной программы, чтобы его можно было использовать в других проектах. Для этого вся работа с последовательным портом вынесена в отдельный файл UART.c, а интерфейс для взаимодействия с ним описан в файле UART.h . При этом для того чтобы максимально разделить передачу, приём и отладочный вывод, общий код для работы с очередями было решено по возможности выделить из остального кода.

Код для управления GSM-модулем также может быть использован и в других проектах, однако для этого скорее всего придётся изменять под конкретное применение. Поэтому он тоже был выделен в отдельный файл GSMCOM.c, а интерфейс для работы с ним – в GSMCOM.h . Однако в коде реализованы только те возможности которые потребовались в программе. Из-за ограниченности ресурсов для некоторых частей кода, таких как проверка номеров телефонов, приём и передача SMS не делать полноценного абстрактного интерфейса, а вынести в часть программы, которая непосредственно занимается обработкой этой информации. В результате из кода, который отвечает за взаимодействие с пользователем, потребовалось напрямую вызывать функции для передачи данных GSM-модулю и разбора ответов от него.

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

Код, отвечающий за взаимодействие с пользователем, размещён в файле Main.c. Какого-либо интерфейса для него было решено не использовать, так как он не может быть повторно использован.

Из-за ограниченности ресурсов код, образующий структуру программы сильно связан с остальными частями программы, поэтому было решено не делать для него отдельного файла. Главный цикл, инициализация программы, код для обработки прерывания программных таймеров, функция временной задержки и функция для обработки фоновых событий IdleProc размещены в файле Main.c, а функция для обработки незапрашиваемых кодов GSM-модуля – в файле GSMCOM.c . Переменные для программных таймеров объявлены в тех файлах, где они используются. Интерфейс для работы с этим кодом расположен в файле Common.h

Рис.

Структура программы.

Обеспечение переносимости между отладочным стендом и готовым устройством

Работа с GSM-модулем

Для связи микроконтроллера с GSM-модулем используется последовательной порт.

Протокол RS-232

Передача и приём данных

Для приёма и передачи данных используется аппаратный универсальный синхронный/асинхронный приёмо-передатчик (УСАПП, USART). УСАПП имеет управляющие регистры UCSRA, UCSRB, UCSRC, которые определяют его режим работы, регистры управления скоростью связи UBRRH, UBRRL. Регистры данных доступны по адресу UDR: при записи по данному адресу байт заносятся в буфер для передачи, а при чтении – байт забирается из буфера приёмника.

В данной работе УСАПП используется в асинхронном режиме с размером посылки 8 бит данных.

Передача данных осуществляется в две стадии: сначала данные собираются в очереди, и затем передаются в прерываниях в фоновом режиме (в том числе и во время подготовки следующих байт данных). Приём так же осуществляется в фоновом режиме.

Для хранения принятых и готовых к передачи данных используются кольцевые FIFO-очереди. Для работы с очередями объявлены следующие макроподстановки:

  •  DEFINE_RING_BUF – объявление переменных очереди. В качестве параметров указываются имя очереди, тип данных и тип указателей(unsigned char либо unsigned short в зависимости от размера). Данная макроподстановка создаёт переменные буфера(имя совпадает с именем буфера), указателя на начало данных(имя буфера + Head) и указателя на конец данных(имя буфера + Tail). Перед использованием данного макроса требуется объявить имя буфера + Size.
  •  RING_BUF_PUSH – вставка элемента в конец очереди.
  •  RING_BUF_POP – забор элемента из начала очереди. Данный макрос должен использоваться только в конструкциях вида a = RING_BUF_POP.
  •  RING_BUF_EMPTY – проверка, пуста ли очередь.

и другие.

При передаче данные вначале заносятся в очередь функциями UARTSendByte, UARTSendStr (передача строки из оперативной памяти, оканчивающейся нулевым байтом) и UARTSendPStr (аналогична предыдущей, но читает данные из постоянной памяти). Для передачи используется прерывание UDRE, которое возникает, когда буфер передатчика пуст. В прерывании байт данных забирается из очереди и записывается в буфер передатчика. В случае, если передавать больше нечего, прерывание отключается.

Для приёма так же используется кольцевая очередь. Принятые данные заносятся в очередь в прерывании приёмника (RX), после чего они могут забираться функцией UARTRecvByte. Следующий байт в очереди может быть получен функцией UARTGetNextByte. В случае, если очередь пуста эти две функции возвращают ошибку RC_NO_RECV_ERROR. Также есть функция проверки, пуста ли очередь UARTIsEmpty, и очистки очереди UARTClearRecvBuf. Поскольку GSM-модуль может посылать различные данные в одних и тех же случаях, то требуется читать принятые данные, оставляя их в буфере. Для этого сделана возможность вместо указателя на начало очереди в чтении использовать другой указатель. Этот указатель храниться в вызывающей функции и передаётся в функции в виде указателя. Для инициализации указателя используется функция UARTSetPtrToHead, а для работы с ним – UARTGetByte и UARTIsLastByte, аналогичные функциям работы со всей очередью.

Поскольку возможна передача и приём данных, размер которых превышает размеры очередей, реализовано аппаратное управление потоком с помощью сигналов RTS и CTS. В случае, если приёмный буфер близок к заполнению вывод RTS устанавливается в 1. При передаче проверяется сигнал CTS – если он равен 1, то передача прекращается до тех пор, пока на входе не появится 0. Появление 0 на входе CTS отслеживается с помощью внешнего прерывания.

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

AT-команды

AT-команды (также известные как команды Hayes) – набор команд, изначально разработанных для модемов. Основной набор команд описан в стандарте ITU-T V.25ter. Каждая строка команд начинается с символов AT, после которых идёт одна или несколько команд. Все команды(в том числе префикс AT) и ответы регистронезависимы. Команды имеют один из следующих вариантов синтаксиса:

  •  Базовый синтаксис. Они имеют вид «AT<x><n>» или «AT&<x><n>», где символ <x> - команда, а <n> - параметры(их может не быть). Этот синтаксис используется только для команд, которые были в первых модемах, однако они до сих пор используются.
  •  Базовый синтаксис изменения параметров. Они имеют вид «ATS<n>=<m>», где <n> - номер параметра, а <m> - новое значение. Этот синтаксис, так же как и предыдущий используется в базовых командах модемов.
  •  Расширенный синтаксис. Этот синтаксис используется для новых команд, добавленных в различных расширениях набора. Эти команды могут быть следующих видов (<x> –название команды):
    •  «AT+<x>=?» – проверка поддержки команды. В ответ на неё модем возвращает список параметров.
    •  «AT+<x>?» – чтение значения параметра
    •  «AT+<x>=<новое значение>» – изменение значения параметра
    •  «AT+<x>» – выполнение команды

При передаче в одной строке нескольких команд следующие команды задаются без префикса AT. Расширенная команда отделяется от следующей символом «;». Строка команд заканчивается символами переноса на новую строку.

В ответ на каждую команду модем посылает ответ. На все все базовые команды и многие расширенные модем возвращает результат выполнения - «OK» или «ERROR». Команды GSM в случае ошибки могут возвращать вместо «ERROR» расширенный код ошибки: «+CME ERROR: <код>» или «+CMS ERROR: <код>». Расширенные команды чтения вместо «OK» возвращают строку вида «+<команда>: <значения>». Все строки ответов тоже заканчиваются символами переноса на новую строку.

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

В GSM-модуле SIM900 поддерживаются следующие наборы команд:

  1.  стандарта V.25ter – основные команды модемов.
  2.  стандарта GSM 07.07 – основные команды, для работы в GSM-сети и управления мобильным телефоном.
  3.  стандарта GSM 07.05 – команды для работы с SMS.
  4.  команды SIM Application Toolkit
  5.  команды для управления модулем, специфичные для данной модели GSM-модуля.
  6.  команды для работы со стеком TCP/IP фирмы SIM Com.

Формирование AT-команд и разбор ответов

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

После посылки каждой команды производится приём ответа. Для этого программа сначала ожидает приём в буфер строки целиком (функция WaitFullLine). После приёма строки производится её сравнения с заданными в коде строками возможных ответов без выборки символов из очереди приёма, для чего используется функция COMCmpI_P. При этом проверка, соответствует ли принятая строка проверяемому ответу, сделана функция CheckResponse, которая не только сравнивает строки, но и убирает распознанную строку или часть строки (в случае ответов, имеющих параметры) из приёмного буфера. Причём эта функция возвращает код RC_OK только в случае, если проверка успешна, а если ответ не соответствует проверяемому то возвращается код RC_UNKNOWN_RESPONSE, который обозначает, что принятая строка не соответствует той для приёма которой вызвана данная функция. Это уменьшает размер кода во всех функциях приёма ответов и незапрашиваемых кодов, поскольку они в случае несоответствия ответа заданному тоже возвращают RC_UNKNOWN_RESPONSE. В результате для определения, какой из нескольких ответов принят, достаточно по очереди вызывать функции их обработки по очереди до тех пор, пока одна из функций не вернёт код возврата, отличный от RC_UNKNOWN_RESPONSE. При этом, поскольку при возврате RC_OK, принятый ответ забирается из буфера (обычно функцией COMPopLine, которая забирает все символы до тех пор, пока не обнаружит символ конца строки), то функции достаточно лишь вернуть полученный от функции обработки код. То есть обработка ответов имеет следующий вид:

ResultCode CheckCode1()

{

   ResultCode rc;

   if ((rc = CheckResponse(PSTR("CODE1"ENDL),0))) return rc;

   return RC_OK;

}

ResultCode CheckCode2()

{

   ResultCode rc;

   if ((rc = CheckResponse(PSTR("CODE2:"),0))) return rc;

   /*обработка кода*/

   if ((rc = COMPopLine(0))) return rc;

   return RC_OK;

}

ResultCode CheckCodes()

{

   ResultCode rc;

   if ((rc = CheckCode1())!=RC_UNKNOWN_RESPONSE) return rc;

   if ((rc = CheckCode2())!=RC_UNKNOWN_RESPONSE) return rc;

   return RC_UNKNOWN_RESPONSE;

}

Для команд, возвращающих в качестве ответа «OK» или ошибку, проверка ответов вынесена в функцию CheckCommandStatus, которая проверяет код ответа и возвращает либо RC_OK, в случае ответа «OK», либо RC_GSM_ERROR, в случае ошибки(при этом код ошибки, если он есть, записывается в переменную lastGsmError), либо RC_UNKNOWN_RESPONSE, если принятая строка не является ответом на команду.

Поскольку после передачи команды GSM-модуль может передавать не только непосредственно ответ на команду, но и незапрашиваемые коды и пустые строки, то обработка ответа производится в цикле, в котором принимаются строки до тех пор, пока не будет получен ответ на команду. В случае команд, возвращающих «OK» или ошибку, этот цикл находится в функции CheckBasicCommandStatus.

Обработка незапрашиваемых кодов производится в функции ProcessUnsolicitedCode, которая вызывается как их цикла приёма ответов в случае, если принятая строка не является ответом на команду, так и из главного цикла, когда в приёмном буфере оказывается целая строка. Функция обработки незапрашиваемых кодов поочерёдно вызывает функции обработки каждого из заданных кодов, пока он не будет обработан, так же как и в примере кода выше. Неизвестные незапрашиваемые коды и пустые строки отбрасываются.

Инициализация GSM-модуля

Сразу после подачи питания модуль находится в выключенном режиме – встроенный стабилизатор напряжения отключен. Поэтому в выключенном режиме на всех цифровых входах (в том числе последовательном порту) не должно быть напряжения. Для включения модуля необходимо замкнуть вывод PWRKEY на время не менее 1 секунды. После этого модуль включается и начинает инициализацию. По окончании инициализации он передаёт незапрашиваемый код «RDY» (при включенном автоопредилении скорости этот код не приходит).

Включения GSM-модуля производится в функции TryPowerOnModule, которая выдаёт сигнал на вход PWRKEY, после чего ожидает кода «RDY». Если код не был получен, то производится попытка передать команду, поскольку может быть включено автоопределение скорости. Если на команду получен ответ «OK», то инициализация продолжается. Для приёма первого ответа используется функция WaitFirstResponse, которая аналогична CheckResponse, но в случае, если принятые данные не соответствуют ожидаемому ответу, она не возвращает ошибку, а убирает из приёмного буфера данные.

После установления связи производится установка всех необходимых настроек. Она вынесена в функцию COMInitModule. Эта функция устанавливает все необходимые для дальнейшей работы параметры.

Посылка SMS

Посылка SMS производится с помощью функций SendSMSStart и SendSMSFinish, между вызовами которых формируется и передаётся текст SMS.

Взаимодействие с пользователем

Хранение списка номеров телефонов пользователей

Все данные относящиеся к номерам телефонов хранятся в двух массивах структур. Один из массивов – userNumbersState – располагается в оперативной памяти и предназначен для хранения временной информации, такой как последнее сообщённое пользователю состояние и таймеры посылки SMS. Второй массив– userNumbers –, в котором хранятся постоянные настройки, в том числе номера телефонов, находится во встроенном EEPROM микроконтроллера.

Оповещение пользователя об изменении состояния входов

Приём входящих SMS

Защита от зависаний программы и GSM-модуля

Разработка принципиальной схемы и трассировки печатной платы

Разработка принципиальной схемы и печатной платы производилась с помощью программы Proteus.

По возможности для всех элементов используется монтаж в отверстия.

Выбор микроконтроллера

В качестве микроконтроллера был выбран ATMega168.

Выбор элементов обвязки GSM-модуля

Выбор стабилизаторов напряжения

В качестве стабилизаторов напряжений были выбраны MAX667 для питания микроконтроллера и LM1084 для питания GSM-модуля.

Расчет номиналов схем входов и выходов

Выбор конструкции печатной платы


Экспериментальная часть

Функциональное тестирование макетного образца устройства


Охрана труда

Целями разработки данного раздела являются анализ опасных и вредных производственных факторов воздействия на оператора ПЭВМ, выбор и обоснование мер безопасности при проектировании и разработке ИС. Проект выполняется инженером-программистом. Рабочее место оборудовано в офисном помещении. Работа в данных условиях относится к показателям вредных условий труда второй степени. Это вредные условия труда, характеризующиеся наличием вредных производственных факторов, приводящих в большинстве случаев к росту заболеваемости с временной утратой трудоспособности, повышением частоты заболеваемости, проявлением начальных признаков профессиональной патологии.

Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей.

При выполнении данного проекта на организм разработчиков могут влиять различные по своей природе опасные и вредные факторы. Рассмотрим наиболее актуальные из них.

  •  Физические:
    1.  Повышенная температура воздуха рабочей зоны;
    2.  Повышенная или пониженная влажность воздуха;
    3.  Повышенная или пониженная подвижность воздуха;
    4.  Недостаточная освещенность рабочей зоны;
    5.  Прямая и отраженная блесткость;
    6.  Повышенный уровень шума на рабочем месте;
    7.  Повышенный уровень электромагнитных излучений;
    8.  Повышенный уровень мягкого рентгеновского излучения;
  •  Химические:
    1.  Повышенная концентрация вредных веществ воздухе;

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

Так же следует уделить особое внимание требованиям электро- и пожаробезопасности.

Опасные и вредные факторы, описанные в п.п. a)-c) могут вызывать нарушение терморегуляции и, как следствие, ухудшение общего самочувствия; п.п. d)., e), а так же видимое излучение, блики и мерцания экрана ВДТ способствуют возникновению:

  •  близорукости и переутомлению глаз;
  •  мигрени и головной боли;
  •  раздражительности, нервному напряжению и стрессу.
  •  Влияние шума (п. f) ) проявляется в нарушении коммуникации, серьезном раздражении, повреждении слуха.
  •  Негативное воздействие низкочастотных полей (п. g) ) может:
  •  вызывать обострение заболеваний кожи;
  •  воздействовать на метаболизм и биохимические реакции крови на клеточном уровне, в результате чего у оператора могут возникать симптомы стресса;
  •  способствовать возникновению рака

Электростатическое поле может вызвать катаракту глаз и помутнение хрусталика.

Превышение допустимых доз мягкого рентгеновского излучения (п. h) ) может вызвать ожоги кожи, быть причиной заболеваний кожи и крови.

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

Методы и средства защиты пользователей от воздействия на них опасных и вредных факторов.

Микроклимат

В производственных помещениях, в которых работа с использованием ПЭВМ является основной и связана с нервно-эмоциональным напряжением,  обеспечивается оптимальные параметры микроклимата для категории работ 1а и 1б, представленные  в таблице 5-1.

Таблица 5-1. Микроклиматические требования к воздуху рабочей зоны

Требование

Оптимальное

Допустимое

Температура воздуха

22 ºС

20-24 ºС

Относительная влажность

40-60 %

не более 75 %

Скорость движения воздуха

не более 0.1 м/с

не более 0.1 м/с

Концентрации вредных веществ, выделяемых ПЭВМ в воздух помещений не  превышают предельно допустимых концентраций (ПДК), установленных для атмосферного воздуха.

В помещениях, оборудованных ПЭВМ,  проводится ежедневная влажная уборка и систематическое проветривание после каждого часа работы на ПЭВМ.

Освещённость

Рабочие столы размещены таким образом, чтобы ВДТ ориентированы боковой стороной к световым проемам, а естественный свет падает преимущественно слева. Естественное освещение рабочего места осуществляется через светопроемы, ориентированные преимущественно на север и северо-восток и обеспечивает коэффициенты естественной освещенности (КЕО) не ниже 1,2% в зонах с устойчивым снежным покровом и 1,5% на остальной территории. В тёмное и переходное время суток в помещении организовано искусственное освещение.

Искусственное освещение в помещениях для эксплуатации ПЭВМ осуществляется системой общего равномерного освещения. В качестве источников света выбираются светильники с люминесцентными лампами, например, ЛБ80-4, которые создают световой поток 2470 Лм, имеющие высокую светоотдачу, продолжительный срок службы, малую яркость светящейся поверхности, близкий к естественному свету спектральный состав излучения, что обеспечивает хорошую цветопередачу цветных графических дисплеев. Общее освещение при использовании люминесцентных светильников выполняется в виде сплошных или прерывистых линий светильников, расположенных сбоку от рабочих мест, параллельно линии зрения пользователя при рядном расположении видеодисплейных терминалов. При периметральном расположении компьютеров линии светильников должны располагаться локализовано над рабочим столом ближе к его переднему краю, обращенному к оператору. Применение светильников без рассеивателей и экранирующих решеток не допускается.

Коэффициент запаса (Кз) для осветительных установок общего освещения  принимается равным 1,4. Коэффициент пульсации не превышает 5 %.

Освещенность на поверхности стола в зоне размещения рабочего документа 300 - 500 лк. Освещение не создает бликов на поверхности экрана. Освещенность поверхности экрана не более 300 лк.

Требования к устройствам отображения информация и уровням ЭМП

Допустимые визуальные параметры устройств отображения информации представлены в таблице 7.

Таблица 5-2. Требования к устройствам отображения информация и уровням ЭМП

Параметры

Допустимые значения

1

Яркость белого поля

Не менее 35 кд/кв.м

2

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

Не более +–20%

3

Контрастность (для монохромного режима)

Не менее 3:1

4

Временная нестабильность изображения (непреднамеренное изменение во времени яркости изображения на экране дисплея)

Не должна фиксироваться

5

Пространственная нестабильность изображения (непреднамеренные изменения положения фрагментов изображения на экране)

Не более 2 х 10(-4L), где L — проектное расстояние наблюдения, мм

Таблица 5-3. Временные допустимые уровни ЭМП, создаваемых ПЭВМ

Наименование параметров

ВДУ

Напряженность электрического поля

в диапазоне частот 5 Гц - 2 кГц

25 В/м

в диапазоне частот 2 кГц - 400 кГц

2,5 В/м

Плотность магнитного потока

в диапазоне частот 5 Гц - 2 кГц

250 нТл

в диапазоне частот 2 кГц - 400 кГц

25 нТл

Напряженность электростатического поля

15 кВ/м

Требования к рабочему месту

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

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

Главными элементами рабочего места программиста являются стол и кресло. Основным рабочим положением является положение сидя.

Рисунок 5-1. Зоны досягаемости рук в горизонтальной плоскости

На рисунке 30: а — зона максимальной досягаемости; б — зона досягаемости пальцев при вытянутой руке; в — зона легкой досягаемости ладони; г — оптимальное пространство для грубой ручной работы; д — оптимальное пространство для тонкой ручной работы.

Оптимальное размещение предметов труда и документации в зонах досягаемости:

  •  дисплей размещается в зоне «а» (в центре);
  •  системный блок размещается в предусмотренной нише стола;
  •  клавиатура размещается в зоне «г/д»;
  •  мышь размещается в зоне «в» справа;
  •  сканер размещается в зоне «а/б» (слева);
  •  принтер находится в зоне «а» (справа);
  •  документация, необходимая при работе в зоне легкой досягаемости ладони «в», а в выдвижных ящиках стола — литература, неиспользуемая постоянно.

На рисунке 5-2 показан пример размещения основных и периферийных составляющих ПК на рабочем столе программиста: Где 1 — сканер, 2 — монитор,3 — принтер, 4 — место для документов, 5 — клавиатура, 6 — мышь.

Для комфортной работы необходимо чтоб стол удовлетворял следующим условиям:

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

Рисунок 5-2. Размещение основных и периферийных составляющих ПК

Требования к режиму труда

При работе с персональным компьютером очень важную роль играет соблюдение правильного режима труда и отдыха. Поэтому следует ограничивать время (таблица 5-3).

Таблица 5-3. Время регламентированных перерывов при работе на компьютере

Категория работы с ВДТ или ПЭВМ

Уровень нагрузки за рабочую смену при видах работы с ВДТ

Суммарное время регламен

тированных перерывов, мин

Группа А, количество знаков

Группа Б, количество знаков

Группа В, часов

При 8 часовой смене

При 12часовой смене

I

до 20000

до 15000

до 2,0

30

70

II

до 40000

до 30000

до 4,0

50

90

III

До 60000

до 40000

до 6,0

70

120

Требования к рабочей позе

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

  1.  голова не должна быть наклонена более чем на 20°;
  2.  плечи должны быть расслаблены;
  3.  локти — под углом 80° – 100°;
  4.  предплечья и кисти рук — в горизонтальном положении.

Меры профилактики при работе с ПЭВМ

  •  Проводить регулярно влажную уборку в помещении.
  •  1-2 раза в пол года мыть оконные рамы.
  •  Регулярно проверять осветительные приборы(при выходе из строя – заменять, при загрязнении- вытирать)
  •  Использовать специальные средство защиты от излучения, например компьютерные очки, защитные козырьки.
  •  Для режима труда: находиться за ПЭВМ не более 4-5 часов, и каждый час проводить физминутки.
  •  Для соблюдения правильной осанки у пользователя: использовать передвижную клавиатура или специальную выдвижную полку для нее; стул (кресло), с возможностью регулировки высоты. Высота рабочей поверхности не более 760мм, и не менее 680 мм, а на которую устанавливается клавиатура — не менее 650мм.
  •  Для соблюдения микроклимата: поддерживать температуру воздуха (19 – 21°С), устанавливать кондиционер.
  •  Для меньшего воздействия излучения: располагать монитор от положения пользователя на расстояние 600-700 мм.
  •  Для освещения: использовать общее равномерное освещение, в качестве источников света выбирать светильники с люминесцентными лампами
  •  Для понижения уровня шума: шумящее оборудование (печатающие устройства, серверы и т.п.), уровни шума которого превышают нормативные, размещать вне помещений с ПЭВМ

Результаты

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

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


Выводы


Список литературы

PAGE 33


GSM-
сеть

SM-модуль

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

Входы

Ключи
(выходы)

Оборудование

Оборудование

Оборудование

Мобильный телефон

Пользователь

Разрабатываемое устройство

Пользователь

Мобильный телефон


 

А также другие работы, которые могут Вас заинтересовать

65436. БАНКІВСЬКІ ВАЛЮТНІ ОПЕРАЦІЇ ПРИ ОБСЛУГОВУВАННІ СУБ’ЄКТІВ АГРАРНОЇ СФЕРИ 828 KB
  Ринкова економіка розширила горизонти здійснення валютних та експортноімпортних операцій які в якісно нових економічних реаліях набувають особливої вагомості та виняткового значення не лише на макро а й на мікрорівні.
65437. УДОСКОНАЛЕННЯ МЕХАНІЗМІВ ДЕРЖАВНОГО УПРАВЛІННЯ МІГРАЦІЙНИМИ ПРОЦЕСАМИ 548.5 KB
  Участь України в світових міграційних процесах є надзвичайно активною. Загальновідомо, що вона є одним з найбільших донорів трудової міграції в сучасному світі та країною транзиту, через яку проходять більше 10 маршрутів міграції.
65438. УДОСКОНАЛЕННЯ ТЕХНІКО-ТАКТИЧНИХ ДІЙ ВИСОКОКВАЛІФІКОВАНИХ ФЕХТУВАЛЬНИКІВ НА ШПАГАХ З ВИКОРИСТАННЯМ КОМП’ЮТЕРНОГО МОДЕЛЮВАННЯ 361 KB
  Проблема удосконалення технікотактичної підготовки фехтувальників на сучасному етапі вивчалася багатьма авторами й по даному питанню накопичений достатньо великий обсяг інформації. Турецький 1983 запропоновані програми техніко тактичного удосконалення...
65439. Закономірності гідромеханічних процесів утилізації твердих відходів содового виробництва 4.99 MB
  Вирішенням проблеми позбавлення шкідливої дії відходів содових виробництв може стати їх накопичування у підземних порожнинах які утворюються в процесі вилуговування солі у відпрацьованих розсільних свердловинах.
65440. ПРОФЕСІЙНА ПІДГОТОВКА МАГІСТРІВ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ В СИСТЕМІ ДИСТАНЦІЙНОЇ ОСВІТИ США 232.5 KB
  Стрімкий розвиток інформаційних та телекомунікаційних технологій, активізація інтеграційних процесів у вищій освіті, глобалізація світової економіки, модернізація виробництва, динамічні зміни на ринку праці зумовлюють потребу у фахівцях-професіоналах...
65441. БІОЛОГІЧНЕ ОБГРУНТУВАННЯ ВАЖЛИВІШИХ ЕЛЕМЕНТІВ ТЕХНОЛОГІЇ ВИРОЩУВАННЯ НАСІННЯ КОРІАНДРУ СОРТУ НЕКТАР В КРИМУ 877 KB
  Індивідуальний розвиток ефіроолійних рослин і зокрема коріандру є загально відомим проте циклічна схема онтогенезу і вегетаційного періоду для коріандру не розроблені не досліджені закономірності формування насіння що не дає можливості...
65442. ПІДВИЩЕННЯ ПРОДУКТИВНОСТІ ОБРОБКИ ДЕТАЛЕЙ У ВІБРУЮЧИХ КОНТЕЙНЕРАХ ШЛЯХОМ ВИБОРУ ФОРМИ ІНСТРУМЕНТУ 323 KB
  Відповідно до цього актуальною науковопрактичною задачею стосовно вібраційної обробки є розробка рекомендацій що сприяють підвищенню її продуктивності за рахунок розробки та дослідження інструменту одиничних абразивних...
65443. Експериментальні методи оцінки часової та функціональної ефективності алгоритмів у програмно-апаратних середовищах 922.5 KB
  Переважна більшість теоретичних досліджень з аналізу алгоритмів ґрунтується на аспекті представлення алгоритмів і не враховує особливостей сучасних засобів їх виконання. Можна виділити три основні підходи до аналізу алгоритмів.
65444. МІЦНІСТЬ ЗАЛІЗОБЕТОННИХ ПЛИТ ПРИ ПРОДАВЛЮВАННІ ШТАМПАМИ РІЗНОЇ ГЕОМЕТРІЇ 7.21 MB
  У сучасному будівництві все більше поширення отримують монолітні залізобетонні будинки з безригельним безкапітельним каркасом коли плоскі плити перекриттів постійної товщини опираються безпосередньо на колони.