สารบัญ:

UltraV: เครื่องวัดดัชนีรังสียูวีแบบพกพา: 10 ขั้นตอน (พร้อมรูปภาพ)
UltraV: เครื่องวัดดัชนีรังสียูวีแบบพกพา: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: UltraV: เครื่องวัดดัชนีรังสียูวีแบบพกพา: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: UltraV: เครื่องวัดดัชนีรังสียูวีแบบพกพา: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: วิธีใช้งานเครื่องทดสอบรังสี UV และ เลนส์เปลี่ยนสีออโต้ 2024, กรกฎาคม
Anonim
UltraV: เครื่องวัดดัชนีรังสียูวีแบบพกพา
UltraV: เครื่องวัดดัชนีรังสียูวีแบบพกพา

เนื่องจากปัญหาทางผิวหนังไม่สามารถตากแดดได้ ฉันจึงใช้เวลาบนชายหาดเพื่อสร้างเครื่องวัดรังสีอัลตราไวโอเลต อุลตร้าวี

มันถูกสร้างขึ้นบน Arduino Nano rev3 พร้อมเซ็นเซอร์ UV, ตัวแปลง DC/DC เพื่อเพิ่มแรงดันแบตเตอรี่ 3v และจอแสดงผล OLED ขนาดเล็ก เป้าหมายหลักของฉันคือทำให้มันพกพาได้ เพื่อให้ฉันสามารถรู้ดัชนี UV ได้อย่างง่ายดายในทุกช่วงเวลาและทุกที่

ขั้นตอนที่ 1: ชิ้นส่วนและส่วนประกอบ

  • ไมโครคอนโทรลเลอร์ Arduino Nano rev.3
  • ML8511 ยูวีเซ็นเซอร์
  • จอแสดงผล OLED ขนาด 128 × 64 (SSD1306)
  • MT3608 DC-DC สเต็ปอัพ
  • แบตเตอรี่ CR2
  • ที่ใส่แบตเตอรี่ CR2
  • สวิตซ์
  • ตู้เคส

ขั้นตอนที่ 2: เซ็นเซอร์

เซ็นเซอร์
เซ็นเซอร์
เซ็นเซอร์
เซ็นเซอร์

ML8511 (Lapis Semiconductors) เป็นเซ็นเซอร์ UV ซึ่งเหมาะสำหรับการรับความเข้มของรังสียูวีในร่มหรือกลางแจ้ง ML8511 มาพร้อมกับแอมพลิฟายเออร์ภายใน ซึ่งจะแปลงกระแสไฟฟ้าจากภาพถ่ายเป็นแรงดันไฟฟ้าขึ้นอยู่กับความเข้มของรังสียูวี คุณลักษณะเฉพาะนี้มีอินเทอร์เฟซที่ง่ายกับวงจรภายนอก เช่น ADC ในโหมดปิดเครื่อง กระแสไฟสแตนด์บายโดยทั่วไปคือ 0.1µA ซึ่งทำให้อายุการใช้งานแบตเตอรี่ยาวนานขึ้น

คุณสมบัติ:

  • โฟโตไดโอดไวต่อรังสี UV-A และ UV-B
  • แอมพลิฟายเออร์ในตัว
  • เอาท์พุทแรงดันอนาล็อก
  • กระแสไฟต่ำ (ประเภท 300µA) และกระแสไฟสแตนด์บายต่ำ (ประเภท 0.1µA)
  • แพ็คเกจติดตั้งบนพื้นผิวขนาดเล็กและบาง (4.0 มม. x 3.7 มม. x 0.73 มม., QFN เซรามิก 12 พิน)

น่าเสียดายที่ฉันไม่มีโอกาสพบวัสดุที่โปร่งใสด้วยรังสียูวีเพื่อปกป้องเซ็นเซอร์ ฝาครอบโปร่งใสชนิดใดก็ตามที่ฉันทดสอบ (พลาสติก แก้ว ฯลฯ) ได้ทำให้การวัดค่า UV อ่อนลง ตัวเลือกที่ดีกว่าน่าจะเป็นแก้วซิลิกาผสมควอตซ์ แต่ฉันไม่พบสิ่งใดในราคาที่สมเหตุสมผล ดังนั้นฉันจึงตัดสินใจทิ้งเซ็นเซอร์ไว้นอกกล่องในที่โล่ง

ขั้นตอนที่ 3: การดำเนินการ

ปฏิบัติการ
ปฏิบัติการ

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

ในส่วนล่างซ้ายของจอแสดงผล มีการรายงานระบบการตั้งชื่อเทียบเท่าของ WHO (ต่ำ ปานกลาง สูง สูงมาก มากสุด) สำหรับดัชนีรังสียูวีที่วัดได้

ขั้นตอนที่ 4: แรงดันแบตเตอรี่และการอ่าน

ฉันเลือกแบตเตอรี่ CR2 สำหรับขนาดและความจุ (800 mAh) ฉันใช้ UltraV ตลอดฤดูร้อนและแบตเตอรี่ยังคงอ่านค่า 2.8 v ดังนั้นฉันจึงค่อนข้างพอใจกับตัวเลือกนี้ เมื่อทำงาน วงจรจะระบายออกประมาณ 100 mA แต่การวัดการอ่านจะใช้เวลาไม่เกินสองสามวินาที เนื่องจากแรงดันไฟฟ้าของแบตเตอรี่คือ 3v ฉันจึงเพิ่มตัวแปลงสเต็ปอัพ DC-DC เพื่อให้แรงดันไฟฟ้าสูงถึง 9 โวลต์และเชื่อมต่อกับพิน Vin

เพื่อให้แสดงแรงดันไฟฟ้าของแบตเตอรี่บนจอแสดงผล ฉันใช้อินพุตแบบอะนาล็อก (A2) อินพุตอนาล็อกของ Arduino สามารถใช้วัดแรงดัน DC ระหว่าง 0 ถึง 5V ได้ แต่เทคนิคนี้ต้องมีการสอบเทียบ ในการดำเนินการสอบเทียบ คุณจะต้องใช้มัลติมิเตอร์ ขั้นแรกให้จ่ายไฟให้กับวงจรด้วยแบตเตอรี่ก้อนสุดท้ายของคุณ (CR2) และอย่าใช้พลังงาน USB จากคอมพิวเตอร์ วัด 5V บน Arduino จากตัวควบคุม (พบบนขา Arduino 5V): แรงดันไฟฟ้านี้ใช้สำหรับแรงดันอ้างอิง Arduino ADC โดยค่าเริ่มต้น ตอนนี้ใส่ค่าที่วัดได้ลงในร่างดังนี้ (สมมติว่าฉันอ่าน 5.023):

แรงดันไฟฟ้า = ((ยาว)ผลรวม / (ยาว)NUM_SAMPLES * 5023) / 1024.0;

ในภาพร่าง ฉันกำลังใช้การวัดแรงดันไฟฟ้าเป็นค่าเฉลี่ยมากกว่า 10 ตัวอย่าง

ขั้นตอนที่ 5: แผนผังและการเชื่อมต่อ

แผนผังและการเชื่อมต่อ
แผนผังและการเชื่อมต่อ

ขั้นตอนที่ 6: ซอฟต์แวร์

สำหรับจอแสดงผล ฉันใช้ U8g2lib ซึ่งยืดหยุ่นและทรงพลังมากสำหรับจอแสดงผล OLED ประเภทนี้ ทำให้มีแบบอักษรให้เลือกมากมายและฟังก์ชันการจัดตำแหน่งที่ดี

เกี่ยวกับการอ่านแรงดันไฟฟ้าจาก ML8511 ฉันใช้พินอ้างอิง Arduino 3.3v (แม่นยำภายใน 1%) เป็นฐานสำหรับตัวแปลง ADC ดังนั้นโดยการแปลงแอนะล็อกเป็นดิจิทัลบนพิน 3.3V (โดยเชื่อมต่อกับ A1) แล้วเปรียบเทียบการอ่านนี้กับค่าที่อ่านได้จากเซ็นเซอร์ เราสามารถคาดการณ์การอ่านที่สมจริง ไม่ว่า VIN จะเป็นอย่างไร (ตราบใดที่มันสูงกว่า 3.4V)

int uvLevel = AverageAnalogRead(UVOUT);int refLevel = averageAnalogRead(REF_3V3);float outputVoltage = 3.3 / refLevel * uvLevel;

ดาวน์โหลดรหัสเต็มจากลิงค์ต่อไปนี้

ขั้นตอนที่ 7: กรณีสิ่งที่ส่งมาด้วย

กล่องใส่เอกสาร
กล่องใส่เอกสาร

หลังจากทดสอบ (ไม่ดี) หลายครั้งเกี่ยวกับการตัดหน้าต่างแสดงผลสี่เหลี่ยมบนกล่องพลาสติกเชิงพาณิชย์ด้วยตนเอง (ไม่ดี) หลายครั้ง ฉันตัดสินใจออกแบบเองสำหรับหน้าต่างนี้ ดังนั้น ด้วยแอปพลิเคชัน CAD ฉันจึงออกแบบกล่องและเพื่อให้มีขนาดเล็กที่สุด ฉันจึงติดตั้งแบตเตอรี่ CR2 ภายนอกที่ด้านหลัง (โดยติดที่ใส่แบตเตอรี่ไว้ที่ตัวกล่อง)

ดาวน์โหลดไฟล์ STL สำหรับกล่องหุ้มจากลิงค์ต่อไปนี้

ขั้นตอนที่ 8: การปรับปรุงในอนาคตที่เป็นไปได้

  • ใช้ยูวีสเปกโตรมิเตอร์เพื่อวัดค่าดัชนีรังสียูวีแบบเรียลไทม์จริงภายใต้สภาวะต่างๆ (ยูวีสเปกโตรมิเตอร์มีราคาแพงมาก)
  • บันทึกเอาต์พุตจาก ML8511 พร้อมกันด้วยไมโครคอนโทรลเลอร์ Arduino
  • เขียนอัลกอริธึมเพื่อเชื่อมโยงเอาต์พุต ML8511 กับค่า UVI จริงแบบเรียลไทม์ภายใต้สภาวะบรรยากาศที่หลากหลาย

ขั้นตอนที่ 9: แกลเลอรี่ภาพ

แกลเลอรี่ภาพ
แกลเลอรี่ภาพ
แกลเลอรี่ภาพ
แกลเลอรี่ภาพ
แกลเลอรี่ภาพ
แกลเลอรี่ภาพ

ขั้นตอนที่ 10: เครดิต

  • คาร์ลอส ออร์ท:
  • ฟอรัม Arduino:
  • สตาร์ทอิเล็กทรอนิกส์:
  • U8g2lib:
  • องค์การอนามัยโลก ดัชนี UV:

แนะนำ: