
As part of my university group project we were asked to design a Sprinkler system with wind compensation.
The system consists of 5 main components:





The sprinkler was designed to of 5 parts each was to be manufactured by injection molding. The material selected was PVC-U. Additional milling is required to create threads. A stepper motor is used to rotate the sprinkler head. The stepper motor is housed in a hollowed-out section to prevent contact with the water. It’s attached to a fixed water pipe buried in the ground. The sprinkler head is attached to the stepper motor using a threaded rod.
The smart hub consists of a microcontroller with a wireless module that supports Wi-Fi 2.4 GHz. Communicates with the server and obtains ‘smart’ or user-defined schedules. Controls the operation of the sprinkler and the water flow. The shell is made of ABS plastic and manufactured using injection molding and CNC milling. The shell is dustproof and designed to be mounted on a wall.

A study was done to determine the exit speed of the water leaving the sprinkler nozzle depending on the pressure and flow rate. This involved a rough Bernoulli equation calculation followed by a flow simulation carried out in Solidworks. The results were used to determine the maximum distance the water will travel with the maximum 4bar of pressure. This information would help in the PID controller calculation.

The control system components were:
Microcontroller: This would receive the wind speed and direction from the anemometer and the user-defined schedule from the server. It would then calculate the required water flow rate and pressure to achieve the desired distance. It would then control the stepper motor and solenoid valve to achieve the desired flow rate and pressure. It would also control the sprinkler head rotation. It has to be wifi enabled to communicate with the server.
Proportional Solenoid Valve: There would be one for each sprinkler head. It would be controlled by the microcontroller to achieve the desired flow rate and pressure going to the sprinkler head.
Stepper Motor: There would be one for each sprinkler head. It would be controlled by the microcontroller to achieve the desired sprinkler head rotation. A 0.5Nm rated stepper motor was deemed sufficient for our application.
Anemometer: This would measure the wind speed and direction and relay it to the microcontroller via Bluetooth. It would be mounted on the roof or other suitable location.
Since, this project was purely a design exercise, only a general pseudocode was required. The following were the functions created:
/************************************************************/
/* FUNCTIONS */
/************************************************************/
void check_sprinklers();
void check_valves();
String[2] connect_default_wifi();
void connect_wifi();
void get_wind();
bool load_first_launch();
void load_wifi_cred();
void motor_next(int i);
void save_wifi_cred();
void save_first_launch();
void sched_compare();
void step_sprinklers();
void sync_data();
void sync_time();
void valve_control(int i, int dist);
int ang_dist(int a, int b);
int opp_angle(int a);
The main functions in the code included connecting to Wi-Fi networks, obtaining wind speed and direction, loading and saving data from EEPROM (non-volatile memory), controlling stepper motors for sprinkler movement, synchronizing data with a web server, comparing schedules to control sprinklers, and adjusting valve control based on wind conditions.
In the setup function, the code checks if it's the first launch of the system, connects to Wi-Fi, and initializes various components. In the loop function, the code continuously checks for actions like moving sprinklers, syncing data, and comparing schedules while monitoring wind speed. If the wind speed is too high, it turns off all the sprinklers.
Additionally, there are functions for loading and saving Wi-Fi credentials, obtaining wind data, controlling stepper motors, syncing data with a web server, and managing schedules.
We were required to make a product pitch video to present the project to our peers. I used this opportunity to learn Adobe After Effects and Adobe XD to design mockups for our app.

A design of the manufacturing process was also undertaken by one of my teammates. Two Injection Molding Machines and two CNC Milling Machines were to be used in the production process. To achieve an annual production goal of 100,000 units, 20,000 smart hubs and 80,000 sprinklers were planned to be produced per year, considering factors like working hours and shifts.
The production process includes the manufacturing of eight unique components for assembly, with specific lot sizes for each component. Production rules were established to optimize machine usage and avoid excessive setup times. The OEE (Overall Equipment Effectiveness) for the production line was calculated as 88%, taking into account the OEEs of the machinery used. The assembly process was divided into two lines, one for sprinklers and one for smart hubs, with multiple workstations dedicated to specific components. Components were manufactured simultaneously to streamline the assembly process efficiently. Finally, the cost calculation included machine hourly rates, materials costs, production costs, and prime costs for both sprinklers and smart hubs, factoring in various overheads and administrative expenses. Each sprinkler was estimated to cost €27 , and the smart hub €216.
This was an interesting exercise and gave us a taste of the challenges involved in producing a solution for a complex real world problem. It tested our design thinking and problem solving skills. It was an ungraded project but we received positive feedback from our supervising professor.
