Страница 1 из 5

[Пример] Счётчик импульсов (батарейка)

Добавлено: Вт мар 22, 2016 9:27 am
Ivan
Счётчик импульсов на 2 канала.
Может применяться для подсчёта импульсов с счётчиков воды, электросчётчиков, счётчиков газа

Сделан на основании примера http://www.mysensors.org/build/pulse_water но сильно переработан

2 канала
Подключать можно только к ножкам с обработкой прерывания во сне.
Для MSMD, Arduino Pro mini, Arduino Nano - это 2, 3 ножка
Если нужно включить 2 счётчик импульсов, раскомментируйте #define ENABLE_S2

От батарейки (режим сна)/Полного питания
Для использования без батареи закомментируйте #define SLEEP_MODE
В режиме сна не работает подсчёт потока.
Для правильного подсчёта потока нужно исправить Sx_PULSE_FACTOR и Sx_MAX_FLOW

Считывание напряжение батареи и температуры
Считывание напряжение батареи (через внутренний осциллятор)
Считывание температуры (Температура процессора)
Чтобы измерения были точнее, нужно произвести калибровку, переменных tGain - множитель, tOffset - Смещение
Если хотите чтобы напряжение передавалось в % и через системное сообщение sendBatteryLevel, нужно раскомментировать #define SYSBAT и поправить MIN_V, MAX_V уровень напряжения батареи. (Не рекомендую использовать этот метод, по причине не информативности и проблемы подстройки)

Сброс настроек
Если при включении, на пин A0 подать напряжение VCC, произойдёт сброс адреса устройства, после чего оно запросит у гейта новый адрес

Данные которые передаются на гейт
  • [1] V_VAR1 - Импульсы 1 датчика
  • [1] V_VOLUME - Поток 1 датчика
  • [2] V_VAR1 - Импульсы 2 датчика
  • [2] V_VOLUME - Поток 2 датчика
  • [254] V_TEMP - Температура устройства
  • [254] V_VOLTAGE - Напряжение источника питания
Данные которые запрашиваются у гейта
  • [1] V_VAR1 - Импульсы 1 датчика
  • [2] V_VAR1 - Импульсы 2 датчика
Алгоритм работы
  • Отключение ненужных систем процессора, для экономии батареи. ADC, analog comparator
  • Проверка сброса
  • Проверка и запуск NRF24
  • Презентация ноды и датчиков
  • Настройка прерываний
  • Запрос предыдущих счётчиков импульсов у гейта
  • СОН
  • При срабатывании прерывания подсчёт импульсов
  • Если накопились данные (время для сброса данных о потоке) - передать данные в гейт
  • СОН
Схемы подключения датчиков
(IR барьер TCRT5000). Подключается на D2
Датчик хола. Подключается на D2
Геркон. Подключается на D2
Геркон с фильтором
СпойлерПоказать
77ac05039740492a96960f720e2c1519.png
77ac05039740492a96960f720e2c1519.png (2.07 КБ) 14304 просмотра
Настройки модуля
  • Включить ноду чтобы она определилась в системе.
  • Добавьте сенсор 1 V_VAR1 и привяжите его к объекту счётчика (Это поле нужно при запросе предыдущих данных). Если не сделать этот пункт, нода будет постоянно запрашивать данные и не уйдёт в режим считывания (сон)
Внимание
  • Данные передаются только по истечению времени SEND_FREQUENCY. При импульсе они только сохраняются в переменную
  • Нода не будет передавать данные пока не получит предыдущие значения импульсов
Данный датчик можно приобрести. Смотрите раздел http://majordomo.smartliving.ru/forum/v ... =15&t=2219

Примеры
СпойлерПоказать
3ayNdKT.jpg
Газовый счётчик
3ayNdKT.jpg (1.79 МБ) 14303 просмотра
Скетч: https://github.com/Shagrat2/MySensorNod ... GazCounter

Re: [Пример] Счётчик импульсов (батарейка)

Добавлено: Вс сен 18, 2016 10:13 am
astotskiy
Ivan, добрый день.
Не могли бы вы подсказать номинал конденсатора для геркона с фильтром.
У меня счетчик газа BK-G6T и не могу понять куда подключать геркон можно поподробнее про ваш датчик и ваше соединение (синяя таблетка, см фото),
С уважением, Алексей

Re: [Пример] Счётчик импульсов (батарейка)

Добавлено: Пн сен 19, 2016 10:42 am
Ivan
C = 100 nF

Синяя таблетка это синий пластилин :)
Под ним обычный геркон. Данный паз предназначен для корректора потребления газа в зависимости от температуры. Последнее (или предпоследнее) колёсико имеет магнитик, его видно на цифре 9. В пазу для корректора есть выемка куда как раз нужно поместить геркон. Я закрепил пластилином, когда нашёл нужное положение.

Re: [Пример] Счётчик импульсов (батарейка)

Добавлено: Вс окт 09, 2016 1:10 am
C_3AXAPOB
Выдает такую ошибку:
C:\Program Files (x86)\Arduino\libraries\libraries\MySensors/MySensors.h:287:4: error: #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.

#error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
Что делать?

Re: [Пример] Счётчик импульсов (батарейка)

Добавлено: Пн окт 10, 2016 11:44 am
nick7zmail
Скачать и активировать в IDE библиотеку mysensors. Встречал у них на сайте инфу, как это делается...

Re: [Пример] Счётчик импульсов (батарейка)

Добавлено: Пн окт 10, 2016 11:47 am
cabat
Вроде как делается прямо из среды Arduino: Installing the sensor libraries

Re: [Пример] Счётчик импульсов (батарейка)

Добавлено: Пн окт 10, 2016 12:27 pm
C_3AXAPOB
в том-то и дело что библиотека установлена

Re: [Пример] Счётчик импульсов (батарейка)

Добавлено: Пн окт 10, 2016 12:30 pm
nick7zmail
C_3AXAPOB писал(а):в том-то и дело что библиотека установлена
Интересно...
Загуглил ошибку - https://github.com/mysensors/MySensors/issues/485 там парень пишет что помог ему совет который там давали...что то с объявлением библиотек связано, мне проверять негде))

Re: [Пример] Счётчик импульсов (батарейка)

Добавлено: Пн окт 10, 2016 12:31 pm
cabat
C_3AXAPOB писал(а):Выдает такую ошибку:
C:\Program Files (x86)\Arduino\libraries\libraries\MySensors/MySensors.h:287:4: error: #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.

#error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
Что делать?
Судя по строке, на которую ругается, не определен вид используемого радио-интерфейса и тип шлюза: 287

Код: Выделить всё

#if !defined(MY_CORE_ONLY)
    #if !defined(MY_GATEWAY_FEATURE) && !defined(MY_RADIO_FEATURE)
        #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.
    #endif
#endif   
Судя по всему, вы пытаетесь использовать скетч по библиотеку версии 1.5 с версией 2.0

Re: [Пример] Счётчик импульсов (батарейка)

Добавлено: Пн окт 10, 2016 12:49 pm
C_3AXAPOB
ага понял. Буду искать где это надо указать.