15 Dec 2015

Удаленное управление питанием обсерватории

Новая камера еще не собрана, а руки чешутся замутить еще что-то полезное)

На сей раз буду химичить коробочку, которая позволит включать/выключать подключенные устройства через интернет и/или SMS.

Коробочка будет состоять из модулей:
1. Контроллер. Скорее всего Arduino Uno
2. GSM модуль SIM900
3. Ethernet модуль на базе W5100
4. Блок с 8 реле

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

На базе Ethernet модуля будет поднят веб сервер, доступ к которому можно будет осуществлять по внешнему статическому IP. На странице можно будет управлять подключенными реле. Думаю предусмотреть следующие режимы работы с реле:
- Переключение состояния ВКЛ -> ВЫКЛ, ВЫКЛ -> ВКЛ
- Сброс питания (ВКЛ -> ВЫКЛ -> пазуа -> ВКЛ)
- Каскады (Реле1 ВКЛ -> ВЫКЛ, Реле2 ВКЛ -> ВЫКЛ -> пазуа -> ВКЛ, Реле1 ВЫКЛ -> ВКЛ)

Все ethernet команды коробочки будут продублированы SMS командами на случай пропадания интернета.

Коробочка будет запитана от отдельного аккумулятора. На этот же аккумулятор и на одно реле будет подключен двигатель крыши и кнопка ее закрытия.

В принципе, все модули уже куплены, так что буду потиху собирать и освещать этот процесс) Если кто решит повторить - выложу прошивку для контроллера.

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

Кстати, к датчику напряжения в последствии подключил основную линию 12В - при рабоающих 220В на ней 13.5В, а при пропавшем сетевом напряжении - 12-12.5В.

Установил все добро в корпус. Добавил DC-DC преобразователь для питания реле и GSM модуля. А так же вывел контакты для подключения термодатчиков.

Практически все выходы ардуины оказались заняты. Подключил так:

Ethernet shield:
D10-D13, A0-A1. D4, который используется для работы с SD карточкой я отключил, карточки пока не будет.

GSM модуль:
5VT -> D3
5VR -> D4

Подвел 5В с преобразователя. Модуль рассчитан на работу с меньшим напряжением, но в сети пишут, что и от 5В успешно работает.

Шина термодатчиков:
D2

Блок c 8 реле:
D5-D9, A2-A4

Датчик напряжение, который будет детектировать пропадание электричества:
A5

На используемой мной Arduino UNO остались только D0/D1, которые и так подключены к аппаратному порту.

Протестировал работу GSM модуля. Все работает, звонит и пишет, порядок, в общем.

Но не сразу так было) Купленная мной версия SIM900A предназначена для Азии и в наших сетях работать как бы не должна. Зато цена ниже)

Это проблема решается перепрошивкой. Перепрошить можно через ком-порт, подключившись в выхожу RS-232 на GSM модуле. Ком порта у меня не было, я подключил к компу USB-COM TTL адаптер на PL2003HX, а к нему GSM модуль. Кстати, подойдет EQDIR переходник)

Подключение простое - соединяется земля, RX на адаптере с 5VT на GSM модуле, TX на адаптере с 5VR на GSM модуле. Подключаю питание на GSM модуле. Дальше открываю Serial monitor в среде для Ардуины, выбираю скорость 19200 (у меня на GSM модуле такая стояла по умолчанию) и символ окончания "Возврат каретки (CR)". Посылаю команду AT+GMR, в ответ приходит версия прошивки
Revision:1137B09SIM900A64_ST
OK

Вот эта выделенная 64 говорит о модификации, под которую надо искать прошивку. Может быть 64 или 32.

Дальше нужно поменять скорость на 115200, чтобы прошивка не заливалась час) Для этого выполняем команду:
AT+IPR=115200

В ответ должно прийти OK, после этого можно в Serial monitor поменять скорость порта на 115200 и проверить, что работает, отправив команду AT, на которую должен прийти ответ OK. Serial monitor можно закрывать.

Дальше ищем прошивку под свой модуль (в моем случае версия 64), запускаю программу "SIM900 Series download Tools Develop 1.9.exe", выбираем файл прошивки, com порт, скорость порта 115200, отключаем питание GSM модуля и жмем на Start download, и как программа напишет Power On/Reset Target - подключаем питание к GSM модулю. Прошивка заливается минут 8-10.

После этого можно вставлять симку и тестировать. Для упрощения проверку пин код лучше предварительно отключить.

Программу заливки и саму прошивку прошивки прикрепляю:
sim900_series_download_tools_develop_19_141.rar

1137B02SIM900M64_ST_ENHANCE.rar