Главная » Сотовая связь
Призовой фонд
на октябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Удалённое управление питанием нагрузки через сети GSM

Введение

Беспроводные технологии стали олицетворением современного мира. Данный материал рассказывает о том, как легко можно интегрировать в своё устройство интерфейс сотовой связи. Некоторое время назад было ощущение, что сотовая связь достигла своего пика развития: сотовый телефон был у каждого цивилизованного землянина. Однако возникло новое направление развития сотовой связи: беспроводная передача данных. Это направление продолжает развиваться и сегодня. Параллельно с этим возник новый класс устройств с сотовой связью: охранно-пожарные сигнализации. Так или иначе, если срабатывает пожарная тревога или фиксируется несанкционированное проникновение в помещение, требуется вызов соответствующих служб. Сегодня вмешательство человека в этот процесс не требуется. Устройство, обрабатывающее сигналы датчиков, может самостоятельно вызвать нужную службу, если, конечно, оно содержит в себе модуль GSM связи. Это ещё один вектор развития сотовой связи. Таким образом, представляется ситуация, что в недалёком будущем на одного жителя нашей планеты может прийтись несколько номеров сотовой связи. Условно говоря: сигнализация квартиры, дачи, гаража и машины, и собственно, телефон.

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

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

Постановка задачи

  1. Зарегистрировать номер телефона, с которого будет производиться управление нагрузкой
  2. Управлять включением / выключением нагрузки по звонку с зарегистрированного номера
  3. Сигнализировать о включении/выключении нагрузки по звонку зарегистрировать абонента (желательно бесплатно)
  4. Звонки с других номеров – игнорировать (класть трубку)

Схемотехника

С точки зрения аппаратного построения данного устройства нет никаких проблем. Вся современная схемотехника – это построение конечного устройства из готовых кубиков. Вот и наше устройство за небольшим исключением состоит из двух этих самых кубиков: микроконтроллер и модуль сотовой связи. Разновидностей модулей сотовой связи так же как и микроконтроллеров – великое множество. В качестве микроконтроллера автор взял STM32F101 с минимальным объёмом памяти программ: 16 килобайт и в корпусе VFQFPN36. Почему выбор пал именно на этот контроллер? Сочетание цена-качество-возможности. Контроллер разрядностью 32 бита, произведённый в Европе (кристаллы выращиваются там, а корпусировка – в КНР), по цене среднего 8-ми битного контроллера (полностью произведённого в КНР). Примерно так. В качестве модуля сотовой связи был взят Quectel M95. Причина- та же. Меньше чем за 500 рублей вы добавите сотовую связь в ваше конечное приложение. Этот модуль умеет: делать голосовые вызовы, работать с SMS сообщениями, обмениваться данными по GPRS каналу и ещё много чего.

Правила включения микроконтроллера описаны в электрических параметрах на него. Нет ничего сложного: подать питание (1.8-3.6В) на входы питания (несколько VDD и один VDDA), подать землю (несколько VSS и один VSSA), сброс – оставить «висящим в воздухе», либо соединённым с землёй питания через конденсатор небольшой ёмкости для повышения помехозащищённости, Boot0 – притянуть к земле питания, подключить интерфейс программирования (их там 2 на выбор: SWD и JTAG). В качестве интерфейса программирования я применил SWD: всего 2 линии занимает на контроллере (к тому же JTAG – я отключил в программе).

Питание контроллера STM32F1xx
Рисунок 1. Питание контроллера STM32F1xx. 

Инженеры компании STMicroelectronics рекомендуют обвешивать его набором небольших керамических емкостей. Однако автор проигнорировал эту рекомендацию (всё равно же работает)

Схема сброса.
Рисунок 2. Схема сброса. В схеме автора вывод сброса "висит в воздухе"

Правила подключения модуля сотовой связи так же не требуют ничего особенного: питание, разъём SIM-карты. У M95 есть вход управления питанием: PWRKey. При подаче питания на модуль – он останется выключенным до тех пор, пока на этом входе не появится сигнал «земля» (внутри модуля есть подтяжка к напряжению питания) и не будет удерживаться какое-то время. На этот вход мы подключим кнопку без фиксации (другой конец кнопки – соединён с землёй). По части питания GSM модулей сотовой связи имеется подводный камешек: потребление во время сеанса связи скачет с десятков мА до 1-2А. Это требование к источнику питания. Отсюда же настоятельная рекомендация обвесить шину питания рядом с модулем конденсаторами (тантал/керамика несколько микрофарад). Автор не стал выполнять последнее требование, т.к. система, питающаяся лабораторным источником питания и так работала.

Подключение модуля сотовой связи к SIM-карте
Рисунок 3. Подключение модуля сотовой связи к SIM-карте

Внутри M95 есть встроенный линейный DC-DC преобразователь с выходным напряжением 2.8В. Мы запитаем наш контроллер этим напряжением. Питающее напряжение контроллера появится после запуска модуля кнопкой PWRKey.

Питание модуля и контроллера от встроенного линейного преобразователя напряжения
Рисунок 4. Питание модуля и контроллера от встроенного линейного преобразователя напряжения

Питание всей системы осуществлялось лабораторным источником питания АКИП-1101.

Интерфейс связи, по которому подключаются микроконтроллер и модуль сотовой связи, как правило USART. В нашем случае не было исключения. В силу того, что автор не сильно утруждал себя пайкой макета, соединение произвёл через UART: это всего 2 линии: Tx и Rx (задействовать линии CTS, RTS, CLK для повышения надёжности связи так же можно).

Сам же макет был построен на такой макетной плате: http://www.promelec.ru/catalog/413/1405/1511/1/152002/ Поменьше проводов, побольше перемычек образованных наплывом припоя + посадочное место под большой выбор контроллеров STM32, + посадочное место под M95 + посадочное место под разъём программирования + место для разъёма SIM карты.

В качестве индикаторов были применены два светодиода с последовательным резистором. Что требовалось индицировать? Во-первых, прошла регистрация управляющего номера или нет, во-вторых, состояние нагрузки. Светодиод нагрузки можно заменить на оптосимистор, например такой: EL3063 и «рулить» более мощной нагрузкой (например, мощным симистором или реле переменного тока).

В заключении описания аппаратной части добавим словесное описание используемых портов контроллера:
PB2 – индикация регистрации номера абонента управления
PB7 – нагрузка
PA9 – UART Tx
PA10 – UART Rx
PA13, PA14 – выводы программирования.

Как видите, стыковка нескольких аппаратных кубиков не составляет большого труда.

Board.jpg

Программа контроллера

Как это ни странно, но принципы построения ПО – точно такие же, как и аппаратной части: создание конечного продукта из готовых кубиков. Условно говоря, если всю работу программы разместить в векторах прерываний, то основное приложение никак не почувствует работу «соседнего кубика». Тут важно только одно: мощности микроконтроллера должно быть достаточно. Если говорить о выбранном STM32F101, то автор даже не стал поднимать частоту до максимально допустимых 36МГц, а оставил 8МГц, на которых контроллер стартует. ПО построено на максимальном использовании периферии, так что ядро не выполняет множества рутинных операций. Какая использована периферия:
- USART1 (для обмена с GSM модулем)
- DMA (для обмена UART-память без участия ядра)
- GPIO (управление нагрузкой)
- NVIC (контроллер вложенных векторных прерываний)
- Systic (для повторной отправки сообщений – повышение надёжности без участия ядра)

Алгоритм работы программы:
- инициализация модуля связи (проверка необходимости ввода ПИН-кода)
- регистрация в сети GSM
- ожидание первого звонка, определение его номера и запоминание + гашение светодиода, индицирующего «номер абонента, управляющего нагрузкой не определён». Далее, обрыв связи.
- приём звонков, при совпадении с ранее полученным перевод нагрузки в противоположное состояние, при этом, если нагрузка выключается – один гудок и обрывается связь, если включается – два гудка и связь обрывается (количество гудков можно варьировать текстом программы). Таким образом, пользователь по числу гудков до обрыва связи знает включил он нагрузку или выключил.
- при несовпадении номера входящего звонка с тем, что управлянт нагрузкой, связь сразу же обрывается.

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

Исходники – во вложении, желаю удачных разработок на их основе.

Прикрепленные файлы:

Теги:

Опубликована: 05.04.2013 Изменена: 07.04.2013 0 0
Я собрал 0 Участие в конкурсе 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.6 Проголосовало: 1 чел.

Комментарии (2) | Я собрал (0) | Подписаться

0
mr_smit #
Чего то я вообще не нашел где этот GSM модуль можно купить. Тем более дешевле 500 рублей... Даже на ebay его нет.
Ответить
0

[Автор]
Denis Yagov #
http://www.promelec.ru/catalog/1640/1668/1671/1/148905/ - есть в наличии, они на плату ещё распаяны, видимо (дороже 600 - рублей).
http://www.promelec.ru/catalog/1640/1668/1671/1/151244/ - тут на ленте, наличия нет (но были, я оттуда взял), меньше 500 рублей.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Discovery V8
Discovery V8
200 Вт усилитель класса D на IRS2092 Ручной фен 450 Вт с регулировкой температуры
вверх