ฉันต้องการแบ่งปันของฉัน homebrew กิ่งที่ให้บริการฉันมานานกว่าหนึ่งปีแล้ว
เริ่มต้นแบบ Arduinoฉันคิดเกี่ยวกับโครงการที่จะใช้ ฉันจำได้ว่าฉันมีพืชในร่มมากมายที่ลืมน้ำเป็นระยะและปัญหาของการรดน้ำในช่วงวันหยุดและการเดินทางเพื่อธุรกิจมีสถานที่ที่จะเป็น
ระบบประกอบด้วยส่วนประกอบต่อไปนี้:
ชุดควบคุมเป็นหัวใจของระบบ นี่คือแบตเตอรี่ Arduino โมดูลเวลา DS3231 หน้าจอตัวแปลงแรงดันไฟฟ้าและการควบคุม
ใกล้กับพืชเป็นกระป๋องน้ำ มีปั๊มจุ่มอยู่ในกระป๋องที่ปั๊มน้ำผ่านท่อเข้าไปในพืช
การกระจายน้ำระหว่างพืชสามารถปรับได้อีกโดยใช้หวีที่มีก๊อก
องค์ประกอบทางเทคนิคทั้งหมดของระบบสามารถซ่อนอยู่หลังม่านและกระถางเพื่อไม่ให้มองเห็นได้ชัดเจน
ภาพรวมของระบบ:
พารามิเตอร์ระบบคีย์:
1. อายุแบตเตอรี่ประมาณ 5 เดือน
2. ระบบรองรับการควบคุม 3 ปั๊ม สำหรับปั๊มแต่ละตัวคุณสามารถเชื่อมต่อหวีกับ 2-4 ก๊อกและควบคุมการไหลของน้ำเพิ่มเติม โดยรวมเราได้รับโอกาสเชื่อมต่อกันถึง 12 โรงงาน
3. เวลานำมาจากโมดูลนาฬิกาอิสระแยก DS3231 เครื่องสูบน้ำจะทำงานเมื่อชั่วโมงที่ระบุในการตั้งค่า (เช่น 8:00)
4. หน้าจอแสดงข้อมูล
5. การตั้งค่าการรดน้ำจะระบุไว้ในรหัสโปรแกรมพวกเขาสามารถเปลี่ยนแปลงได้โดย reflashing Arduino
คำอธิบายของข้อมูลที่แสดงบนหน้าจอ:
บรรทัดแรกคือส่วนหัวของตาราง แต่ละแถวจะแสดงข้อมูลเกี่ยวกับปั๊มที่เกี่ยวข้อง คอลัมน์แรก - แสดงระยะเวลาการทำงาน (PR) ตัวอย่างเช่นด้วยค่า "5" - ปั๊มจะทำงานทุก 5 วัน คอลัมน์ที่สองคือชั่วโมงการทำงาน (PD) - ชั่วโมงที่จุดเริ่มต้นที่ปั๊มจะเปิด คอลัมน์ที่สามคือเวลาทำงาน (BP) - เวลาทำงานของปั๊มเป็นวินาที คอลัมน์ที่สี่ - วันที่เหลือ (ก่อนก่อน) - แสดงจำนวนวันที่เหลือจนกว่าการดำเนินการครั้งต่อไป แสดงวันที่และเวลา
ระบบไม่มีข้อเสนอแนะดังนั้นการตั้งค่าจะต้องเลือกสังเกตุ ที่ดีที่สุดคือการจัดกลุ่มพืชที่อยู่ใกล้ในแง่ของความต้องการรดน้ำ (บางคนทนแล้งได้ดีในขณะที่คนอื่นชอบรดน้ำมากมาย) และขนาดของหม้อ
การตั้งค่ามีดังนี้โดยประมาณ: ทุกๆ 5 วันเปิดปั๊มเวลา 8:00 น. เป็นเวลา 30 วินาที
ด้านล่างจะมีการระบุในส่วนของรหัสการตั้งค่าเหล่านี้
ในรหัสโปรแกรมคุณสามารถปิดการทำงานของปั๊มที่ 2 และ 3 ในกรณีนี้ข้อมูลจะปรากฏเฉพาะที่ปั๊มที่รวมอยู่เท่านั้น
มั่นใจในความอิสระโดย:
•ขับเคลื่อนด้วยแบตเตอรี่ 18650
• Arduino และเข้าสู่โหมดสลีปลึก (Powerdown) และตื่นขึ้นมาโดยWatсhdog
•ตัวปรับแรงดันไฟฟ้า Arduino ออกจากขาซ้ายเล็กน้อย
•ปิดจอแสดงผลระหว่างการใช้งาน ในการเปิดใช้งานจอแสดงผลคุณจะต้องกดปุ่มสลีปค้างไว้ประมาณ 10 วินาที
•ไฟ LED แสดงสถานะทั้งหมดจะถูกลบออกจากโมดูล
ระบบใช้งานประมาณ 3 mA และ 1 ปั๊มใช้งานประมาณ 350 mA ในการทำงาน
รายละเอียดหลัก:
•ภาชนะบรรจุอาหารเพื่อที่อยู่อาศัย
•โคลนนาโน Arduino จีน
•โมดูล DS3231 ตามเวลาจริง
• 18650 แบตเตอรี่
•เพิ่มโมดูลได้ถึง 5V (ปัจจุบันประมาณ 1 A)
•ลดโมดูลได้สูงสุด 3.3V เพื่อให้พลังงานแก่จอภาพ
•จอแสดงผล Nokia 5110
•โมดูล TP4056 สำหรับการชาร์จ (+ การป้องกัน) แบตเตอรี่
•ตัวบ่งชี้การชาร์จแบตเตอรี่
• "frizz" แบบต่างๆ: ทรานซิสเตอร์ชนิด field-effect, resistors, capacitors (อิเล็กโทรไลต์และเซรามิก)
•สวิทช์และปุ่ม
การติดตั้ง "แบบแผน" ของอุปกรณ์:
คำอธิบายตามรูปแบบ:
1. 4 18650 แบตเตอรี่เชื่อมต่อแบบขนาน กำลังการผลิตรวมประมาณ 13000 mA / h
2. แบตเตอรี่เชื่อมต่อกับแท่นชาร์จและโมดูลป้องกัน TP4056 การชาร์จคือผ่านช่องเสียบ micro USB จากการชาร์จโทรศัพท์ จำเป็นต้องมีการชาร์จด้วยกระแสอย่างน้อย 1A เวลาโดยประมาณสำหรับการชาร์จเต็มคือ 13-14 ชั่วโมง ไฟ LED แสดงสถานะสามารถกระพริบและแสดงบนตัวเครื่องได้
3. ถัดไปตัวแปลงบูสเตอร์ถึง 5V เชื่อมต่อผ่านสวิตช์ มันจะเพิ่มกำลังส่วนประกอบของวงจรส่วนใหญ่รวมถึงปั๊ม เมื่อระดับประจุแบตเตอรี่ลดลงแรงดันไฟฟ้าจะลดลงจาก 4.2V เป็น 2.7V ซึ่งไม่เพียงพอสำหรับการทำงานของวงจร โมดูลจะให้แรงดันไฟฟ้าที่มีเสถียรภาพ ตัวกรองที่ทำจากอิเล็กโตรไลติกและตัวเก็บประจุเซรามิกจะถูกวางไว้ที่เอาท์พุทของโมดูล ตัวเก็บประจุด้วยไฟฟ้าทำหน้าที่ปรับให้เรียบและมีเสถียรภาพ ตัวเก็บประจุเซรามิกถูกนำมาใช้เพื่อต่อสู้กับสัญญาณรบกวนความถี่สูง หากโมดูล "ส่งเสียงบี๊บ" ตัวเหนี่ยวนำในระหว่างการใช้งานเพื่อกำจัดปรากฏการณ์นี้ตัวเก็บประจุด้วยไฟฟ้าเพิ่มเติมสามารถวางที่อินพุตของโมดูล ตัวเก็บประจุด้วยไฟฟ้าที่มีความจุ 1,000 microfarads ที่ 6.3V ตัวเก็บประจุแบบเซรามิกมีความเหมาะสมตั้งแต่ 1-2 microfarads วงจรใช้ที่ 10 ยูเอฟเพราะฉันมีจำนวนมากพิเศษ
4. ในการจ่ายไฟให้กับจอแสดงผลคุณจำเป็นต้องมีแรงดันไฟฟ้า 3.3V ดังนั้นจึงมีการเพิ่มตัวแปลงบั๊กพร้อมฟิลเตอร์ที่คล้ายกันจากตัวเก็บประจุ
5. โมดูลนาฬิกา DS3231 ซึ่งจำเป็นสำหรับการจับเวลาที่แม่นยำยิ่งขึ้น ไฟ LED (1) ถูกบัดกรีในโมดูล DS3231 ทำเพื่อการประหยัดพลังงาน หากคุณใช้แบตเตอรี่ธรรมดา (ไม่สามารถชาร์จใหม่ได้) คุณจะต้องปลดตัวต้านทาน (2) โมดูลได้รับการออกแบบสำหรับแบตเตอรี่แบบชาร์จใหม่ได้รวมถึงการชาร์จ หากแบตเตอรี่เป็นปกติกระแสการชาร์จจะทำให้ใช้งานไม่ได้อย่างรวดเร็ว
6. สมองหลักของระบบคือแพลตฟอร์มนาโน Arduino เพื่อจุดประสงค์ในการประหยัดพลังงานคุณจะต้องยกเลิกการติดตั้ง LED ทั้งหมด (หรืออย่างน้อยก็แค่ Power) รวมถึงการกัดขาซ้ายของตัวควบคุมแรงดันไฟฟ้า
7. ปั๊มจะถูกควบคุมผ่านทรานซิสเตอร์ผลสนาม ใด ๆ ที่เปิดด้วยแรงดัน 5V และมีความสามารถในการสลับกระแสจาก 1A จะทำ ตอนแรกฉันใช้อุปกรณ์สำเร็จรูป ฉันบัดกรีแบตเตอรี่ของสนามแม่เหล็ก + ตัวต้านทาน (100 โอห์มเพื่อปกป้อง Arduino, 10k Ohm เพื่อดึงชัตเตอร์ของทรานซิสเตอร์ไปที่พื้นเพื่อให้มอสเฟตปิด) + บัดกรีบัดกรี KF 301-2P เพื่อแก้ไขสายไฟ
ต่อมาทำให้แบตเตอรี่มีขนาดกะทัดรัดมากขึ้นใน mos34 ของ SMD AO3400
ที่ไหนสักแห่งในครึ่งปี 2 ทรานซิสเตอร์ผลฟิลด์ล้มเหลว เหตุผลก็คือในโหมดเบรกมอเตอร์ตัวสะสมทำงานเหมือนเครื่องกำเนิดไฟฟ้า เพื่อปกป้องทรานซิสเตอร์สนามแม่เหล็กคุณต้องใช้ไดโอดป้องกัน ฉันใช้ 1N4007
8. หน้าจอแสดงข้อมูลทั้งหมด ในการปลุกจอแสดงผลคุณต้องกดปุ่มค้างไว้นานถึง 10 วินาที หากคุณเปลี่ยนนาทีเป็นชั่วโมงระบบจะเข้าสู่โหมดสลีปและหน้าจอจะดับลง
กระบวนการสร้าง:
การทดสอบครั้งแรกบนเขียงหั่นขนมและเขียนเฟิร์มแวร์
ถัดไปเชื่อมต่อทุกสิ่งด้วยการติดตั้งแบบบานพับ
หยิบขึ้นมาร่างกายและทดสอบกับปั๊มจริง
ฉันเจาะรูในกล่องวาดทุกอย่างด้วยไพรเมอร์สีดำด้านและยึดส่วนประกอบเข้ากับกาวร้อนละลาย
จุดประกอบเพิ่มเติม:
•ภาชนะบรรจุน้ำจะต้องอยู่ด้านล่างหม้อเสมอมิฉะนั้นมีความเสี่ยงที่น้ำจะไหลต่อหลังจากปิดปั๊ม
•ระยะห่างจากด้านล่างของภาชนะถึงปลายท่อต้องไม่เกิน 70 ซม. มันจะเป็นเรื่องยากสำหรับปั๊มที่จะยกระดับน้ำให้สูงขึ้น
•สำหรับ mini pump ที่มี Ali ท่อโปร่งใส 6x1.5 มม. นั้นยอดเยี่ยม
•เป็นสิ่งสำคัญที่การเปิดปั๊มน้ำเข้ากับผนังของถังเก็บน้ำไม่เช่นนั้นจะไม่มีแรงดันปกติ
•อย่าใช้ชิ้นส่วนเหล็ก (ที่หนีบลวด ฯลฯ ) เพื่อยึดท่อเข้ากับปั๊มทุกอย่างเกิดสนิมอย่างรวดเร็ว
•ปั๊มมีสายไฟสั้น ส่วนใหญ่พวกเขาจะต้องเพิ่มขึ้น ในการปิดผนึกสายไฟควรใช้กาวร้อนละลายและหดตัวที่ความร้อนด้านบน
ตรรกะของโปรแกรม:
• Arduino ออกจากโหมดสลีป
•การอ่านโมดูล DS3231 (วันที่และเวลา) ถูกกำหนดให้กับตัวแปร
•เมื่อวันที่มีการเปลี่ยนแปลงมูลค่าของเคาน์เตอร์ของวันที่ผ่านมาการเปลี่ยนแปลง
•หากระยะเวลาของงาน (การตั้งค่า) ตรงกับจำนวนวันที่ผ่านไปชั่วโมงจะถูกตรวจสอบ
•หากชั่วโมง (การตั้งค่า) และชั่วโมงจากโมดูลเวลาตรงกันให้เปิดปั๊มตามเวลาที่ระบุในการตั้งค่า
• Arduino เข้าสู่โหมดสลีป
•หากคุณกดปุ่มพักเครื่องไฟจะถูกส่งไปยังจอแสดงผลและ Arduino จะกลับมาทำงานอีกครั้ง
การตั้งค่าการรดน้ำแสดงไว้ที่นี่ในส่วนนี้ของรหัส:
ฉันใช้ร่างและห้องสมุด
โดยทั่วไปแล้วฉันพอใจกับระบบ เธอรดน้ำต้นไม้ของฉันบนขอบหน้าต่างเป็นเวลาประมาณหนึ่งปี ตอนนี้ฉันย้ายระบบไปยังอีกห้องหนึ่งและในตัวของฉันเองฉันได้รวบรวมระบบใหม่ที่สะดวกและน่าสนใจมากขึ้น แต่นั่นก็เป็นอีกเรื่อง ...