Arduino tds meter

From Wiren Board
This is the approved revision of this page, as well as being the most recent.

Устройство подключалось пользователем и не тестировалось компанией Wiren Board. Используя инструкции, приведенные ниже, вы действуете на свой страх и риск.

Описание устройства

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

Комплектация

Виджет устройства в wirenboard
  • Датчик температуры ds18b20 - 1шт
  • Датчик расхода жидкости yf s402b - 1 шт
  • TDS Meter V1.0 - 2шт
  • Конвертор HW-519 для UART-TTL-RS485 - 1шт
  • DC-DC преобразователь HW-613 - 1 шт
  • резистор 4,7 кОм - 1 шт

Комментарии к комплектации: Arduino Nano можно запитывать в диапазоне 7-12v, но плата будет работать в диапазоне 5-20v, однако без гарантий надежной работы, поэтому для работы при напряжении питания 24v нужен понижающий преобразователь, с учетом потребления предлагается компактный вариант. Конвертор на основе MAX485 не обеспечивает достаточной помехозащищенности.

Коммутация

Компонент Пин Arduino Тип пина Примечание
RS-485 (RX) D0 (RX) Цифровой вход Приём данных
RS-485 (TX) D1 (TX) Цифровой выход Передача данных
Импульсный счётчик D5 Цифровой вход Вход с подтяжкой к VCC
DS18B20 D7 Цифровой (1-Wire) Требует подтяжки 4.7 кОм
TDS датчик 1 A2 Аналоговый вход -
TDS датчик 2 A4 Аналоговый вход -
Встроенный LED D13 Цифровой выход Индикация ошибок
DC-DC HW-613 (питание) VIN Питание Вход 5-12В, далее проходит через встроенный стабилизатор Arduino Nano; остальные модули запитаны от стабилизированного вывода 5V платы
Электрическая схема устройства

Подсчёт импульсов расходомера реализован через аппаратный таймер: программа периодически опрашивает количество накопленных тиков, поэтому ограничение Arduino Nano на использование attachInterrupt() только на пинах D2/D3 здесь не актуально.

Важный нюанс заключается в том, что поскольку rs485 конвертер является повторителем, то подключать надо RX-RX и TX-TX соответствующие пины на arduino nano и конверторе HW-519, а не перекрестно как обычно рекомендуется в интернете.

После сборки устройства необходимо скомпилировать код с github (ссылка на него в разделе полезных ссылок), после чего произвести подключение к rs485 шине. Поскольку используется аппаратный uart0 (serial в коде arduino), который так же используется для заливки прошивки то желательно вытаскивать модуль arduino или отключать его от modbus шины.

Данное устройство собрано и проверено на шине 9600 бод 8N2 с 8 устройствами - все работает без зависаний, не шумит на шину и позволяет заливать прошивки в wirenboard модули, поэтому его можно использовать так же как заготовку под ваше DIY modbus устройство.


Полезные ссылки

Ссылка на проект

Прямая ссылка на шаблон устройства для Wiren Board