Сдвоенный климатический датчик

 

Устройство представляет собой два набора датчиков температуры и относительной влажности воздуха, а так же уровня освещенности. Дополнительно, контроллер имеет вход для прерывателя анемометра (TTL активный - 0) и восемь настраиваемых пинов.

Колодка подключения линии связи

Кроме сигнальных (A, B, gnd), имеет ввод питания микроконтроллера, которое тот получает исключительно от линии связи.

Порт расширения

Для подключения дополнительных датчиков и реле на плате присутствует двенадцатиконтактный разъем. Назначение его выводов:

  1. 0 (общий провод);
  2. +5В питания для датчиков;
  3. принудительный сброс микроконтроллера;
  4. pin/output #7;
  5. pin/output #6;
  6. pin/output #5.
  7. pin/output #4;
  8. pin/output #3;
  9. pin/output #2.
  10. pin/output #1;
  11. pin/output #0;
  12. вход прерывателя анемометра.

В зависимости от настроек (ниже), дополнительные контакты могут использоваться для обслуживания контактных датчиков или для отдельного управления дополнительными исполнительными механизмами (например, подсветкой или внешними твердотельными реле на высокие токи или напряжения).

Датчики среды

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

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

параметр k a
температура в градусах цельсия 0.200000 -63.000000
относительная влажность в процентах 0.125000 -12.500000
освещенность в процентах 0.100000 0.000000

Настройки

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

Назначение выводов

Номера выводов (бит в масках):

  1. настраиваемый pin 0;
  2. настраиваемый pin 1;
  3. настраиваемый pin 2;
  4. настраиваемый pin 3;
  5. настраиваемый pin 4;
  6. настраиваемый pin 5;
  7. настраиваемый pin 6;
  8. настраиваемый pin 7.

Изменение направления выводов записывается в регистр 0, инверсии - в 1.

В том же порядке указывается режим таймера для каждого из входов, хранящийся в регистре 2.

Мониторинг состояния выводов

Для уменьшения нагрузки на сети и сервер БД, данные по состоянию контактов могут фильтроваться.

Фильтр представляет собой битовую маску, записываемую в регистр 3, со следующими значениями (1 - рапортовать):

  1. настраиваемый pin 0;
  2. настраиваемый pin 1;
  3. настраиваемый pin 2;
  4. настраиваемый pin 3;
  5. настраиваемый pin 4;
  6. настраиваемый pin 5;
  7. настраиваемый pin 6;
  8. настраиваемый pin 7.

При явном запросе состояния пинов (команда "p"), устройство возвращает все значения, вне зависимости от маски фильтра, но команда может содержать номер интересующего пина ("p02" вернет состояние только третьего контакта, "p" - состояние всех выводов).

Мониторинг среды

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

Значения битов, записываемых в регистр 4, имеют следующий порядок:

  1. температура контроллера;
  2. влажность воздуха контроллера;
  3. освещенность контроллера;
  4. температура расширения;
  5. влажность воздуха расширения;
  6. освещенность расширения;
  7. скорость ветра.

Сводная таблица команд

Протокол обмена данными с устройством.

Запросы
команда данные описание
g   Запрос наличия любых изменений в данных.
Приоритет ответа: код жеста, пин, температура.
R   Полная перезагрузка устройства.
r   Сброс портов и состояний.
S   Сброс портов в неактивное состояние (с учетом инверсии).
i   Запрос модели устройства.
p   Запрос состояния логических входов/выходов. Вместе с командой может быть передан номер интересующего бита.
t   Запрос значений датчиков температуры.
m   Запрос значений датчиков относительной влажности.
h   Запрос значений датчиков освещенности.
s   Запрос значений датчика скорости ветра.
o #вывода + 2 байта длительности
или 8х2 байта для всех портов
Изменение состояния вывода (включение) на длительность в секундах. Если длительность больше 65000, постоянное включение (до сброса или следующего изменения).
Порядок следования байт длительности - от старшего.
Порядок следования портов (для управления одним пакетом) - от 0 до 7, без указания номера порта.
Z длительность Разблокирование памяти устройства для записи. Передаваемый дополнительный байт - количество секунд, в течении которых можно будет записывать настройки. Если длительность равна нулю, запись запрещена.
Запросы, требующие предварительной разблокировки памяти
команда данные описание
I новый адрес Изменение адреса устройства.
M #регистра + значение Запись настроек в EEPROM.
0 - направление выводов + 1 байт маски.
1 - инверсия выводов + 1 байт маски.
2 - режим таймера + 1 байт маски.
3 - фильтр отчета по состоянию контактов + 1 байт маски.
4 - фильт отчета по состоянию среды + 1 байт маски.
Ответы
команда данные описание
A   Подтверждение успешного приема команды.
E   Ошибка в команде.
U   Команда не поддерживается
L   Неправильная длина принятых данных (не соответствует протоколу).
i OUTDOOR x2 Ответ названия (типа) устройства.
p 1 байт - количество изменений
[1 байт - номер + 1 байт - состояние]
Состояния изменений в логических входах/выходах. При старте или по запросу - текущее состояние всех контактов.
t 1 байт - количество изменений
1 байт - индекс
2 байта - значение
Температура воздуха. Старший байт идет первым.
m 1 байт - количество изменений
1 байт - индекс
2 байта - значение
Относительная влажность воздуха. Старший байт идет первым.
h 1 байт - количество изменений
1 байт - индекс
2 байта - значение
Освещенность. Старший байт идет первым.
s 1 байт - количество изменений = 1
1 байт - индекс = 0
2 байта - значение
Скорость ветра. Старший байт идет первым.
"Виртуальные" сигналы
команда данные описание
u 1 байт адреса Устройство активно (вышло на связь).
N 1 байт адреса Устройство не отвечает (выключено или отсутствует).

Геометрические размеры

Размеры платы контроллера: 57х35х16 мм.

Размеры выносного сенсора: 33х18х9 мм (включая разъем).