Beat the Heat: DIY Temperature-Controlled Fan Speed Regulator

This standalone automatic fan speed controller project regulates the rotational velocity of an electric fan based on dynamic feedback. By leveraging embedded system technologies like a microcontroller and closed-loop control architecture, it provides efficient and reliable temperature regulation.

The ATMega8/168/328 MCU allows for nimble adjustments to fan speed based on real-time sensor readings. An LCD display also makes the system user-friendly by simultaneously showing both the sensed temperature and corresponding fan speed level.

Despite its compact design using only a few key components, this controller has applications beyond basic household fans. It can regulate equipment like air conditioners, water heaters, ovens, furnaces, heat exchangers, incubators and more to maintain optimal thermal conditions.

Implementation of an automatic feedback-controlled approach replaces static fan settings and helps conserve energy usage. This project demonstrates the potential for embedded systems to deliver smarter control solutions across various industries where temperature control is crucial. Going forward, similar closed-loop designs could yield energy savings in many applications.

Circuit and working

Fig. 1: Circuit diagram of the temperature-based fan speed control and monitoring using Arduino

The circuit schematic for this temperature-controlled fan speed system is shown in Figure 1. At the core is an Arduino Uno board (Board 1) which carries out all control operations.

A 16×2 LCD screen (LCD 1) continuously displays temperature and fan speed readings to provide monitoring capabilities. An LM35 temperature sensor IC (IC 1) measures ambient temperature in real-time.

The LM35 is a precision integrated circuit whose output voltage scales linearly with temperature in degrees Celsius. It can accurately operate over a wide range from -55°C to 150°C, producing 10.0mV of output for each degree Celsius of change.

Other key components include a DC fan whose speed is modulated based on the temperature readings. The Arduino regulates power to the fan via a motor driver IC to achieve variable speed control.

In summary, the Arduino Uno acts as the central processing and control unit, interfacing with the temperature, display and fan components to implement this automatic feedback-based temperature and fan speed regulation system as illustrated in the circuit diagram.

Fig. 2: Screenshot of the source code on Arduino IDE

The LM35 temperature sensor measures the ambient temperature and converts it to an analog electrical signal. This signal is fed into the microcontroller unit (MCU) on the Arduino board through an analog-to-digital converter (ADC).

The ADC within the MCU performs the crucial task of translating the analog temperature reading into a digital format that can be processed by the Arduino’s programming code.

The digitized temperature values, along along with the current fan speed setting, are continuously displayed on the LCD screen. This allows for real-time monitoring of both metrics.

Based on the incoming digital temperature data, the MCU then directs a motor driver circuit to dynamically adjust the fan speed as needed. The motor driver module regulates power to the fan motor, achieving variable speed control via PWM signals from the Arduino.

In this way, the Arduino MCU acts as the central processing hub, coordinating acquisition of temperature data via the ADC, calculating and enacting appropriate speed adjustments via the motor driver, and displaying feedback on the LCD – completing the closed-loop temperature control functionality.

Fan speed control technique

The circuit utilizes pulse-width modulation (PWM) to dynamically control the fan speed. A low-frequency PWM signal, typically around 30Hz, is generated with a varying duty cycle. This PWM output modulates a single pass transistor switch that efficiently regulates power to the fan motor.

While this PWM approach keeps component costs low by using a simple transistor circuit, one downside is potential acoustic noise from the fan. The sharp rising and falling edges of the pulsed PWM waveform can excite the mechanical structure of the fan in an undesired manner. Much like a poorly designed speaker, this resonance effect can render low frequencies of the PWM audible as an unintended buzzing or hum.

To summarize – PWM provides a cost-effective means of variably driving the fan motor via a single transistor. However, special attention must be paid to mitigate acoustic noise caused by the pulsating nature of the control signal coupling into the fan’s physical vibrations over time. Alternative smoothing technologies could potentially eliminate this audible downside.

Construction and testing

Fig. 3: Actual-size PCB pattern of the temperature-based fan speed control and monitoring circuit using Arduino

Figures 3 and 4 illustrate the single-layer printed circuit board (PCB) layout and component placement design for the temperature control and fan monitoring circuit.

Figure 3 shows the wiring schematic of the PCB, delineating the traces connecting each electrical component. Figure 4 provides a detailed view of how the individual parts are precisely situated on the board.

The proposed PCB design consolidates the circuit into an organized, single-sided format suitable for automated assembly and production.

To complete the hardware implementation, the next step would be to physically construct the circuit by soldering each component into the designated pads on the PCB according to the layout diagram. This populates the PCB and integrates all electrical connections as defined on the schematic.

Verifying correct soldering completes the fabrication of the assembled temperature controller module using this PCB blueprint. Proper component installation as per the layout diagram validates the circuit’s physical realization.

Fig. 4: Component layout of the PCB

The circuit design incorporates CON2 and CON3 connectors to link Board1, the Arduino UNO microcontroller board, to the external components through a clean interface.

A 12V battery supplies power to drive the 12V DC fan motor. This allows the fan to operate independently of any mains power connection, making the overall system portable and suitable for various applications.

To summarize, the connectors CON2 and CON3 integrate the Arduino board with the rest of the circuit. Meanwhile, a 12V battery serves as the dedicated energy source that directly drives the 12V fan motor under control of the microcontroller and electronic control interface.

This configuration helps modularize the different functional elements while retaining full closed-loop temperature control and feedback capabilities anywhere the portable system may be deployed.


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top