цифровая электроника
вычислительная техника
встраиваемые системы

 

Arduino и датчик расхода воды

Автор: Mike(admin) от 1-02-2019, 06:55

Проект с Arduino и датчиком потока воды


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


Arduino и датчик расхода воды

Датчик расхода воды


Датчик потока (расхода) воды, как следует из названия, представляет собой устройство для измерения расхода воды. Датчик расхода воды, используемый в этом проекте, показан на рисунке ниже.


Датчик расхода воды

Он имеет пластиковый корпус клапана с ротором и цепь датчика Холла. Датчи имеет три провода, а именно + 5 В (красный), GND (черный) и выход (желтый). Поскольку он работает от напряжения +5 В, он может быть подключен к любому микроконтроллеру, например, к Arduino. Сверху есть ярлык с важной информацией о датчике. Информация на этой этикетке выглядит следующим образом:


  • Модель: YF-S201
  • Рабочий диапазон: 1 - 30 л / мин
  • Давление воды: менее 1,75 МПа

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


Датчик расхода воды

Датчик потока воды реализован с использованием датчика эффекта Холла. Таким образом, работу датчика потока воды можно легко понять, если вы знакомы с датчиком Холла. По сути, датчик потока воды YF-S201 состоит из вращающегося колеса (или турбинного колеса), которое вращается, когда вода проходит через датчик. В центре этого колеса закреплен магнит.


Теперь перейдем к датчику Холла. Датчик Холла, используемый в этом датчике расхода воды, представляет собой интегральную схему 460S в корпусе TO-92.


Датчик расхода воды

На основании данных, предоставленных Honeywell, работа датчика Холла 460S выглядит следующим образом: когда южный полюс магнита направлен в сторону микросхемы, выходной сигнал датчика в низком логическом уровне, а когда северный полюс магнита к микросхеме, тогда выход в высоком логическом уровне. Помня об этом, когда вода протекает через датчик потока воды YF-S201, колесо заслонки вращается под действием силы воды, и в результате магнит, прикрепленный к нему, также будет вращаться.


Датчик потока воды

В результате магнитное поле рядом с датчиком Холла меняет полярность, поскольку колесо заслонки вращается, и выходной сигнал датчика (на выходном контакте – желтый провод) будет импульсным. Отслеживая количество импульсов с выхода датчика потока воды, вы можете легко рассчитать количество воды, протекающей через датчик, и, как результат, скорость потока воды.


Схема подключения Arduino и датчика потока воды


Схема подключения Arduino и датчика потока воды

Подключите красный и черный провода датчика потока воды YF-S201 к + 5В и GND. Так как мы будем использовать функцию прерывания Arduino, к выходу датчика расхода воды можно подключить только выводы 2 и 3 цифрового порта ввода/вывода. В этом проекте мы подключили выход датчика потока воды (желтый провод) к выводу 2 цифрового порта ввода/вывода Arduino UNO.


Код программы взаимодействия Arduino и датчика расхода воды


Код для интерфейса датчика потока воды с Arduino приведен ниже. В коде есть небольшой расчет, который мы объясним далее.



const int watermeterPin = 2;

volatile int  pulse_frequency;
unsigned int  literperhour;
unsigned long currentTime, loopTime;
byte sensorInterrupt = 0;

void setup()
{ 
   pinMode(watermeterPin, INPUT);
   Serial.begin(9600); 
   attachInterrupt(sensorInterrupt, getFlow, FALLING);
                                     
   currentTime = millis();
   loopTime = currentTime;
} 

void loop ()    
{
   currentTime = millis();
   if(currentTime >= (loopTime + 1000))
   {
      loopTime = currentTime;
      literperhour = (pulse_frequency * 60 / 7.5);
      pulse_frequency = 0;
      Serial.print(literperhour, DEC);
      Serial.println(" Liter/hour");
   }
}
void getFlow ()
{ 
   pulse_frequency++;
}

Расчеты для работы датчика расхода воды


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


Arduino и датчик расхода воды

Согласно документации датчика расхода воды YF-S201, поскольку выходной сигнал датчика представляет собой импульс, вычисляя частоту импульса, мы можем рассчитать объем воды, протекающей через датчик. Частота импульсов в Гц составляет 7,5 * Расход (в литрах в минуту). Таким образом, количество воды в литрах в час = частота импульсов * 60 / 7,5.




© digitrode.ru


Теги: Arduino, датчик расхода воды, датчик Холла



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий