We can make an enhancement to DAC drive fan controllers with the use of an external amplifier that closes the loop around the tachometer. Essentially linear control over the full range of 8 bit DAC codes from 0 to 255 is provided by this enhancement. This only requires a little signal conditioning and a suitable amplifier arrangement since the tachometer is already there. Figure a shows us that the tachometer pulses are conditioned such that all pulse width information is removed (differentiated) and only pulse rate information remains. Fan speed or frequency is represented by this pulses. Than, this pulse is used as the feedback to an integrating motor control amplifier.
To provide pulses just shorter than the duration of the shortest tachometer pulse at full fan speed, the time constant of the differentiator is initially set. Usually, this will provide a very little gain. We can increase the gain by decreasing the value of either R2 or C1. We have to set the gain so the fan just achieves full speed with the full DAC output applied to the input of the amplifier circuit.
To provide a smooth response to speed changes without any overshoot or hunting, the time constant of the integrator is set. Typically, this is done empirically with the actual system and fan. The response of the amplifier with the integration capacitor C2 at two values, 0.1uF and 1.0 uF is depicted by the plots in figure b and figure c. Either value meets the requirement for stability which dictates less than 25% overshoot. [Source: MAXIM Application Note]