Оглавление:

Ультразвуковой измеритель уровня в резервуаре: 5 шагов (с изображениями)
Ультразвуковой измеритель уровня в резервуаре: 5 шагов (с изображениями)

Видео: Ультразвуковой измеритель уровня в резервуаре: 5 шагов (с изображениями)

Видео: Ультразвуковой измеритель уровня в резервуаре: 5 шагов (с изображениями)
Видео: Механизация производственных линий. 1 лекция 2024, Июль
Anonim
Ультразвуковой измеритель уровня в резервуаре
Ультразвуковой измеритель уровня в резервуаре
Ультразвуковой измеритель уровня в резервуаре
Ультразвуковой измеритель уровня в резервуаре

Необходимо контролировать уровень жидкости в колодце большого диаметра, резервуаре или открытой емкости? Это руководство покажет вам, как сделать эхолотный бесконтактный измеритель уровня жидкости с использованием дешевой электроники!

На рисунке выше показан обзор того, к чему мы стремились в этом проекте. На нашей даче есть колодец большого диаметра для подачи питьевой воды для использования в доме. Однажды мы с братом говорили о том, как наш дедушка измерял уровень воды вручную, чтобы отслеживать потребление и приток воды в течение лета, чтобы избежать овердрафта. Мы думали, что с помощью современной электроники мы сможем возродить традицию, но с меньшими затратами ручного труда. С помощью нескольких приемов программирования нам удалось использовать Arduino с модулем сонара для измерения расстояния до поверхности воды (l) с разумной надежностью и точностью ± несколько миллиметров. Это означало, что мы могли оценить оставшийся объем V, используя известные диаметр D и глубину L, с точностью примерно ± 1 литр.

Поскольку колодец расположен примерно в 25 метрах от дома, и нам нужен был дисплей в помещении, мы решили использовать два Arduinos с промежуточным каналом передачи данных. Вы можете легко изменить проект, чтобы использовать только один Arduino, если это не ваш случай. Почему бы не использовать беспроводную передачу данных? Отчасти из-за простоты и прочности (меньше шансов повредить провод от влаги), а отчасти потому, что мы хотели избежать использования батарей на стороне датчика. С помощью провода мы могли направить передачу данных и питание по одному и тому же кабелю.

1) Модуль Arduino в доме Это основной модуль Arduino. Он отправит сигнал запуска на Arduino в колодце, получит измеренное расстояние и отобразит рассчитанный оставшийся объем воды на дисплее.

2) Ардуино со стороны колодца и модуль сонара Цель этого Arduino состоит в том, чтобы просто получить сигнал запуска из дома, выполнить измерение и отправить обратно расстояние от модуля сонара до уровня воды. Электроника встроена в (относительно герметичный) корпус с пластиковой трубкой, прикрепленной к приемной стороне модуля гидролокатора. Назначение трубы - уменьшить ошибки измерения за счет уменьшения поля зрения, чтобы приемник «видел» только поверхность воды.

Шаг 1. Детали, тестирование и программирование

Запчасти, тестирование и программирование
Запчасти, тестирование и программирование
Запчасти, тестирование и программирование
Запчасти, тестирование и программирование
Запчасти, тестирование и программирование
Запчасти, тестирование и программирование

В этом проекте мы использовали следующие части:

  • 2 x Arduino (один для измерения уровня жидкости, один для отображения результатов на дисплее)
  • Базовый блок питания 12 В
  • Ультразвуковой (сонарный) модуль HC-SR04
  • Модуль светодиодного дисплея MAX7219
  • Телефонный кабель длиной 25 м (4 провода: питание, заземление и 2 сигнала данных)
  • Монтажная коробка
  • Горячий клей
  • Припой

Стоимость запчастей: около 70 евро.

Чтобы убедиться, что все работает как надо, мы сначала выполнили пайку, электромонтаж и простые стендовые испытания. В Интернете есть множество примеров программ для ультразвукового датчика и светодиодного модуля, поэтому мы просто использовали их, чтобы убедиться, что измеренное расстояние имеет смысл (рисунок 1) и что мы смогли уловить ультразвуковое отражение от поверхности воды на- сайт (рисунок 2). Мы также провели тщательное тестирование канала передачи данных, чтобы убедиться, что он работает на больших расстояниях, что, как оказалось, не представляло никакой проблемы.

Не стоит недооценивать время, потраченное на этот шаг, так как очень важно знать, что система работает, прежде чем прилагать усилия для правильной установки всего в коробки, прокладки кабелей и т. Д.

Во время тестирования мы обнаружили, что модуль гидролокатора иногда улавливает отражение звука от других частей скважины, таких как боковые стенки и водопроводная труба, а не от поверхности воды. Это означало, что измеренное расстояние внезапно окажется намного короче, чем фактическое расстояние до уровня воды. Поскольку мы не можем просто использовать усреднение для сглаживания этого типа ошибки измерения, мы решили отбросить все новые измеренные расстояния, которые слишком отличались от текущей оценки расстояния. Это не проблема, поскольку мы ожидаем, что уровень воды в любом случае будет меняться довольно медленно. После запуска этот модуль выполнит серию измерений и выберет наибольшее полученное значение (т. Е. Самый низкий уровень воды) в качестве наиболее вероятной отправной точки. После этого, в дополнение к решению «сохранить / сбросить», используется частичное обновление оценочного уровня для сглаживания случайных ошибок измерения. Также важно дать возможность погаснуть всем эхо-сигналам перед проведением нового измерения - по крайней мере, в нашем случае, когда стены сделаны из бетона и, следовательно, очень эхо.

Окончательную версию кода, который мы использовали для двух Arduinos, можно найти здесь:

github.com/kelindqv/arduinoUltrasonicTank

Шаг 2: Строительные работы

Строительные работы
Строительные работы

Поскольку наш колодец находился на некотором удалении от дома, нам пришлось сделать в лужайке небольшую траншею для прокладки кабеля.

Шаг 3: Подключение и установка всех компонентов

Подключение и монтаж всех компонентов
Подключение и монтаж всех компонентов
Подключение и монтаж всех компонентов
Подключение и монтаж всех компонентов
Подключение и установка всех компонентов
Подключение и установка всех компонентов

Подключите все, как было при тестировании, и надейтесь, что все еще работает! Не забудьте проверить, что вывод TX на одном Arduino переходит в RX другого, и наоборот. Как показано на рисунке 1, мы использовали телефонный кабель для подачи питания на Arduino в колодце, чтобы избежать использования батареек.

На втором и третьем снимках показано расположение пластиковых трубок, при этом передатчик расположен снаружи трубы, а приемник - внутри (да, это было неудобное положение для съемки …)

Шаг 4: Калибровка

Убедившись, что расстояние от датчика до уровня воды рассчитано правильно, калибровка сводилась только к измерению диаметра колодца и общей глубины, чтобы можно было рассчитать объем жидкости. Мы также скорректировали параметры алгоритма (время между измерениями, параметры частичного обновления, количество начальных измерений), чтобы получить надежные и точные измерения.

Итак, насколько хорошо датчик отслеживал уровень жидкости?

Мы могли легко увидеть эффект смыва крана в течение нескольких минут или смыва унитаза, что мы и хотели. Мы даже могли увидеть, что скважина наполнялась за ночь с относительно предсказуемой скоростью - и все это просто взглянув на дисплей. Успех!

Примечание: - Преобразование время-расстояние в настоящее время не корректирует изменения скорости звука из-за колебаний температуры. Это может быть хорошим дополнением в будущем, так как температура в колодце будет сильно отличаться!

Шаг 5: долгосрочное использование

Обновление через 1 год: датчик работает безупречно, без следов коррозии или повреждений, несмотря на влажную среду! Единственная проблема в течение года заключалась в том, что в холодную погоду (зимой) на датчике скапливается конденсат, который, очевидно, блокирует датчик. В нашем случае это не проблема, поскольку показания нам нужны только летом, но другим пользователям, возможно, придется проявить творческий подход!:) Изоляция или вентиляция, вероятно, возможные решения. Удачного изобретения!

Рекомендуемые: