เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1: 6 ขั้นตอน
เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1: 6 ขั้นตอน
Anonim
เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1
เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1
เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1
เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1
เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1
เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1
เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1
เครื่องวัดปริมาณน้ำฝนแบบอัลตราโซนิก: Raspebbery Pi Open Weather Station: ตอนที่ 1

สถานีตรวจอากาศ IoT (Internet Of Things) ที่จำหน่ายในเชิงพาณิชย์มีราคาแพงและไม่มีให้บริการทุกที่ (เช่นในแอฟริกาใต้) สภาพอากาศที่รุนแรงกระทบเรา SA กำลังประสบกับความแห้งแล้งที่ยากที่สุดในรอบหลายทศวรรษ โลกกำลังร้อนขึ้น และเกษตรกรต้องดิ้นรนเพื่อสร้างผลกำไร โดยไม่ได้รับการสนับสนุนด้านเทคนิคหรือทางการเงินจากรัฐบาลสำหรับเกษตรกรในเชิงพาณิชย์

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

ฉันตัดสินใจสร้าง Weather Station แบบโอเพ่นซอร์สที่เป็นฮาร์ดแวร์แบบเปิด โดยมีชิ้นส่วนทั่วไปในแอฟริกาใต้อาจเป็นโครงการที่มีประโยชน์มาก และฉันจะสนุกไปกับมัน (และปวดหัวที่ท้าทาย)

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

ตัวเลือกล่าสุดของฉันคือ Ultrasonic Sound sensor เซ็นเซอร์นี้เชื่อมต่อกับด้านบนของมาตรวัดสามารถวัดระยะทางถึงระดับน้ำได้ ฉันแปลกใจมากที่เซ็นเซอร์นี้มีความแม่นยำและราคาถูกมาก (น้อยกว่า 50 ZAR หรือ 4 USD)

ขั้นตอนที่ 1: ชิ้นส่วนที่จำเป็น (ขั้นตอนที่ 1)

คุณจะต้องมีสิ่งต่อไปนี้

1) 1 Raspberry Pi (รุ่นใดก็ได้ ฉันใช้ Pi 3)

2) 1 แผ่นขนมปัง

3) สายจัมเปอร์บางสาย

4) ตัวต้านทานหนึ่งโอห์มและตัวต้านทานสองตัว (หรือ 2.2) โอห์ม

5) ถ้วยยาวเก่าเก็บฝน ฉันพิมพ์ของฉัน (มีสำเนาอ่อน)

6) เกจวัดปริมาณน้ำฝนแบบเก่า (หรือจะออกแบบเองแล้วพิมพ์ก็ได้)

7) เครื่องมือวัดสำหรับวัดมิลลิลิตรหรือตาชั่งต่อน้ำหนักน้ำ

8) เซ็นเซอร์อัลตราโซนิก HC-SR04 (ชาวแอฟริกาใต้สามารถรับได้จาก Communica)

ขั้นตอนที่ 2: สร้างวงจรของคุณ (ขั้นตอนที่ 2)

สร้างวงจรของคุณ (Step 2)
สร้างวงจรของคุณ (Step 2)

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

คุณสามารถหาได้ที่นี่:

www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi

ศึกษามัน สร้างวงจรของคุณ เชื่อมต่อกับ pi ของคุณและเล่นกับรหัสหลาม ตรวจสอบให้แน่ใจว่าคุณสร้างตัวแบ่งแรงดันไฟฟ้าให้ถูกต้อง ฉันใช้ตัวต้านทาน 2.2 โอห์มระหว่าง GPIO 24 และ GND

ขั้นตอนที่ 3: สร้างมาตรวัดของคุณ (ขั้นตอนที่ 3)

Image
Image
สร้างเกจของคุณ (Step 3)
สร้างเกจของคุณ (Step 3)
สร้างเกจของคุณ (Step 3)
สร้างเกจของคุณ (Step 3)

คุณสามารถพิมพ์มาตรวัดของคุณ ใช้มาตรวัดหรือถ้วยที่มีอยู่ เซ็นเซอร์ HC-SR04 จะติดอยู่ที่ด้านบนของถังหลักเกจของคุณ สิ่งสำคัญคือต้องแน่ใจว่าจะแห้งตลอดเวลา

สิ่งสำคัญคือต้องเข้าใจมุมการวัดของเซ็นเซอร์ HC-SR04 ของคุณ คุณไม่สามารถติดเข้ากับด้านบนของเกจวัดปริมาณน้ำฝนแบบดั้งเดิมได้ ปกติถ้วยทรงกระบอกจะทำ ตรวจสอบให้แน่ใจว่ากว้างเพียงพอสำหรับคลื่นเสียงที่เหมาะสมลงไปด้านล่าง ฉันคิดว่าท่อพีวีซีขนาด 75 x 300 มม. จะทำได้ ในการทดสอบว่าสัญญาณผ่านกระบอกสูบของคุณและกระเด้งกลับอย่างถูกต้องหรือไม่ ให้วัดระยะทางจากเซ็นเซอร์ถึงด้านล่างของกระบอกสูบด้วยไม้บรรทัด เปรียบเทียบการวัดนั้นกับระยะทางที่คุณได้รับจากเซ็นเซอร์ TOF (เวลาบิน) ระยะทางโดยประมาณ ไปด้านล่าง

ขั้นตอนที่ 4: การคำนวณและการปรับเทียบ (ขั้นตอนที่ 4)

การคำนวณและการปรับเทียบ (ขั้นตอนที่ 4)
การคำนวณและการปรับเทียบ (ขั้นตอนที่ 4)

ฝน 1 มิลลิเมตร หมายถึงอะไร? ปริมาณน้ำฝน 1 มม. หมายความว่าถ้าคุณมีลูกบาศก์ขนาด 1,000 มม. X 1000 มม. X 1,000 มม. หรือ 1 ม. X 1 ม. X 1 ม. ลูกบาศก์จะมีน้ำฝนลึก 1 มม. หากคุณปล่อยทิ้งไว้ข้างนอกเมื่อฝนตก ถ้าคุณเทน้ำฝนนี้ลงในขวดขนาด 1 ลิตร มันจะเต็มขวด 100% และน้ำจะวัดได้ 1 กก. ด้วย มาตรวัดปริมาณน้ำฝนที่แตกต่างกันมีพื้นที่เก็บกักน้ำต่างกัน หากพื้นที่เก็บกักน้ำของมาตรวัดของคุณคือ 1 ม. X 1 ม. ก็เป็นเรื่องง่าย

นอกจากนี้น้ำ 1 กรัมยังเป็นแบบธรรมดา 1 มล

ในการคำนวณปริมาณน้ำฝนของคุณเป็นมิลลิเมตรจากมาตรวัดของคุณ คุณสามารถทำสิ่งต่อไปนี้หลังจากชั่งน้ำหนักน้ำฝนแล้ว:

W คือน้ำหนักน้ำฝนเป็นกรัมหรือมิลลิลิตร

A คือพื้นที่เก็บกักน้ำของคุณในตาราง mm

R คือปริมาณน้ำฝนทั้งหมดของคุณในหน่วย mm

R = กว้าง x [(1000 x 1000)/A]

มีความเป็นไปได้สองอย่างในการใช้ HC-SR04 เพื่อประมาณค่า W (คุณต้องใช้ W เพื่อคำนวณ R)

วิธีที่ 1: ใช้ฟิสิกส์ธรรมดา

วัดระยะทางจาก HC-SR ไปยังด้านล่างของมาตรวัดของคุณ (คุณกำลังทำในขั้นตอนก่อนหน้านี้ด้วย) ด้วยเซ็นเซอร์โดยใช้การคำนวณ TOF (เวลาของเที่ยวบิน) ในสคริปต์หลามจาก https://www.modmypi com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi โทรซีดีนี้ (ความลึกของกระบอกสูบ)

วัดพื้นที่ด้านล่างของกระบอกสูบด้วยสิ่งที่เหมาะสมในหน่วยตารางมิลลิเมตร เรียกสิ่งนี้ว่า IA

เทน้ำ 2 มล. (หรือปริมาณที่เหมาะสม) ลงในถังของคุณ ใช้เซ็นเซอร์ของเรา ประมาณระยะทางถึงระดับน้ำใหม่เป็นมิลลิเมตร Cal this Dist_To_Water)

ความลึกของน้ำ (WD) ในหน่วย มม. คือ:

WD=CD - Dist_To_Water (หรือความลึกของกระบอกสูบลบด้วยระยะห่างจากเซ็นเซอร์ถึงระดับน้ำ)

ไม่มีน้ำหนักโดยประมาณของน้ำคือ

W=WD x IA เป็นมล. หรือ กรัม (จำ 1 มล. ต่อน้ำหนักน้ำ 1 กรัม)

ตอนนี้คุณสามารถประมาณปริมาณน้ำฝน (R) ในหน่วยมิลลิเมตรด้วย W x [(1000 x 1000)/A] ตามที่อธิบายไว้ก่อนหน้านี้

วิธีที่ 2: ปรับเทียบมิเตอร์ของคุณด้วย Statistics

เนื่องจาก HC-SR04 นั้นไม่สมบูรณ์แบบ (อาจมีข้อผิดพลาดเกิดขึ้น) ดูเหมือนว่าอย่างน้อยที่สุดก็จะมีการวัดค่าคงที่ว่ากระบอกสูบของคุณเหมาะสมหรือไม่

สร้างแบบจำลองเชิงเส้นพร้อมการอ่านค่าเซ็นเซอร์ (หรือระยะเซ็นเซอร์) เป็นตัวแปรตามและน้ำหนักที่ฉีดเป็นตัวแปรตาม

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

ซอฟต์แวร์สำหรับโครงการนี้ยังอยู่ระหว่างการพัฒนา

สคริปต์หลามที่ https://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi ควรใช้งานได้

ไฟล์แนบเป็นแอปพลิเคชั่น python ที่มีประโยชน์ (ใบอนุญาตสาธารณะทั่วไป) ที่พัฒนาโดยฉันเอง

ฉันวางแผนที่จะพัฒนาเว็บอินเตอร์เฟสสำหรับสถานีตรวจอากาศทั้งหมดในภายหลัง แนบคือโปรแกรมบางส่วนของฉันที่ใช้ในการสอบเทียบมิเตอร์และอ่านค่าเซ็นเซอร์

ใช้สคริปต์สอบเทียบแนบเพื่อสอบเทียบมาตรวัดทางสถิติ นำเข้าข้อมูลในสเปรดชีตเพื่อวิเคราะห์

ขั้นตอนที่ 6: ยังคงต้องทำ (ขั้นตอนที่ 6)

จำเป็นต้องใช้โซลินอยด์วาล์วในการล้างถังเมื่อเต็ม (ใกล้กับเซ็นเซอร์)

น้ำฝนสองสามหยดแรกนั้นไม่ได้วัดอย่างถูกต้องเสมอไป โดยเฉพาะอย่างยิ่งหากมาตรวัดไม่ได้ปรับระดับอย่างเหมาะสม ฉันกำลังพัฒนาเครื่องวัด disdro เพื่อจับภาพหยดนี้ได้อย่างถูกต้อง disdro อนาคตของฉันต่อไป

เพิ่มเซ็นเซอร์อัลตราโซนิกตัวที่สองเพื่อวัดผลกระทบของอุณหภูมิบน TOF ฉันจะโพสต์การอัปเดตเกี่ยวกับเรื่องนี้ในไม่ช้า

ฉันพบแหล่งข้อมูลต่อไปนี้ที่อาจช่วยได้

www.researchgate.net/profile/Zheng_Guilin3/publication/258745832_An_Innovative_Principle_in_Self-Calibration_by_Dual_Ultrasonic_Sensor_and_Application_in_Rain_Gauge/links/540d53e00cf2f2b29a-38392bSensor-by-Sensor-by-Sensor-and_Application_in_Rain_Gauge/links/540d53e00cf2f2b29a-38392bSensor-by เครื่องวัดปริมาณน้ำฝน.pdf