Предлагаемая схема GSM-контроллера выполняет функции автоматического/ручного регулирования/оповещения. Осуществляется контроль:

  • напряжения питания – SMS при отсутствии питания (10 номеров).
  • 2х зон-ответственности (наборов датчиков) – SMS (10 номеров) при нарушении любой из зон и реверс реле Sz1-Sz2 (Sz1=1, Sz2=0 – Sz1=0, Sz2=1)
  • температуры в установленных пределах (+21+27 изначально) – при выходе за пределы предустановок - SMS и срабатывание Rd1(<+21) – Rd2(>+27).

Питание контроллера осуществляется от литиевого аккумулятора 3,7...4,2V с зарядным устройством (у меня TP4056).
Настройка контроллера производится SMS-сообщениями. Схема GSM-контроллера построена на микроконтролле ATmega32 и популярном GSM-модуле SIM800L.

GSM-контроллер на микроконтроллере ATmega32

Исходные параметры:
Пределы регулировки температуры +21…+27С. Зоны ответственности (охраны) отключены. SIM-карта должна быть с отключенным PIN-кодом!
ВНИМАНИЕ! При замене SIM-карты, дополнительная настройка не нужна! Все сделанные Вами настройки сохраняются в энергонезависимой памяти контроллера.

Схема контроллера:

Схема GSM-контроллера

Питание схемы осуществляется от стандартного зарядного устройства для мобильного телефона (5V, 1000mA) через схему зарядки (TP4056) и должно быть не более 4,2V, в данной схеме литиевая батарея работает, в том числе и как мощный конденсатор, при пиковой нагрузке (по описанию SIM800L в пике потребляет до 2A, в реальности больше 100mA ни разу не видел), а также для аварийного питания при пропадании сети (время работы от батареи на 1000mA не менее суток).

Возможная периферия контроллера:

Переферия GSM-контроллера

Внешний вид собранного по данной схеме GSM-контроллера:

Собранный по схеме GSM-контроллер

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

Пример SMS:

Пример SMS-сообщения от GSM-контроллера

Сообщение отправляется 1 раз на каждый сохраненный номер, в программе выставляется флаг-сообщение отослано, при восстановлении заданных параметров флаг сбрасывается и при следующем нарушении все повторяется. Система охраны не имеет предустановок, при вкл. охраны система автоматически запоминает текущее состояние и при изменении посылает SMS также на каждый записанный номер по 1 разу. (пример применения на схеме, входное напряжение до 50V). При отсутствии датчика DS18B20 контроллер на запрос #give вместо текущей температуры выдает надпись “No Sensor” в остальном работа контроллера не меняется.

2 пары реле жестко привязаны к функциям:
    Rd1, Rd2 – реле датчика DS18B20
    Rz1, Rz2 – реле охраны (реверсируются)
Реле R1-R6 вкл/выкл по команде в SMS или при звонке, с помощью DTMF кода (1-6).

При отладке было обнаружено, не всегда проходит DTMF-код, т.е. в телефоне отослан, а на приеме его нет. Возможно, у разных операторов как-то иначе или получается, что это глюк оператора!?

Никаких дополнительных кодов не делал. Считаю, что 13-значный номер SIM-карты достаточен для обеспечения безопасности и если кто-либо подсмотрел у Вас номер SIM карты и запомнил, то уж 4-5-значный код и вообще не проблема, а делать код на N знаков практически нет смысла, ну кто в здравом уме будет набирать 10-20 знаков для просмотра баланса на карте, проще при необходимости сменить SIM-карту, тем более, что перенастройка контроллера при этом не нужна.

Команды управления/настройки (SMS сообщения):

#sett… – запись новой предустановки температуры (#sett+30+40).
#give – получить текущее состояние системы
#give*000# - получить текущее состояние системы с балансом счета (вместо 000 вставить номер Вашего оператора).
#save+xxxxxxxxxxxx – сохранить номер для аварийных сообщений (до 10 номеров). Номер вводить в полном формате (13 знаков - #save+12345678976).
#look – показать сохраненные номера.
#dell+xxxxxxxxxxxxx – удалить номер. Номер вводить в полном формате (13 знаков).
#secon – вкл. Режим охраны. Система запоминает текущее состояние входов S1-S2 и приводит в исходное состояние выходы Sz1=0 - Sz2=1. Теперь при изменении любого из входов будет передано сообщение SMS на все сохраненные номера и произойдет реверс Sz1=1 – Sz2=0.(Security On)
#secof – отключить режим охраны (Security Off)
#onrs1-6 – вкл. Реле Rs1-2-3-4-5-6 соответственно (On Rele S1)
#ofrs1-6 – откл. Реле Rs1-2-3-4-5-6 соответственно (Off Rele S1)

Если ни одного номера не сохранено в памяти, система просто вкл./выкл. Реле – соответствующие функциям. Т.е. работает автоматическим регулятором. При отсутствии датчика температуры и запросе #give выводится сообщение “No Sensor”. При возникновении аварийной ситуации - SMS об аварии отсылается 1 раз на все сохраненные номера, далее автоматически отслеживаются все параметры и при восстановлении заданных параметров, авария обнуляется и при следующей аварийной ситуации все повторяется.

Предусмотрена функция ручного управления, позвонить на устройство, перевести телефон в режим DTMF набора. Кнопками 1-2-3-4-5-6 вкл/выкл соответствующее реле Rs1-Rs2-Rs3-Rs4-Rs5-Rs6. Принцип кнопки двойного нажатия вкл./выкл.

Изготовленные платы:

Готовые печатные платы

Печатную плату проектировал в P-Cad2000, решил заказать 50шт. (как оказалось не зря, друзья уже расхватали 12шт.). Во-первых так дешевле, во вторых на эту плату есть и другие идеи применения ну и в третьих – моя плата, что хочу то и ворочу. В итоге плата обошлась 50шт. за 30$, т.е. 0,6$/шт. На e-Bay купил Atmega32A по 0,6$ тоже 50шт. После этого отдал за закупку мелочи: резисторы, конденсаторы и светодиод, а также за распайку 50шт., еще 60$.  Итого 0,6$ + 0,6$ + 1,2$ = 2,4$/шт. – распаянная плата. Ну и месяц ожидания. На мой взгляд, недорого. На этом все, есть вопросы – пишите.

Скачать прошивку микроконтроллера

Скачать печатную плату (P-Cad)

Автор: Григорий PGS. Украина, Днепр. Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

 

 

Добавить комментарий


Защитный код
Обновить