Расходомер: все, что вам нужно знать

расходомер

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

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

Расходомер или расходомер

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

Что такое расходомер?

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

Контролируя эти два параметра и используя расходомер, который измеряет расход, вы можете получить сложную систему управления жидкостями. Очень полезно для домашней автоматизации или других электронных и даже промышленных проектов. Для домашних проектов у производителей есть хорошо известные модели, такие как YF-S201, FS300A, FS400A, и т.д.

Типы расходомеров

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

  • Механический расходомер: это очень типичный счетчик, который есть у каждого в доме для измерения воды, которую они потребляют. Поток вращает турбину, которая вращает вал, связанный с механическим счетчиком, который собирает показания. Поскольку он является механическим, в этом случае он не может быть интегрирован с Arduino.
  • Ультразвуковой расходомер- Широко используется в промышленности, но чрезвычайно дорого для домашнего использования. Вы можете измерить расход по времени, за которое ультразвук проходит через измеряемую жидкость.
  • Электромагнитный расходомер: Они также часто используются в промышленности для труб до 40 дюймов и высокого давления. Они стоят очень дорого и используют электромагнитную систему для измерения.
  • Электронный турбинный расходомер: низкая стоимость и очень точный. Это те, которые вы можете легко интегрировать с вашим Arduino, а также используются для домашнего использования. Они используют турбину с лопастями, которые вращаются при прохождении потока жидкости через нее, а датчик на эффекте Холла рассчитывает поток в соответствии с оборотами, которых он достигает при повороте. Проблема в том, что будучи навязчивыми, они имеют большой перепад давления и страдают от износа в своих частях, поэтому они не прослужат долго ...

Учитывая, что нас интересует электроника, мы продолжим изучение этих ...

Расходомеры для Arduino и где купить

расходомеры электронного типа, используемые в ArduinoКак и YF-S201, YF-S401, FS300A и FS400A, они имеют пластиковый корпус и ротор с лопастями внутри, как я упоминал ранее. Магнит, прикрепленный к ротору, и его вращение с помощью эффекта Холла будет определять расход или потребление, которые он постоянно измеряет. Выходной сигнал датчика представляет собой прямоугольную волну с частотой, пропорциональной скорости потока через нее.

Так называемый коэффициент преобразования K между частотой (Гц) и расходом (л / мин) зависит от параметров, которые производитель дал датчику, поэтому он не одинаков для всех. в таблицы данных или информация о модели вы покупаете, будут иметь эти значения, чтобы вы могли использовать их в коде Arduino. Точность также не будет такой же, хотя в целом для Arduino они обычно варьируются на 10% выше или ниже по отношению к текущему потоку.

рекомендуемые модели являются:

  • YF-S201: имеет соединение для трубки 1/4 ″ для измерения расхода от 0.3 до 6 литров в минуту. Максимальное допустимое давление составляет 0.8 МПа при максимальной температуре жидкости до 80 ° C. Его напряжение составляет 5-18 В.
  • YF-S401: в данном случае подключение к трубке составляет 1/2 ″, хотя всегда можно использовать преобразователи. Он измеряет расход от 1 до 30 л / мин при давлении до 1.75 МПа и температуре жидкости до 80 ° C. Однако его напряжение по-прежнему составляет 5-18 В.
  • FS300A: такое же напряжение и та же максимальная температура, что и предыдущие. В этом случае с трубами 3/4 ″ с максимальным расходом от 1 до 60 л / мин и давлением 1.2 МПа.
  • Товар не был найден.: он также поддерживает напряжение и максимальную температуру по сравнению со своими альтернативами, а также максимальный расход и давление такие же, как для FS300A. Единственное, что меняется, это длина трубки 1 дюйм.

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

Интеграция с Arduino: практический пример

Arduino подключен к расходомеру

La подключение вашего расходомера очень просто. Обычно у них есть 3 кабеля: один для сбора данных о потоке, а два других - для питания. Данные могут быть подключены ко входу Arduino, который вам больше всего подходит, а затем запрограммирован код скетча. И блоки питания, один на 5V, а другой на GND, и этого было бы достаточно, чтобы он заработал.

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

const int sensorPin = 2;
const int measureInterval = 2500;
volatile int pulseConter;
 
// Si vas a usar el YF-S201, como en este caso, es 7.5.
//Pero si vas a usar otro como el FS300A debes sustituir el valor por 5.5, o 3.5 en el FS400A, etc.
const float factorK = 7.5;
 
void ISRCountPulse()
{
   pulseConter++;
}
 
float GetFrequency()
{
   pulseConter = 0;
 
   interrupts();
   delay(measureInterval);
   noInterrupts();
 
   return (float)pulseConter * 1000 / measureInterval;
}
 
void setup()
{
   Serial.begin(9600);
   attachInterrupt(digitalPinToInterrupt(sensorPin), ISRCountPulse, RISING);
}
 
void loop()
{
   // Con esto se obtiene la frecuencia en Hz
   float frequency = GetFrequency();
 
   // Y con esto se calcula el caudal en litros por minuto
   float flow_Lmin = frequency / factorK;
 
   Serial.print("Frecuencia obtenida: ");
   Serial.print(frequency, 0);
   Serial.print(" (Hz)\tCaudal: ");
   Serial.print(flow_Lmin, 3);
   Serial.println(" (l/min)");
}

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

const int sensorPin = 2;
const int measureInterval = 2500;
volatile int pulseConter;
 
//Para el YF-S201 es 7.5, pero recuerda que lo debes modificar al factor k de tu modelo
const float factorK = 7.5;
 
float volume = 0;
long t0 = 0;
 
 
void ISRCountPulse()
{
   pulseConter++;
}
 
float GetFrequency()
{
   pulseConter = 0;
 
   interrupts();
   delay(measureInterval);
   noInterrupts();
 
   return (float)pulseConter * 1000 / measureInterval;
}
 
void SumVolume(float dV)
{
   volume += dV / 60 * (millis() - t0) / 1000.0;
   t0 = millis();
}
 
void setup()
{
   Serial.begin(9600);
   attachInterrupt(digitalPinToInterrupt(sensorPin), ISRCountPulse, RISING);
   t0 = millis();
}
 
void loop()
{
   // Obtención del afrecuencia
   float frequency = GetFrequency();
 
   //Calcular el caudal en litros por minuto
   float flow_Lmin = frequency / factorK;
   SumVolume(flow_Lmin);
 
   Serial.print(" El caudal es de: ");
   Serial.print(flow_Lmin, 3);
   Serial.print(" (l/min)\tConsumo:");
   Serial.print(volume, 1);
   Serial.println(" (L)");
}

Вы уже знаете, что в зависимости от того, что вам нужно, вы должны изменить этот код, кроме того, очень важно поставить K-фактор модели, которую вы купили, иначе фактические измерения не будут производиться. Не забудь!


Будьте первым, чтобы комментировать

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

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.