Оптический датчик жидкости

Оптический датчика жидкости может определять наличие или отсутствие определенных цветных жидкостей внутри прозрачной трубки. Его можно настроить для вывода сигнала оповещения логического уровня.

Схема оптического датчика жидкости

Далее приведена схема датчика на базе микроконтроллера Arduino Uno:

Программное обеспечение тоже очень простое. Оно работает в бесконечном цикле, сравнивая напряжение на входном контакте фотодатчика с предопределенным пороговым значением и переключая выходной сигнальный контакт, если порог превышен.

const int
photosensorPin = A0; //Pin for Photosensor Input
const int
testpointPin = 11; //Pin for Test Point (optional)
const int
outputsignalPin = 13; //Pin for Signal Output
const int
threshold = 410; //See Notes!
void setup()
{
pinMode(photosensorPin, INPUT);
pinMode(testpointPin, OUTPUT);
pinMode(outputsignalPin, OUTPUT);
}
void loop()
{
int sensorValue = analogRead(photosensorPin);
analogWrite(testpointPin, sensorValue / 4);
digitalWrite(outputsignalPin, sensorValue >
threshold);
//digitalWrite(outputsignalPin, sensorValue <
threshold);
delay(2);
}

Всё это можно заменить схемой компаратора. Но схема на основе микроконтроллера может быть перепрограммирована с любой логикой, которую сможем придумать в будущем, а версия без микроконтроллера — нет.

Для первого теста поочередно размещался оптический датчик на поверхности нескольких заполненных чернилами и пустых трубок и записывался приблизительный диапазон измерений в каждой позиции.

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

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

Также можно измерить значение фотодатчика с помощью цифрового мультиметра через контрольную точку TPA (или TPS) в цепи.

Используя метод вольтметра, обнаружилось около 1,5 В в контрольной точке TPA, когда в трубке была жидкость, и 2,5 В, когда ее не было.

Обратите внимание, что Arduino Uno имеет 10-битный АЦП, это означает что он преобразует 0 В в 0 и 5 В в 1023. Значения analogRead изменяются от 0 до 1023, значения analogWrite — от 0 до 255. Поскольку рекомендуемый порог должен быть между 1,5 В и 2,5 В, то в коде он равен примерно 1024×2 В/5 В = 410.

Если хотите запустить это с урезанной аппаратной настройкой, можете выбрать плату разработки микроконтроллера Digispark Attiny85 или микроконтроллерную IC Attiny85, потому что они маленькие и дешевые. Есть много и других практичных вариантов. Для сборки оптического жидкостного датчика нужен подходящий корпус – идея сборки показана ниже. Помните, светодиод и фототранзистор должны быть установлены под определенным углом, например 60°, методом проб и ошибок. Попробуйте изменить расстояние между светодиодом и фототранзистором, а также углы светодиода и фототранзистора и посмотрите, как эти изменения повлияют на выход.

Идея, реализованная здесь, объединяет обычный инфракрасный светодиод и фототранзистор и использует его в качестве оптического жидкостного сенсора (фотосенсора). Но следует отметить, что отражение и преломление могут давать некоторые интересные эффекты, и можно получить другую интенсивность сигнала, если изменить угол передатчика и приемника света (принцип полного внутреннего отражения).

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

Итого: этот оптический датчик жидкости определяет наличие жидкости в трубопроводе, пропуская свет через прозрачный шланг и измеряя интенсивность отраженного света, принимаемого фотодатчиком. Наличие или отсутствие жидкости изменяет уровень обнаруживаемой интенсивности; если жидкость отсутствует, микроконтроллер изменяет выходной сигнал, который затем может быть использован для запуска совместимой схемы генератора предупреждающих сигналов или чего-то подобного.

Оцените материал:

0 / 5. Рейтинг: 0

Может подскажете что улучшить?