Создание беспроводной системы мониторинга – первые шаги «Бекаса»

14 апреля 2015

CC430F5137

Texas Instrumentsстатьяинтегральные микросхемыдатчикисредства разработки и материалыwireless

Александр Калачев (г. Барнаул)

В статье подробно описан опыт разработки беспроводной системы мониторинга суточных и сезонных изменений температурного профиля почвы на базе беспроводного контроллера CC430F5137 производства Texas Instruments.

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

Методы как активного, так и пассивного дистанционного зондирования поверхности в микроволновом и инфракрасном диапазонах позволяют получать данные для огромных территорий, причем — с относительно высоким временным и пространственным разрешением. Однако для точной интерпретации этих данных необходимо знание свойств поверхности и ее состояние. Тут на помощь приходят данные о составе, температуре и влажности грунта, а также о метеорологических условиях. Такие данные собираются не по всей наблюдаемой территории, а в ряде определенных мест с характерными для данной области особенностями.

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

От красот западного Алтая – к науке

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

Рис.1. Фотографии местности: а) окрестности Славгорода; б) солончаки неподалеку от Бурлы; в) Бурлинское озеро г) граница Волчихинского и Романовского районов

Рис.1. Фотографии местности: а) окрестности Славгорода; б) солончаки неподалеку от Бурлы; в) Бурлинское озеро г) граница Волчихинского и Романовского районов

 

В частности, значительная часть запада и юго-запада Алтайского края представляют собой сложное сочетание степных почв, соленых озер и солончаков. Правильное понимание и интерпретация процессов, происходящих на данных территориях, способствуют формированию оптимального режима земледелия и сохранения уникальных биосистем.

Задача на разработку прибора для мониторинга температурного профиля почвы была поставлена в хоз.договоре с Институтом водных и экологических проблем СО РАН, выполнявшим работы по гранту РФФИ № 13-05-98041 «Исследование сезонных вариаций микроволнового излучения соленых и горько-соленых озер на юге Западной Сибири» (руководитель Романов Андрей Николаевич).

Структура системы мониторинга

Поскольку речь идет о мониторинге значительной территории — так называемого полигона измерений, площадь которого может достигать нескольких квадратных километров, для автоматизации наблюдений выгоднее использовать сеть беспроводных узлов, оснащенных необходимым набором датчиков. На первоначальном этапе развития проекта допустимо полуавтоматическое считывание данных, собранных сетью. Для этого случая общий вид системы сбора данных представлен на рисунке 2.

Рис.2. Общий вид системы сбора данных о температуре почвенного покрова

Рис.2. Общий вид системы сбора данных о температуре почвенного покрова

В качестве макетного образца измерительной системы для автоматизации мониторинга суточных и сезонных изменений температурного профиля почвы был разработан набор «Бекас», состоящий из измерительного узла с контроллером и набором датчиков и беспроводным адаптером типа USB-Dongle (в народе «свисток»).

Состав «Бекаса» (рисунок3):

  • щуп на углепластиковой основе с шестнадцатью датчиками температуры для измерения профиля температуры почвы/снега/и так далее, имеющий плату с беспроводным контроллером и батарею питания – так называемый «сенсорный узел»;
  • выносной датчик-поплавок для измерения температуры поверхностного слоя воды/грунта;
  • выносной датчик для измерения температуры воздуха (устанавливается на шест на высоту 2 м);
  • USB-Dongle для обеспечения связи с хост-системой, управления устройством и считывания показаний.

Рис. 3. Состав и внешний вид измерительной системы «Бекас»

Рис. 3. Состав и внешний вид измерительной системы «Бекас»

«Бекас» как небольшая сенсорная сеть имеет один измерительный узел и один узел-координатор, выполняющий еще и роль своеобразного шлюза для взаимодействия с хост-системой, пользователем или приложениями, обрабатывающими данные.

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

Для узла-координатора актуален интерфейс с хост-системой. Фактически он работает только в моменты считывания данных с сенсорного узла или при настройке процедуры измерений, и для упрощения можно считать, что бюджет энергии для него не ограничен.

Аппаратная часть

С учетом дальнейшего развития системы в распределенную сенсорную сеть, в которой отдельные узлы могут быть разнесены на расстояние до нескольких километров, включая требование о дистанционном считывании показаний, ориентируемся на субгигагерцевый диапазон, в частности – на диапазон 433 МГц.

В качестве беспроводного контроллера выбран CC430F5137 [1] в составе модуля на 433 МГц – TE-CC430F51-433 [2, 3, 4]. Интегрированные компоненты радиотракта, компактные размеры и достаточное количество доступных линий ввода-вывода делают данный модуль весьма привлекательным для реализации на нем беспроводных систем различного назначения.

Структура USB-Dongle, реализованного в «Бекасе», достаточно проста – к модулю TE-CC430F51-433 добавлен преобразователь интерфейсов UART-USB на основе микросхемы от FTDI (рисунок 4). Преобразователи FTDI имеют программную поддержку в виде драйверов для большинства операционных систем. В контексте задачи интересны были системы Windows, Android и, — как дублирующий вариант, – Linux.

Рис. 4. Структура USB-Dongle, реализованного в «Бекасе»

Рис. 4. Структура USB-Dongle, реализованного в «Бекасе»

В целях поиска оптимального количества и расположения требуемых датчиков было принято решение о размещении на щупе сенсорного узла шестнадцати датчиков, что вместе с выносными дало 18, на расстоянии 5 см друг от друга – суммарно это дало 80 см заглубляемой части.

Поскольку контроллер CC430F5137 имеет встроенный аппаратный интерфейс I2C, было решено применять температурные датчики с этим же интерфейсом. Выбор пал на цифровые температурные датчики STLM75. За счет наличия адресных выводов они позволяют размещать до восьми датчиков на одной шине I2C. В случае с «Бекасом» для корректной работы восемнадцати датчиков потребовались бы три независимые шины I2C или их дополнительная коммутация.

Структурная схема сенсорного узла «Бекаса» представлена на рисунке 5.

Рис.5. Структурная схема сенсорного узла «Бекаса»

Рис.5. Структурная схема сенсорного узла «Бекаса»

Для снижения количества требуемых линий все датчики температуры питаются от одной шины (один общий провод на все датчики и одна питающая линия). Поскольку ток потребления STLM75 мал, допускается их питание от линий порта контроллера, так как максимальный суммарный потребляемый датчиками ток — всего 2 мА. Это дает дополнительную возможность программно отключать датчики для экономии энергии.

Датчики были разделены на три логических сегмента со своей адресацией (два сегмента по восемь датчиков, и один — по два). Линия данных I2C_DAT — для всех датчиков. Она имеет подтягивающий резистор непосредственно на плате сенсорного узла. Каждый из сегментов имеет свою собственную линию тактирования шины – I2C_SCL. Линии имеют отдельные подтягивающие резисторы. При помощи мультиплексора серии 4052 тактовые линии сегментов коммутируются на тактовую линию I2C_SCL от контроллера. Тем самым обеспечивается работа с шиной датчиков только того сегмента, который выбран в данный момент, и исключаются конфликты устройств на шине из-за совпадения адресов. Мультиплексор управляется парой выходных линий контроллера.

Для хранения результатов измерений используется внешняя SPI Flash-память объемом 32 Мбит.

Таким образом, один универсальный последовательный интерфейс CC430F5137 работает в режиме I2C, второй – в режиме SPI. При этом сохраняется возможность его работы и в режиме UART.

Поскольку для организации мониторинга территории в рамках поставленной на текущий момент задачи достаточно сети топологии «звезда» или «дерево», то в качестве стека протоколов для нее подойдет простой проприетарный протокол TI SimpliciTI. Он обладает достаточными возможностями для организации обмена данными и при этом имеет небольшой набор API, что, в итоге, позволяет достаточно быстро в нем разобраться и реализовать собственное сетевое приложение.

Основные алгоритмы функционирования узлов

Сенсорный узел:

  • периодически происходит пробуждение, проводятся измерения, результаты записываются в память;
  • после измерений проверяется наличие подключения к хост-узлу;
  • если подключение успешно — осуществляется переход в режим ожидания команд;
  • по приходу команд управления выполняются советующие действия;
  • если хост не обнаружен — происходит переход в спящий режим.

Хост-узел (USB Dongle):

  • по включении ожидается запрос на подключение;
  • после подключения команды управления транслируются сенсорному узлу;
  • хост-компьютеру передаются все данные, пришедшие от сенсорного узла.

Программа управления и сбора данных

В качестве основы программного обеспечения возьмем проект приложения UART_Bridge из штатной поставки стека протоколов SimpliciTI [7, 8] как наиболее близкий по структуре к предполагаемым алгоритмам функционирования узлов.

Идея работы программы-примера проста – организуется некое подобие радиоудлиннителя последовательного асинхронного порта: беспроводные контроллеры принимают символы по UART-интерфейсам и передают их по беспроводному каналу. Таким образом, хост-системы, подключенные к последовательным портам беспроводных контроллеров, могут обмениваться данными.

Исходный код примера 1

Блок-схема работы программы-примера приведена на рисунке 6.

Рис. 6. Блок схема работы программы-примера UART_Bridge

Рис. 6. Блок схема работы программы-примера UART_Bridge

Как видно, для хост-узла исходный алгоритм работы останется практически неизменным.

Учитывая, что для узла, ожидающего подключения, более критичным является наличие постоянного питания, узлом, выполняющим первоначально процедуру LinkListen, будет хост-узел. Соответственно, процедуру LinkTo будет периодически пытаться выполнять сенсорный узел.

Блок-схема работы сенсорного узла представлена на рисунке 7.

Рис.7. Алгоритм работы сенсорного узла

Рис.7. Алгоритм работы сенсорного узла

С учетом особенностей IAR-проекта исходного примера, код для узлов «Бекаса» будет следующим:

Исходный код примера 2

Поддержка периферийных устройств

Ниже рассмотрены основные интересные моменты реализации простейших драйверов периферийных устройств и доступа к датчикам.

Запись результатов измерений ведется во внешнюю Flash-память с интерфейсом SPI. Процедуры инициализации шин SPI и I2C были взяты из библиотеки CC430x513x_Code_Examples [2,9] (архив slac458c.zip) и немного адаптированы с учетом реально задействованных линий портов ввода-вывода.

В частности, для инициализации SPI был взят участок кода из файла-примера cc430x513x_uscia0_spi_09.

Исходный код примера 3

Из недостатков представленных выше алгоритмов работы и опроса датчиков можно отметить те, которые хоть практически и не влияют на работу опытного образца, но, тем не менее, подлежат коррекции в свете развития системы.

Сенсорный узел:

  • режим энергопотребления при радиообмене с хост-узлом не оптимален – при периодической передаче данных измерений хосту в промежутках между передачами радиочасть постоянно работает в режиме приема;
  • возможна дальнейшая оптимизация режима питания датчиков и выбора режима пониженного потребления.

Хост-узел:

  • после отключения сенсорного узла повторная связь с ним возможна только после перезапуска хост-узла.

 

Заключение

В качестве заключения приведены краткие технические характеристики опытного образца и некоторые результаты его работы.

Технические характеристики:

  • диапазон измеряемых температур: -40…+70°С, точность не меньше 0,5°С;
  • степень защищенности: не ниже IP67;
  • дистанционное считываний показаний и удаленное управление;
  • время автономной работы: не менее 48 часов;
  • настраиваемое время снятия показаний: периодически, по показаниям часов реального времени, по внешнему запросу;
  • хранение истории измерений;
  • 16 датчиков температуры на щупе с расстоянием в 5 см;
  • выносной датчик температуры воздуха для установки на высоте 2 м;
  • выносной датчик-поплавок для измерения температуры непосредственно на поверхности воды или почвы.

Зарядка встроенной батареи производится по mini-USB-кабелю (разъем со стороны антенны) от любого источника постоянного напряжения в диапазоне 4…5 В.

Устройство тестировалось с литиево-ионной аккумуляторной батареей емкостью 650 мА/ч. В автономном режиме работы – без передачи данных и связи с хост-компьютером, при постоянно включенных датчиках и периодическом мигании индикационного светодиода, — это дало время работы порядка 360…400 часов.

По результатам тестирования желательно, чтобы в непосредственной близости от антенн USB-dongle и сенсорного узла не находилось проводящих предметов – это не лучшим образом сказывается на дальности уверенной связи и качестве приема данных.

Результаты условно-полевого тестирования многоканального цифрового запоминающего термометра «Бекас» представлены на рисунках 8, 9, 10.

Рис. 8. Тестирование «Бекаса» - правый берег реки Барнаулка – побережье

Рис. 8. Тестирование «Бекаса» — правый берег реки Барнаулка – побережье

Рис. 9. Тестирование «Бекаса» - левый берег реки Барнаулка в непосредственной близости от русла

Рис. 9. Тестирование «Бекаса» — левый берег реки Барнаулка в непосредственной близости от русла

Рис. 10. Тестирование «Бекаса» - прорубь на реке Барнаулка

Рис. 10. Тестирование «Бекаса» — прорубь на реке Барнаулка

В целом, разработка приложения под CC430 с использование стека протоколов SimpliciTI не представляет непреодолимых сложностей и достаточно легко дается даже специалисту, не имеющему большого опыта работы с данной аппаратной платформой. Библиотека примеров кода CC430F513x Code Examples представляется полезной при разработке драйверов периферийных устройств и легкой для чтения — имеет комментарии и прозрачную для понимания структуру кода.

 

Литература

  1. CC430F5137 — Texas Instruments;
  2. CC430F5137 – универсальное решение для радиоустройств 433 и 868 МГц;
  3. TE-CC430F51-433, RUSSIA;
  4. TE-CC430F51-433 (Evaluation Modules & Boards);
  5. FTDI Products
  6. STLM75 Digital temperature sensor and thermal watchdog;
  7. SimpliciTI™ — RF Made Easy;
  8. Протокол SimplciTI // Новости Электроники, №14, 2008;
  9. CC430F513x Code Examples.
•••

Наши информационные каналы

О компании Texas Instruments

В середине 2001 г. компании Texas Instruments и КОМПЭЛ заключили официальное дистрибьюторское соглашение, которое явилось результатом длительной и успешной работы КОМПЭЛ в качестве официального дистрибьютора фирмы Burr-Brown. (Как известно, Burr-Brown вошла в состав TI так же, как и компании Unitrode, Power Trend и Klixon). С этого времени компания КОМПЭЛ получила доступ к поставке всей номенклатуры производимых компанией TI компонентов, технологий и отладочных средств, а также ...читать далее

Товары
Наименование
CC430F5137IRGZT (TI)
CC430F5137IRGZ (TI)
CC430F5137IRGZR (TI)
TE-CC430F51-433 (Россия)
TE-CC430F51-433 (ТЕРРА)
STLM75M2F (ST)
STLM75DS2F (ST)
STLM75DS2E (ST)
STLM75M2E (ST)