I have successfully dimmed a light bulb using a triac & phase chopping method,but when I tried dimming an inductive load (for e.g. ceiling fan) then it made a humming noise at DIMMING, however it worked fine when full power is supplied (no dimming, ON state).I understand this is because of the sharp edge due to sudden voltage rising and this adds harmonics to the motor. It's been a week and I have tried many filter configuration with triac as I read online that using inductive choke would solve the problem but it doesn't seem so. Using an RC filter has so many drawback for my project so I cannot use RC filters as it decreases current to the load.

If someone can suggest me a better filter configuration or any other method to smooth that curve or reduce the noise I'll be grateful.

You can see, in waveform obtained after using inductor, the sharp edge becomes more sharp. I know that the curve that I am getting is a typical inductor behavior. To solve this, as seen in some circuits, a capacitor is used in parallel making it kind of an LC filter or Pi-filter. But even after adding the capacitor the sharpness of the rising stays the same.

Please suggest what values to be used to solve this problem.

(Waveforms) 1.waveform at triac firing/dimming(steep rise), 2.waveform to be achieved after smoothing, 3.waveform with inductor(150mH) in series configuration(not correct)

enter image description here

  • 3
    \$\begingroup\$ Nice oscillogram! \$\endgroup\$
    – winny
    Commented Feb 21, 2017 at 12:05
  • \$\begingroup\$ What makes you think this motor is capable of running from a triac silently? What motor specs do you have? Dimmer pulses cause a lot of jerk forces and higher currents due to low back EMF from low RPM. \$\endgroup\$ Commented Feb 21, 2017 at 12:49
  • \$\begingroup\$ Try PWM with IGBTs \$\endgroup\$ Commented Feb 21, 2017 at 12:50

2 Answers 2


I have also experienced the same humming noise while using PWM dimming on Fan. The only solution that works well is by using capacitors to reduce speed. You may need to stack 2 or 3 capacitors (1uF, 2.2uF, 3uF) which are rated to work in 250VAC and connect them in series to get various speed levels. It is a little complex and bulky compared to PWM approach, however this will not create any humming noise.


For eliminating humming sounds during AC dimming, you need to make sure that the TRIAC is being driven correctly. The humming is usually caused when the TRIAC is activated at a point in the AC waveform that is not zero. That's why it is important to have the ZCD circuit to synchronize the TRIAC control signal with the AC waveform.

To make the Triac drive as efficient as possible and eliminate humming you would need to:

Sync the control pulse with the Zero Crossing Detector (ZCD), so that your pulse starts on a zero crossing of the AC waveform. This is critical for silent operation of inductive loads like fans.

For controlling fan speed without generating a humming sound, it is also crucial to have a high enough PWM frequency. Frequencies over 20 KHz are desirable because they are above the human hearing range. Hence, even if your fan is driven at that frequency, you won't hear a humming sound.

The duty cycle of the PWM signal will control the average power that is fed to the fan, hence controlling the fan speed. Here's a pseudocode example:

#define ZCD_PIN 2  // Zero crossing detector interrupt pin
#define PWM_PIN 5  // PWM output pin
#define FREQUENCY 880  // Frequency in Hz

void setup(){
  pinMode(PWM_PIN, OUTPUT);
  attachInterrupt(digitalPinToInterrupt(ZCD_PIN), zero_cross_event, RISING);

void zero_cross_event(){
  // This function will be called every time a zero crossing is detected
  // Change the PWM width here to control the power fed to the fan
  analogWrite(PWM_PIN, 255 * desired_power_percentage);

void loop(){
  // The PWM frequency can be continuously adjusted or set once

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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