ฉันจะวัดระดับของถังเก็บน้ำด้วยไมโครคอนโทรลเลอร์ได้อย่างไร
ฉันจะวัดระดับของถังเก็บน้ำด้วยไมโครคอนโทรลเลอร์ได้อย่างไร
คำตอบ:
สมมติว่าคุณทำงานที่นี่บนโลก (ตรงข้ามกับวงโคจร) คุณสามารถใช้เซ็นเซอร์ลอยที่คุณวัดโดยใช้ไมโคร คำถามคือ: คุณจำเป็นต้องรู้ระดับที่แน่นอนหรือคุณเพียงแค่ต้องการการเดินทางเมื่อมันสูง / ต่ำ?
ในธีม 'การเดินทางในระดับที่เฉพาะเจาะจง' คุณจะได้รับสวิตช์เช่นนี้ - โดยทั่วไปการลอยจะมีสวิตช์การตรวจจับทัศนคติบางอย่าง เมื่อระดับน้ำต่ำกว่าระดับน้ำจะลอยอยู่ด้านข้างและสวิตช์จะ 'ปิด' ในขณะที่เพิ่มระดับจะบังคับให้มีการลอยอยู่ในแนวตั้งดังนั้น 'เปิด' เหล่านี้มักจะใช้สำหรับปั๊มหลุม พวกมันค่อนข้างน่าเชื่อถือและจัดการได้ง่ายแม้ว่าคุณจะต้องระมัดระวังในการยึดให้ถูกต้องและคุณต้องแน่ใจว่าไม่มีสิ่งใดเข้ามาขวางได้
หากคุณจำเป็นต้องรู้ระดับที่แท้จริงแล้วคุณจะมีตัวเลือกมากมาย แต่มันก็ง่ายกว่า คุณสามารถไปกับบางสิ่งบางอย่างเช่นเซ็นเซอร์อัลตราโซนิก (ลำแสงอัลตร้าซาวด์ที่ยิงจากด้านบนของถังเพื่อสะท้อนระดับน้ำ)
พวกเหล่านี้ดูเหมือนจะสร้างตัวชี้วัดระดับสำหรับรถถังขนาดใหญ่ซึ่งประกอบด้วยทุ่นและสายน้ำหนักภายนอกเข้าด้วยกัน ในขณะที่ทุ่นลอยขึ้นและลงบนของเหลวตัวบ่งชี้ภายนอกจะเคลื่อนไหวอย่างเหมาะสม คุณสามารถสร้างสิ่งที่คล้ายกันโดยไม่มีอะไรซับซ้อนกว่าโฟโตเซลล์ในการอ่านระดับ (ถ้าเป็นรถถังขนาดใหญ่หรือคุณต้องการความละเอียดมากคุณต้องมีโฟโต้เซลล์จำนวนมาก)
อีกทางเลือกหนึ่งคือใช้ความคิดลอยตัวที่อยู่ในสายเคเบิลคุณสามารถวางวงล้อที่ไม่ทำงานซึ่งเคลื่อนไหวได้ทุกครั้งที่สายเคเบิลเคลื่อนที่ สิ่งนี้จะช่วยให้คุณสามารถติดตามระดับด้วยความแม่นยำสูง
ฉันรู้ว่าหนังสือที่กำลังจะออกเร็ว ๆ นี้Practical Arduinoมีโครงการเซ็นเซอร์ความลึกของถังเก็บน้ำซึ่งใช้ตัวแปลงสัญญาณแรงดันดิฟเฟอเรนเชียลเพื่อวัดแรงดันน้ำที่ด้านล่างของถังและจากการคำนวณว่าถังเต็ม
Schematics อยู่ที่ลิงค์ด้านบนพร้อมกับลิงค์ไปยังซอร์สโค้ดบน GitHub
(การเปิดเผยอย่างเต็มรูปแบบ: ฉันไม่มีความสัมพันธ์กับหนังสือ แต่ได้พบผู้เขียนหนึ่งในสองครั้งที่แฮ็กเกอร์สเปซของเรา)
วิธีที่ฉันชอบ แต่ยังไม่ได้ลองคือใส่แผ่นฉนวนสองแผ่นลงในของเหลว ไม่มีการควบแน่น, ไฟฟ้า, การมีส่วนร่วม ....... พวกเขาสร้างแผ่นของหมวก และถูกใช้ในออสซิลเลเตอร์บางประเภท (เลือกได้ถึงคุณ) เนื่องจากน้ำเป็นมาตรวัดที่ดี frquency ขึ้นอยู่กับปริมาณน้ำระหว่างแผ่นเปลือกโลกอย่างมาก กำหนดความถี่เพื่อให้ได้ความลึก
คุณอาจได้รับผลลัพธ์ที่คล้ายกันโดยใช้สัญญาณ ac และวัดกระแสผ่านหมวก
รายละเอียดเพิ่มเติมจะช่วยได้ แต่ฉันคิดว่าวิธีอุลตร้าโซนิคอาจเป็นวิธีที่ง่ายที่สุดมีแนวคิดอยู่แล้ว (ดังนั้นจึงต้องการรายละเอียดเพิ่มเติม: -]) ฉันเหวี่ยงเซ็นเซอร์ระดับสำหรับถังน้ำมันเชื้อเพลิงในห้องใต้ดินของฉันโดยใช้ MaxSonar ultrasonic transducer ฉันเปลี่ยนไปใช้เซ็นเซอร์ Parallax Ping ทันทีที่ฉันจับมือได้ หน่วย MaxSonar ได้พิสูจน์แล้วว่าเป็นความเจ็บปวด ปรากฎว่ามันมีความละเอียดเพียงหนึ่งนิ้ว (2.54 ซม.) ซึ่งเท่ากับเกือบ 7 แกลลอนในรถถังของฉัน ฉันใส่หน่วย MaxSonar ไว้ในฝา PVC ที่ด้านบนของถังชี้ลง (พ้นจากของเหลว)
วิธีหนึ่งในการทำเช่นนี้คือวางหลอดไฟที่ด้านล่างของถังชี้ไปที่ด้านบนและโฟโตไดโอดที่ด้านบนของถังหันหน้าไปทาง LED ไฟ LED จะถูกลดทอนโดยน้ำในถังคุณจะต้องทำการทดลองเพื่อกำหนดจำนวน นอกจากนี้ยังเป็นการดีที่สุดที่จะใช้ชุดการวัดอย่างรวดเร็วและหาค่าเฉลี่ยเมื่อใช้วิธีนี้
ฉันใช้เซ็นเซอร์แกนราคาถูกจากร้านฮาร์ดแวร์ในพื้นที่ที่มีทรานซิสเตอร์ภาพถ่าย ด้วยการติดกาวนี้ไปที่ด้านข้างของรถถังมันจะรับรู้เมื่อระดับเพิ่มขึ้นเหนือเซ็นเซอร์และแจ้งเตือนเราถึงสภาพน้ำที่สูง
มีหลายวิธีที่น่าแปลกใจในการตรวจสอบระดับ มีเซ็นเซอร์ที่ใช้คลื่นความถี่วิทยุส่งพัลส์ลงคลื่นนำและตรวจจับการสะท้อนออกจากพื้นผิวของของเหลวในถัง มีอัลตร้าซาวด์, ลอย, ท่อ bubbler, ก๊อกแรงดัน ... วิธีการที่ใช้ขึ้นอยู่กับขนาดของถัง, เนื้อหา, สภาพแวดล้อมโดยรอบและปัจจัยอื่น ๆ
ฉันประหลาดใจที่โซลูชันอิเล็กทรอนิกส์ที่ซับซ้อนทั้งหมดที่นี่ฉันจะใช้โพเทนชิออมิเตอร์แบบง่าย คอนโทรลเลอร์ไมโครส่วนใหญ่มีอนาล็อก i / p พื้นฐาน
+V
-----
|
|
/
\
/<----------> to analog i/p
\
|
|
-----
GND
ใช้ลอยวาล์วถังเก็บน้ำมาตรฐาน (อาจมีอยู่แล้ว) ปัญหาที่เหลือคือการเชื่อมต่อลอยไปที่หม้อเพื่อให้ได้วงสวิงสูงสุด (คุณสามารถใช้หม้อเลื่อน)
|-|
| |
|o| <--------Slider pot.
|||
|||
|
| <--------Coupling.
|
____ |
(float)----------o-----o <--Anchor point of float.
----
วิธีที่ง่ายที่สุด
วางท่อเล็ก ๆ ไว้ที่มุมถังที่มีเส้นผ่านศูนย์กลางใหญ่กว่าลูกบอลปิงปองเล็กน้อย
วางหลอด LED อินฟราเรดที่ด้านหนึ่งของหลอดและตัวโฟโตเรสเตอร์ที่อยู่ตรงข้ามกับหลอด LED (โดยการเจาะรูในหลอดของมันทึบแสงหรือวางไว้ด้านนอกถ้าโปร่งใส) กาวร้อนชิ้นส่วนไฟฟ้าเพื่อกันน้ำพวกเขาและวางลูกปิงปองลงในหลอด
เมื่อระดับน้ำเพิ่มขึ้นหรือลดลงจนถึงจุดที่ลูกปิงปองแตกลำแสงอินฟาเรดคุณจะรู้ว่ามันกระทบกับระดับที่ต้องการ สิ่งนี้จะทำงานหากคุณต้องการตัวบ่งชี้ระดับแยก (เปิด / ปิด)
ระบบนี้ยังใช้ในปืนเพนท์บอลที่ออกแบบมาเพื่อป้องกันไม่ให้คุณตัดลูกบอลด้วยการทำให้แน่ใจว่าลูกบอลทั้งหมดอยู่ในห้องยิงก่อนที่จะให้ทริกเกอร์อิเล็กทรอนิกส์แขนแขนโซลินอยด์ยิง
ง่ายมีประสิทธิภาพและต้องการการสอบเทียบเพียงเล็กน้อยหรือไม่มีเลย
สองเซ็นต์ของฉัน: http://www.circuitstoday.com/simple-water-level-idicator
อีกวิธีที่ฉลาดกว่า: ใช้ประโยชน์จากการนำความร้อนที่มากขึ้นของน้ำ (ของเหลว) ความคิดคือการมีเซ็นเซอร์อุณหภูมิและวัดความแตกต่างของความร้อนในตัวเองเมื่อจมอยู่ใต้น้ำและเมื่ออยู่ในอากาศฟรี
วิธีการแก้ปัญหาอื่น (ไม่มีปุนตั้งใจ);
ใช้โพเทนชิออมิเตอร์ตามที่แนะนำข้างต้น ช่วงการหมุนปกติคือ 270 องศา แนบทุ่นกับโพเทนชิออมิเตอร์โดยใช้แขนบูม (ความยาว = 1 หน่วย)
แขนบูมจะเคลื่อนที่ 90 องศา
ADC บน PIC เป็นขั้นตอน 256 หรือ 1024 ขั้นตอน (ใช่ศูนย์เป็นขั้นตอน)
ฉันจะใช้ 256 ขั้นตอนเพื่อความชัดเจน
270 องศา = 256 ADC ขั้นตอน 270/90 = 3 (หนึ่งในสามของช่วงโพเทนชิออมิเตอร์)
255/3 = 85 ADC ขั้นตอน
โปรแกรมรหัสบางอย่างเพื่อทำเครื่องหมายจุด 0 องศา (ว่างเปล่าถัง) เมื่อกดปุ่ม
สิ่งนี้จะเก็บจุดออฟเซ็ตใน PIC eeprom ตอนนี้โพเทนชิออมิเตอร์ไม่จำเป็นต้องอยู่ที่ศูนย์อย่างแน่นอนเพราะสามารถตั้งค่าจุดสอบเทียบนี้ได้
การใช้ตรีโกณมิติคำนวณตารางการค้นหา (hint: php script) เพื่อให้สอดคล้องกับแต่ละขั้นตอนของ ADC
คำแนะนำ: แต่ละขั้นตอน ADC สอดคล้องกับ 90/85 = 1.0588 องศา
ใช่คุณควรให้ความสนใจมากขึ้นในวิชาคณิตศาสตร์ เสียเวลาเป็นใบ้ไม่สามารถรับผิดชอบได้ในตอนนี้ มีส่วนร่วมของสมอง เรียนรู้ตรีโกณมิติ สอนคนอื่น
ตัวย่อ: ชาวอาหรับเก่าแบกกระสอบเฮย์อย่างหนัก
hypontenuse คือความยาวของแขนบูม ทำให้มันยาว 1 หน่วย ตารางการค้นหาจะแสดงเปอร์เซ็นต์ของความลึกของรถถัง (คูณด้วย 100 แน่นอน)
กรุณาตรวจสอบลิงค์ต่อไปนี้:
http://www.edgefxkits.com/contactless-liquid-level-controller
ฉันคิดว่ามันอาจเป็นประโยชน์กับคุณ