หน้าแรก ดูโปรเจกต์ทั้งหมด
Expert

โปรเจกต์ Watering Pump

วิธีการรดน้ำต้นเลมอนด้วย Arduino PRO MINI, RTC และ Pump

โปรเจกต์ Watering Pump

รายการอุปกรณ์และเครื่องมือ

1x Water barrel
-
1x 12V 24W power supply
-
1x Linear Regulator (7805)
-
4x Screw terminal with 4 pins
-
3x Resistor 100 ohm
-
1x Soldering Station Power Supply, For Weller WX Soldering System
-
4x Nylon spacers M3
-
1x DC Power Connector, Jack
-
1x 12V= mini water pump
-
8x Resistor 10k ohm
-
1x Arduino Pro Mini 328 - 5V/16MHz
-
1x DIP / SIP Switch, 1 Circuits
-
1x I2C 16x2 Arduino LCD Display Module
-
3x Screw terminals with 2 pins
-
1x Power MOSFET N-Channel
-
1x Circuit Board Holder, Rework
-
2x Female header 12 positions, 1 row, 0,1"
-
1x Custom PCB
-
1x 1N4007 – High Voltage, High Current Rated Diode
-
1x Cable, USB to TTL Serial Converter 5V
-
1x High Accuracy Pi RTC (DS3231)
-
1x Tactile Switch, Top Actuated
-
1x Fume Extraction, 2.5 m Arms
-
}

รายละเอียดและวิธีทำ

INTRODUCTION

ผมต้องการระบบสำหรับรดน้ำต้นมะนาวของผม โดยมีการปรับตั้งค่าระยะเวลาและความถี่ในการรดน้ำผ่านทางฮาร์ดแวร์

ในตอนแรกผมลองใช้ Moist sensor แต่เนื่องจากกระถางมีขนาดใหญ่มาก ผลลัพธ์จึงออกมาไม่ค่อยดีนัก นอกจากนี้ปัญหาคือการรดน้ำต้นไม้ในช่วงฤดูหนาว ซึ่งเราต้องนำต้นไม้เข้ามาไว้ในบ้านและไม่มีน้ำจากน้ำฝนมาช่วย

ดังนั้นผมจึงตัดสินใจสร้างระบบที่ทำงานตามตารางเวลาการรดน้ำ โดยสั่งงานผ่าน Mini pump ขนาด 12V การตั้งค่าเวลาทำได้ผ่าน Dip-switch และควบคุมตารางเวลาด้วย Real time clock (RTC)

THE PROJECT

ในการประกอบชิ้นส่วนทั้งหมด ผมเริ่มจากการใช้ Breadboard แต่ในที่สุดผมเลือกที่จะทำ Custom PCB ดังที่แสดงด้านล่างนี้

ข้อควรระวังที่สำคัญ:

1. ตามที่แสดงในรูป ให้วาง Pump (C) ไว้ ต่ำกว่า ระดับน้ำ ไม่เช่นนั้น Pump จะไม่ทำงาน

2. ระดับของปลายท่อระบายน้ำ (A) จะต้องอยู่สูงกว่าระดับน้ำสูงสุดในถัง (B)

3. วางถังน้ำไว้ในกระบะรอง เพื่อที่ว่าหากเกิดข้อผิดพลาดขึ้น น้ำจะได้ไม่ท่วมบ้านของคุณ!!!

แม้ว่าผมจะต้องการใช้ Pump เพียงตัวเดียว แต่ผมได้ออกแบบ PCB ให้มีสองวงจรเพื่อสั่งงาน Pump สองตัวแยกกัน ดังนั้นผมจึงไม่ได้ประกอบชิ้นส่วนสำหรับวงจรที่สอง เช่น MOS FET, Diode, Connector,... ดังที่คุณเห็นในภาพด้านล่าง (มุมมองด้านล่าง)

Lower side view

ในมุมมองด้านบน คุณจะเห็น Display และ DIP switch โดย Display เชื่อมต่อผ่าน Interface I2C

Upper side view

คุณยังสามารถเห็น RTC ซึ่งเชื่อมต่อผ่าน Interface I2C เช่นกัน

ปุ่มกด DISP.ON ต้องเชื่อมต่อกับ Display เพื่อเปิดไฟหน้าจอโดยใช้คู่หน้าสัมผัสที่มีอยู่ คุณยังสามารถเชื่อมต่อคู่ที่สองเพื่อให้หน้าจอติดสว่างตลอดเวลาหรือเชื่อมต่อกับสวิตช์ก็ได้

Lower side

ผมใช้รูเจาะทั้งสี่รู (4mm) เพื่อยึด Display โดยใช้ Nylon spacers

ทางด้านขวาจะมี Screw terminals สองชุดสำหรับแหล่งจ่ายไฟ 5V= และ 12V= เตรียมไว้สำหรับการขยายระบบในอนาคต

ที่ด้านล่างมี Screw terminals แบบ 4 pins สองชุด ชุดทางด้านซ้ายใกล้กับ Diode D1 ใช้สำหรับเชื่อมต่อ Pump 1 (Arduino Pin D11)

ทางด้านซ้ายมี Screw terminals แบบ 4 pins สองชุด และแบบ 2 pins หนึ่งชุด โดยแบบ 4 pins สองชุดใช้สำหรับเชื่อมต่อ Display และ RTC ในขณะที่ Screw terminal แบบ 2 pins ใช้สำหรับเชื่อมต่อ PCB เข้ากับ Arduino Pin A4 (SDA) และ A5 (SCL) สำหรับการสื่อสารแบบ I2C

นอกจากนี้ยังมี Output สำหรับ Buzzer ซึ่งไม่ได้ใช้ในโปรเจกต์นี้ โดยเชื่อมต่อโดยตรงกับ Pin D10 ของ Arduino

ในภาพถัดไปจะแสดงชิ้นส่วนทั้งหมดที่เชื่อมต่อเข้ากับบอร์ด PCB

แน่นอนว่าหลังจากที่คุณเชื่อมต่อ Arduino Pin A4 และ A5 เข้ากับ Screw terminal แบบ 2 pins แล้ว คุณต้องเสียบบอร์ด Arduino ลงบน PCB ตามที่คุณเห็นในภาพถัดไป ผมใช้ Header ขนาด 12 Positions สองแถวเพื่อเสียบบอร์ด Arduino:

Headers for Arduino PRO MINI

ในการตั้งค่าความถี่และระยะเวลาการรดน้ำ คุณควรใช้ Dip-switch โดยทำตามคำแนะนำที่ระบุไว้ในส่วน Header ของ Code

ตัวอย่างเช่น ในภาพ Lower side view การรดน้ำถูกตั้งค่าไว้ที่ 10 วินาที (J1=0, J2=0, J3=0) ทุกๆ 3 วัน (J4=0, J5=1, J6=0)

ผมใช้สวิตช์เพียง 6 จาก 8 ตัว คุณสามารถใช้สวิตช์ที่เหลืออีกสองตัวสำหรับเงื่อนไขเพิ่มเติม หรือเพื่อตั้งค่า Pump ตัวที่สอง (เพื่อปิด/เปิดการทำงานของ Pump ตัวที่สอง หรือเลือกตัวใดตัวหนึ่งหรือทั้งสองตัว, เพื่อตั้งค่าการหน่วงเวลาระหว่างการทำงานของ Pump ทั้งสองตัว,...)

SOMETHING MORE

คุณสามารถใช้โปรเจกต์นี้เพื่อควบคุมไฟ, Motor, Heating resistors หรืออุปกรณ์อื่นๆ ที่ต้องการการตั้งเวลาและแรงดันไฟฟ้ากระแสตรง

ข้อจำกัดเพียงอย่างเดียวคือ MOS-FET โดยผมใช้ IRF520 ซึ่งมีกระแส Drain ต่อเนื่องสูงสุด 9.2A (ภายใต้การระบายความร้อนที่เหมาะสม!!!!) คุณสามารถเพิ่มแรงดันไฟฟ้าได้เช่นกัน โดยแรงดัน Drain-source สูงสุดคือ 100V

แต่คุณต้องระมัดระวังอย่างมาก: แรงดันไฟฟ้าสูง = อันตรายสูง!

นอกจากนี้ คุณต้องตรวจสอบคุณสมบัติของ Voltage regulator เพื่อหลีกเลี่ยงความเสียหายที่จะเกิดกับบอร์ด Arduino และตัว Regulator เอง หากใช้ L7805CV คุณสามารถใช้แรงดันไฟฟ้าได้สูงสุดถึง 24V=

หากคุณต้องการควบคุมอุปกรณ์ด้วยไฟฟ้ากระแสสลับ คุณสามารถเปลี่ยนจาก MOS-FET เป็น TRIAC แทนได้ ที่นี่ คุณจะพบข้อมูลเพิ่มเติม

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: watering-pump-515ef2
1499 บาท
PromptPay QR Code