Измерение уровня жидкости

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Измерение уровня жидкости

Сообщение dadreamer »

Aleksey Feoktistov писал(а):возможно, можно какой-нибудь буёк в емкость установить, чтобы граница была лучше видна
Я бы получше подсветил верхнюю часть резервуара, чтобы незаполненное пространство лучше контрастировало с заполненным. То, что мы видим сейчас на картинке, это и есть подсветка? Или дневной свет?
ESeid

Автор
advanced
advanced
Сообщения: 150
Зарегистрирован: 30 мар 2011, 22:41
Награды: 1
Версия LabVIEW: 8.2-2013
Контактная информация:

Re: Измерение уровня жидкости

Сообщение ESeid »

Aleksey Feoktistov, еще один вопрос.
Вы хотите мерять уровень именно по имиджингу, или просто мерять уровень и вести запись?
Если строго по изображению, то, пожалуй, кроме элегантной идеи Jakob Brontfeyn -а, приходит на ум просто стационарная сьемка широкоугольным обьективом, берущим всю шкалу. Искажения роли не играют, т.к. в кадре будет специально подсвеченная шкала. Если сьемку сделать дифференциальной, т.е. работать только с разностью двух следующих кадров, то в кадре будет фикстироваться только изменение уровня жидкости.
Но если стоит задача - просто измерить, то я бы не заморачивался имиджем, а тупо мерял бы емкостным методом, превратив в обкладки конденсатора переднее и заднее стекло трубки. Просто, надежно, точность - любая.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Измерение уровня жидкости

Сообщение IvanLis »

Jakob Brontfeyn писал(а):Невольно, мне, как старому КИП-овцу приходит в голову мысль, организовать сообщающийся сосуд открытый сверху цилиндр с достаточно большим поплавком удерживающим вес камеры и крепежа.
Яков, детектировать границу перехода между двумя средами намного проще чем распознавать цифры, да еще потом интерполировать, что бы найти промежуточное. Куда точнее считать метки сервопривода, а по ним вычислять положение камеры.
Другое дело, что наличие механических частей на порядок снижает надежность всей системы.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Измерение уровня жидкости

Сообщение Borjomy_1 »

Вообще-то в инструментах IMAQ есть измерение расстояния по кадру. И работает он достаточно точно. Метод называется IMAQ Clamp Vertical Max (horizntal, min). Есть также метод IMAQ Find Edge. Чем они вас не устраивают?
Что касается перемещения камеры, то вы не сможете добиться повышения точности. Вам будут мешать и капиллярный эффект и грязь на стекле. Дискрет определения уровня и так 1 мм. На него и ориентируйтесь. 1 пикселя на мм достаточно вполне, тем более, что эти методы используют аппроксимацию по нескольким точкам. Поверните камеру на пару градусов (и настройте соответственно поворот ROI) и получите фактически аппаратную аппроксимацию. для камеры с разрешением 640х480 можно получить диапазон 600мм (если поставить вертикально). А при наличии живой линейки откалибровать измерения не составит труда. Опять-же, нанеся контрастные метки на поверхность бака, можно реализовать автокалибровку, сравнивая их взаимное расположение и уровень.
Мы ловили Find Edge уровень металла в языках пламени. Т.е граница временами перекрывалась пламенем - одного цвета и примерно одинаковой интенсивности и все равно уровень шума результата был достаточно низким.
Есть VISIO Assistant? В нем удобно собрать базовый набор обработки, который потом, при необходимости можно оттранслировать в :labview:
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Измерение уровня жидкости

Сообщение dadreamer »

Borjomy_1 писал(а):Метод называется IMAQ Clamp Vertical Max (horizntal, min). Есть также метод IMAQ Find Edge. Чем они вас не устраивают?
Не знаю, как у автора, но у меня о некоторых из этих :vi: остались довольно негативные впечатления. Те, что попроще (например, IMAQ Simple Edge), работают в принципе нормально, а вот некоторые другие (например, IMAQ Find Straight Edges 3 или IMAQ Find Edge) довольно чувствительны к входным параметрам. Во-первых, параметров слишком много и некоторые описаны довольно смутно в хэлпе. Во-вторых, параметры, заданные для одной картинки, могут уже не работать для другой. Я работал в основном с 8-битными изображениями. Причём долго бился с вышеназванными :vi: и пытался их приспособить, но рано или поздно они выдавали неверную границу... Более простые методы, такие как например поиск по порогу + фильтр выбросов координат, оказывались самыми надёжными в моём случае. Но не исключаю, что для задачи этой темы эти :vi: могут подойти.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Измерение уровня жидкости

Сообщение Borjomy_1 »

Глянул сообщение
dadreamer, на данный момент остановился на этапе - "найти границу жидкости"
может, подскажите какая функция может помочь?
нужен ли эталон для определения уровня?
еще есть мысль - заменить сервопривод двумя фотокамерами установленными снизу и сверху под определенным углом. дальше, вычисляется уровень с двух камер и находится среднее значение.
Здесь надо использовать IMAQ Clamp Vertical Max, а не Horizontal (либо повернуть ROI на 90 град). И обязательно внизу наклеить белую полоску, от которой будет вестись отсчет. Тогда задача сводится к измерению высоты темного прямоугольника.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Измерение уровня жидкости

Сообщение Borjomy_1 »

IMAQ Find Edge довольно чувствительны к входным параметрам.
Да. тут важно правильно настроить обработку, в особенности, понимая что именно крутить ))
Аватара пользователя
Jakob Brontfeyn

Activity Gold Silver Black
expert
expert
Сообщения: 1729
Зарегистрирован: 28 фев 2008, 11:01
Награды: 6
Благодарил (а): 1 раз
Контактная информация:

Re: Измерение уровня жидкости

Сообщение Jakob Brontfeyn »

IvanLis писал(а):
Jakob Brontfeyn писал(а):Невольно, мне, как старому КИП-овцу приходит в голову мысль, организовать сообщающийся сосуд открытый сверху цилиндр с достаточно большим поплавком удерживающим вес камеры и крепежа.
Яков, детектировать границу перехода между двумя средами намного проще чем распознавать цифры, да еще потом интерполировать, что бы найти промежуточное. Куда точнее считать метки сервопривода, а по ним вычислять положение камеры.
Другое дело, что наличие механических частей на порядок снижает надежность всей системы.
То бишь настоящим измерителем будет являтся сервопривод, а камера только как
сигнализатор границы раздела сред.
Когда то в 80-годы у меня был среди оборудования КИП и А
подобный бетконтакный сигнализатор уровня, поплавок представлял собой
тонкостенный латунный полый шар размером как шарик для настольного тениса.
Он хорошо детектировался катушкой залитой эпоксидкой и подключенной
к небольшому блочку. Вообще такие бесконтакные путевые и концевые
выключатели во врывобезопасном исполнении разных типов довольно широко
распространены в технике.
Но мне кажется суть в том, чтобы работать именно с неподвижной камерой.
если поплавок сделать "ярко выделяющейся точкой", тогда по вертикали можно сделать разрешение 640
пикселей для всей линейки у простейшей USB-камеры(640 Х 480). Разрешение 1/6,4 %, много более чем
достаточно для измерения уровня нефти в промышленных емкостях.
Вспомните про мою систему с пятном от лазерпоинтера. Кастати без всякого IMAQ.
ESeid

Автор
advanced
advanced
Сообщения: 150
Зарегистрирован: 30 мар 2011, 22:41
Награды: 1
Версия LabVIEW: 8.2-2013
Контактная информация:

Re: Измерение уровня жидкости

Сообщение ESeid »

Jakob Brontfeyn, мне очень нравятся ваши решения. Простые, элегантные, надежные. Виден уровень настоящего инженера. :1stplace:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Vision / IMAQ»