Оглавление:
- Шаг 1. Принцип
- Шаг 2: датчик, источник питания и контроллер
- Шаг 3: Контроллер IC
- Шаг 4: Печатная плата (PCB)
- Шаг 5: Код
- Шаг 6: Установка на резервуар
Видео: Ультразвуковой контроллер уровня жидкости: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Введение Как вы, наверное, знаете, в Иране засушливая погода, а в моей стране нехватка воды. Иногда, особенно летом, видно, что правительство перекрывает воду. Так что в большинстве квартир есть резервуары для воды. В нашей квартире есть бак на 1500 литров, который обеспечивает воду. Также в нашей квартире 12 жилых единиц. В результате можно ожидать, что резервуар очень скоро опустеет. К резервуару прикреплен водяной насос, который перекачивает воду в здание. Когда бак пуст, насос работает без воды. Эта ситуация вызывает повышение температуры двигателя и со временем может вызвать поломку насоса. Некоторое время назад эта помпа произошла у нас второй раз, и после вскрытия мотора мы увидели, что провода катушки сгорели. После замены помпы, чтобы снова не допустить этой проблемы, я решил сделать регулятор уровня воды. Я планировал сделать схему, чтобы отключить питание насоса всякий раз, когда вода опускалась ниже нижнего предела в резервуаре. Насос не будет работать, пока вода не поднимется до верхнего предела. После прохождения верхнего предела схема снова подключит источник питания. Вначале я поискал в Интернете, могу ли я найти подходящую схему. Однако ничего подходящего не нашел. Были некоторые индикаторы воды на основе Arduino, но они не могли решить мою проблему. В результате я решил разработать свой контроллер уровня воды. Универсальный пакет с простым графическим пользовательским интерфейсом для настройки параметров. Также я постарался учитывать стандарты EMC, чтобы убедиться, что устройство работает корректно в разных ситуациях.
Шаг 1. Принцип
Вы, наверное, знали этот принцип раньше. Когда ультразвуковой импульсный сигнал излучается в направлении объекта, он отражается от объекта, а эхо возвращается к отправителю. Если вы рассчитаете время, пройденное ультразвуковым импульсом, вы можете найти расстояние до объекта. В нашем случае это вода.
Обратите внимание: когда вы находите расстояние до воды, вы рассчитываете объем пустого пространства в резервуаре. Чтобы получить объем воды, вы должны вычесть рассчитанный объем из общего объема резервуара.
Шаг 2: датчик, источник питания и контроллер
Аппаратное обеспечение
В качестве датчика я использовал водонепроницаемый ультразвуковой датчик JSN-SR04T. Порядок работы такой же, как у HC-SR04 (вывод эха и триггера).
Технические характеристики:
- Расстояние: от 25 см до 450 см
- Рабочее напряжение: 3,0-5,5 В постоянного тока
- Рабочий ток: < 8 мА
- Точность: ± 1 см
- Частота: 40 кГц
- Рабочая температура: -20 ~ 70 ℃
Обратите внимание, что у этого контроллера есть некоторые ограничения. Например: 1- JSN-SR04T не может измерять расстояние ниже 25 см, поэтому вам необходимо установить датчик на высоте не менее 25 см над поверхностью воды. Кроме того, максимальное измерение расстояния составляет 4,5 м. Так что этот датчик не подходит для огромных резервуаров. 2- точность составляет 1 см для этого датчика. В результате, в зависимости от диаметра резервуара, разрешение объема, которое будет отображать устройство, может варьироваться. 3 - скорость звука может меняться в зависимости от температуры. В результате на точность могут влиять разные регионы. Однако для меня эти ограничения не были принципиальными, а точность была подходящей.
Контроллер
Я использовал STM32F030K6T6 ARM Cortex M0 от STMicroelectronics. Вы можете найти спецификацию этого микроконтроллера здесь.
Источник питания
Первая часть - преобразовать 220 В / 50 Гц (Иранское электричество) в 12 В постоянного тока. Для этого я использовал понижающий понижающий блок питания HLK-PM12. Этот преобразователь переменного / постоянного тока может преобразовывать 90 ~ 264 В переменного тока в 12 В постоянного тока с выходным током 0,25 А.
Как вы, наверное, знаете, индуктивная нагрузка на реле может вызвать несколько проблем в цепи и источнике питания, а проблемы с источником питания могут привести к нестабильности, особенно в микроконтроллере. Решение - изолировать источники питания. Также необходимо использовать демпферную схему на контактах реле. Есть несколько способов изолировать источники питания. Например, можно использовать трансформатор с двумя выходами. Более того, существуют изолированные DC / DC преобразователи небольшого размера, которые могут изолировать выход от входа. Для этого я использовал MINMAX MA03-12S09. Это преобразователь постоянного тока в постоянный ток мощностью 3 Вт с изоляцией.
Шаг 3: Контроллер IC
Согласно примечанию TI App: Контроллер напряжения (также известный как интегральная схема сброса [IC]) - это тип монитора напряжения, который контролирует источник питания системы. Контроллеры напряжения часто используются с процессорами, регуляторами напряжения и секвенсорами - как правило, там, где требуется измерение напряжения или тока. Супервизоры контролируют шины напряжения, чтобы гарантировать включение питания, обнаруживать неисправности и взаимодействовать со встроенными процессорами для обеспечения работоспособности системы. вы можете найти эту заметку о приложении здесь. Хотя микроконтроллеры STM32 имеют встроенные средства контроля, такие как монитор включения питания, я использовал внешний чип супервизора, чтобы убедиться, что все работает нормально. В моем случае я использовал TL7705 от TI. Вы можете увидеть описание этой ИС на веб-сайте Texas Instruments ниже: Семейство контроллеров напряжения питания на интегральных схемах TL77xxA разработано специально для использования в качестве контроллеров сброса в микрокомпьютерных и микропроцессорных системах. Контроллер напряжения питания контролирует питание на предмет пониженного напряжения на входе SENSE. При включении питания выход RESET становится активным (низким), когда VCC достигает значения, приближающегося к 3,6 В. В этот момент (при условии, что SENSE выше VIT +) функция таймера задержки активирует временную задержку, после которой выдает RESET и RESET (НЕ) переходят в неактивное состояние (соответственно высокий и низкий). Когда во время нормальной работы возникает состояние пониженного напряжения, активируются СБРОС и СБРОС (НЕ).
Шаг 4: Печатная плата (PCB)
Я спроектировал печатную плату из двух частей. Первая - это плата ЖК-дисплея, которая подключается к материнской плате с помощью ленточного / плоского кабеля, а вторая часть - это плата контроллера. На этой плате я разместил блок питания, микроконтроллер, ультразвуковой датчик и сопутствующие компоненты. А также силовая часть, которая представляет собой цепь реле, варистора и демпфера. Как вы, наверное, знаете, механические реле, такие как реле, которое я использовал в своей схеме, могут выйти из строя, если они всегда работают. Чтобы решить эту проблему, я использовал нормально замкнутый контакт (NC) реле. Таким образом, в нормальной ситуации реле неактивно, и нормально закрытый контакт может передавать питание на насос. Когда вода опускается ниже нижнего предела, реле включается, и это отключает питание. Сказав это, это причина того, что я использовал схему демпфера на контактах NC и COM. Что касается того, что помпа была большая мощность, то я использовал для нее второе реле 220, и я управляю им с помощью реле на печатной плате.
Вы можете скачать файлы PCB, такие как файлы Altium PCB и Gerber, с моего GitHub здесь.
Шаг 5: Код
Я использовал STM32Cube IDE, которое представляет собой универсальное решение для разработки кода от STMicroelectronics. Он основан на Eclipse IDE с компилятором GCC ARM. Кроме того, в нем есть STM32CubeMX. Вы можете найти больше информации здесь. Сначала я написал код, который включал нашу спецификацию резервуара (высоту и диаметр). Однако я решил изменить его на графический интерфейс для настройки параметров на основе различных спецификаций.
Шаг 6: Установка на резервуар
В итоге я сделал для него простую коробку, чтобы защитить плату от воды. Кроме того, я проделал отверстие в верхней части бака, чтобы установить на него датчик.
Рекомендуемые:
Контроллер уровня воды на основе IOT с использованием NodeMCU ESP8266: 6 шагов
Контроллер уровня воды на основе IOT с использованием NodeMCU ESP8266: Это руководство по созданию контроллера уровня воды на основе IOT. Особенности этого проекта: - Обновления уровня воды в реальном времени в приложении для Android. Автоматически включайте водяной насос, когда вода опускается ниже минимального уровня. Ау
Ультразвуковой измеритель уровня в резервуаре: 5 шагов (с изображениями)
Ультразвуковой измеритель уровня в резервуаре: необходимо контролировать уровень жидкости в колодце большого диаметра, резервуаре или открытом контейнере? Это руководство покажет вам, как сделать эхолотный бесконтактный измеритель уровня жидкости с использованием дешевой электроники! На рисунке выше показан обзор того, к чему мы стремились с помощью
Датчик уровня жидкости (с использованием ультразвука): 5 шагов
Датчик уровня жидкости (с использованием ультразвука): датчик уровня жидкости определяет уровень жидкости с уровня земли. Включает двигатель (требуется усилитель драйвера двигателя) ниже заданного значения и выключает его выше заданного значения после заполнения жидкостью. Особенности этой системы: Работает с любыми жидкостями
Автоматический контроллер уровня воды с использованием транзисторов или микросхемы таймера 555: 5 шагов
Автоматический контроллер уровня воды с использованием транзисторов или микросхемы таймера 555: Введение: Привет Всем, кто здесь, мы собираемся узнать об эффективном сбережении воды. так что пройдите по шагам и предложениям внимательно. Переполнение резервуара для воды - распространенная проблема, которая приводит к расточительному использованию воды. Хотя есть ма
Создание емкостного датчика жидкости: 8 шагов (с изображениями)
Создание емкостного датчика жидкости: Емкостной жидкий спонсор основан на том факте, что емкость или заряд между двумя металлическими пластинами будет изменяться (в данном случае увеличиваться) в зависимости от того, какой материал находится между ними. Это позволяет нам c