# Design and Construction of a Low-Cost Test Bench for Testing Agricultural Spray Nozzles
## 2 Materials and Methods
### Mechanical Component Design  
The design of the mechanical components of the test bench took into consideration the following main aspects:  
* possibility to control speed and position of the nozzle under test while spraying;
* mechanical insulation of the Petri dishes containing the drops from the pump and motors to avoid the transmission of vibration;
* general safety aspects due to the movement of the nozzle. The movement of the nozzle under test was achieved by anchoring it to a mobile platform supported by four wheels and translating it along two rails mounted on the trolley by means of four steel supports (Figure 2). The mobile platform carries one triple nozzle holder, and the nozzle under test was manually selected. The platform was pulled by two parallel toothed belts (one at each side of the platform) of SynchroBeltTM type, by means of a 250 W, 24 V DC permanent magnets (PMDC) brushed motor with a 6.75:1 gearbox. The rails, 3 m long, were spaced 0.6 m apart from each other, and were placed above and parallel to the trolley plane, at a distance of 0.6 m.  
The motion of the mobile platform is closed-loop controlled by means of a motor control unit (MDC1460 model, Roboteq Inc., Scottsdale, AZ, USA). The acceleration, speed, and position are controlled by means of a 300 ppr (pulse per revolution) rotary quadrature optical encoder (ME22 model, INTECNO srl), directly applied to the main shaft of the PMDC motor. A simple symmetric trapezoidal speed shape was chosen, with the platform moving at constant speed while spraying above the Petri dishes. To obtain this speed profile vs. time, the initial and final acceleration/deceleration values were calculated with respect to the maximum desired speed in the flat part of the profile. The length of this central part was calculated to guarantee that the target will be sprayed at the desired speed. Calculations were carried out according to Equation (1):  
\[\left\{ \begin{array}{l}t_{a}=\frac{2I_{a}}{v_{r}}\\ t_{r}=\frac{I_{r}}{v_{r}}\\ a=\frac{v_{r}^{2}}{2I_{a}}\end{array} \right. \tag{1}\]  
Figure 2: Partial section of the test bench showing its main components. where \(t_{a}\) (s) is the acceleration/deceleration time (transient time), \(L_{a}\) (m) is the trails section covered by the nozzle at constant acceleration/deceleration, \(L_{r}\) (m) is the trails section covered by the nozzle at constant speed, \(v_{r}\) (m/s) is the desired constant nozzle speed, \(t_{r}\) is the time while the nozzle moves at constant speed (steady state time), and \(a\) (m/s\({}^{2}\)) is the acceleration/deceleration value during transients. The control unit implements, using a dedicated microcontroller, a speed and position profile control, by means of a proportional-integral-derivative (PID) control loop with an internal sampling rate of 1 kHz, using the encoder signal as feedback. The PID parameters were experimentally tuned by using the Ziegler-Nichols tuning method [53; 54], in order to have a stable control system also at maximum speed and acceleration. The maximum speed of the platform, which can be kept constant while spraying over the target, is 1.5 m/s. Higher speeds would require acceleration and deceleration values not allowed for mechanical/electrical safety reasons; moreover, the length of the \(L_{r}\) section will shrink to very short and useless values. The motor control unit uses two limit switches at both ends of the rails in order to detect the correct home position and the end of the rails. Due to the constraints imposed by the available space, only three Petri dishes were used to capture the drops, aligned parallel to the direction of travel of the nozzle while spraying. To avoid transmission of vibration that could affect drop size measurement, the Petri dishes were placed on a wood table, independent of the trolley and mechanically insulated from vibration sources (motors, pump). Drop image acquisition was carried out by means of a high-resolution camera.