It is a system that control the operation of fans in the car (Opel Astra F), but it can be applied in any other car, where the fan control is made using a 3- or 4-position switch that gives supply plus to an appropriate tip of a high-power resistor connected in series with the fan motor.
The resistor was replaced with PWM system, which is cheaper and eliminates power losses on the resistor.
Atmega8 is used in the system. It gives the PWM course to one of four outputs, depending on which input is triggered. Filling the course can be set by two buttons +/-, and can be stored by pressing both buttons at once. On each of the outputs fill from 0 to 100% can be set.
It was necessary to separate those two functions by power diodes connected in series, because the fan speed switch acts as both the power supply into the system and the control. That forced to use a quite sizeable heat sink (from an old processor), and thus the dimensions of the system exceeded the original resistor size. At the pit, however, there was some free space and the system could be put there. Also overheat protection of the system (thermistor) was applied, which disables the system for a minute and lights a LED.
IRFZ46N (53A, 16mom, 55V, a small capacity of a gate) operates as a transistor that controls the engine. Power diodes are STPS2045 (10A).
A problem when running the system was the necessity to choose such value of the PWM frequency, that the engine was not loud.
Link to original thread (useful attachment) –
Sterownik dmuchawy w samochodzie