กลับไปหน้ารวมไฟล์
orifice-plate-and-fluid-dynamics-4d83ea.md

ฉันเป็นใคร? ทำไมถึงทำโปรเจคนี้?

ฉันเป็นวิศวกรเครื่องกล และโปรเจคนี้คือวิทยานิพนธ์ปริญญาตรีของฉันเองจ้า การสร้าง Orifice Plate ขึ้นมาเองตั้งแต่ต้นเนี่ยไม่ใช่เรื่องง่ายเลยนะ เพราะต้องศึกษาฟิสิกส์เชิงเทคนิค (โดยเฉพาะ Fluid dynamics) อย่างละเอียด แต่ไม่ต้องห่วง! พี่จะพยายามอธิบายให้น้องเข้าใจว่ามันทำงานยังไง และคำนวณมวลการไหลในท่อได้ยังไง

ข้อมูลทั้งหมดอ้างอิงมาจากมาตรฐาน UNI ISO 5167 2003 1 - 2 นะจ๊ะ

หวังว่าโปรเจคนี้จะเป็นประโยชน์กับเพื่อนวิศวะหรือสายวิทย์คนอื่นๆบ้างนะ ถ้ามีคำถามอะไร ก็ถามมาได้เลย ไม่ต้องเกรงใจ!

ต้องรู้อะไรบ้างก่อนเริ่ม?

ฟิสิกส์, Fluid dynamics (เลขเรย์โนลด์, สมการเบอร์นูลลี), การวิเคราะห์เชิงตัวเลข (Numerical Analysis)

ต้องใช้อะไรบ้าง?

  • แผ่น Orifice Plate (มีหลายแบบนะ แต่แบบ "D and D/2 tappings" สร้างง่ายสุด พี่เลยแนะนำตัวนี้ ถ้าอยากรู้จักแบบอื่นๆ ลองไปหาอ่านเพิ่มเติมในมาตรฐาน UNI ISO 5167-1-2 2003 ดูได้)
  • Arduino UNO
  • เซ็นเซอร์วัดความดัน MPX 5050dp
  • เทอร์โมคัปเปิล MAX 6675

มันทำงานยังไง?

Orifice Plate คืออุปกรณ์ที่ใช้คำนวณความเร็วตามแนวแกน (และมวลการไหล) ของของไหลภายในท่อ ตัวอย่างการใช้งานก็เช่น ในโรงไฟฟ้า ห้องแล็บ หรือแม้แต่เครื่องบิน (Pitot Tubes) เลย!

ในโปรเจคนี้ พี่สร้างแบบ "D and D/2 tappings" ขึ้นมา

หนึ่งในกฎฟิสิกส์สำคัญที่เกี่ยวข้องกับกระบวนการนี้ก็คือ "กฎของเบอร์นูลลี"

พี่จะลองอธิบายวิธีประยุกต์ใช้ในกรณีนี้ให้นะ:

V. Mitchell e K. Cheesman, «Gas, tubes and flow», Anaesthesia & Intensive Care Medicine.

ในท่อแนวนอน เราสามารถระบุได้สองด้าน (ในรูปคือด้าน 1 กับ 2) เมื่อพื้นที่หน้าตัดของท่อลดลง ความเร็วตามแนวแกนจะเพิ่มขึ้นจากด้าน 1 ไปด้าน 2 (v1

สมการเป็นแบบนี้จ้า:

Bernoulli's Law

จากนี้เราก็ได้สูตรนี้มา:

Massic flow

โดยที่:

  • qm = มวลการไหล (massic flow)
  • C และ 𝜀 = ค่าสัมประสิทธิ์ปรับแก้ (corrective coefficient)
  • A1 = พื้นที่หน้าตัดเริ่มต้นของท่อ ก่อนลดขนาด
  • A2 = พื้นที่หน้าตัดที่ลดลงแล้ว
  • P1-P2 = ความดันตก (pressure drop)
  • 𝜌 = ความหนาแน่นของของไหล

ค่าความดันตก (P1-P2) และความหนาแน่น (𝜌) จะหาได้จาก Arduino ส่วนค่า C และ qm หาได้จากการวิเคราะห์เชิงตัวเลข และค่า 𝜀 ก็หาได้จากสูตรของมันเอง

ข้อกำหนดการสร้าง (D&D/2 tappings)

จากวิทยานิพนธ์ของพี่ (อ้างอิง UNI ISO 5167 2003) :

UNI ISO 5167 2003-1
  • d = เส้นผ่านศูนย์กลางของรู Orifice
  • D = เส้นผ่านศูนย์กลางของท่อ
  • 𝛽 = d/D
  • ReD = เลขเรย์โนลด์ (Reynold's number) ที่คำนวณด้วย D

พี่เลือกใช้ขนาดตามนี้เลย

สำหรับแผ่น Orifice พี่พิจารณาเส้นผ่านศูนย์กลางสามขนาดคือ: 12.93 mm, 24 mm, และ 31 mm

สูตรสำคัญทั้งหมดที่ใช้

qm [kg/s] =

w (ความเร็วตามแนวแกน) [m/s]= qm/A1

ReD [adim] =

โดยที่ 𝜇 คือความหนืดไดนามิก (dynamic viscosity)

C [adim] =

(โดยที่: L1~1, L'2~0.47, M'2 = 2*L'2/(1-𝛽), A = (19000*𝛽/ReD)^0.8)

และถ้า D<71.12 mm

𝜀 [adim] =

โดยที่ k คือสัมประสิทธิ์การขยายตัวแบบอะเดียแบติก (coefficient of adiabatic expansion) ตัวนี้นะน้อง

วัดค่ากันยังไงล่ะ?

บอกตรงๆ เลยว่าโควิดมันทำลายแผนการ งานเข้าจริงๆ ทำให้พี่ไม่ได้ไปใช้แลปที่ UniMore เลยต้องหันมาใช้พัดลมสร้างการไหลแทน งานนี้เรียกว่า Improvise, Adapt, Overcome จัดไปวัยรุ่น!

ก่อนจะวัดค่าจริงๆ พี่ต้องสร้าง "เกจวัดความดันแบบ U" ขึ้นมาก่อน เพื่อปรับเทียบ (calibrate) เซนเซอร์วัดความดันให้เป๊ะๆ

สุดท้ายแล้ว พี่ก็ปรับความเร็วพัดลมไปเรื่อยๆ ได้ค่าความดันตกคร่อม (pressure drop) ที่ต่างกันออกมา แล้วก็เอามาวิเคราะห์เชิงตัวเลข (numerical analysis) สำหรับแต่ละค่าอีกที งานเข้าแล้ววว!

การวิเคราะห์เชิงตัวเลข (NUMERICAL ANALYSIS)

การคำนวณทั้งหมดพี่ใช้ Excel เป็นพระเอกเลยนะ ง่ายดี ไม่ต้องมานั่งเขียนโค้ดให้ปวดหัว

พี่เอาค่าความดันต่างๆ มาใส่ แล้วก็วิเคราะห์ตัวเลขแยกกันไปเลยสำหรับแต่ละค่า

ขั้นตอนสุดท้ายสี่ข้อนี้ ให้ทำซ้ำไปเรื่อยๆ จนกว่าค่าที่ได้จะลู่เข้า (converge) ภายในขอบเขตความคลาดเคลื่อน (tolerance) ที่เราตั้งไว้ ห้ามช็อตนะตัวนี้!

ตัวอย่างเช่น P1-P2= 1000 Pa, เส้นผ่านศูนย์กลาง d=12.93 mm.

(อ่านจากซ้ายไปขวานะ)

ผลลัพธ์ที่พี่ได้ (MY RESULTS)

สำหรับ d=12.93 mm

สำหรับ d=24 mm

สำหรับ d=31 mm

ความไม่แน่นอนของการวัดอัตราการไหล (UNCERTAINTIES)

ถ้าน้องอยากรู้วิธีคำนวณค่าคลาดเคลื่อน (error) แบบละเอียด พี่แนะนำให้ไปหามาตรฐาน UNI ISO 5167-1 2003 อ่านเล่นๆ ดูนะ งานนี้สูตรมันหน้าตาประมาณนี้:

พี่จะโชว์ค่าความไม่แน่นอนที่พี่คำนวณได้ให้ดูเป็นตัวอย่างเลย

สำหรับ d=12.93 mm

หมายเหตุ: "ro" ในที่นี้คือความหนาแน่น (density) นะน้อง อย่าสับสน

รายละเอียดทางเทคนิคแบบจัดเต็ม (EXPANDED TECHNICAL DETAILS)

การวัดการไหลในอุตสาหกรรม (Industrial Fluid Measurement)

โปรเจคนี้ใช้ Arduino วัดอัตราการไหลของของเหลวหรือก๊าซในท่อ โดยอาศัยหลักการวัดความดันตกคร่อม (differential pressure) งานช่างต้องมี!

  • อินเตอร์เฟสตามหลักของแบร์นูลลี (Bernoulli's Principle Interface): ใช้ เซนเซอร์วัดความดันตกคร่อม MPX5010DP
  • Excel Data Streamer: เชื่อมต่อกับ Microsoft Excel ผ่าน Add-in "Data Streamer" ทำให้สามารถบันทึกข้อมูลความละเอียดสูงและพล็อตกราฟ 3D สำหรับศึกษาพลศาสตร์ของไหลในแลปได้สบายๆ

การสุ่มตัวอย่างความเร็วสูง (High-Speed Sampling)

  • อัลกอริทึมกรองสัญญาณ (Filter Algorithm): ใช้ Moving Average Filter ในเฟิร์มแวร์เพื่อปรับให้ค่าความดันที่อ่านได้จากความปั่นป่วน (turbulent) เรียบขึ้น ทำให้ได้ค่าการไหลที่เสถียรและแม่นยำ งานนี้ต้องฟิลเตอร์ให้เป็นนะ!

ประสบการณ์ของพี่

นี่คือรูปภาพบางส่วนจากโปรเจคในวิทยานิพนธ์ของพี่ ชื่อว่า "Progettazione e realizzazione di un misuratore di portata massica su piattaforma hardware open source" (หรือก็คือการออกแบบและสร้างเครื่องวัดอัตราการไหลเชิงมวลบนแพลตฟอร์มฮาร์ดแวร์โอเพ่นซอร์สนั่นเอง)

Progettazione e realizzazione di un misuratore di portata massica su piattaforma hardware open source.
มองจากด้านบน: เส้นผ่านศูนย์กลาง d=31mm, d=24mm, d=12.93mm
ตัวปรับการไหลให้เป็นเส้นตรง (flow rectifier) สร้างจาก...หลอดดูดน้ำ! (คิดนอกกรอบได้อีก)
ออกแบบด้วย Solidworks 2018 ตัวเป็นๆ

ขอขอบคุณ มหาวิทยาลัย, อาจารย์ทุกท่าน, และผู้ช่วยสอน ที่ให้การสนับสนุนมาโดยตลอด

ข้อมูล Frontmatter ดั้งเดิม

title: "งานวัดฟลูอิคติกส์กับแผ่นออริฟิส! ง่ายแต่เท่ ตึงๆ"
description: "อุปกรณ์นี้คือตัวช่วยคำนวณมวลการไหลในท่อแบบจัดเต็มเลย ใช้ Arduino กับเซนเซอร์วัดความดัน ลงโค้ดแป๊บเดียวก็ได้ผลลัพธ์เทพๆ แล้ว งานง่ายแต่หล่อมาก!"
author: "cicchine_ing"
category: ""
tags:
  - "flow"
  - "engineering"
  - "data"
  - "data analysis"
  - "fluid dynamics"
  - "data collection"
views: 1743
likes: 1
price: 699
difficulty: "Intermediate"
components:
  - "1x MPX5050dp"
  - "1x Arduino UNO"
  - "1x MAX6675"
tools: []
apps:
  - "1x Arduino IDE"
  - "1x MICROSOFT EXCEL"
downloadableFiles:
  - "https://projects.arduinocontent.cc/9d8d8caf-6f53-4d4e-9842-809f73f60690.ino"
  - "https://projects.arduinocontent.cc/9d8d8caf-6f53-4d4e-9842-809f73f60690.ino"
documentationLinks: []
passwordHash: "76d19c7bf8ecbb367cffc4a9e299deb88b094d3ee2b8140e435b38f664ee825f"
encryptedPayload: "U2FsdGVkX19kN1RhmGqnp0OW5TumsdCzTKiGff5qnpYHL1d2UO4+sHBjWJFMAC0vQAz0nI59vyv6X3ltfxsmKY4zAVCeAkuBNC4ujDlArMLgXbpVWbVoTBsqnNGeOeFN"
seoDescription: "Compute mass flow in a pipe using Orifice Plate and Arduino. An easy-to-implement fluid dynamics project for makers."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/orifice-plate-and-fluid-dynamics-4d83ea_cover.jpg"
lang: "en"