Беспроводная сеть сенсоров/исполнительных устройств на основе систем-на-чипе CC430 с радиомодулем.

Задумка

Этот проект возник из другого проекта, с которым я участвовал в конкурсе Texas Instruments Analog Design Contest'13 (советую посмотреть на информацию по ссылке, ведь именно ТЫ, мой дорогой гость, можешь выиграть классные призы в этом конкурсе). 

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

Рис. 1 - 2. Потенциальная жертва автоматизации.

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

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

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

Беспроводные сенсорные сети состоят из миниатюрных вычислительных устройств — узлов, снабжённых сенсорами (датчиками температуры, давления, освещенности, уровня вибрации, местоположения и т. п.) и трансиверами, работающими в заданном радиодиапазоне. Гибкая архитектура, снижение затрат при монтаже выделяют беспроводные сети интеллектуальных датчиков среди других беспроводных и проводных интерфейсов передачи данных, особенно когда речь идет о большом количестве соединенных между собой устройств. Постоянное снижение стоимости беспроводных решений, повышение их эксплуатационных параметров позволяют постепенно переориентироваться с проводных решений в системах сбора телеметрических данных, средств дистанционной диагностики, обмена информации. «Сенсорная сеть» является сегодня устоявшимся термином (англ. Sensor Networks), обозначающим распределенную, самоорганизующуюся, устойчивую к отказу отдельных элементов сеть из необслуживаемых и не требующих специальной установки устройств. Каждый узел сенсорной сети может содержать различные датчики для контроля внешней среды, микрокомпьютер и радиоприемопередатчик. Это позволяет устройству проводить измерения, самостоятельно проводить начальную обработку данных и поддерживать связь с внешней информационной системой. (Материал из Википедии, свободной энциклопедии)

Общая схема сетиразработанной мной, показана на рисунке ниже:
 
Рис. 3. Схема системы.

Каждый датчик/ИУ оснащен микроконтроллером, который уникально идентифицирует этот датчик в I2C сети и позволяет пользователю легко подключить их к узлам в любом порядке и любом количестве (не более размера адресного пространства I2C, очевидно). Двунаправленная связь устанавливается через радиомодуль с шлюзовым узлом, который посылает команды для узлов и принимает данные от датчиков для ретрансляции их на сервер. Сервер может быть любым одноплатным компьютер (например, Raspberry Pi) или даже обыкновенный стационарный компьютер , на котором работает приложение, отвечающее за общение с шлюзовым узлом.

Аппаратная структура

Каждый узел снабжен чипом CC430F5137 с радиомодулем, который отвечает за беспроводную связь между узлами и за подключение к сети I2C. Частота была выбрана 433 МГц, т.к. это нелицензируемая частота для региона 1 ITU. Схема каждого узла показана ниже.:
Рис. 4. Схема узла беспроводной сети на CC430.
Схема балуна была взята из напрямую из аппноута TI и предназначена специально для оптимального приема и передачи радиоволн на частоте 433 МГц. Программирование осуществляется через интерфейс Spy Bi-Wire (J2), имеющийся у всех микроконтроллеров серии MSP430. J3 соединяет узел с его датчиками и исполнительными устройствами (далее вы увидите, как соединение шиной позволяет использовать только один разъем для присоединения практически неограниченного количества датчиков/исполнительных устройств).

Каждый модуль датчиков/исполнительных устройств состоит из микроконтроллера MSP430G2230 
и обвязки. Иллюстрации от 5 до 8 являются схемами модулей датчиков/исполнительных устройств:

Рис. 5. Модуль коммутации сети переменного тока (симистор BT139 + драйвер MOC3041).

Рис. 6. Датчик температуры и влажности воды (DHT22).

Рис. 7. Датчик интенсивности света (обычный фоторезистор).

Рис. 8. Датчик температуры воды (DS18B20 в водонепроницаемом корпусе).
Архитектура системы обеспечивает возможность интеграции измерения данных сенсорами и управления исполнительными устройствами в 1 узел. Это упрощает управление системой, а также предоставляет возможность собрать модули с похожим назначением на один узел (например, датчик температуры с коммутатором нагревателя, датчик солености с коммутатором водяного насоса).

Результаты


Несколько фотографий готовых печатных плат снятых на мобилу:

Физическое воплощение узла беспроводной сети.

И он даже не один!

Узел соединенный с коммутационными модулями.

Модуль коммутации сети переменного тока (симистор BT139 + драйвер MOC3041).

Слева направо: датчик темп. воды (сенсор торчит снизу), датчик освещенности, датчик температуры и влажности воздуха.

Датчик температуры и влажности воды (DHT22).

Датчик интенсивности света (фоторезистор).

Датчик температуры воды (DS18B20).

Финальное фото - как бы цветущая теплица.

Что стоит доделать.

Я планирую развивать этот проект и улучшить его.

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

1) Добавление миниатюрной системы сбора энергии на каждый узел, что сделает его полностью беспроводным и автономным. Энергия будет собираться из солнечных батарей и хранится в ионисторах. Наиболее подходящим интегрированным решением для этого, пожалуй, будет BQ25504.

2) Разработка печатных плат с коммутаторами переменного тока (реле или симисторы). Это, сделает сделает проект еще и системой управления, что позволит не только получить данные от датчиков, но и управлять насосами и т.д. Сделано вскоре после того как проект был представлен на конкурс.

Comments