0
КОРЗИНА
0 ТОВАРА
 Датчик расхода воды, G1/2 для Arduino ардуино
 Датчик расхода воды, G1/2 для Arduino ардуино
 Датчик расхода воды, G1/2 для Arduino ардуино

Датчик расхода воды, G1/2

Позволит контролировать объем протекаемой жидкости Подробнее...
Модификация
Скоро в продаже Артикул: # 778
437 ₽
Возможен безналичный расчёт для юридических лиц при оформлении заказа
Сообщить о поставке на e-mail:
{{ status }}
  • Доставка товаров по России, Белоруссии, Казахстану
  • Возможен безналичный расчёт для юридических лиц при оформлении заказа
Количество:
Перейти в корзину и оформить заказ.
Telegram
WhatsApp
Обсудить вопросы приобретения, не технические!
*Доступно общение только текстовыми сообщениями, звонки и аудио сообщения не обслуживаются
Офлайн
Описание товара
Подробное описание товара

Общие сведения

Датчик расхода воды YF-S201 — позволяет измерять скорость потока воды.

Характеристики

  • Рабочее напряжение: 5 ... 18 В.
  • Потребляемый ток: до 15 мА (при Vcc = 5 В).
  • Уровень лог «1» на выходе датчика: >4.5 В (при Vcc = 5 В).
  • Уровень лог «0» на выходе датчика: <0.5 В (при Vcc = 5 В).
  • Измеряемый диапазон расхода воды: 1 ... 30 л/мин.
  • Погрешность измерений: ±10%.
  • Импульсов на литр (по даташиту): 450.
  • Формула расхода воды (по даташиту): F (Гц) = 7,5 * Q (л/м).
  • Коэффициент заполнения выходного импульса: 40 - 60 %.
  • Рабочее давление: <1,75 МПа (= 17,5 бар = 17,27 атм).
  • Рабочая температура: 0 ... 80 °C
  • Температура жидкости: <120 °C
  • Влажность воздуха: 35 ... 90 %
  • Размер патрубка: ∅20 мм (внешний), ∅10 мм (внутренний)
  • Размер трубной резьбы: G1/2'' (1/2 трубного дюйма)
    (внешний ∅20,955 мм / внутренний ∅18,631 мм / шаг 1,814 мм)
  • Габариты: 65x36x36 мм
  • Вес: 43 г

Подключение

Для удобства подключения к Arduino воспользуйтесь Trema ShieldTrema Power ShieldMotor Shield или Trema Set Shield.

Подключение датчика зависит от выбранного Вами алгоритма подсчета его импульсов:

  • Если Вы будете подсчитывать количество импульсов с датчика, используя внешнее прерывание, то информационный вывод датчика нужно подключить только к тому выводу Arduino, который используют внешние прерывание. Преимуществом данного метода является то, что все импульсы датчика будут, гарантированно, подсчитаны и для этого не требуется приостанавливать выполнение скетча. Недостаток данного метода заключается в том, что не все выводы Arduino используют внешние прерывания.
  • Если Вы будете подсчитывать количество импульсов с датчика, измеряя длительность импульсов (пауз), то информационный вывод датчика можно подключить к любому выводу Arduino. Преимуществом данного метода является то, что количество подключаемых датчиков ограничено количеством свободных выводов Arduino. Еще одним преимуществом является то, что расчёт скорости происходит в режиме реального времени, после каждого импульса (паузы). Но есть и недостатки. Скважность импульсов с датчика имеет погрешность ±10%, значит длительности импульсов не совпадают с длительностями пауз и к результатам измерений добавится указанная погрешность ±10%. Чтение длительности импульсов функцией pulseIn() приостанавливает выполнение скетча на время чтения.
    Подключение датчика расхода воды YF-S201 к Arduino Uno

    Питание

    Входное напряжение 5 ... 18 В постоянного тока, подаётся на красный (Vcc) и чёрный (GND) провода датчика.

    Подробнее о датчике

    Датчик расхода воды YF-S201 состоит из пластикового корпуса, водяного ротора с магнитами и датчика Холла. Скорость вращения ротора прямо пропорциональна скорости водяного потока. Чем выше скорость, тем чаще магниты проходит рядом с датчиком Холла, тем больше импульсов на информационном выводе датчика.

    Формула расхода воды: Q = F / 7,5.

    • F - частота импульсов в Гц (количество импульсов с датчика за 1 секунду).
    • Q - скорость потока воды в л/м, (количество литров прошедшее через датчик за 1 минуту).

    Для удобства будем получать скорость Q не в л/м, а в л/с: Q = F / 450.

    • F - частота импульсов в Гц (количество импульсов с датчика за 1 секунду).
    • Q - скорость потока воды в л/с, (количество литров прошедшее через датчик за 1 секунду).

    Формула определения объема воды: V = ∑ (Q*T).

    • V - объем воды прошедшей через датчик.
    • Q - скорость потока воды.
    • T - время в течении которого сохранялась указанная скорость потока воды Q.
    • Единцы измерений должны быть приведены друг к другу.
      • Если скорость Q указана в л/с то время T нужно указать в сек., а объем V будет в литрах.
      • Если скорость Q указана в см3 то время T нужно указать в мин., а объем V будет в см3.

    Примеры

    Скорость потока и объем воды определяются подсчётом количества импульсов с датчика.

    Определение скорости и объема воды, используя внешнее прерывание:

    uint8_t  pinSensor = 2;                                         // Определяем номер вывода Arduino, к которому подключён датчик расхода воды.
                                                                    //
    uint32_t varTime;                                               // Объявляем переменную для хранения времени последнего расчёта.
    float    varQ;                                                  // Объявляем переменную для хранения рассчитанной скорости потока воды (л/с).
    float    varV;                                                  // Объявляем переменную для хранения рассчитанного объема воды (л).
    volatile uint16_t varF;                                         // Объявляем переменную для хранения частоты импульсов (Гц).
                                                                    //
    void funCountInt(){varF++;}                                     // Определяем функцию, которая будет приращать частоту импульсов.
                                                                    //
    void setup(){                                                   //
         Serial.begin(9600);                                        // Инициируем передачу данных в монитор последовательного порта.
         pinMode(pinSensor, INPUT);                                 // Конфигурируем вывод к которому подключён датчик, как вход.
         uint8_t intSensor = digitalPinToInterrupt(pinSensor);      // Определяем номер прерывания который использует вывод pinSensor.
         attachInterrupt(intSensor, funCountInt, RISING);           // Назначаем функцию funCountInt как обработчик прерываний intSensor при каждом выполнении условия RISING - переход от 0 к 1.
         if(intSensor<0){Serial.print("Указан вывод без EXT INT");} // Выводим сообщение о том, что датчик подключён к выводу не поддерживающему внешнее прерывание.
         varTime=0; varQ=0; varV=0; varF=0;                         // Обнуляем все переменные.
    }                                                               //
                                                                    //
    void loop(){                                                    //
    //   Если прошла 1 секунда:                                     //
         if( (varTime+1000)<millis() || varTime>millis() ){         // Если c момента последнего расчёта прошла 1 секунда, или произошло переполнение millis то ...
         //  Определяем скорость и расход воды:                     //
             varQ    = (float)varF / 450.0f;                        // Определяем скорость потока воды л/с.
             varF    = 0;                                           // Сбрасываем частоту импульсов датчика, значение этой переменной приращается по прерываниям.
             varTime = millis();                                    // Сохраняем  время последних вычислений.
             varV   += varQ;                                        // Определяем объем воды л.
         //  Выводим рассчитанные данные:                           //
             Serial.println((String) "Объем "+varV+"л, скорость "+(varQ*60.0f)+"л/м.");
         }                                                          //
    //   Тут может выполняться ваш код ...                          //
    }                                                               //
    • В этом примере скорость потока воды varQ рассчитывается по формуле Q = F / 450.
    • Частота импульсов датчика varF определяется как сумма прерываний за одну секунду.
    • Объем воды varV определяется по формуле V = ∑ (Q*T), где T=1 (время измерений = 1 сек).
    • При расчётах varQ определяется в л/с, а в монитор выводим значение в л/м.

    Определение скорости и объема воды, методом подсчёта длительности импульсов

    uint8_t  pinSensor = 2;                                         // Определяем номер вывода Arduino, к которому подключён датчик расхода воды.
                                                                    //
    float    varQ;                                                  // Объявляем переменную для хранения рассчитанной скорости потока воды (л/с).
    float    varV;                                                  // Объявляем переменную для хранения рассчитанного объема воды (л).
                                                                    //
    void setup(){                                                   //
         Serial.begin(9600);                                        // Инициируем передачу данных в монитор последовательного порта.
         pinMode(pinSensor, INPUT);                                 // Конфигурируем вывод к которому подключён датчик, как вход.
         varQ=0; varV=0;                                            // Обнуляем все переменные.
    }                                                               //
                                                                    //
    void loop(){                                                    //
        varQ           = 0;                                         // Сбрасываем скорость потока воды.
        uint32_t varL  = pulseIn(pinSensor, HIGH, 200000);          // Считываем длительность импульса, но не дольше 0,2 сек.
        if( varL ){                                                 // Если длительность импульса считана, то ...
            float varT = 2.0 * (float)varL / 1000000;               // Определяем период следования импульсов в сек.
            float varF = 1/varT;                                    // Определяем частоту следования импульсов в Гц.
            varQ       = varF / 450.0f;                             // Определяем скорость потока воды л/с.
            varV      += varQ * varT;                               // Определяем объем воды л.
        }                                                           //
    //  Выводим рассчитанные данные:                                //
        Serial.println((String) "Объем "+varV+"л, скорость "+(varQ*60.0f)+"л/м.");
    }                                                               //
    
    • В этом примере вычисления производятся после каждого импульса полученного с датчика, значит период расчётов совпадает с периодом следования импульсов.
    • Длительность импульсов varL определяется функцией pulseIn().
    • Так как скважность импульсов ≈ 50%, то период varT определяется по формуле: T ≈ 2L.
    • Частота импульсов varF определяется по формуле F = 1/T.
    • Скорость потока воды varQ рассчитывается по формуле Q = F / 450.
    • Объем воды varV определяется по формуле V = ∑ (Q*T).
    • При расчётах varQ определяется в л/с, а в монитор выводим значение в л/м.

    Достоинства и недостатки обоих примеров описаны выше, в разделе «Подключение».

    Комплектация

    • 1х Датчик расхода воды YF-S201;

    Ссылки

    Товары
    Первой необходимости и другие вещи, которые могут пригодиться!
    В наличии
    365
    В наличии осталось 10 шт.
    374
    В наличии
    2941
    В наличии
    309
    В наличии
    Датчик минерализации (TDS/EC-метр) с дисплеем, RS485 / Modbus: Датчик имеет гальваническую развязку и дисплей Подробнее
    3390
    В наличии
    142
    В наличии
    308
    В наличии
    Бесконтактный датчик уровня жидкости XKC-Y25-V (50 см): Сенсор для измерения уровня жидкости на расстоянии Подробнее
    580
    Скоро в продаже
    296
    Скоро в продаже
    IMU-сенсор на 9 степеней свободы (Trema-модуль): Определять своё положение в пространстве, а так же угловое ускорения, угловую скорость и индукцию магнитного поля Подробнее
    751
    Скоро в продаже
    Датчик вибрации SW-420 (Trema-модуль): Использовать в качестве сигнализаций или для отключения устройств, например паяльника или утюга, которые находятся в состоянии покоя дольше *n* минут. Подробнее
    73
    160
    В наличии
    Термопара E-типа (Screw М6): Термочувствительный элемент для измерения температуры от 0 до 600 °C Подробнее
    437
    В наличии
    Аналоговый термометр (Trema-модуль): Позволит измерять температуру окружающей среды. Подробнее
    292
    В наличии
    340
    Или перейти в корзину и оформить заказ.
    Гарантии и возврат Используя сайт Вы соглашаетесь с условями
    Есть вопрос?