I try to make controller for 12V fan, where I can vary voltage from 3V to 12V on this fan. It works OK, but it makes electrical noise on 12V power line. How could I get rid of it? How to filter it, or how to modify my circuit? enter image description here this is the noise: enter image description here

UPDATE: Fan draws 220mA @ 12V, 60mA @ 3V. This is the modified circuit, according to answers. Noise is lowered down to ~20mV peak-peak: Added 100nF across pins 1 and 2 of opamp, 100nF cap across power pins of opamp, 2200uF cap from 12V to ground.

UPDATE2: I put 3k resistor from Q1 emitter to ground and removed capacitor that was directly on fan connector (there is just 2200uF on 12V line). This lowered noise once again.

  • \$\begingroup\$ Please include the wattage, horsepower, amperage draw of the fan. Also, how long are the wires between the output connector of your circuit and the fan motor? \$\endgroup\$ – FiddyOhm Jul 21 '16 at 2:20
  • \$\begingroup\$ Fan draws around 220mA @ 12V, 60mA @ 3V. Wires are currently 40cm long in my test circuit. Finally they will be around 15cm long. \$\endgroup\$ – Chupacabras Jul 21 '16 at 5:16

Nothing dramatic going on here. You just need to install some basic bypass capacitors on the power supply feed and the op-amp feedback path.

Insert a .1uF capacitor from pin 1 to pin 2 of the op-amp. This will stabilize the op-amp so it is not prone to oscillation burst. Replace C1 with a .1uF capacitor and move the 100uF capacitor (+) lead to the 12 volt power supply, as close to the mosfet as possible. To prevent odd behaviour install a .1uF capacitor directly across the power supply pins of the op-amp.

Take readings again and the servo-control loop should be stable with little or no noise on the 12 volt line.

EDIT 1: OP made final(?) changes which included a .1uF across the op-amp pins 1 and 2, 100uF across the diode/motor, and adding a 2,200uF capacitor across the 12 volt to ground power feed. The result is a noise drop from 3V p-p on the 12 volt line to 18mV p-p. This is an improvement of 166 times lower, or 44.436 dB lower, as a voltage ratio.

EDIT 2: OP removed C1 and installed a 3K resistor in the emitter of Q1, leaving other parts the same. Reports lower noise level but did not give values.

  • \$\begingroup\$ should be as close as possible to the connectors pins, not the fets. \$\endgroup\$ – scorpdaddy Jul 21 '16 at 14:37
  • \$\begingroup\$ Original circuit had noise 3V peak-peak. When I moved positive lead of C1 from fan to 12V power line, then noise dropped to 50mV p-p. Then I put 100nF across diode. Noise raised to 200mV p-p. Then I put 100nF from pin 1 to pin 2 of opamp. Fan started to make unpleasant audible noise. \$\endgroup\$ – Chupacabras Jul 21 '16 at 19:22
  • \$\begingroup\$ Since this is a experimental servo-control loop, keep the changes that worked and undo the changes that created more noise or erratic behaviour of the op-amp. If I was building this circuit I would do the same. The capacitor across pins 1 and 2 of the op-amp could be reduced to .01uF or even .001uF. \$\endgroup\$ – Sparky256 Jul 21 '16 at 19:31
  • \$\begingroup\$ By the way, 50mV of noise is actually very low. That is a dramatic drop from 3V p-p. It will always be greater than zero. \$\endgroup\$ – Sparky256 Jul 21 '16 at 19:38
  • \$\begingroup\$ Now I tried this: 100nF across 1 and 2 pin of opamp, 100uF across diode, 2200uF from 12V power line to ground. Now the noise is around 18mV p-p. I wanted to keep caps as low as possible, but now it seems I will have to use this big 2200uF one. \$\endgroup\$ – Chupacabras Jul 21 '16 at 20:34

I have tried all advices and hints, and experimented. This is my final circuit: enter image description here

And noise at 12V line looks like this: enter image description here it is ~12mV peak-peak

I managed to reduce this noise further more only by increasing size of C3.


Couple of things here:

1) The output stage following the op-amp has significant voltage gain. This may be causing instability. Try adding a 1k or so resistor in the emitter of Q1.

If this improves things but doesn't completely get rid of the noise, increase the value of the emitter resistor.

The value of the emitter resistor has to be low enough to ensure that Q2 will turn on fully - you will need to check the datasheet for the MOSFET to find out what the maximum G-S voltage is to ensure full enhancement. Assuming that Q1 saturates, you can figure out the maximum allowable value of the emitter resistor to guarantee that Q2 can be fully enhanced.

2) This may or may not be related - but I often have to add a LC filter network in the power leads of a brushless DC fan if I am having noise issues elsewhere in the circuit. The noise shows up in audio circuits as a whine, where the pitch of the whine is directly proportional to the speed of the fan. The quick check for this is to simply use your finger on the center hub of the fan blade to slow it down while listening to the whine. If the pitch changes, the whine is being caused by the fan.

A typical LC filter is two simple components: an inductor with a high-enough current rating so as to not saturate and a capacitor. Inductor values that I use range from 330uH all the way up to about 1200uH (1.2mH). Capacitor is a Sanyo AX or GX at 100uF, 35V. The Sanyo AX and GX capacitors have extremely low ESR and work cold and we just keep lots of them around.

  • \$\begingroup\$ 1) I added 1k to emitter. Noise was reduced by it. Then I tried different values, and the best value for my circuit was 3k. This really helped. \$\endgroup\$ – Chupacabras Jul 22 '16 at 20:02

You will need to add bypass caps across connectors pins 1,2 for higher freqs. Perhaps a 100nF, and a 1nF. They should be as close as possible to the connector's pins 1,2. That deals with the conducted noise.

You will also undoubtedly have radiated noise. The high freq noise will be on the cable from the connector to the fan. The wires of pins 1 and 2 need to be twisted together to get rid of the radiated noise. If you don't eliminate the radiated noise it will show up everywhere.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.