Week 17 (5 – 11 October)

With our new PSU finally here, we drilled a hole in our set-up and soldered the 3-pin plug connection to install our PSU. With the PSU installed, we are now able to have only 1 PSU powering our entire set-up, instead of the original 6 that we borrowed from the MnT lab. This made our set-up a lot more portable, especially since the PSU could be stored inside the set-up. We also installed our new screen, but were unable to test the running of our set-up using the screen to control our functions as our Rpi was down. After a week of troubleshooting, we were thankful to know that our components were in working order and we did not need to purchase (and wait for) a new Rpi!

With only 2 weeks to our final presentation, we also started working on our presentation slides. It is indeed rewarding to see our project starting to come together.

Week 16 (28 September – 4 October)

Last week was Midterms week and thus we spent the week away from the MnT lab! With our academic struggles out of the way for the moment, we spent our Recess week working on our project.

During this week, we tested the circuitry using terminal blocks and mosfets. One improvement from last week was that we now had a functioning code that could turn the set-up off. However, we realised that our fan code was not fully complete as when we tried to control the fan speed of the cold side fans, we could only increase the speed and not decrease it. We also set-up the closed water pump system for the Peltier blocks. Although it is quite an insignificant portion of our project, it takes 2-3 people to fill the system, ensure that there are no air bubbles, before hurriedly attaching the remaining open tube to the pump to close the circuit. After multiple attempts, we finally obtained a satisfactory lack of bubbles in our water system. We sealed the tubes with silicone sealant (which is unbelievable messy), and reinforced it with zip ties.

Fig. 1: Closed water pump system

We carried out a few tests to obtain data on our prototype. First, we tested wind speed against distance (0-50cm) for different current supplies and plotted the corresponding graphs. We found that an increase in distance from the fan results in a very slow decrease in wind speed felt. Next, we test temperature against time, measuring the air leaving both the hot and cold side fans. We obtained a consistent 4°C temperature difference between the hot and cold side, with a 2°C temperature decrease from ambient temperature (28°C) with a fan current of 0.85A. We found that the decrease in temperature was not as stark as previous experiments. Thinking that the limiting factor was that fan was blowing air out too fast for it to be sufficiently cooled, we changed the fan current to 0.34A to decrease the fan speed. We reached a decrease in temperature much faster with the lowered current being supplied to the fan. The cold side temperature was the same as the previous test, but the hot side temperature had increased, making the ΔT 5°C. We had been testing the set-up for close to 2 hours and thus concluded that a lower cold side temperature could probably be obtained if we ran the system at a lower cold side fan current from the beginning, as heat would not have accumulated in the system  yet.

Fig. 2: Graph of Windspeed against DistanceFig. 3: Plot of Temperature against Time

Lastly, we set the intended cold side temperature to 27°C and tested whether the code would be able to regulate current such that the cold air that was exiting the set-up was kept at a constant temperature. The code for this function worked, which could be seen from the jumps, to and fro, in Peltier current from 0.8A to 4.0A .

While testing, we found out that the touch screen function of our original screen was faulty – we were unable to find the driver to download the touchscreen function. It also did not help that most documents in the SD card were in Chinese, making it extremely difficult for us to identify which file was the correct one. After a few hours of trying, we gave in and placed an order for another screen, which is due to come next week. We also placed an order for a new 20V 41A PSU as our current one was heavy duty enough to power an entire CPU!

Week 14 (14 – 20 September)

This week, our components such as the mosfet boards and sensors had finally arrived from China and so we spent a busy week soldering and extending the wires for our circuitry (Qi Jie called us a ‘soldering factory’!). We also connected and tested all our components using Codesys to check for control and sensing.

Fig. 1: 2D schematic of circuit

Individually, we were able to control the fan speed and target air temperature as well as the turning on of the various components. We were slightly apprehensive when we wanted to connect the entire circuit together, as we were afraid that we might short circuit something and damage a component. It was also at this time where another group’s capacitor exploded, creating a certain level of fear that a mini explosion would happen to us too. We checked and double-checked the circuit multiple times to verify that there were no potential areas for a short circuit before finally turning on the power supply. To everyone’s great relief, no “exciting event” occurred and we were able to test the functioning of all the components together. However, we realised that Zhen Xuan forgot to code for a function that would turn the set-up off. While that was a minor problem, we ended the week with the relief of knowing that our code and circuitry were functioning.

Week 13 (7 -13 September)

Over the week, Deborah worked on designing a new frame for the prototype. Bearing in mind the size limits of the 3D printers, she made sure that the prints were within the requirements by breaking the frame up into multiple segments.

First up, we printed the honeycomb structures to allow for airflow into the set-up. By manipulating the processing software for the .stl files, we learnt that we could create a fine honeycomb structure throughout the print piece by toggling with the fill pattern and fill thickness. This saved a lot of our time, rather than manually drawing in the hexagonal pattern on the design software. For most prints, the MnT lab would recommend that we add on a brim to help to anchor the print piece during printing, which is what we did when we printed our first round of honeycomb structures. However, after we printed our first round, we found out that the brim actually is not easy to remove and attempting to remove it will leave an uneven and slightly jagged surface. It is also not advisable for us to sand the surface down as it forms microplastics that are toxic for humans. This was a problem because our parts needed to fit together snugly and any jagged edges would affect the fit. After consulting with Tony, we decided that our prints were big enough such that small movements during the printing should not be as detrimental as it would be to smaller parts. Hence, we printed our subsequent parts without any skirting or brim.

Fig. 1: Honeycomb walls, printed without skirting or brim 

To create a good fit for the radiators, Deborah also designed pieces that would fit around the curves of the components. The pieces were designed with the intention that they would slide together, in a fashion similar to Tetris blocks, to form an overall cuboid frame. In order to do so, we needed to leave roughly 5mm of tolerance on each side to give room for low printer resolution. This was important, especially because we were using the bigger printer which has a lower resolution of 0.8cm. It was with great relief when the parts holding the radiators fit well with the components and the honeycomb structure. With the more complex parts out of the way, we started printing the base of the set-up.

Fig. 2: 3D printed frame surrounding radiators and fans

During this week, our group also realised that it would be more space efficient if we removed the hot water reservoir and turned the set-up into a closed system.  Although removing the hot water reservoir meant that less heat would be sunk into the water, which has a high heat capacity, we were also changing from a two-fan hot side heat dissipation system to a three-fan hot side heat dissipation system. This meant that instead of the heat being removed from the Peltiers and stored in the water, it would be actively removed from the system through radiation cooling.

Week 9 (10 – 16 August)

While the controlling mechanism was being looked into, Deborah began designing the frame for the set-up. It seemed easy at first – all we needed was a box to hold everything together. But wait, the “box” needed to have good air flow, contain water for the hot reservoir and have a way for the user to change the water for maintenance, have an area for circuitry, separate the circuitry from the water for safety reasons, and the list goes on. It seemed daunting at first, and for the first few days, she spent time watching YouTube videos on how to use Fusion360, the software used to model 3D parts for printing. After a few rounds of discussion with the team about what set-up would be the best, we sent the model to the 3D printers to print!

 

Only to learn that the dimensions of the model were too big for the 3D printer to print. We decided to scale the prototype down to a miniature 1:10 model to see how the print would turn out. It was lucky that we did not waste time (and filament!) printing the model in its actual dimensions, as we realised that the model did not quite meet our requirements.

Pictures of our mini frame

Looking at the frame, we found out that the honeycomb structure was too small in comparison to the size of the model to allow for adequate air flow. The area for the water reservoir was also not suited for holding water because pieces printed by a 3D printer are not water-tight and thus we would need to coat the bottom layer and reservoir with silicon sealant. Changing the water for our set-up for user maintenance was also an issue as the model did not include a slanted base for easy water flow. It also did not adequately take into account how we were going to stopper the outlet flow.

After discussing with Qijie, we decided that we could either purchase a custom made acrylic box or redesign and reprint the frame as several smaller parts and then glue them together. With that, it was back to the drawing board to rethink how we wanted to print the frame to hold all our parts together.

Week 12 (31 August – 6 September)

With the completed logic trees from last week, Zhen Xuan began coding out the complete logic trees for Codesys. The temperature logic tree and fan control logic tree were successfully set up without any errors during compilation and building. The temperature sensor attached also provided evidence that the temperature logic tree was working.

Moving forwards, he consulted Tony and the lab seniors on the subsequent steps and began working on the temperature control program module involving PID, which required reading up on how the PID worked. He set up the basic PID code without the variables first such that when we tested we could easily input the required information.

For the fan control, he learnt more about how we could set the fan speed dial to our desired range, limiting the maximum speed at which our fans were allowed to spin. This was an important safety feature as our fans could go up to quite a high (and dangerous) speed! Taking Tony’s suggestion into account, he based the fan speed dial on the pulse-width modulation minimum and maximum values of 0 and 1 respectively, which gave us a spectrum of power supplied to the fans. This is similar to the continuous nature of the temperature control.

One problem that Zhen Xuan ran into this week was the complexity of the PID, as it is difficult to understand the way in which the module works. He was relieved to learn that there were other groups that were using the PID modules as well and as such, this created opportunities for him to learn from his peers. He also found it tough to understand how the block of code in Codesys functions and the input values required, as it is vastly different from Python, which he has prior experience in. As such, he resolved to research and read up more on Codesys and PID modules to gain a better understanding.

Week 11 (24 – 30 August)

This week, Zhen Xuan planned out the logic trees for Codesys.

We agreed that we would have an on/off switch for the water pump and Peltier modules, with the fan control being independent. This was to allow for the model to start running and for the air inside the set-up to cool before the cooled air was dispelled through the cold side fans. As such, the temperature logic tree required the switch and a set temperature range when starting. He connected the DS18B20 temperature sensor to obtain a variable for measuring real-time temperature and created a global variable Temp_set to allow the user to set their desired temperature. Controlling the fan requires a separate logic tree, which is split into 3 settings that can vary the voltage and current supplied to the fans.

Fig. 1: Circuitry components needed for preliminary testing of Codesys code

With the bulk of the coding out of the way, Zhen Xuan set up the visualisation page using the Raspberry Pi, which is connected to one of the monitors at the workstation. The visualisation page includes a temperature dial, temperature meter display, an on/off switch, fan speed dial and a light to indicate whether the Peltiers are functioning. We conducted a dry run to test if the basic visualisation works. To our great joy (and relief), the basic visualisation was functioning.

While coding, Zhen Xuan ran into multiple problems due the lack of familiarity with the programming language and platform, but over time became more adept at Codesys through the research done. He found that programming was difficult and often frustrating, but with the lab seniors’ encouragement and advice, our code finally works!

Week 10 (17 – 23 August)

With our preliminary model working and able to cool ambient air by an appreciable amount, our team has begun to look into temperature control and sensing, as well as the building and assembly of our final prototype.

Bing Hong and Justin delved into the world of Arduino code to learn how to add a temperature sensing control interface for our product using a rotary encoder to do so. Through experimenting with the code, they learnt that Arduino codes tend to have lower processing speed. As such, they tried to split the code into an if-else loop to reduce computing stress. However, the speed is still insufficient to detect changes to the rotary control, making concurrently drawing on the LCD display too taxing for the system. This resulted in a non-detection of the rotary encoder inputs.

Segment of our arduino code

From this, we learnt that the arduino code is sufficient for sensing and display, but fails at direct user control. This means that the user cannot set the temperature of the air cooler to one that he is most comfortable at, and can only tell the temperature of the air that is being blown out of the model. Moving forward, we will be using codesys as the main control platform, which Zhen Xuan has been learning more about!

Week 8 (27 July – 2 August)

Our items finally arrived in Singapore and so we went down to the MnT lab to test the radiative cooling method. First, we built a frame for our set-up and came up with a rough layout for our various parts. We also calculated the dimensions of our housing and explored ways in which we are able to minimise the size of our portable air cooler. As part of the set-up, Bing Hong and Deborah also learnt to solder wires.

Building the frame for our prototypical set-up!

We then tested the set-up, as shown in Fig. 1 and 2, using 4 TEC1-12706 Peltier modules, and achieved cold temperatures of 21°C, hot temperatures of 30°C and fan speed of 4 m/s. The temperatures were much lower than we expected, probably because it was a rainy day with ambient temperatures of 25°C. From Monday’s set-up and testing, we decided to test other fans with a higher fan speed, as well as to try TEC1-12715 Peltier modules to compare the temperatures.

Fig.1: Photo of our set-up

Fig.2: Labelled sketch of set-up

 

We ordered a set of static-pressure fans which arrived on Thursday. Using the same set-up, we tested 4 TEC1-12715 Peltier modules as well as the new fans. For the set-up with TEC1-12715 Peltier modules, we achieved cold temperatures of 23°C, hot temperatures of 35°C and wind speed of 4.5 m/s. The ambient temperature that day was 30°C. We also took time-dependent measurements of an enclosed volume of cold air and the hot reservoir and found that temperatures plateaued at 22°C and 41°C for the set-up with TEC1-12715 and 24°C and 37°C for the set-up with TEC1-12706. This implies that steady-state temperatures are obtained over time.

Fig. 3: Graph of Temperature against Time for 4 TEC-12715 modules at 12V and 4A

Fig. 4: Graph of Temperature against Time for 4 TEC-12706 modules at 12V and 4A

With our hardware and cooling system largely working, we have started looking in to temperature control using Arduino and Codesys, as well as finalising the layout and dimensions of the final product.