Вы могли видеть, что на рынке сейчас представлено множество типов датчиков уровня жидкости. В основном они используются в системах автоматического управления насосами и в промышленных приложениях. Наиболее распространенным типом используемых датчиков были датчики поплавкового типа или кондуктивные датчики. Несмотря на то, что они использовались в коммерческих целях, у каждого типа есть свои проблемы. Например, датчик поплавкового типа может застрять и давать ложные показания, а основными проблемами, с которыми сталкиваются датчики кондуктивного типа, являются коррозия и электрические помехи. Поэтому в ряде приложений будет актуально использование бесконтактных датчиков. Поскольку у них нет движущихся частей, нам не нужно беспокоиться об их застревании, а поскольку они бесконтактные, нам не нужно беспокоиться о коррозии.
На рынке представлено множество типов бесконтактных датчиков, включая емкостные датчики, ультразвуковые датчики, радарные датчики и оптические датчики. В этой статье мы рассмотрим емкостный бесконтактный датчик уровня жидкости XKC-Y26-V. Мы рассмотрим его конструкцию, принцип работы, особенности, а также его подключение к плате Arduino.
Бесконтактный датчик уровня жидкости XKC-Y26-V
Общие сведения
Производитель датчика XKC-Y2-V заявляет о его водонепроницаемости IP65. Датчик имеет диапазон обнаружения 20 мм с точностью ±1,5 мм. Он подходит для различных неметаллических контейнеров или трубопроводов. Он может работать с широким диапазоном входного напряжения от 5 В до 24 В. Датчик также имеет регулируемую чувствительность, которая может быть изменена путем простой регулировки открытого регулировочного винта.
Технические характеристики датчика
- Питание: 5~12 В
- Режим вывода: переключатель количества жидкости (высокоуровневый выход)
- Время отклика: 500 мс
- Рабочая температура: -5~105°C
- Погрешность уровня жидкости: 1,5 мм
- Диапазон толщины (TR): 20 мм
- Подходящий внешний диаметр контейнера: 11 мм
- Водонепроницаемость: IP65
Особенности датчика
- Высокая стабильность и чувствительность
- Регулируемая чувствительность
- Имеет встроенный индикатор состояния
- Не зависит от типа жидкости.
- Может определять уровень жидкости в кипящей воде
- Высокая совместимость: проникает во все виды неметаллических контейнеров или труб, таких как пластик, стекло, керамика и др. Толщина трубы, которую может обнаружить датчик, достигает 20 мм;
- Подходит для всех типов изогнутых и плоских поверхностей.
- Широкий диапазон рабочего напряжения 5~24 В.
Распиновка датчика
Датчик XKC-Y26-V имеет всего 4 контакта: два контакта питания, один контакт выбора режима и один выходной контакт. Распиновка модуля датчика показана на следующем рисунке.
VCC - обеспечивает питание модуля, подключается к выводу 5 В Arduino.
OUT - выходной контакт датчика.
GND - контакт заземления (земли), подключается к контакту заземления Arduino.
MODE - контакт выбора режима работы: плавающий — выход высокий при обнаружении жидкости, подключен к GND — выход низкий при обнаружении жидкости
Как работает бесконтактный датчик уровня жидкости?
Когда рядом с датчиком нет жидкости, будет некоторая статическая емкость относительно земли. Когда уровень жидкости медленно поднимается, приближаясь к датчику, жидкость создаст паразитную емкость, и она будет связана со статической емкостью, так что конечное значение емкости увеличится. Это изменение емкости затем преобразуется в электрический сигнал для взаимодействия с микроконтроллерами и т. п. Приведенные ниже анимации показывают работу бесконтактного датчика уровня жидкости XKC-Y26-V.
При плавающем режиме (Mode) датчик выдаст ВЫСОКИЙ выходной сигнал, когда датчик обнаружит жидкость. Когда контакт Mode подключен к заземляющему контакту, датчик выдаст ВЫСОКИЙ выходной сигнал, когда жидкости нет, и НИЗКИЙ выходной сигнал, когда жидкость обнаружена. Вот еще одно изображение, иллюстрирующее то же самое. Индикатор на датчике около уровня воды горит, а индикатор на датчике вдали от уровня воды выключен.
Как настроить чувствительность датчика?
Для регулировки чувствительности сбоку датчика имеется открытая верхняя часть подстроечного резистора. Для регулировки чувствительности вращайте ее с помощью небольшой отвертки.
Часто задаваемые вопросы про датчик XKC-Y26-V
Как работает емкостный датчик уровня жидкости?
Емкостные датчики работают на основе емкости, как указано в самом названии. Обнаруженная емкость будет меняться в зависимости от того, находится ли жидкость вблизи датчика или нет. Это изменение затем преобразуется в цифровое высокое или низкое состояние с помощью схемы компаратора.
Какова функция датчика уровня жидкости?
Датчики уровня жидкости предназначены для изменения состояния при обнаружении жидкости. Они используются для определения наличия жидкости на определенном уровне в контейнере.
Каковы преимущества использования бесконтактного датчика уровня жидкости?
Бесконтактные датчики уровня жидкости невосприимчивы к коррозии или механическим проблемам. Это гарантирует длительный срок службы сенсорного блока.
Как проверить бесконтактный датчик уровня жидкости?
Вы можете проверить этот конкретный датчик (XKC-Y26-V) просто обеспечив питание и проверив выход. В зависимости от подключения контакта режим выхода будет меняться, когда датчик находится вблизи жидкости. Вы также можете использовать встроенный светодиодный индикатор для отладки работы датчика.
Схема проекта
Схема подключения бесконтактного датчика уровня жидкости XKC-Y26-V к плате Arduino представлена на следующем рисунке.
Как видите, подключения достаточно просты и требуют всего нескольких проводов. Подключите контакты VCC и GND датчика к контактам 5V и GND платы Arduino. Затем подключите выход датчика к контакту D2 платы Arduino. В собранном виде это выглядит следующим образом.
Объяснение работы кода
Как и схема, код программы также очень прост. Все, что вам нужно сделать, это подключить датчик к контакту платы и контролировать его состояние. Код выглядит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
int SensePin = 2; //Sensor input void setup() { Serial.begin(9600); pinMode(SensePin, INPUT); } void loop() { if(digitalRead(SensePin)) { Serial.println("Liquid Detected"); } else { Serial.println("No Liquid Available"); } delay(1000); } |
Сначала мы инициализировали последовательный порт в функции setup(). Затем мы устанавливаем вывод, к которому подключен датчик на Arduino, в качестве входа. В функции цикла каждую секунду мы проверяем состояние вывода датчика, и если он высокий, т. е. выход датчика высокий, мы последовательно печатаем, что обнаружена жидкость. А если вывод низкий, т. е. жидкость не обнаружена, мы печатаем, что жидкость недоступна.
Вот ссылка на репозиторий GitHub, где вы можете найти полный код и принципиальные схемы, которые мы использовали в этой статье.
Исходный код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
int SensePin = 2; //Sensor input void setup() { Serial.begin(9600); pinMode(SensePin, INPUT); } void loop() { if(digitalRead(SensePin)) { Serial.println("Liquid Detected"); } else { Serial.println("No Liquid Available"); } delay(1000); } |