Heater Fan Controller
This device acts as a variable speed control
for the heater blower in a car. It takes its power directly from the existing
wiring and connects with just 2 wires. It will also work for any 12 volt
device up to 10 amps.
PIC12F675 provides all of the necessary functions. It reads the (10k)
linear potentiometer and generates appropriately timed pulses to control
the DC motor running the fan. The extreme low position cuts the power
The circuit is relatively simple. The wire to the blower motor (either high or low side) is cut and connection is made to the circuit with the more positive side at the top connection.
The diode and 100uf capacitor always provide full 12 volts because the Pulse Width Modulation scheme always provides a minimum 'off' time of the power cycle.
The LM78L05 (note unusual pinouts) provides 5 volts for the PIC. Depending on the setting of the 10k pot, GP5 sends out positive pulses with duty cycles between 0 and 98 percent.
The IRL7833 has a rated 'on' resistance of 0.004 ohms, so it can handle about 10 amps with just a small heatsink. The layout was done so as to maximize the current handling between the FET and the terminals (upper left area). When printing the layout, the arrow should measure exactly 2 inches.
Here are the Source and Hex files. Note the use of the watchdog timer function. Since this device is constantly powered on and off by the ignition and main blower switches, this provides hardware resets when needed.