Контроллер управления питанием через gsm канал ма3402
Мастер Кит BM5402 BM8035 BM8039D MA3401 MA3402 MP0211 MP8036 MP8036multi
Бурное развитие микроконтроллеров общего назначения, обладающих большим числом входов/выходов, которые могут принимать/отдавать сигналы различных видов, имеющих хорошие вычислительные способности и память достаточного объема, привело к появлению разнообразных устройств, которые имеют в своей основе такие микроконтроллеры. Более того, дешевые микрокомпьютеры типа Raspberry PI, Orange PI, Banana PI и тому подобные, активно внедряются в устройства управления и автоматики. Они обладают еще большими вычислительными мощностями, большой памятью, быстрыми интерфейсами, и позволяют разрабатывать на своей основе относительно сложные системы типа «Умный Дом».
Следуя своим традициям и учитывая интересы поклонников решений в стиле DIY, компания Мастер Кит разработала и включила в свой ассортимент несколько модулей, разработанных на основе упомянутых устройств, которые могут выполнять самые различные функции контроля, управления и оповещения. Эти модули могут по праву называться многофункциональными, так как их назначение не ограничивается каким-либо конкретным применением. Приложив голову и руки, можно использовать эти модули как основу, или в составе систем охраны и безопасности, поддержания комфортных условий в жилище, управления электроникой автомобиля, регулирования производственных процессов и многих других.
Предлагаем вам сравнительный обзор восьми многофункциональных модулей управления Мастер Кит, который, как мы надеемся, поможет выбрать тот, который решает вашу уникальную задачу и принесет радость творчества.
В конце обзора размещена таблица, в которой кратко перечислены основные характеристики рассматриваемых устройств.
-
– интеллектуальное управляющее и охранное устройство, которое может быть прекрасной основой для автоматизации дачи или загородного дома.
Модуль может выполнять следующие функции:
- контроль входных охранных линий (шлейфов);
- SMS управление выходными линиями;
- измерение температуры в различных точках (до 32);
- поддержание заданной температуры в режиме термостата;
- измерение текущих значений аналоговых датчиков (с помощью дополнительного модуля MP309)
Вы можете ознакомиться с примерами решений на основе устройства в следующих материалах:
-
– является 12-канальным таймером с функциями термостата, аналого-цифрового преобразователя для сигналов аналоговых датчиков; он оснащен часами реального времени для реализации функций таймера.
Модуль представляет собой улучшенную версию отлично зарекомендовавшего себя BM8036, который в настоящее время изготавливается только под заказ. Модуль выполнен более компактно. Все 12 каналов выведены на съемные клеммы. Выходным сигналом каналов является TTL уровень напряжением 5 В с током 10 мА. Благодаря этому к модулю можно подключать исполнительные устройства, обзор которых можно найти здесь. На плату интегрирован mini-USB порт для удобства подключения к ноутбуку или ПК. Для удобства монтажа дисплей сделан съемным. Устройство может быть использовано в качестве центральной части систем управления отоплением, охлаждением, вентиляцией, поливом, а также для управления различными электроприборами по программе пользователя (32 шага программирования).
Примеры включения и решений на основе модуля представлены в следующих материалах:
- Логический модуль MP8036multi недаром назван нами «Великим комбинатором». Он реализует программируемую реакцию своих выходов на аналоговые и цифровые сигналы на входах и умеет комбинировать логические условия для этой реакции.
В устройстве реализовано интуитивно понятное программирование на русском языке; хранение и загрузка программ в текстовом виде.
Без вашего участия в автоматическом режиме контроллер обеспечит охрану дома, управление отоплением, освещением, вентиляцией, поливом и многое другое.
В качестве периферии можно использовать как имеющиеся у вас датчики и силовые модули, так и из каталога Мастер Кит. Такие, как MP220V, MP594, MP220R, MP246, MP515, MP146 и т.п. Рекомендуемый источник питания – PW1245.
Каждый выход модуля имеет 8 режимов работы. Эти режимы предварительно описываются пользователем. Режимы для каждого типа выхода имеют различные свойства. Каждый режим работы имеет 16 условий срабатывания. Эти условия связаны между собой логикой, задаваемой пользователем. Также в этой логике может быть описана зависимость каналов.
MP8036multi реализует следующие функции:
-
– мультифункциональный модуль управления, который разработан с учетом возможности применения как в стационарных решениях, так и в автомобиле.
Каждый выход многофункционального контроллера может быть настроен на 4 условия включения и 4 условия выключения, объединенные по схеме «Логическое ИЛИ». Каждое условие настраивается по схеме «Логическое И». Каждый выход может быть настроен с задержкой включения/выключения.
Необходимая логика срабатывания задается в конфигураторе для ОС Windows.
Примеры решений для автомобиля:
- автоматическое отключение габаритных огней после выключения зажигания, с возможностью последующего включения ГО без включения зажигания (функция «незабудка»);
- включение ближнего/дальнего света фар на некоторое время – «световая дорожка»;
- реализации функции энергосбережения внутреннего света салона (отключение подсветки через некоторое время);
- задержка включения мощных энергопотребителей после включения зажигания (для облегчения запуска двигателя);
- звуковой сигнализатор незакрытых дверей, включения задней передачи;
- прерывистый режим работы заднего дворника;
- «Секретная кнопка».
-
– основанный на микрокомпьютере Orange PI One комплект модулей для построения системы «Умный дом». Комплект предназначен для создания системы автоматизации, диспетчеризации и удаленного управления устройствами с целью повышения комфорта и безопасности в жилом доме или любом другом объекте.
Устройство представляет собой плату расширения с элементами и микрокомпьютер Orange PI One, соединенные друг с другом разъемом. Плата микрокомпьютера имеет разъем USB 2.0, к которому подключается модем для связи с облачным сервисом, специально созданным для обслуживания данных модулей. Плата расширения снабжена винтовыми клеммами для удобного подключения периферии и питания, а также сигнальными светодиодами на выходах для удобства проверки и настройки системы. Для настройки используется оригинальный WEB-интерфейс.
Для входа на сервер в комплекте с устройством поставляются:
- ссылка на сервер управления;
- логин и пароль для управления;
- быстрая ссылка (без необходимости вводить логин и пароль вручную);
- ссылка на скачивание приложения для мобильных устройств на ОС Android.
Питание устройства осуществляется с помощью двух источников:
- +5 В, 3 А для микрокомпьютера;
- +5…24 В для выходных каскадов платы расширения.
Потребляемый ток зависит от подключенной к выходам нагрузки. Обычно в таких случаях используется стандартное напряжение 12 В. В качестве источника такого напряжения может быть использован модуль PW1245, если не нужен большой ток, или для больших токов PW1221B, а также LRS-100-12.
Прочтите отдельный обзор модуля:
Модуль реализует следующие функции:
- интеллектуального режима оповещения;
- охранной системы объекта (возможность подключение любых датчиков с реле на борту;
- модуля расширения уже имеющейся сигнализации для передачи тревоги по каналу GSM;
- термостата от -30 °С до +100 °С (регулировки отопления, холодильников, кондиционеров и т.д. до 3.5 кВт);
- электронного замка (для открывания ворот, дверей и т.д.);
- дистанционного выключателя любого электроприбора на расстоянии (до 4 кВт);
- настраиваемого датчика повышения или понижения температуры при выходе установленных значений за пределы диапазона с отправкой SMS).
-
– простая автономная GSM-SMS сигнализация с функцией контроля и управления температурой.
В следующих материалах можно найти примеры использования модуля:
-
– термостат с управлением по каналу GSM с индикатором температуры.
Это несложное устройство специально предназначено для контроля и поддержания заданной температуры.
Управление всеми функциями регулятора осуществляется через сотовую сеть GSM. Устройство выполнено в корпусе для установки на DIN рейку в электрических шкафах.
Регулятор имеет резервное питание, которое позволяет сохранить функции контроля при отключении напряжения сети, отдельный датчик температуры на длинном проводе, а также вход для контактного датчика для организации контура охраны.
Модуль оснащен трехразрядным семисегментным индикатором температуры и кнопками ручного управления.
ATIS KIT-GSM100 Комплект беспроводной GSM сигнализации на 99 беспроводных и 2 проводные зоны.
КСВВнг(А)-LS 2х0,5 Кабель не распространяющий горение с пониженным дымо- и газовыделением
Ajax GlassProtect (черный) Беспроводной миниатюрный датчик разбития стекла
Ajax GlassProtect (белый) Беспроводной миниатюрный датчик разбития стекла
CCU422-S-PB. GSM контроллер с блоком питания. Поддержка ПЦН.
CCU422-HOME/WB/PC. GSM контроллер с доступом через интернет, блок питания, встроенный АКБ, USB-кабель.
Сигнализация для дачи и гаража по датчику движения
СББ АКЛ 900/108/5, спиральный барьер безопасности (ГОСТ 7372-79)
Сигнализация для дачи и гаража по датчику движения
Сигнализация для дачи и гаража по датчику движения
97%CCU422-S-PBC. GSM контроллер с блоком пит., АКБ 1,3А/ч, USB-кабель. Поддержка ПЦН.
Прибор аварийной сигнализации WIlo Compliant Alarm Control 1 2522846
Беспроводная GSM сигнализация Optimus AG-200 (комплект) v2
КСПВ 20*0,5 (Паритет) Кабель с однопроволочными 20 жилами, D внешний - 7,2мм, D жил - 0,5мм
CCU825-S+E011-AE-PCD (GSM контроллер CCU825-S+E011, крепление DIN, GSM антенна выносная (SMA, каб. 3 м.))
Беспроводной датчик утечки газа для GS-115 REXANT GS-251
Беспроводная охранная (пожарная) WiFi GSM сигнализация Страж Premium 2
CCU825-S+E011-AE-P (GSM контроллер CCU825-S+E011, GSM антенна выносная (SMA, каб. 3 м.), блок пит. 15В/1А)
Беспроводной датчик открытия для GS-115 REXANT GS-233
ШВВП 2*0,75 (ТУ) Провод соединительный с двумя жилами, многопроволочный
Беспроводная охранная 3G сигнализация Страж Alarm Signal
CCU825-S+E011-AE-PB (GSM контроллер CCU825-S+E011, GSM антенна выносная (SMA, каб. 3 м.), блок пит. 15В/1А)
Беспроводной датчик открытия для GS-115 REXANT GS-241
Беспроводная охранная GSM сигнализация Страж Старт
CCU825-S+E011-AR-P (GSM контроллер CCU825-S+E011, GSM антенна штыревая угловая (SMA))
CCU825-S+E011-AE-PBC (GSM контроллер CCU825-S+E011, GSM антенна выносная (SMA, каб. 3 м.), блок пит. 15В/1А,
Мой план заключался в том, чтобы создать простое и дешевое устройство, оснащенное двумя датчиками температуры, датчиком влажности, GSM модулем, а также твердотельным реле и розеткой для подключения нагрузки. То, что получилось в итоге, можно увидеть на фото. В качестве датчика температуры и влажности был выбран климатический сенсор BME280, его канал давления не используется. На фото его можно увидеть под прозрачным колпачком слева от основного модуля. Такое расположение уменьшает влияние тепловыделения внутри корпуса на показания датчика. В качестве колпачка используется китайская пластиковая пробирка с двумя отверстиями для вентиляции. Второй датчик температуры выносной, сделан на DS18B20. Он расположен внутри металлического зонда, с корпусом соединен кабелем через обычный аудио разъем для наушников. Зонд предназначен для измерения температуры непосредственно отопительной системы. Основной объем корпуса занимает твердотельное реле (я выбрал помощнее) и преобразователь из 220В в 5В для питания схемы. Розетка для подключения нагрузки смонтирована на задней стороне корпуса, на фото она не видна. OLED дисплей на базе контроллера SH1106 отображает показания датчиков, а также показывает, включена ли нагрузка. Для управления всей системой используется модуль Arduino Pro Mini в версии 3.3В 8МГц. Я не большой фанат этой платформы, но обилие библиотек, в том числе заботливо выпиленных автором, делает ее оптимальным выбором, когда нужно быстро сделать что то простое.
GSM модуль SIM800L размещен в отдельном металлическом корпусе для уменьшения создаваемых им помех на остальные части схемы. Как показала практика, помехи от этого уменьшаются не сильно. А радикально их уменьшает выносная антенна, подключенная экранированным кабелем к коаксиальному разъему, на фото выше она на переднем плане. Но об этом подробнее мы поговорим позже.
Про использование GSM модулей написано немало статей, в том числе на хабре, поэтому я буду избегать повторений и расскажу о том, что не встречалось мне в публикациях на эту тему, а именно о том, как сделать на базе этого модуля надежно работающее устройство.
В гаражах, где я частенько бываю, недавно поставили на въезде шлагбаум, который открывается, если позвонить на определенный номер. Судя по всему, он сделан на похожем GSM модуле. Меня удивило, как сложно бывает дозвониться по этому номеру, чтобы он открылся. Теперь я знаю множество причин для этого. Это знание стоило мне нескольких месяцев экспериментов и внушительного количества потраченных на них денег. Я надеюсь, что теперь это знание послужит кому то еще. Рассмотрим, на что важно обратить внимание, продвигаясь от очевидных аппаратных проблем к менее очевидным программным.
Первое, что важно сделать правильно, — вставить сим-карту
Мне казалось очевидным, что сим-карта вставляется скошенным уголком вперед. С неделю я пытался понять, почему модуль не желает регистрироваться в сети, попутно осваивая команды в терминале. В итоге на каком то англоязычном форуме я нашел упоминание о том, что вставлять ее нужно скошенным уголком назад. Странно, что она вообще вставляется и так и эдак.
Чтобы хорошо работать, нужно хорошо питаться
Требования к питанию у GSM модуля достаточно специфические. Он сделан на базе микросхемы, разработанной для кнопочных мобильных телефонов, и рассчитан на питание непосредственно от литиевого аккумулятора. Поэтому, 5В для него много, а 3.3В — мало. К тому же, в режиме передачи на максимальной мощности он способен потреблять ток до 2А. Если источник питания не способен обеспечить нужный ток, GSM модуль может перезагрузиться при попытке регистрации в сети и продолжить перезагружаться в бесконечном цикле. Периоды пикового потребления обычно длятся меньше секунды, поэтому есть соблазн применить слаботочный стабилизатор с накопителем энергии для периодов пиковой нагрузки. В качестве такого накопителя можно применить литиевый аккумулятор. При этом важно обеспечить возможность его отключения и важно не забыть ей воспользоваться, иначе отключение устройства от сети закончится глубоким разрядом аккумулятора и его необратимым повреждением. Другой вариант — это поставить вместо аккумулятора ионистор (суперконденсатор). Он не боится глубокого разряда. Но у него тоже есть проблемы с надежностью. Одна ячейка ионистора обычно рассчитана на напряжение от 2.5 до 3В. Ионисторы, рассчитанные на большее напряжение, состоят из нескольких ячеек (обычно из 2-х). При этом, однако, дисбаланс напряжения на ячейках может закончится пробоем ячейки. Такой дисбаланс легко получить за счет разницы в емкости ячеек или разницы в токе утечки. Следует также учитывать параметр внутреннего сопротивления ионистора. Ионисторы с большим внутренним сопротивлением на больших токах бесполезны, а ионисторы с малым сопротивлением стоят не дешевле аккумулятора. После того, как у меня ионистор скоропостижно скончался из-за дисбаланса ячеек, я просто применил преобразователь из 220В в 5В достаточной мощности. Чтобы понизить напряжение до нужного GSM модулю, я поставил между преобразователем и модулем обычный кремниевый диод. На таком диоде обычно падает 0.7В, так что модулю достаются необходимые 4.3В. После диода полезно поставить электролитический конденсатор большой емкости. Он сгладит провалы напряжения при внезапном включении передатчика.
От передающей антенны лучше держаться подальше
Даже после того, как я обеспечил GSM модулю требуемое питание, симптом перезагрузки периодически проявлялся, но на этот раз перезагружалась Arduino. Наблюдение за ее питанием при помощи осциллографа показало, что питание тут непричем. Судя по всему помеху создавал передатчик модуля, поскольку проблема возникала тем чаще, чем хуже были условия приема сигнала базовой станции. Столь радикальный эффект помех от передающей антенны вполне объясним, если вспомнить, что передатчик модуля способен выдать в антенну 2 ватта. Такая мощность может за 5 минут вскипятить миллилитр воды или нагреть ваше ухо на несколько градусов. Для борьбы с этой проблемой были опробованы разные методы. Для начала я подключил внешнюю антенну, которая располагалась снаружи корпуса и соединялась с модулем коротким коаксиальным кабелем. Однако, ожидаемого эффекта это не дало. Тогда я расположил модуль в отдельном металлическом корпусе, к которому снаружи крепилась антенна. Стало лучше, но не сильно. Радикально улучшил ситуацию только вынос антенны на некоторое расстояние от устройства за счет ее подключение коаксиальным кабелем достаточной длины.
Почему так происходит, легко понять из физических соображений. Типичная антенна — это 'четвертьволновой штырь', то есть половинка от дипольной антенны. Но, чтобы создать электрическое поле, половинки диполя недостаточно, нужна вторая половинка, тогда между отрицательно и положительно заряженными элементами антенны возникнет электрическое поле. У правильной штыревой антенны второй половиной является либо поверхность земли, либо корпус прибора, либо специальные проводящие 'противовесы'. Но для маркетологов все это слишком сложно, поэтому нам обычно продают только половинку от нормальной антенны. Как же она работает? Очень просто — второй половинкой является кабель, которым подключена антенна. То, что он экранирован, ничего не меняет. Внешняя поверхность его оплетки играет роль второй половинки дипольной антенны. При этом помеха легко наводится на проходящие по соседству провода несмотря на то, что кабель казалось бы экранирован. Ну а если кабеля нет, например мы спрятали модуль в металлический экран, из которого торчит антенна? Если экран большой (по сравнению с длиной волны), то он работает, как вторая половина излучателя, а если маленький, то излучают прочие провода, которые подведены к этому модулю, совершенно не важно, какие. Следующий рисунок иллюстрирует вышесказанное (плюсы и минусы показаны для наглядности, в реальности заряд элементов антенны меняет знак с частотой несущей).
Слева показана 'правильная' антенна, ее подводящий кабель не излучает помех. На среднем рисунке показана антенна, которую вы обычно покупаете. Здесь подводящий кабель является частью излучателя и создает помехи проходящим поблизости проводам. Справа показана ситуация, когда источник сигнала спрятан в компактный экранированный корпус. Здесь любые провода, подведенные к такому корпусу, являются частью излучателя.
Мораль заключается в том, что единственный надежный способ защититься от помех, создаваемых передающей антенной, — унести ее подальше от остальной электроники, подключив коаксиальным кабелем достаточной длины. Какая длина является достаточной? Расстояние естественно соизмерять с длиной волны, в данном случае это максимум 30 см. Это и есть минимальное расстояние на которое следует отнести антенну, но чем дальше, тем лучше.
Не все последовательные порты одинаково полезны
В простых AVR микроконтроллерах, которые все обычно и используют, аппаратный последовательный порт всего один, и он используется для загрузки программы. Поэтому, программная реализация последовательного порта является очень популярным решением. Я собираюсь доказать утверждение, которое многим покажется неожиданным, — для управления GSM модулем программная реализация последовательного порта непригодна вообще.
Суть проблемы в том, что программная реализация последовательного порта запрещает прерывания на все время передачи или приема очередного символа. Казалось бы, что в этом плохого, так многие делают. Например, реализация протокола 1-Wire для чтения термометров Dallas Semiconductor тоже запрещает прерывания на время передачи одного бита, то есть на 65 микросекунд. Это конечно тоже не слишком хорошо. Если в системе есть другие обработчики прерываний, они не смогут обеспечить время реакции на прерывание меньше этих 65 микросекунд. Если запрос на прерывание приходит, когда они запрещены, он будет обработан только после того, как прерывания разрешат снова. Например, аппаратный последовательный порт использует прерывания для того, чтобы положить в буфер приемника очередной принятый символ. Если следующий символ придет, пока не обработано прерывание от предыдущего, тот будет потерян. Это значит, что работать со скоростью больше 115200 бит в секунду аппаратный последовательный порт не сможет. В случае программной реализации последовательного порта все хуже. Для его работы нужно, чтобы время реакции на прерывание было меньше времени передачи одного бита. Это ограничивает нас скоростью 9600 бит в секунду.
Асинхронному протоколу — асинхронный обработчик
Созданная автором библиотека, реализующая вышеописанный подход, находится здесь.
Что в итоге?
В итоге получилось устройство, которое надежно работает в зоне со слабым покрытием, даже лучше, чем среднестатистический телефон. Ниже приведена его полная схема.
Читайте также: