This engineering project involves the design and implementation of a microcontroller-based irrigation system tailored for bamboo plants.
It integrates soil moisture sensors, control algorithms, and actuated components to deliver water precisely.
The system aims to eliminate the inconsistencies of manual watering through automation and regular wattering.
Furthermore, this system needs to be reliable, as it must be able to water consistently while I'm away on holiday.
This isn’t the first iteration of the project. I had earlier versions that were less efficient and more troublesome. But I believe I’ve now addressed those issues with this version, keeping it both compact and functional.
Objective:
3D modeling helps visualize the components and system before building. It ensures that parts fit together, provides clarity on dimensions, and helps avoid issues in assembly.
Processes:
I already had some experience with the software, so it took me little time to model everything—about two days. Perfecting the design, creating additional parts, and 3D printing brought the total project time to about a week.
What this part covers:
Printer and Material:
I use a Bambu lab A1 3D printer.
Unfortunately, it doesn’t have an enclosure, which limits the materials I can use to weaker alternatives. However, despite this setback, the parts I produce (using PLA) are always strong and rigid.
What this part covers:
The Arduino Mega runs the logic behind the watering system, responding to sensors and triggering the pump.
Control Logic:
A servo-controlled arm directs water to target areas. Two servos manage vertical movement, and a third controls the tip for precision.
Challenges:
Preventing cable tangling by returning the base to a “home” position
Syncing paired servos to move in opposite directions
Error Handling:
Before watering, the arm activates a sensor to check for water and confirm it's not stuck.
Objective:
The enclosure protects all electronic components from damage while offering a simple and safe interface for the user.
Access Points:
Cables for reprogramming the Arduino Mega are easy to reach, allowing for quick updates. A built-in number pad lets users adjust watering time and manually stop the arm if needed.
Power Management:
The system runs on a 12V, 1A power supply, ensuring it stays operational for long periods—perfect for when I’m away on vacation.
Sensor Calibration:
I had to calibrate the water sensor and set a difference limit to avoid false readings.
Testing and Troubleshooting:
The latest version is still in testing.
I replaced the stepper motor with a servo due to issues with a faulty driver that caused twitching when other components were active. A 10k resistor to ground didn’t fix it, but the new servo setup seems stable so far and it is looking promissing.