Flowmeter: ทุกสิ่งที่คุณจำเป็นต้องรู้

เครื่องวัดการไหล

วัดการไหลของของเหลวหรือปริมาณการใช้ เป็นสิ่งสำคัญในบางกรณีและสำหรับสิ่งนี้คุณต้องมีเครื่องวัดการไหล ตัวอย่างเช่นหากคุณติดตาม Formula 1 คุณจะรู้ว่า FIA บังคับให้ทีมต่างๆใช้เครื่องวัดการไหลในเครื่องยนต์เพื่อตรวจจับปริมาณการใช้ที่แต่ละทีมทำในรถของพวกเขาและหลีกเลี่ยงกับดักที่เป็นไปได้โดยการฉีดไหลมากขึ้นเพื่อให้ได้มากขึ้น กำลังเครื่องยนต์ในบางครั้งหรือวิธีการใช้น้ำมันในการเผาไหม้เครื่องยนต์ ...

แต่นอก F1 คุณอาจสนใจที่จะมีอุปกรณ์เหล่านี้เพื่อให้ทราบว่าระบบมีการใช้น้ำหรือของเหลวอื่น ๆ เท่าใดหรือกำหนดอัตราการไหลของท่อที่ดึงออกมาจากถังเพื่อกำหนดเวลาที่จะใช้ ระบบชลประทานในสวนอัตโนมัติ ฯลฯ การใช้งานองค์ประกอบเหล่านี้มีมากมายคุณสามารถกำหนดขีด จำกัด ด้วยตัวคุณเอง

Flowmeter หรือเครื่องวัดการไหล

คุณควรรู้ได้อย่างไร กระแส คือปริมาณของเหลวหรือของไหลที่ไหลเวียนผ่านท่อหรือต้นขั้วต่อหนึ่งหน่วยเวลา มีหน่วยวัดเป็นหน่วยปริมาตรหารด้วยหน่วยเวลาเช่นลิตรต่อนาทีลิตรต่อชั่วโมงลูกบาศก์เมตรต่อชั่วโมงลูกบาศก์เมตรต่อวินาทีเป็นต้น (ลิตร / นาที, ลิตร / ชม., ม. / ชม., ... )

เครื่องวัดการไหลคืออะไร?

El เครื่องวัดการไหลหรือเครื่องวัดของไหล เป็นอุปกรณ์ที่สามารถวัดปริมาณการไหลที่ไหลผ่านท่อได้ มีหลายรุ่นและผู้ผลิตที่สามารถรวมเข้ากับ Arduino ได้อย่างง่ายดาย อัตราการไหลนี้จะขึ้นอยู่กับปัจจัยหลายประการเช่นส่วนของท่อและแรงดันจ่าย

ด้วยการควบคุมพารามิเตอร์ทั้งสองนี้และด้วยเครื่องวัดการไหลที่วัดการไหลคุณสามารถมีระบบควบคุมที่ซับซ้อนสำหรับของเหลวได้ มีประโยชน์มากสำหรับระบบอัตโนมัติในบ้านหรือโครงการอิเล็กทรอนิกส์และอุตสาหกรรมอื่น ๆ สำหรับโครงการบ้านผู้ผลิตมี รุ่นที่รู้จักกันดีเช่น YF-S201, FS300A, FS400Aฯลฯ

ประเภทมิเตอร์

ในตลาดคุณจะพบ หลากหลายชนิด ของเครื่องวัดการไหลหรือเครื่องวัดการไหลขึ้นอยู่กับการใช้งานที่คุณให้ไว้และงบประมาณที่คุณต้องการลงทุน นอกจากนี้บางส่วนมีความเฉพาะเจาะจงสำหรับของเหลวเช่นน้ำน้ำมันเชื้อเพลิงน้ำมันอื่น ๆ มีความแม่นยำมากกว่าหรือน้อยกว่าโดยมีราคาตั้งแต่ไม่กี่ยูโรไปจนถึงหลายพันยูโรในบางประเภทที่ก้าวหน้ามากในระดับอุตสาหกรรม:

  • เครื่องวัดการไหลแบบเครื่องกล: เป็นมิเตอร์ทั่วไปที่ทุกคนมีในบ้านเพื่อวัดค่าน้ำที่พวกเขาใช้ในหน่วยเมตร การไหลจะเปลี่ยนกังหันที่เคลื่อนเพลาที่เชื่อมต่อกับตัวนับเชิงกลที่สะสมการอ่าน เป็นกลไกในกรณีนี้ไม่สามารถรวมเข้ากับ Arduino ได้
  • เครื่องวัดการไหลแบบอัลตราโซนิก- ใช้กันอย่างแพร่หลายในอุตสาหกรรม แต่มีราคาแพงมากสำหรับใช้ในบ้าน คุณสามารถวัดอัตราการไหลตามเวลาที่อัลตร้าซาวด์ผ่านของเหลวที่จะวัดได้
  • มิเตอร์แม่เหล็กไฟฟ้า: มักใช้ในอุตสาหกรรมสำหรับท่อขนาดไม่เกิน 40 นิ้วและแรงดันสูง มีราคาแพงมากและใช้ระบบแม่เหล็กไฟฟ้าในการวัด
  • เครื่องวัดการไหลของกังหันอิเล็กทรอนิกส์: ต้นทุนต่ำและแม่นยำมาก นี่คือสิ่งที่คุณสามารถรวมเข้ากับ Arduino ของคุณได้อย่างง่ายดายและใช้สำหรับสภาพแวดล้อมภายในบ้านด้วย พวกเขาใช้กังหันที่มีใบมีดที่หมุนเมื่อของไหลไหลผ่านและเซ็นเซอร์ Hall effect จะคำนวณการไหลตาม RPM ที่ไปถึงในเทิร์น ปัญหาคือการล่วงล้ำมีแรงดันตกสูงและมีการเสื่อมสภาพในส่วนต่างๆจึงอยู่ได้ไม่นาน ...

เนื่องจากเรามีความสนใจในด้านอิเล็กทรอนิกส์เรากำลังจะศึกษาต่อไป ...

Flowmeters สำหรับ Arduino และหาซื้อได้ที่ไหน

ลอส เครื่องวัดการไหลประเภทอิเล็กทรอนิกส์ที่ใช้ใน Arduinoเช่นเดียวกับ YF-S201, YF-S401, FS300A และ FS400A พวกเขามีตัวเรือนพลาสติกและโรเตอร์ที่มีใบมีดอยู่ข้างในดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ แม่เหล็กที่ยึดกับโรเตอร์และการหมุนโดยผลกระทบของฮอลล์จะกำหนดการไหลหรือปริมาณการใช้ที่กำลังวัดอยู่ตลอดเวลา เอาต์พุตของเซ็นเซอร์จะเป็นคลื่นสี่เหลี่ยมที่มีความถี่เป็นสัดส่วนกับการไหลผ่าน

ปัจจัยการแปลง K ที่เรียกว่าระหว่างความถี่ (Hz) และการไหล (l / min) ขึ้นอยู่กับพารามิเตอร์ที่ผู้ผลิตกำหนดให้กับเซ็นเซอร์ดังนั้นจึงไม่เหมือนกันสำหรับทุกคน ใน เอกสารข้อมูลหรือข้อมูลรุ่น ที่คุณซื้อจะมีค่าเหล่านี้เพื่อให้คุณสามารถใช้ในรหัส Arduino ได้ ความแม่นยำจะไม่เหมือนกันแม้ว่าโดยทั่วไปแล้วสิ่งเหล่านี้สำหรับ Arduino มักจะแตกต่างกันระหว่าง 10% ด้านบนหรือด้านล่างตามการไหลของกระแส

ลอส รุ่นที่แนะนำ เสียง:

  • วายเอฟ-S201: มีการเชื่อมต่อสำหรับท่อ 1/4″ เพื่อวัดการไหลระหว่าง 0.3 ถึง 6 ลิตรต่อนาที ความดันสูงสุดที่ทนได้คือ 0.8 MPa โดยมีอุณหภูมิของเหลวสูงสุดถึง80ºC แรงดันไฟฟ้าทำงานระหว่าง 5-18v.
  • วายเอฟ-S401: ในกรณีนี้การเชื่อมต่อกับท่อคือ 1/2″ แม้ว่าคุณจะสามารถใช้ตัวแปลงได้ตลอดเวลา การไหลจะวัดได้ตั้งแต่ 1 ถึง 30 ลิตร / นาทีโดยมีแรงดันสูงถึง 1.75 MPa และอุณหภูมิของของเหลวสูงถึง80ºC อย่างไรก็ตามแรงดันไฟฟ้ายังคงอยู่ที่ 5-18v
  • FS300A: แรงดันไฟฟ้าเดียวกันและอุณหภูมิสูงสุดเดียวกันกับก่อนหน้านี้ ในกรณีนี้สำหรับท่อ 3/4″ โดยมีอัตราการไหลสูงสุด 1 ถึง 60 ลิตร / นาทีและแรงดัน 1.2 MPa
  • ผลิตภัณฑ์ที่ไม่พบ: มันยังรักษาแรงดันไฟฟ้าและอุณหภูมิสูงสุดตามทางเลือกอื่น ๆ อีกทั้งการไหลและความดันสูงสุดจะเหมือนกับ 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. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา