| Fan Control |
| Saturday, 22 December 2007 20:10 |
![]() This piece of electronics is regulating all fans of my pc. This thing does what it is intended for. In other words, I'm fully satisfied with it. The mainboard:
It got etched by the toner transfer method. I had to fix two errors. The first one was the ISP port. I implemented it mirrored. The simplest fix was to put it downside. And second, I forgot to include caps for the fans. PWMed fans are very noisy without smoothing caps. The back of the pcb: ![]() I used free Linux software for this design. While I were testing the firmware, a display served me for easy debugging. Later I got hit by the idea to implement a serial port and showing the network transferrates of my pc in the display . So did I. First I tried to send the numbers and recalculate them accordingly bytes or kilobytes should be shown. It got buggy, handling big calculations inside a 8bit controller isn't a good idea. I then figured it would be much simpler to do the calculations by the pc and wrote a short script to generate the messages. #!/bin/bashThis script named "lcd_s0" and the board connected to the first serial port would be used this way: lcd_s0 9600 > /dev/ttyS0
The Output will look like this: Down: 0 B/sUp : 0 B/s...and so on...The 'echo "E"' is for debugging and is not necessary. Bmon is a required program. In Linux it should be easily installable through your packet manager. The microcontroller waits for 16 characters and then switches the line. Sometimes UP and DOWN are mixed, so UP is on top and DOWN is at the bottom, but this is no problem, it is stable once it runs. Yea I know, there is ready to go software for using LCDs on a parallel port. But I read about it afterwards and it is more challenging to use the microcontroller. The frontpanel: ![]() The two potis on the left are for adjusting the sensors sensivity. The next two potis are for the displays contrast and brightness settings. The button on the right is for switching this and a fan control mode. Fancontrol mode: ![]() In this mode you see the values of the analog-to-digital converter, reflecting the temperatures. A high value corresponds a low temperature. A;B;C are the three fans. A semicolon indicates automatic mode and a colon indicates manual mode. Individual fans can be selected with the button on the left. A upper case letter indicates the currently selected fan, now it can be switched to manual mode by pressing both buttons in the center simultaneously. In manual mode the fanspeed can be set by incrementing or decrementing the value with the two buttons in the center. Displaying transfer rates: ![]() One temperature sensor: ![]() This one is sensing the air above my power supply. I'll try to put the sources online...soon. |
| Last Updated on Wednesday, 13 August 2008 10:08 |









