Prototyping
Assembling our prototype
Once we had finalised the design of our rack, we mounted the individual components such as the fans and load sensors to the aluminum profile.
We then recalibrated both load sensors using the same method as before. Based on our setup, the combined readings from both sensors reflect the actual mass of the shirt, so we coded the system to display the total combined mass as the output.
Oscillating movement of shirt
After a discussion with Dr Ho, we decided to replace the belt and pulley system with a pulsing fan setup to simulate the oscillating movement of the T-shirt.
We conducted a crude experiment to estimate the natural oscillating period of a t-shirt hanging in the intended way. By recording the time taken for 10 oscillations, we concluded that the natural period is 1.5s, and that the natural frequency was 0.67Hz.
credits: save my exam
To maximise the amplitude of forced oscillation, the driving frequency should be approximately similar to the natural frequency to achieve resonance. We did this by pulsing air using a fan with a similar period of 1.5s. Since the fan only had 2 states, ON or OFF, we turned on the fan for 0.75s and turned off the fan for 0.75s.
When we adjusted the pulse timing to 0.6 seconds, we observed a noticeable change—the shirt’s movement became more inconsistent and less stable.
To further increase the amplitude of oscillation, we placed 4 fans that would turn on and off at opposite times from one another at the same period of 1.5s.
Experimentation
To determine the mass threshold for our load sensor, so that the fans switch off once the T-shirt is fully dry. We tested our prototype using a grey cotton shirt. We chose this particular shirt because the color change between wet and dry was clearly visible, making it easier to monitor the drying process.
We first measured the dry weight of the shirt using our load sensors. After wetting and squeezing out most of the water to mimic a post-spin cycle shirt, we placed it on the rack (after taring the poles). During the test, the weight was recorded every 42 seconds, with individual and combined readings from both load sensors printed to the serial monitor.
However, after the we conducted the experiment for 3hrs, we lost all the data and had to restart 🙁
Our results after about 4 hours of drying
Upgrades
I2C screen
To improve user-friendliness, we integrated an I2C display that shows the taring process and updates the shirt’s mass every 42 seconds.
It shows a countdown from 10 to 1, before the dryer starts to operate.
We have now since updated the mass update to every 15 seconds.
Optimisation
Once we completed prototyping, we began testing and optimising our design for maximum efficiency. During testing, we observed that the sides of the shirt, particularly areas with fabric overlap near the sleeve seams, tended to dry more slowly. To address this, we repositioned two of the bottom fans higher up so they could direct airflow more effectively toward these regions.
However, this new setup resulted in weaker and more uneven oscillation. We suspected this was due to variations in the oscillation period at different heights of the shirt, meaning a uniform fan pulse rate may not be effective when fans are positioned at different levels. Additionally, raising the fans reduced the torque acting on the shirt, further limiting its movement. Based on these observations, we concluded that our original setup was already more optimal.
Oscillation of shirt in new set-up
Oscillation of shirt after reverting back to original set-up
Finding out threshold
We wanted to find out the threshold for change in mass (dm/dt), such that when the change in mass dropped under this threshold, the dryer should stop. Using the readings we obtained from our drying experiments, Cheyenne did further analysis using Numpy and Pandas (Python libraries) to parse the excel readings and obtaining a possible threshold to use.
Firstly, the code would select the last 10% of the data set, which would be when the clothes start to dry, and get the standard deviation of that last 10%. Statistically, 3 standard deviations would mean that it captures around 99.7% of all normal variation, meaning that a dm/dt slope that falls within this standard deviation is highly likely to be just noise. Hence a suitable threshold was 3 standard deviations of the last 10%.
Testing out our first data set, it seemed like the best threshold was 0.0021g/s, while the second data set was 0.0019g/s, but testing out the threshold on the data set, it was seen as the dryer did not dry fully. Looking back, some experiments were done in a hurry, and some experimental data were lost due to computer outage, leading to lack of proper data.
However as the slope calculation was complicated, we decided to scratch this idea and instead implement code where the dryer would shut off after a variation of 2g between 2 readings, so a 0.133g/s slope. This would lead to clothes not being dried fully, but rather dried to a satisfied level.