> I am trying to control the speed of a 12 volt .5A fan from > a PWM output of a PIC 16c74 microcontroller. I can vary the > duty cycle of this signal from 0-100% in software. But the > frequency of this PWM signal will vary from 5khz - 15khz > depending on the requirement of the second PWM channel of > PIC, used for another application. I have the following problems. > > 1. I tried a simple mosfet circuit to switch the fan directly > from the PWM output. But the 5khz-15khz frequency causes a > shrill audio tone to resonate in the fan, which of course is > no surprise. Adding an RC filter into the gate of the IRFZ44 > N-Channel MOSFET reduces the whine, yet causes erratic and > undefined speed control if any at all. > > 2. I want to turn this MOSFET into a voltage controlled > resistor which I would think (correct me if I am wrong) will > eliminate the audio problem but cause losses in the MOSFET, > which wouldn't be a problem. Yet I have no idea how to set up > the circuit. Matching the FET resistance to the motor may be tricky if this is for production. Also, there will be variations over temperature... The PWM approach is nice because it avoids these issues. 1) try an LC filter on the mosfet DRAIN to filter the PWM pulses. The L will have to carry the DC current without saturating, and a pole of a couple of hundred hertz should eliminate most of the noise. 2) Add an opamp to control the FET voltage with the feedback from the FET source. Use the PWM output, filtered with an RC filter, to provide the setpoint. The inductor for 1) might get rather expensive, making 2) a cheaper alternative Hope this helps, > The bottom line is, I want to be able to control the speed of > this fan from 40% to 100% without the audible whine from this > PWM signal. I need a way to filter the PWM output to provide > a stable output voltage proportional to PWM duty cycle. I > would appreciate any advice. --------------------------------------------------------------------- Jonathan King | king@uicc.com Unitrode Corp. | http://www.unitrode.com 7 Continental Blvd | (603) 429-8715 Merrimack, NH 03054 | (603) 424-3460