สารบัญ:

วิธีอ่าน MPX5010 Differential Pressure Sensor ด้วย Arduino: 5 ขั้นตอน
วิธีอ่าน MPX5010 Differential Pressure Sensor ด้วย Arduino: 5 ขั้นตอน

วีดีโอ: วิธีอ่าน MPX5010 Differential Pressure Sensor ด้วย Arduino: 5 ขั้นตอน

วีดีโอ: วิธีอ่าน MPX5010 Differential Pressure Sensor ด้วย Arduino: 5 ขั้นตอน
วีดีโอ: How to Connect Differential Pressure Sensor (MPX5010DP) with Arduino 2024, พฤศจิกายน
Anonim
วิธีอ่าน MPX5010 Differential Pressure Sensor ด้วย Arduino
วิธีอ่าน MPX5010 Differential Pressure Sensor ด้วย Arduino

วิธีที่ฉันเขียนโค้ดคือเปลี่ยนได้ง่ายเพื่อให้เหมาะกับเซ็นเซอร์ความดันแบบอื่น เพียงเปลี่ยนตัวแปร const ต่อไปนี้ในโค้ดตามค่าจากแผ่นข้อมูลสำหรับเซ็นเซอร์ความดันใดๆ:

  • ค่า "sensorOffset" เป็น mV
  • ค่า "ความไว" ในหน่วย mV/mmH2O

เมื่อฉันได้เซ็นเซอร์ความดันนี้ ฉันมองไปรอบๆ ทางออนไลน์เพื่อลองค้นหาโค้ดตัวอย่างเพื่อแยกการอ่านค่าความดันจากเซ็นเซอร์นี้เป็นหน่วยความดันจริง KPa หรือ cmH2O ฉันพบโค้ดตัวอย่างหนึ่งโค้ดสำหรับเซ็นเซอร์ที่แน่นอนนี้ หลังจากเรียกใช้แล้ว ฉันสังเกตเห็นว่าค่าที่อ่านไม่ตรงกับที่ควรจะเป็นในแผ่นข้อมูล ดังนั้นฉันจึงตัดสินใจเขียนการคำนวณของตัวเองและโค้ดของฉันเอง… มันดูเก่าแต่ได้ผล เย่!! ดังนั้นฉันจึงคิดว่าฉันจะแบ่งปันกับคนทั้งโลกเพื่อที่คนอื่นจะได้ไม่ต้องผ่านความเจ็บปวดแบบเดียวกัน

สนุก!!

เสบียง

คุณจะต้องการ:

  • เซ็นเซอร์ความดัน MPX5010 (แน่นอน)
  • Arduino, Uno หรืออื่นๆ
  • ท่อซิลิกอนบางส่วน (เพื่อเชื่อมต่อจากเซ็นเซอร์ความดันกับก๊อกแรงดัน)
  • สายรัดขนาดเล็ก (สำหรับยึดสายยางซิลิโคน)
  • ท่อทองเหลืองหรือพลาสติกขนาดเล็ก 2 มม. (ฉันใช้หลอดจากกระป๋อง WD40)
  • เทปฉนวนบางชนิด (จำเป็นเฉพาะในกรณีที่ท่อซิลิกอนของคุณใหญ่เกินไปสำหรับท่อ WD40 ของคุณ)

ขั้นตอนที่ 1: เชื่อมต่อวงจร

ต่อวงจร
ต่อวงจร
ต่อวงจร
ต่อวงจร

ดูภาพการเชื่อมต่อที่ง่ายสุด ๆ

ขั้นตอนที่ 2: เชื่อมต่อเซ็นเซอร์ความดัน

เชื่อมต่อเซ็นเซอร์ความดัน
เชื่อมต่อเซ็นเซอร์ความดัน
เชื่อมต่อเซ็นเซอร์ความดัน
เชื่อมต่อเซ็นเซอร์ความดัน
เชื่อมต่อเซ็นเซอร์ความดัน
เชื่อมต่อเซ็นเซอร์ความดัน
  • ต่อสายยางซิลิกอนของคุณเข้ากับพอร์ตเซ็นเซอร์ความดัน ใช้สายรัดหากคุณต้องการปิดผนึกอย่างดี
  • เจาะรู 2 มม. ในท่อที่คุณต้องการรับรู้ความกดอากาศ
  • ดันท่อ WD40 เข้าไปในรู มันควรจะแน่นพอดี ใช้กาวซุปเปอร์กาวเล็กน้อยเพื่อทำให้ซีลสมบูรณ์
  • เลื่อนสายยางซิลิกอนของคุณเหนือท่อ WD40 (ฉันต้องพันเทปฉนวนรอบท่อเพื่อให้พอดี) แล้วติดเคเบิ้ลไทร์เล็กๆ

ขั้นตอนที่ 3: อัปโหลดรหัส

อัปโหลดรหัส
อัปโหลดรหัส
อัปโหลดรหัส
อัปโหลดรหัส

อัปโหลดรหัสของฉันไปยัง Arduino จากนั้นคลิกที่เทอร์มินัลอนุกรมเพื่อดูตัวเลข (ปุ่มที่มีสัญลักษณ์แว่นขยายที่ด้านบนขวาของหน้าจอ)

คุณควรเห็นเวลาเป็นมิลลิวินาที ตามด้วย ', ' ตามด้วยค่าความดัน

คุณมีตัวเลือกในโค้ดในการคำนวณตัวเลขเป็น kPa หรือ cmH2O เพียงใส่ความคิดเห็นในบรรทัดที่คุณไม่ต้องการ

เพิ่ม "delay(500);" หากคุณต้องการชะลอการอ่านเพื่อให้พร้อมบนเครื่องอ่านง่ายขึ้น

วิธีที่ฉันเขียนโค้ดคือเปลี่ยนได้ง่ายเพื่อให้เหมาะกับเซ็นเซอร์ความดันแบบอื่น เพียงเปลี่ยนตัวแปร const ต่อไปนี้ในโค้ดตามค่าจากแผ่นข้อมูลสำหรับเซ็นเซอร์ความดันใดๆ:

  • ค่า "sensorOffset" เป็น mV
  • ค่า "ความไว" ในหน่วย mV/mmH2O

ขั้นตอนที่ 4: แยกค่าเซ็นเซอร์ไปยัง Excel

แยกค่าเซ็นเซอร์ไปยัง Excel
แยกค่าเซ็นเซอร์ไปยัง Excel
แยกค่าเซ็นเซอร์ไปยัง Excel
แยกค่าเซ็นเซอร์ไปยัง Excel
แยกค่าเซ็นเซอร์ไปยัง Excel
แยกค่าเซ็นเซอร์ไปยัง Excel
แยกค่าเซ็นเซอร์ไปยัง Excel
แยกค่าเซ็นเซอร์ไปยัง Excel
  1. บันทึกการอ่านบางส่วนในเทอร์มินัลอนุกรม Arduino ของคุณ ควรอยู่ในรูปแบบ: "time(ms), pressure reading"
  2. ถอดปลั๊กสาย USB
  3. เลือกค่าทั้งหมดจากเทอร์มินัลอนุกรมของคุณและคัดลอก
  4. วางลงใน Notepad
  5. คลิกไฟล์>บันทึกเป็น
  6. พิมพ์ชื่อไฟล์ของคุณแล้วเปลี่ยนนามสกุลเป็น ".csv" (สำคัญมาก) แล้วบันทึก
  7. เปิดตัวสำรวจไฟล์แล้วคุณจะเห็นไฟล์ที่มีโลโก้ Excel อยู่ (หมายความว่าคุณสร้างไฟล์.csv อย่างถูกต้อง)
  8. ดับเบิลคลิกที่ไฟล์.csv ใหม่ของคุณ แล้วไฟล์จะเปิดขึ้นใน Excel และควรจัดเรียงค่าของคุณเป็นสองคอลัมน์แยกกันโดยอัตโนมัติ และกำจัดเครื่องหมายจุลภาค (นั่นเป็นสาเหตุที่ไฟล์.csv ดีมาก!)

จากนั้นคุณสามารถสร้างกราฟความกดดันเมื่อเวลาผ่านไปหรืออะไรก็ได้ที่คุณต้องการ

BTW: CSV ย่อมาจาก "ค่าที่คั่นด้วยจุลภาค"

ขั้นตอนที่ 5: Extra Nerdy Bit

บิตเนิร์ดพิเศษ
บิตเนิร์ดพิเศษ
บิตเนิร์ดพิเศษ
บิตเนิร์ดพิเศษ

ทำได้ดีมากที่ทำให้มันมาไกลขนาดนี้! ซึ่งหมายความว่าคุณผ่านการทดสอบเนิร์ดแล้ว และเพื่อเป็นรางวัล ฉันจะบอกรายละเอียดทางเทคนิคบางอย่างให้คุณทราบ

ดังนั้นฉันจึงพูดถึงในตอนต้นเกี่ยวกับโค้ดตัวอย่างที่ฉันพบสำหรับเซ็นเซอร์ที่แน่นอนซึ่งให้ค่าที่ไม่ถูกต้องกับฉัน ในการตรวจสอบ ฉันใช้สมการของพวกเขาในการคำนวณจุดสองสามจุดบนกราฟการตอบสนอง (ที่แนบมา) จากแผ่นข้อมูล และฉันพบว่าสิ่งเหล่านี้ไม่ตรงกับกราฟ ดังนั้นฉันจึงสร้างการคำนวณของฉันเองและอ้างอิงกับกราฟบนแผ่นข้อมูลเพื่อพิสูจน์ว่ามันใช้งานได้ในทางทฤษฎี จากนั้นฉันอ่านบันทึกข้อมูลด้วยทั้งโค้ดและกราฟที่วางซ้อน ซึ่งฉันได้แนบมาด้วย

ในกราฟที่แนบมา เส้นสีน้ำเงินคือโค้ดตัวอย่างที่ฉันพบ และเส้นสีแดงคือโค้ดของฉัน ปัญหานั้นชัดเจนพอสมควรเมื่อดูกราฟเนื่องจากโค้ดตัวอย่างเว็บไม่ได้วัดค่า 0 ที่สภาพแวดล้อม ซึ่งควรทำเพราะเรากำลังวัดความดันส่วนต่าง

โอเค มันไม่ได้ดูไฮเทคจนเกินไป ขอโทษที่ทำให้ผิดหวัง แต่หวังว่าคุณจะสนุกกับมันอยู่ดี:)

แนะนำ: