8 Channel software controlled for PC fan

Not rated 9,915

8 Channel software controlled for PC fan
8 Channel software controlled for PC fan

This article is about a software controlled, parallel port-interfacing 8-channel Pulse-Width-Modulated fan controller. I'll admit that the electronic part of it isn't very advanced, but hopefully the idea of "interfacing" might be interesting.

My old partner and I were working on an improved version, using an ULN2803A instead of the many BC547B's and optional zener diodes to make sure the fans always got power from power-on, but he lost interest and so we never finished it. More: I did improve the software on my own, though: - improved fan control routines/speeds - command line parameters to adjust the power level during runtime - "KITT(Knight Rider)" running light functionality to the outputs, which looks pretty cool with 8 LED's attached - and an output be set to turn on at a certain time now - for alarm clocks, a coffee machine or something ?

A Polish guy had asked me for the command-line functionality, and after getting it to work I let him play with the new program, and he hasn't reported any bugs. I haven't personally thoroughly tested it, though - but it has worked perfectly in my short-time tests.

The described circuit is a software-controlled fan controller that utilizes an 8-channel Pulse-Width Modulation (PWM) technique to regulate fan speeds. The primary interface for this system is the parallel port, which allows for communication between the software application and the hardware components. The core of the electronic design is based on a ULN2803A Darlington transistor array, which serves as a driver for the fans, providing the necessary current amplification to control multiple fans effectively.

The design replaces the previously used BC547B transistors, which were limited in terms of current handling capabilities, with the ULN2803A, which can handle higher current loads and simplifies the circuit layout by integrating multiple transistors into a single package. The use of optional zener diodes is also noted, which can be added to ensure that the fans receive stable power during startup, preventing potential issues related to voltage spikes.

The software component of the project enhances the functionality of the fan controller significantly. It includes improved routines for fan speed control, allowing users to adjust the speed of each fan dynamically via command line parameters during runtime. This feature provides flexibility in managing cooling requirements based on real-time conditions. Additionally, a "KITT (Knight Rider)" light functionality is implemented, which creates a visually appealing effect by sequentially lighting up 8 LEDs, simulating a running light pattern.

Furthermore, the software includes a scheduling feature that enables users to set specific outputs to activate at predetermined times. This capability can be utilized for various applications, such as turning on a coffee machine or functioning as an alarm clock. The overall design demonstrates a blend of hardware and software that caters to practical and aesthetic needs in fan control applications. The circuit is expected to operate reliably, though thorough long-term testing is recommended to ensure consistent performance under various operational conditions.This article is about a software controlled, parallel port-interfacing 8-channel Pulse-Width-Modulated fan controller. I'll admit that the electronic part of it isn't very advanced, but hopefully the idea of "interfacing" might be interesting.

My old partner and I were working on an improved version, using an ULN2803A instead of the many BC547B's and optional zener diodes to make sure the fans always got power from power-on, but he lost interest and so we never finished it. I did improve the software on my own, though: - improved fan control routines/speeds - command line parameters to adjust the power level during runtime - "KITT(Knight Rider)" running light functionality to the outputs, which looks pretty cool with 8 LED's attached - and an output be set to turn on at a certain time now - for alarm clocks, a coffee machine or something ? A Polish guy had asked me for the command-line functionality, and after getting it to work I let him play with the new program, and he hasn't reported any bugs.

I haven't personally thoroughly tested it, though - but it has worked perfectly in my short-time tests. 🔗 External reference