The water temperature control system, featuring both cooling and heating capabilities, was developed as a freelance project. This project primarily utilizes a Peltier module, a temperature sensor, an Arduino microcontroller, a display, and a set of buttons for temperature adjustment. The device was created as a prototype and is capable of maintaining the water temperature within the desired range, irrespective of external temperature fluctuations. Furthermore, it serves as a continuous water temperature control system, capable of automatically filling the tank and sourcing water as needed.
Temperature control is achieved by employing a PID algorithm, even though this type of system typically utilizes only P controllers. I implemented a PID control system to enhance control and precision. The PID algorithm was successfully integrated into the Arduino.
Peltier modules have a unique feature: when connected with the correct polarity, one side cools while the other side gets hot. If you change the polarity, the side that was previously cooling will now heat up, and the side that was heating will cool. We harnessed this principle to efficiently cool and heat the water as required. To switch the direction of the current, we used MOSFET H-bridge, allowing us to determine whether the side heats or cools.
We used an Arduino as the primary controller, implementing the control algorithm on it. The main role of the Arduino was to continuously monitor the water temperature and adjust the current direction to the Peltier module to maintain the temperature at the set point. Users can set their desired temperature, and the microcontroller is capable of consistently maintaining that set temperature. Additionally, we incorporated effective heat sinks and cooling fans to enhance the cooling process for the Peltier module when the water needs to be cooled.