Обзор ультразвукового уровнемера UZ_URmeTR

Обзор ультразвукового уровнемера UZ_URmeTR

396
0

Уровнемеры типа UZ_URmeTR

Общее описание прибора UZ_URmeTR

В этой статье я бы хотел рассказать о своей собственной разработке — ультразвуковом уровнемере UZ_URmeTR. Прибор предназначен для измерения расстояния до объекта, при помощи эхолокации (измерения уровня жидкостей в баке или резервуаре, уровня сыпучих материалов, при условии отражения ультразвука от них). Прибор имеет излучатель и приемник ультразвуковых излучений, а также датчик температуры для расчета скорости ультразвука в воздухе. Управляется прибор UZ_URmeTR при помощи специальных UZ-команд. Список всех команд уровнемера с описанием будет в конце статьи. На сайте уже был обзор на ультразвуковой дальномер типа hc-sr04. Датчик типа hc-sr04 не является влагозащищенным, то есть в условиях влажной среды не проработает и месяца(проверено). Есть также датчик типа JSN-SR04T, он работает с таким же влагозащищенным датчиком как и мой прибор, но имеет практически ту же схемотехнику и тот же управляющий контроллер что и hc-sr04.  Уровнемер UZ_URmeTR в отличии от hc-sr04 имеет ряд преимуществ: во первых измерение он производит автономно, т.е микроконтроллер или компьютер который с ним работает не занимается генерацией импульса для излучения и не измеряет время пролета. То есть в отличии от hc-sr04, уровнемер UZ_URmeTR задействует меньше ресурсов микроконтроллера. Ну и наконец, что самое главное — это другой алгоритм поиска отраженного сигнала. Датчик hc-sr04 срабатывает на первый отраженный импульс который пришел. То есть если на пути пролета ультразвукового сигнала есть какой то предмет, то такой датчик будет работать не стабильно. UZ_URmeTR измеряет в два этапа: сначала он ищет максимальную амплитуду, анализируя всю полосу, а затем определяет время пролета ультразвукового сигнала. Габаритные размеры прибора UZ_URmeTR

Габаритные размеры прибора UZ_URmeTR Габаритные размеры прибора UZ_URmeTR Вид сзади прибора UZ_URmeTR

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

Напряжение питания, В 5
Потребляемый ток, мА 25 (40 версия с Bluetooth)
Минимальная дистанция определения, см 5
Максимальная дистанция определения, см 450
Диапазон измеряемых температур °C, -20…+80
Встроенный медианный фильтр Да
Возможность коррекции скорости ультразвука Да
Возможность коррекции порога захвата сигнала Да
Возможность установки скорости работы интерфейса (для приборов с RS485) Да
Габаритные размеры прибора (Ш*В*Д), мм 68*32,7*88 (длина указана без учета крепежных фланцев)

Прибор производиться в пластиковом корпусе с гермовводом под провода и крепежными фланцами. На передней панели прибора расположены ультразвуковой излучатель и приемник. Датчик температуры встроенный. На данный момент существует две модификации прибора: с интерфейсом связи Bluetooth, и RS485.Гермоввод прибора UZ_URmeTR

Подключение уровнемера

Для подключения прибора с интерфейсом Bluetooth, необходимо снять заднюю крышку и подключить питание к соответствующим клеммам. Для прибора с интерфейсом RS485 помимо питания еще необходимо подключить пару интерфейсных проводов «А» и «В». Схема подключения содержится на задней крышке с обратной стороны.Уровнемеры UZ_URmeTR с Bluetooth и RS485

Работа с уровнемером UZ_URmeTR

Прибор работает при помощи специальных UZ-команд, список в конце статьи. Прибор с интерфейсом связи Bluetooth, был разработан для применения со смартфонами и планшетами на базе ОС Android. Опрашивать датчик можно при помощи терминала («Serial Bluetooth Terminal» скачивание и установка из Play Market), либо приложения UZ_URmeTR, скачать которое вы можете по QR-коду ниже(для установки приложения в настройках Android устройства необходимо разрешить установку из неизвестных источников).QR код для скачивания приложения. При работе с тем или иным приложением необходимо произвести сопряжение устройств. Процедура эта выполняется однократно. Для этого подаем питание на уровнемер, берем Android устройство, идем в настройки Bluetooth, включаем его и запускаем сканирование. Должен найтись наш уровнемер:Процедура сопряжения уровнемера UZ_URmeTR и устройства на базе Android

Уровнемер имеет имя «UZ_URmeTR», пин код для сопряжения – «1234». При сканировании Android устройство показывает физический адрес Bluetooth, однако после сопряжения в списке уровнемер отображается с именем. Далее идем уже в саму программу «UZ_URmeTR». Там все просто: запускаем, жмем на иконку «Bluetooth», выбираем из списка наш уровнемер. Далее устанавливается связь и программа циклически опрашивает прибор. Можно поставить галочку «Параметры» и произвести чтение или запись параметров уровнемера (в это время автоматический опрос не производиться).Программа UZ_URmeTR для уровнемера При работе через «Serial Bluetooth Terminal» необходимо подключиться к уровнемеру, и вручную писать и отправлять команды, на которые устройство будет давать ответ. Самые часто используемые команды можно установить на специальные макросы и подавать одним касанием.Программа Serial Bluetooth Terminal для опроса уровнемера UZ_URmeTR Программа Serial Bluetooth Terminal для опроса уровнемера UZ_URmeTR

Прибор с интерфейсом RS485 подключается к ПК при помощи USB->RS485 переходника. Есть много разновидностей подобных переходников. При первом подключении переходника необходимо установить драйвер для него. После установки в диспетчере устройств появиться еще один COM-порт. Запоминаем его, запускаем терминал (например «Terminal v1.9b»), выбираем наш COM-порт, и скорость (по умолчанию «9600») и жмем «Connect». Ну а дальше все просто — пишем команды, отправляем и получаем ответы.Программа Terminal v1.8 для опроса уровнемера UZ_URmeTR по интерфейсу RS485 с компьютера

Также прибор c интерфейсом RS485 можно подключить к Arduino. Для этого понадобиться переходник UART->RS485. К Arduino он подключается следующим образом:

Вывод переходника Вывод Arduino
DO TX
DI RX
RE, DE Соединяться вместе и подключаются к любому GPIO выходу.

При передаче команды, Arduino на RE, DE формирует лог. «1», все остальное время — лог. «0».

Установка уровнемера

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

Тесты ультразвукового уровнемера UZ_URmeTR

Ну и конечно же тесты, куда же без них. Приборы тестировались на столе в жилой комнате. Результаты на скринах ниже.Уровнемер UZ_URmeTR. Тест обнаружения объекта на 50 смУровнемер UZ_URmeTR. Тест обнаружения объекта на 36 см Уровнемер UZ_URmeTR. Тест обнаружения объекта на 18 см Уровнемер UZ_URmeTR. Тест обнаружения объекта на 6 см

Результаты теста уровнемера в программе UZ_URmeTR Результаты теста уровнемера в программе UZ_URmeTR

Далее уровнемер UZ_URmeTR я направил в потолок. От потолка до стола расстояние 180 см. Тест уровнемера UZ_URmeTR

Далее я спустил уровнемер на пол. Высота потолков у меня 253 см.Уровнемер UZ_URmeTR на полу

Результаты теста уровнемера в программе UZ_URmeTR. Расстояние 180 и 253 см. Но помним, что толщина корпуса 3.3 см

Далее я установил уровнемер на шкафу, на расстоянии около 4 м. до стены. Результаты теста на скрине ниже:

Результаты теста уровнемера в программе UZ_URmeTR. Прибор установлен на шкафу на расстоянии ~4м

Команды управления ультразвуковым уровнемером UZ_URmeTR

Информационные команды:
UZ+DIST?\r – узнать текущее расстояние до цели, в сантиметрах.
UZ+AMP?\r – запрос значения уровня принятого сигнала.
UZ+TIME?\r – запрос времени пролета импульса до цели и обратно, в микросекундах.
UZ+TEMP?\r – запрос температуры, в °C.
UZ+DELAY?\r – узнать текущее установленную задержку между измерениями, в миллисекундах.
UZ+LRANGE?\r – узнать минимальную уставку расстояния до цели, в сантиметрах.
UZ+HRANGE?\r — узнать максимальную уставку расстояния до цели, в сантиметрах.
UZ+THRESHOLD?\r – запрос значения порога измерения (чем выше порог тем ниже чувствительность и наоборот).
UZ+MDFILT?\r – запрос значения медианного фильтра (0 – фильтр отключен, 3-9 возможные значения уставки фильтра).
UZ+CONT?\r – запрос наличия отражения сигнала от цели (возвращает «Yes» или «No»).
UZ+SPEED?\r – запрос значения текущей скорости распространения ультразвука в воздухе(скорость вычисляется прибором, на основании температуры).
UZ+MYSPEED?\r – запрос значения текущей скорости распространения ультразвука в воздухе(это скорость которую можно задавать самостоятельно. По умолчанию она равна «0». Если она не равна «0», то прибор при расчете дистанции использует именно ее, а не вычисленную на базе температуры).
UZ+BAUND?\r – запрос текущей скорости работы интерфейса RS485 (для приборов с интерфейсом RS485).
UZ+VERS?\r – запрос версии ПО прибора (версия ПО на момент создания обзора — 1.09).
UZ+GROUP?\r – групповой запрос, возвращает время пролета (в мкс), уровень принятого сигнала АЦП, температуру (в °C), дистанцию до цели (в см), и наличие отражения от цели (Yes/No). Разделитель «!». Пример ответа:
«10333!2933!177!23!Yes\r»

Команды установки параметров(прибор отвечает «Ok» или «Error»):
UZ+DELAY = хххх\r, — установить время между измерениями (400 – 10000 мс). Значение по умолчанию 400.
UZ+LRANGE = ххх\r, — установить минимальное фиксируемое расстояние (может быть от 5 см, но не выше чем максимальное фиксируемое расстояние минус 10). Значение по умолчанию 5.
UZ+HRANGE = ххх\r, — установить максимальное фиксируемое расстояние (может быть до 450 см, но не ниже чем минимальное фиксируемое расстояние плюс 10). Значение по умолчанию 450.
UZ+MDFILT = x\r, — установить значение медианного фильтра (0 – фильтр отключен, 3-9 диапазон значений фильтра). Значение по умолчанию 3.
UZ+BAUND = xxxx\r, — (для приборов с интерфейсом RS485) установить значение скорости для RS485 (9600, 19200, 38400, 57600, 115200 бит/с. Остальные параметры порта такие: Бит данных(WordLength)=8; Бит проверки(Parity)=Нет; Стоп бит(StopBits)=1). Значение по умолчанию 9600.
UZ+MYSPEED = xxx\r, — установить свое значение скорости распространения ультразвука в воздухе. (По умолчанию 0 м/с. Если значение не «0» то дистанция до цели считается с применением этой скорости, а не вычисленной на базе температуры. Диапазон перестройки от 0 до 2000 м/с). Значение по умолчанию 0.
UZ+THRESHOLD = xxxx\r, — установить порог срабатывания прибора (1000 – 3000 ед.) Чем выше порог тем ниже чувствительность, но при этом лучше отсекаются помехи, и наоборот. Подбирается экспериментально. Значение по умолчанию 2300.
UZ+RESET!!!\r, — сброс всех параметров.

ПРОГРАММЫ ДЛЯ UZ_URmeTR

Если устройство Вас заинтересовало напишите нам на почту:
alexpuhtin@gmail.com

ИНФОРМАЦИЯ О ПРИОБРЕТЕНИИ UZ_URmeTR

ПОДЕЛИТЬСЯ

НЕТ КОММЕНТАРИЕВ

ОСТАВЬТЕ ОТВЕТ