Недорогой беспроводной счетчик воды с использованием микроконтроллера Atmega328P
Автор: ZIMBANGO POMERAI, ZIBAYIWA MORELIFE

Проект системы телеметрии водопотребления

Особенности

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

Основное внимание следует сфокусировать на проблемах сбора данных, особенно в муниципальных системах водоснабжения и распределения. Доступность данных в режиме реального времени о потреблении воды и уровнях подачи имеет первостепенное значение для совета управления каждого города или поселения. Измерение фактического потребления воды позволило бы совету ввести в действие четкую тарифную политику для долгосрочного и стабильного развития систем водопотребления и канализации [1]. Принцип работы спроектированного счётчика воды основан на подсчете импульсов напряжения Холла, генерируемых встроенным датчиком расхода при прохождении воды через него. Турбинные датчики расхода ориентированы на решение этой задачи и используются в большинстве промышленных контрольно-измерительных и телеметрических систем для определения расхода [2]. Проделанная работа частично описывает систему, разработанную изобретателем Тао Cинг, в которой мобильный терминал получателя конечных данных имеет беспроводное соединение с удаленным сервером, который подключён к счетчику воды с поддержкой GSM через сотовую сеть [3]. Возможность точного измерения расхода воды, передача данных через стороннюю сотовую сеть с резервным копированием и управление процессом с помощью онлайн-серверов и платформ стали серьёзным прорывом в этом проекте.

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

Рис. 1.2: Концептуальная схема системы [3,4]

(столбец 1)

Конечные потребители

(измерение, отображение и передача)

Электронный счётчик

(подача воды потребителю)

Сотовый телефон потребителя

(Наберите код или свяжитесь с веб-сервисом для проверки и оплаты счетов)

(столбец 2)

Пользовательская сотовая сеть

(2-сторонний обмен данными)

Полностью беспроводная

Сотовая сеть (BTS)

(столбец 3)

Станция управления поставщика воды

(получение, хранение и обработка данных)

Модем-ресивер (RTU)

Сервер

Мониторинг ПК (ЧМИ[1])

Облако

Другие администраторы

 

Передатчик

Блок счетчика воды состоит из двух (2) микроконтроллеров ATmega328P, ЖК-дисплея 1602, SIM-карты GSM 900 и датчика расхода турбинной воды [5,6,7,8]. Он работает по принципу эффекта Холла, при котором поток воды вызывает вращение турбины датчика расхода, что приводит к генерации сигнальных импульсов. Частота этих импульсов является основой для расчета скорости и количества потока. Обнаружение данных об использовании воды от датчика носит случайный характер. Помимо случайных входных сигналов от датчиков, доступность сети GSM не является детерминированной, она также случайна. Чтобы избежать потери данных при измерении и передаче, необходима параллельная обработка, чтобы счетчик обрабатывал измерения и передачу независимо друг от друга, поскольку данные задачи различаются по внешним условиям. Это значит, что первый микроконтроллер предназначен для измерения расхода воды, в то время как второй микроконтроллер выполняет передачу при доступности сети. Этот метод параллельной обработки использует принцип технологии межпроцессорного взаимодействия, как указано в ссылке [5]. ЖК-дисплей включен для отображения количества воды, связанного с расходом. Счетчик представляет собой счетчик воды с поддержкой GSM в том смысле, что он оснащён функцией передачи данных измерений через сотовую сеть на удаленный сервер хранения в виде текстового сообщения. Сам счетчик может хранить данные объемом до 1,024 килобайта. При этом, 100% данных, хранящихся на борту, эквивалентны данным, отправленным на удаленный сервер. Телеметрические операции этого счётчика проводятся почти в реальном времени, поскольку сотовая передача зависит от уровня сигнала оператора в данный момент времени, и задержка передачи очевидна.

Начало процесса

                      (ложь)

                        Стоп                                                  Модули

                                                                                   Конфигурации

                                                                                   (правда)

            Данные дисплея        (неактивный)            Проверить уровень расхода

                                                                                   (активный)

                                                                                   Хранение данных на SD

                                                                                   (ложь)

                        (правда)                                             Попытка передачи (GSM)

 

 

 

Ресивер

Подсекция центрального управления является местом назначения рассматриваемых данных. Она находится там, куда поступают данные для дальнейших вычислений. Технически эта подсекция состоит из компонентов системы ресивера телеметрии, предназначенных для приема данных телеметрии в виде текста GSM из удаленных локаций. Природа используемых компонентов и основная работа этого устройства таковы, что оно получает данные через сотовую сеть, обрабатывает их для определения номера передатчика и измеренного значения и передает эту информацию в систему базы данных через соединение LAN. Здесь используется 32-битная плата микроконтроллера ESP8266 RISC компании Espressif. Ссылка [6] приводит многие из его преимуществ, в том числе тот факт, что он поддерживает Wi-Fi на частоте 2,4 ГГц со скоростью до 72 Мбит/с и относится к семейству микроконтроллеров со сверхнизким энергопотреблением, состоящему из нескольких устройств, включая комбинации периферийных устройств, предназначенных для различных приложений [6]. По причине небольшого, но оптимального размера ESP8266 был выбран для сбора и обработки данных GSM от модуля SIM900 для входа на онлайн-сервер через протоколы TCP/IP. GSM SIM900 показывает, что четырёхдиапазонное решение GSM/GPRS обеспечивает производительность 850/900/1800/1900 МГц для текста, голоса, данных и факса, с интерфейсом, выполненным по отраслевому стандарту [7]. Как указывалось ранее, сам чип многофункционален, однако данная разработка нацелена на его производительность при приеме текстовых данных. Выбор высокоскоростного микроконтроллера должен гарантировать, что на пути между приёмом и передачей для хранения не возникнет эффект «бутылочного горлышка», поскольку входящие сообщения от удаленных счетчиков не детерминированы. Устройство C-LAN на основе Wi-Fi может передавать данные на сервер с максимальной скоростью 72 Мбит/с. Разработанный модем C-LAN должен иметь больше портов ввода-вывода, больше флэш-памяти, функцию Ethernet или беспроводной связи и быстрый доступ к памяти для регистрации и извлечения данных в ходе работы.

Начало процесса

                                    (ложь)

                                               GSM подключен!!

                                               (правда)

                                               Данные SD-карты

                                                                                   (ложь)

                                               Проверить доступ к данным

                                                           (правда)

                        Чтение ID                                         Снять показание      

                                                           База данных

 

 

Система «База данных/сервер»

Система была разработана и протестирована с использованием системы управления реляционными базами данных MySQL. Это программное обеспечение с открытым исходным кодом, предназначенное для создания базы данных и множества таблиц для хранения данных и управления ими, а также для определения взаимосвязи между каждой таблицей [8]. Каждая база данных имеет один или несколько различных API для создания, доступа, управления, поиска и репликации хранящихся в ней данных. Можно использовать и другие виды хранилищ данных, например, файлы в файловой системе или большие хэш-таблицы в памяти, однако в таких типах систем [8] выборка данных и запись не будут достаточно быстрыми и простыми.

Рисунок 3.8. XAMPP: кроссплатформенный веб-сервер с открытым исходным кодом, работающий под управлением Apache и MySQL [8].

По ссылке [8] описана система управления реляционной базой данных (RDBMS) — это программное обеспечение, которое: позволяет пользователям создавать базу данных с таблицами, столбцами и индексами, гарантирует ссылочную целостность между строками различных таблиц, автоматически обновляет индексы, интерпретирует запрос SQL и объединяет информацию из различных таблиц. Вместо MySQL для той же цели можно использовать другое программное обеспечение для управления реляционными базами данных, но перед внедрением необходимо решить некоторые важные ключевые аспекты. Эти аспекты включают надежные меры безопасности, совместимость с другими приложениями и программами, контроль документов, возможности и гибкость, простоту настройки и отзывы других пользователей [9].

Требования к оборудованию таковы, что может использоваться любое специальное компьютерное оборудование, способное обрабатывать большие объемы данных с рекомендуемой скоростью, достаточной для поддержки обмена данными в режиме реального времени между многими пользователями (например, жителями городов и предприятиями). В частности, системная сеть на базе сервера администрирования и SQL-сервера на разных устройствах, рассчитанная на 100 000 устройств, имеет следующие минимальные характеристики: сервер администрирования - ЦП с 8 ядрами, работающими на частоте 2,13 ГГц, 8 ГБ ОЗУ, жестким диском 1 ТБ и сетевым адаптером на 1 Гбит; SQL-сервер - ЦП с 8 ядрами, работающими на частоте 2,53 ГГц, 26 ГБ ОЗУ, жестким диском SATA RAID 500 ГБ и сетевым адаптером на 1 Гбит [28].

 

 

3.3.3 Пакет программного обеспечения для Интернета

Портал мониторинга системы предлагает подробное и четкое отслеживание системы в настраиваемой среде. Благодаря этому, пользователь может поминутно отслеживать работу устройств ЦП, быстро реагировать на аномалии и обезопасить данные, поступающие от удаленных счетчиков. Это веб-интерфейс, который можно разместить на любом локальном сервере и использовать для управления большими объемами поступающих данных, просто сравнивая полученные байты с обработанными байтами за заданный интервал времени. Данные о стабильности сотовой сети, скорости соединения ресивера с сервером, уровнях мощности в ресивере, а также актуальная основная база данных также являются частью портала мониторинга. Основная цель этого интерфейса — позволить техническому персоналу иметь представление обо всех процессах, происходящих на принимающем оборудовании, и обеспечить быстрое рассмотрение любых отклонений от нормы, прежде чем они приведут к потере каких-либо данных.

 

3.3.4 Используемые средства разработки.

3.3.4.1 Используемые компьютеры и интегрированная среда разработки (ИСР)

Для разработки программного обеспечения требовались ноутбуки, которые идеально подходят для кодирования, обладают большой мощностью, современными многоядерными процессорами и большим объемом оперативной памяти, поскольку это позволяет разработчикам быстро компилировать код, тестировать его и запускать несколько приложений одновременно. Dell XPS 15 (2020) лучший выбор ноутбука для выполнения этой задачи, на котором удобно писать код часами подряд. Здесь указаны минимальные технические характеристики [36]: CPU: Intel Core i5 10-го поколения, Графика: Intel Iris Plus Graphics, ОЗУ: 8 ГБ, Экран: 15,6-дюймовый FHD+ (1920 x 1200) IPS, Хранилище: 250 ГБ

Visual Studio (VS Code) 2021 г. в настоящее время является последней и стабильной версией от Microsoft [10]. Она оснащена ИИ для обучения на написанном коде и позволяет разработчикам сотрудничать в команде, вживую и удаленно при редактировании и отладке кода. Код VS также позволяет совместно использовать серверы, терминалы и комментарии между разработчиками. Таким образом, Visual Studio стал лучшим выбором для разработки этого программного обеспечения, поскольку обладает интересными функциями, делающими процесс программирования легким и простым.

 

 

 

3.3.4.2 Языки, используемые при разработке программного обеспечения

Языки для разработки веб-приложений выбираются, в основном, в зависимости от того, идет ли речь о фронтэнд-разработке или бэкэнд-разработке. Фронтэнд-разработка — это часть веб-приложения, с которой непосредственно взаимодействует пользователь. Её также называют «клиентской стороной» приложения. Она включает в себя все, с чем непосредственно сталкиваются пользователи: цвета и стили текста, изображения, графики и таблицы, кнопки, цвета и меню навигации. HTML, CSS и JavaScript — это языки, используемые для разработки переднего плана. Бэкэнд — это серверная часть веб-приложения. Она хранит и упорядочивает данные, а также следит за тем, чтобы всё на стороне клиента веб-сайта работало нормально. Это часть веб-сайта, которую нельзя увидеть и с которой невозможно взаимодействовать. Это часть программного обеспечения, которая не вступает в прямой контакт с пользователями. Детали и характеристики, разработанные бэкэнд-дизайнерами, косвенно доступны пользователям через клиентское приложение. PHP, Python, Java и JavaScript являются четырьмя лучшими языками, взаимозаменяемо используемыми для разработки всех серверных программ [10].

 

Характеристика системы

 

 

  1. Влияние температуры на скорость потока и частоту напряжения Холла при постоянном давлении - экспериментальные результаты.

Рисунок. Влияние температуры на скорость потока и частоту. Сбор экспериментальных данных в Excel.

(заголовок) Влияние температуры на скорость потока и частоту импульсов при постоянном давлении

При t=70 сек., Vpp=612 мВ                         Длина трубы (L)=2 м

(столбец 1) – Температура, T, C

(столбец 2) – Объем (см3)

(столбец 3) – Частота (Гц)

(столбец 4) – Период (мс)

(столбец 5) - Ṽ (л/сек)

(столбец 6) – v (м/сек)

 

Рисунок. Характеристика импульсов турбинного датчика на осциллографе.

 

 

Рисунок. Графический анализ влияния температуры на скорость потока.

(заголовок) Влияние температуры на скорость потока.

Ось X – Ṽ (л/сек)

Ось Y - Т (С)

 

Рисунок. Графический анализ влияния температуры на частоту импульсов.

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

Ось X – Ṽ (л/сек)

Ось Y - F (Гц)

 

 

 

4.3 Влияние давления жидкости на скорость потока и частоту напряжения на эффекте Холла при постоянной температуре. Экспериментальные результаты

Рисунок. Влияние давления на скорость потока и частоту. Сбор экспериментальных данных в Excel.

(заголовок) Влияние давления на скорость потока и частоту импульсов при постоянной температуре

Для t=70 сек., @ 20 градусов по Цельсию, Vpp=612 мВ            Длина трубы (L)=2 м

(столбец 1) – Высота h (см)

(столбец 2) – Объем (см3)

(столбец 3) – Частота F (Гц)

(столбец 4) – Период T (мс)

(столбец 5) – Давление P (Па)

(столбец 6) – Ṽ (л/сек)

(столбец 7) - v (м/сек)

 

 

 

 

 

Рисунок 4.6 Графический анализ влияния давления на скорость потока

(заголовок) Влияние давления на скорость потока при постоянной температуре

Ось X – Ṽ (л/сек)

Ось Y - P (Па)

 

 

Рисунок. Графический анализ влияния давления на частоту импульсов

(заголовок) Влияние давления на частоту импульсов при постоянной температуре

 

 

4.3 Преобразователь — Калибровка и тестирование датчика расхода.

Располагая данными об импульсах с выхода датчика, несложно рассчитать расход воды. Каждый импульс составляет примерно 2,25 миллилитра. Частота импульса может немного варьироваться в зависимости от скорости потока, давления жидкости и ориентации датчика. Для точности выше 10% от заявленной производителем датчика необходима тщательная калибровка. Импульсный сигнал представляет собой простую прямоугольную волну, поэтому его довольно легко записать и преобразовать в литры в минуту.

Скорость потока можно определить логическим путем с помощью различных методик, таких как изменение скорости или кинетической энергии. Расход определяется по изменению скорости воды. Скорость зависит от давления, которое действует на сквозные трубопроводы. Поскольку площадь поперечного сечения трубы известна и остается постоянной, средняя скорость является показателем скорости потока. Базисное соотношение для определения расхода жидкости в таких случаях имеет вид Q=v*A, где Q – расход/общий расход воды, протекающей через трубу, v – средняя скорость потока, а A – площадь поперечного сечения трубы (вязкость, плотность и трение жидкости, соприкасающейся с трубой, также влияют на расход воды). Результаты экспериментов по зависимости между расходом и частотой импульсов показали, что существует прямая пропорциональность с константой 6,5 при постоянной площади поперечного сечения трубы. Поэтому были использованы следующие расчеты, включенные в код прошивки.

F(Гц) = 6,5 * Q,

Q = F / 6,5

L = Q * t / (60) = F / 6,5 * t / 60

Т = 1 / F

Q = F / 6,5= 1 / (6,5 * T) = 1 / (15 * L)

 

Где Q = расход в литрах/мин,

F (Гц) = частота импульсов

T = период возврата импульса (секунды)

L = литры

 

 

 

 

 

 

Таблица. Практический экзамен по определению расхода цифровых выходных значений датчика

Испытание

Фактический расход

Q = V/t

Расход по счётчику

Q = F/6.5

1

1 мл/сек

Не определено

2

2.66 мл/сек

Не определено

3

3.43 мл/сек

Не определено

4

4.76 мл/сек

Не определено

5

5.37 мл/сек

Не определено

6

6.57 мл/сек

0.64 л/сек плавающая

7

8.21 мл/сек

0.07 л/сек

8

11.96 мл/сек

0.26 л/сек

9

18.29 мл/сек

0.8 л/сек

10

23.56 мл/сек

1.43 л/сек

11

29.02 мл/сек

2.10 л/сек

 

4.4 Преобразователь - Тестирование ПП счетчика воды.

Рисунок Тестирование ПП счетчика воды и внутрисхемная отладка

 

 

 

 

 

 

 

 

 

 

4.5 Передатчик - Доработанный прототип счетчика воды

Рисунок. Испытания доработанного счетчика воды и подтверждение точности

 

4.7 Преобразователь – Производительность счетчика воды

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

Таблица 4.1 Анализ показателей производительности счётчика воды.

 

 

 

 

 

 

 

(столбец 1) – Скорость обработки

Высокая скорость процессора RISC

8 байт за 5 циклов

(столбец 2) – Потребление энергии

5 В постоянного тока, 10мА в активном режиме

3,3 В постоянного тока, 2 мА в режиме гибернации

(столбец 3) – Точность измерений (% ошибки)

+-3% от 0,0 л/мин до 30 л/мин

Ошибка постепенно растет за пределами 30 л/мин

(столбец 4) – Частота ошибки измерений

Нет в пределах 50 попыток

Примерно 3 в пределах 10 попыток при >30 л/мин

(столбец 5) – Стабильность сотовой сети

Высокая стабильность при максимальной мощности

Переключается по крайней мере между 4 полосами диапазона в зависимости от усиления сигнала

Дважды отключалась при низком уровне питания 3,3 В

(столбец 6)

2-3 отключения на 50 попыток

Может переключаться между различными частотными полосами сотового диапазона

(столбец 7) - Свойства потока (давление, температура, максимальная скорость потока)

Рабочая скорость потока: 1-30 л/мин

Диапазон температуры: от -25 до 80С

Максимальное давление воды: 2,0 Мпа

Номинальное сечение соединительной муфты ½”, внешний диаметр 0,78”, шаг резьбы ½”

(столбец 8) – Резервирование данных

1,024 Кб EEPROM (собственное хранилище)

Мгновенная передача данных по каждому инциденту потока

Периодическая передача необработанных данных

 

 

 

 

 

4.8 Ресивер – Доработанные прототипы ресиверов сотовых данных RTU

Рисунок 4.11 Доработанный вариант RTU ресивера C-LAN WiFi

 

4.9 Ресивер — программные пользовательские интерфейсы

Рисунок 4.12. Доработанная конфигурация базы данных MySQL для записи данных телеметрии.

Рисунок 4.13 Доработанная страница входа пользователя на стороне администратора

 

Рисунок 4.14. Доработанная панель представления данных на стороне администратора.

Рисунок 4.15. Доработанная страница выбора устройства RTU на стороне администратора.

 

Рисунок 4.16. Доработанная страница представления на стороне администратора данных об использовании воды

 

 

 

Заключение и будущая работа

1 Выводы

Спроектирована, разработана и представлена полная система телеметрии водопотребления. Разработанный счетчик воды функционирует по принципу эффекта Холла, проходящий через него поток воды вызывает вращение турбинного датчика расхода, что приводит к генерации сигнальных импульсов. Частота этих импульсов является основой для расчета скорости и количества потока. Счётчик использует электронику обработки данных на основе микроконтроллера, которая преобразует информацию, поступающую от турбинного датчика расхода, в понятный для человека формат. ЖК-дисплей предназначен для отображения количества воды, связанного с расходом. Это счетчик воды с поддержкой GSM таким образом, что он имеет возможность передавать измеренные данные через сотовую сеть на удаленный сервер хранения в виде текстового сообщения. Сам счетчик может хранить данные объемом до 1,024 килобайта. При этом, 100% данных, хранящихся на борту, эквивалентны данным, отправленным на удаленный сервер. Телеметрия этого устройства проходит почти в реальном времени, поскольку сотовая передача зависит от уровня сигнала оператора в любой момент времени, и задержка передачи очевидна.

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

2 Будущее исследование

В ходе тестирования было замечено несколько недостатков, требующих дальнейшего изучения. Используемый турбинный датчик расхода YF S201 не может ограничивать обратный поток, что приводит к ошибке, поэтому необходимо тщательно проверить механизмы установки, если требуется максимальная точность. Встроенная электроника реагирует на внешние прерывания, если они срабатывают через датчик расхода, независимо от того, чем они вызваны. Датчик не в состоянии определить, вызвано ли это потоком жидкости или сжатым воздухом. Необходимо разработать(?) механизмы обнаружения жидкости для достижения большей точности в ситуациях, связанных с потоком воздуха. Вопросы кавитации не являются частью этого исследования, однако отраслевые требования должны быть изучены до запуска в эксплуатацию, поскольку это влияет на производительность измерения. Методы передачи данных ограничены только GSM, и если требуется точное реальное время, необходима экономически целесообразная резервная линия передачи.

 

[1] ЧМИ – человеко-машинный интерфейс

Файлы: