Аналоговый датчик уровня воды (0-35 мм)........

Источник:

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

Поскольку я (разумно) купил насос с интерфейсом 0-10 В, моей идеей было измерить расстояние до поверхности воды, чтобы соответствующим образом отрегулировать насос.

К сожалению, не существует (доступных) датчиков, ��оторые сообщали бы мне уровень воды в виде аналогового значения, чтобы я мог позже управлять насосом с помощью ПИД-регулятора.

Поскольку оптические методы слишком подвержены ошибкам, я решил использовать датчик Холла.
Благодаря этому я могу измерить расстояние до 35 мм, что более чем достаточно для моего применения.

Мое оборудование:

Материнская плата: ESP32 D1 Mini
https://www.amazon.de/AZDelivery-Bluetooth-Internet-Entwicklungsboard-kompatibel/dp/B08BTLYSTM/ref=sr_1_3?th=1
Потенциометр: 10К
https://www.amazon.de/gp/product/B07ZJL91YP/ref=ppx_yo_dt_b_asin_title_o01_s02?ie=UTF8&psc=1
ШИМ-преобразователь 0-10 В:
https://www.amazon.de/gp/product/B09FYWWMQS/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
Понижающий преобразователь 3,3 В:
https://www.amazon.de/gp/product/B07DP2MDJQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&th=1
Датчик Холла:
https://www.amazon.de/AZDelivery-KY-003-digitaler-Transistor-Arduino/dp/B07V2N9T6W/ref=sr_1_3_sspa?crid=3FHG8DF7I68B5&th=1

Позже я создам для него собственную печатную плату. Если вас тоже интересует такая плата, напишите об этом в комментариях.

Программное обеспечение для ардуино входит в комплект.

Вам понадобится неодимовый магнит 10x5 мм и две акриловые трубки диаметром ~ 120 мм и диаметром 5 мм.

Установка:
Выпаиваем из платы датчик холла и припаиваем к нему три провода.
Убедитесь, что вы используете правильные цвета для Gnd, Vcc и сигнала. На KY-003 Gnd и Vcc на печатной плате перепутаны! Изолируйте провода как можно лучше. Я просто использовал изоленту.

Согните датчик Холла на 90° так, чтобы он ровно прилегал к нижней части держателя датчика. В этом направлении можно измерить наибольшее расстояние до магнита. Я использовал горячий клей, чтобы закрепить датчик в держателе датчика и сделать его водонепроницаемым.

Затем соберите весь датчик, но пока не приклеивайте магнит плотно. Для меня полярность по-прежнему имела решающее значение для достижения 35 мм.

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

Вы также можете временно использовать потенциометр для настройки насоса на определенный диапазон управления на этом этапе (для этого установите для параметра Mode значение EMode::Potentiometer). С моей помпой (Aqua Medic DC Runner 3.3) я взял аналоговые значения 33% и 70%. Ниже 30% насос отключается. После ввода аналоговых значений потенциометр вам больше не понадобится.

Константы для ПИД-регуляторов установлены по умолчанию, но мне они подошли нормально.
ПИД-регулятор для меня надежно устанавливает уровень воды (kDesiredWaterLevel_mm). Это расстояние и держатель, конечно же, предназначены для переливного бокса Nyos Opus.
Поэтому вам придется разработать собственный держатель, чтобы адаптировать его к вашему применению.

Настройки печати:
Рекомендуется использовать PETG, поскольку он не попадает в воду.
Для пловца («Швиммер») я использую 5% заполнения и 4 стены. Разумеется, деталь ни в коем случае не должна тонуть и быть абсолютно герметичной. Я сделал отверстие для магнита немного глубже, чтобы защитить его от соленой воды с помощью горячего клея.

Если вы хотите поддержать меня, купите мне кофе (через PayPal) ;-).
В зависимости от вашего интереса я также могу сделать видео.

ОБНОВЛЕНИЕ:
Только что добавили поддержку MQTT и картинку с графиками входных/выходных значений.
Вы можете видеть, что датчик поддерживает уровень воды в диапазоне +- 1 мм (11 мм — уставка ПИД). На точность датчика несколько влияют плохие аналоговые входы ESP32 и кабель длиной 2 метра.

20:00
19
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Модульный блок питания UCG-Fiber для монтажа в 19-дюймову...
Модульное, состоящее из двух частей, 19Подробнее
Баззитовый блок питания BC-250 ATX
Корпус BC-250, в котором используетсяПодробнее
Корпус AMD BC-250 ATX, блок питания и канал вентилятора.....
Я изменил существующий проект. Я добавилПодробнее
Блок питания Ender 3 Pro (Meanwell LRS35024) Крышка/глуши...
Крышка/глушитель вентилятора блокаПодробнее
Настольный блок питания ATX - настраиваемый своими руками...
В Интернете уже доступны различныеПодробнее
Блок питания скрытого монтажа
Концепция дизайна Этот встраиваемый блокПодробнее
держатель микрофона yaesu ft450
это простой держатель микрофона дляПодробнее
8-контактный краевой разъем карты (например, марки амфено...
I needed this for a project. STEP filesПодробнее
Переключатель на 4 аркадные кнопки......
Я разработал этот блок для четырехПодробнее
Держатель щупов для осциллографа Rigol DHO (804)
Легко печатаемый защелкивающийсяПодробнее
Крышка осциллографа Rigol 804 (800-900 серия)
Защелкивающаяся крышка для осциллографовПодробнее
Линки для пайки "третья рука"
Стандартные звенья типа Loc-LineПодробнее
USB-вытяжка C для пайки (+ прочный корпус)........
Я хотел, чтобы вентилятор отсасывалПодробнее
Носимый чехол для Seeed Xiao (ремешок 22 мм)........
Это чехол, напечатанный на 3D-принтереПодробнее
Лабораторный блок питания - корпус блока питания Riden RK..
Компактный чехол для модулей RidenПодробнее
BIGTREETECH BTT Relay V1.2 Крепление на DIN-рейку........
Модель от Фабиана не была доступна воПодробнее
Модульная система Pegboard - Макетные платы........
Когда я впервые нашел «ВертикальнуюПодробнее
Wemos D1 mini (крепление на DIN-рейку)
Это крепление для Wemos D1 mini. WemosПодробнее
Реле для крепления на DIN-рейку
Нужно распечатать: 2 шт. файлаПодробнее
Нагрузочная катушка любительского радио........
Это мой прототип самодельной загрузочнойПодробнее
Чехол Heltec v3 для Meshtastic
**Вы можете приобрести этот и другие ужеПодробнее
Komplettes Stativ mit Kugelkopf-Adapter und Gehäuse für e..
Комплектная модель для мини-стата дляПодробнее
Корпус BrickLight
Корпус, состоящий из двух частейПодробнее
Чехол на камеру ESO32-CAM
Чехол на камеру ESO32-CAM+ DevelopmentПодробнее
ULTIMATE Devboard (без поддержки) для двигателей n20, Ard..
Сопло .6. Высота слоя .2. КреплениямПодробнее
Настенное крепление модуля светодиодного дисплея 192*192 ..
Простая пластина для настенногоПодробнее
Я люблю Ардунио
ПОЕХАЕМ, Ардунио (запускать из esp32Подробнее
Lolin32 lite открытый корпус с зажимом DIN........
I added the 2 models together. Подробнее
2,4-дюймовый TFT-дисплей Zoll Gehäuse Schräg........
Dieses flache Gehäuse для 2,4-дюймовогоПодробнее
Крепление тумблера - поддержка прерывателя на подставке (..
Завидуете ли вы свободному подключениюПодробнее
Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.