Lets Talk About Different Dimmer/PWM Circuit Designs (>=120vac) - Pros & Cons

Thread Starter

Mahonroy

Joined Oct 21, 2014
406
Hey guys,
I have been reading up on all kinds of different dimmer/pwm circuit designs, and it still left some questions unanswered for me. I wanted to mention some of the more popular designs out there, and maybe get some discussion going on it.

More specifically, I am talking about circuits related to resistive loads (heating elements, incandescent bulbs, etc.) potentially between 10-20amp loads.
These circuits will also be controlled by a microcontroller, not a potentiometer, so they can be sophisticated.

I am curious between the different designs and which one might be the better/best. What I am considering best is something that is most efficient and generates the least amount of heat, is reliable, has the greatest control over the load, and is safe.

1. Triac Dimmer Circuit. This seems to be the most popular circuit. Basically you turn the triac on/off at different periods of time to reduce the 120vac sin wave to the load. This circuit does not just randomly chop up the 120vac sin wave... you have to keep track of the zero crossing point (usually by an opto-coupler). You start counting and then activate the triac at a precise time after the zero crossing point. You then turn the triac off as soon as you reach the next zero crossing point, and repeat. Here is an example:

From what I have been reading, these can generate some heat, and can make an audible noise. I believe one of the reasons for the noise is because of the PWM is near 60Hz (still pretty low frequency), and there are steep currents present in this modified sin wave. My questions are:
  • Can anything be done to reduce the amount of heat and reduce the audible noise?
  • It seems the exact same thing can be accomplished with a bipolar transistor or mosfet. If this is the case, is there an advantage to using the triac, or could a bipolar transistor/mosfet setup be better?
2. Slow PWM Circuit: This seems to be pretty popular due to how easy and simple it is to set up. This just uses a high current solid state relay (SSR) and is activated by a PWM - generally in the order of seconds. For example, if you want 10% throttle, you turn the SSR on for 1 second, then leave it off for the next 9 seconds... and repeat. 60% throttle would be on for 6 seconds, off for 4 seconds... you get the idea.

While this would not be practical for a light bulb, it would work for something like a heating element.
  • I am under the impression that you don't really want to switch SSR's any faster than that since supposedly the more you switch them the hotter they get, and they are not intended to be switched like a transistor for example - they have a rated amount of switching before they can wear out.
  • Am I wrong to assume that while this would work as is, you would have far greater control over the heating element if you were providing the load with a finer resolution? For example lets say there is a PID control present... would it not be better to be able to heat the element up to a temperature of 50% (roughly) constantly, as apposed to slow PWM a 50/50? I like the idea of the better control even if it adds complexity to the circuit.
3. Bridge Rectifier PWM Dimmer Circuit: This basically converts the 120vac sin wave into a fully rectified sin wave, then provides a high frequency PWM to chop the wave up. So picture this fully rectified sine wave below, only chopped up like the picture underneith it:


Personally this seemed like the best option, since you don't need to keep track of the zero crossing point since you are switching it at such a high frequency. Also, since it is a higher frequency you don't get any audible noise.
  • I saw designs that used mosfets, bipolar transistors, and silicone controlled rectifiers to take care of the switching. It was not clear to me which rout is best, and why chose one over the other.
  • I have seen some of these circuits containing massive heatsinks on the switching IC, and others that have no heat sink. What might cause a design to generate way more heat than the other? Is it the PWM frequency? E.g. the higher the frequency the hotter the switching IC will get? What is the best way to take care of this?
  • It was not clear to me if this sine wave output was acceptable as is, or if there needed to be some sort filtering/smoothing to basically turn this chopped up sine wave into a smooth sine wave but with less amplitude... here is an example:


4. IGBT Dimmer: I was not sure of the difference between this and #3 "Bridge Rectifier PWM Dimmer Circuit". Is this just the same thing only specifically using a bipolar transistor as the switch?

5. Sine Wave Dimmer: Same thing, I could not tell the difference between this and #3 "Bridge Rectifier PWM Dimmer Circuit"... this just seemed to have a filtered output, is that the only difference?

A couple of more general questions:
  • Are any designs potentially bad for resistive loads, such as causing a heating element to die prematurely. From what I could tell it seemed #2 "Slow PWM Circuit" would reduce the life of the element the most because its starting and stopping with a higher temperature delta. I could be wrong.

Anyways I would greatly appreciate any insight you might have. I am wanting to experiment with a few dimming controls - mainly heating elements (all will be controlled by a microcontroller and completely isolated from the user) and I have soo many unanswered questions that I have no idea which rout is best. I want to build something robust and nice, and that has the greatest control over the device, I don't want to go for a design only because its simple.I have come across similar questions on other forums and couldn't really find the right answers to some of this, so figured it would be cool to open a discussion about it. Thanks!
 

cmartinez

Joined Jan 17, 2007
8,252
Personally, I like design #3 best, but if you were to add a circuit that will let you control the phase too, just like circuit #1, it would work much, much better. If you're using a microcontroller, you can install a simple zero-crossing detection circuit, and then count down to a predetermined moment to start doing your PWM stuff.
I've done it before, with exactly the same intentions as yours (which is very accurately controlling a resistive load), and it worked wonderfully.

Now, why did I bother to use two different techniques in one? Because sometimes a standard 8-bit resolution PWM as performed by an MCU is not fine or accurate enough to get what you want. With the hybrid technique that I just described, I was able to perfectly control the amount of current (and hence heat dissipated) flowing through a nichrome wire just 1/2" long with a standard 120VAC input!

Word of advice, in this forum you have to include a 1:1 isolation transformer in your design and not connect your circuit to mains so as not to violate AAC's TOS.
 
Last edited:

Thread Starter

Mahonroy

Joined Oct 21, 2014
406
Personally, I like design #3 best, but if you were to add a circuit that will let you control the phase too, just like circuit #1, it would work much, much better. If you're using a microcontroller, you can install a simple zero-crossing detection circuit, and then count down to a predetermined moment to start doing your PWM stuff.
I've done it before, with exactly the same intentions as yours (which is very accurately controlling a resistive load), and it worked wonderfully.

Now, why did I bother to use two different techniques in one? Because sometimes a standard 8-bit resolution PWM as performed by an MCU is not fine or accurate enough to get what you want. With the hybrid technique that I just described, I was able to perfectly control the amount of current (and hence heat dissipated) flowing through a nichrome wire just 1/2" long with a standard 120VAC input!

Word of advice, in this forum you have to include a 1:1 isolation transformer in your design and not connect your circuit to mains so as not to violate AAC's TOS.
I like the idea of doing both the zero crossing and the PWM. I have a couple questions for you about your project then... what kind of frequency were you doing? Was it a large amperage, and did your switching device get hot? Did you use a transistor, mosfet, or something else? Thanks again for the response!


I applaud your level of design research.

One critical parameter you left out: economics.
How many of these things do you need to make?
This is just on the hobby level for now, so I'm not overly concerned with cost. I'm just going to CAD it up in eagle and make a small batch. It would be more important for me to use standard/reasonable parts that are not too difficult to acquire - as opposed to obscure parts that may be expensive and hard to come by.
 

cmartinez

Joined Jan 17, 2007
8,252
I like the idea of doing both the zero crossing and the PWM. I have a couple questions for you about your project then... what kind of frequency were you doing? Was it a large amperage, and did your switching device get hot? Did you use a transistor, mosfet, or something else? Thanks again for the response!
I used mosfets, and my circuit worked at a standard 60 Hz. The thing with mosfets is that you have to be very careful and protect them against voltage spikes due to several factors that I will explain later. And also, you have to know how to drive them properly.

Why don't you start by estimating how much you're willing to spend in components? That is the normal approach for any project... I mean, gee... I'd be more than glad to help you design a million dollar dimmer if you want, but I'm sure you have something a little more affordable in mind.
Have you ever used MCUs ? What type or brand? Are you planning on interfacing that MCU to a computer, or would you like it to work in a stand-alone sort of way?

Also a simplified block diagram of how you think your circuit should work would help.
 

MaxHeadRoom

Joined Jul 18, 2013
28,681
More specifically, I am talking about circuits related to resistive loads (heating elements, incandescent bulbs, etc.) potentially between 10-20amp loads.
These circuits will also be controlled by a microcontroller, not a potentiometer, so they can be sophisticated.
For resistive/heating style loads it is often done by Burst Firing using zero-cross switch-on to eliminate the 'noisier' phase angle control.
Take a look at the Fairchild app note AN-3006 for various methods.
Max.
 
Last edited:
One thing I want to mention is that for phase angle firing 0 to 100% generally relates to 0 to 100% of the average of V^2 (dt). If R is constant V^2/R is proportional to power.

Motor (inductive) loads make the dimming more complex because the SCR/Triac turns off at zero voltage and zero current and they don't occur at the same time for motor loads.

Commercial controllers can be ordered for Tungsten loads. It may have to do with the lower resistance at start-up http://hypertextbook.com/facts/2004/DeannaStewart.shtml e.g. current limiting.

Back to back SCR's are used sometimes for reasons unknown.

I did plenty of this until I persuaded the powers that be to go with DC power supplies rather than Variacs, home made panels for loads around 40 V, 30 A A power supply with a power readout would have been ideal. It saved rack space too. You could do the power supply in a 1RU space.
 

Lestraveled

Joined May 19, 2014
1,946
The basic triac dimmer is definitely the cheapest and simplest dimmer design. You can control it from a microcontroller by a verity of opto-isolators. Most of other options require a big bridge rectifier which is pretty lossy at high currents. A GBJ2504, a 25 amp bridge rectifier will drop >2 volts at 20 amps or >40 watts, that a lot of heat. Then you have losses in the control components (Mosfet). A simple triac circuit will dissipate half of that.
 

PAFMC01

Joined Mar 20, 2013
12
So many good replies...

You spoke about noise. I presume you meant acoustic noise rather than electrical noise? Electrical noise (harmonics) is going to be generated whenever you rapidly switch large currents, so all the designs except the ones involving zero crossing switching will do that. Acoustic noise has to be caused by something vibrating. With a resistive load of significant watts that is likely to be because the resistance constructed as a wire coil, like in a water heater or stove element. They buzz when phase controlled dimmed because of movement of the resistance wire due to magnetic effects. A wire wound resistor is partly a coil after all. Likewise, a dimmed light globe (not the little ones - but theatre lights...500watts and upwards, can buzz when dimmed because again the coil contracts due to magnetic effects with a step wise applied voltage. Mind you, whilst I have often heard this buzz I am at a bit of a loss to understand how the sound is transmitted through the vacuum that is inside a light globe! And not all globes buzz equally, if at all...must be to do with the mechanical construction.

Do not worry about thermal cycling of your load - the thermal time constant of the kind of load you posit is ridiculously long compared to the duty cycle of your various PWM methods even the multiple cycle burst method.

As far as heat goes - I assume you are talking about heat in the switching circuit, not heat in the load! The more you switch from no current to load current the more transitions of high voltage coupled with high current hence high power dissipation in the switch you will have. Remember heat (power dissipated) is the integral of voltage and current. That means high voltage across the switch and zero current through it, (i.e. blocking state) =zero power. Zero voltage and full current (i.e conducting state) likewise = zero power. The only time it is dissipating is when it is transition. In fact any real-world semiconductor switch also dissipates in the conductive state because the voltage across it is never quite zero. MOSFETS get closest, but you have to ensure they switch really fast. Triacs always transition as fast as they can due to the positive feedback inherent in their switching method, and you only have to initiate the process - with a measly trigger pulse at the right time.

That's another reason for either using a triac or the long cycle zero crossing approach. On that tack - the reason inverse parallel SCRS are (were) often used is that when triacs first came out they could not be fabricated with the combination of high current and reverse blocking capability of SCRs. A big triac in the sixties was 40 amp. A decent SCR of the day could deal with 400 amps. All changed now of course.

In higher power devices the chip heat was a problem, and false triggering from dV/dt effects was more a problem with triacs. Add that to the fact the triac was "working" on every half cycle, but each SCR was only called on to switch once every cycle. Nowadays it is far more usual to see big triacs with good thermal stability and good blocking characteristics....and they are so much easier to trigger than SCRs in that the component count is lower.

If your load is a water heater or an oven, then duty cycles in the order of seconds or even minutes would be fine. EG one minute on..one minutes off for a 50% duty cycle is not any worse than a 50% duty cycle achieved by triac phase control...but it generates a lot less electrical noise, especially if the switching is done at zero crossing.

If you are trying to control a little crystal oven without any thermal hunting then more frequent switching is called for. Bottom line is the switching frequency should be short compared to the thermal time constant of the load to reduce hunting over and under the desired set point.

I can see no advantage in using FETS or the like to switch multiple times within a half cycle. There is no value in maintaining anything like a sinusoidal V/I curve for your load. I see only the disadvantage of increased dissipation in the switching device.

My suggestion: Use a triac. Lowest component count. Easiest design. Simplest physical construction.

I also harbour a misgiving as to why one would want to use a micro controller for such an elementary task - unless the control logic is quite involved, 'cos the basic task of controlling power to your load can be done with very simple circuitry and no programming. But then I don't know your desired purpose.

Great question - really lets those worms out of that can.

Regards
PAF
 

Thread Starter

Mahonroy

Joined Oct 21, 2014
406
Thanks a lot for all of the responses! I will do my best to respond to questions.

@cmartinez , I would say this thing should be under $100 in components. Preferably under $50 even. What I meant by what frequency you used, I meant the PWM frequency, not the line frequency. For example in the image I posted under #3, I see about 18 pulses per complete 360 degree cycle. At 120vac (60Hz), this would be a PWM frequency of 1080Hz (60Hz * 18 pulses). To answer your question about MCU's, I have built a ton of misc. devices out of Parallax Propeller chips (QFP44) - majority being small control devices with a small screen & a GUI - some wirelessly controlled. It will not interface a computer.

@MaxHeadRoom , are you saying that its better to activate the triac at the zero crossing, then turn it off after the desired amount of time? (as apposed to doing the opposite by turning the triac on after desired amount of time, then turning it off at zero crossing).

@KeepItSImpleStupid , In regards to the PWM control for tungsten loads; I had read that doing a PWM scheme that is a fully rectified output signal (>=0 volts, nothing negative) can reduce the life on tungsten because it causes some kind of build up or something on one side of the tungsten. I would imaging that the company lets you indicate this so they can provide you with a full sin wave type of PWM instead that is better for tungsten.

@PAFMC01 , not electrical noise - audible noise. And yes heating of the control circuit is what I was concerned with. I had mentioned earlier that while using a slow PWM for a heating element might work out ok, that you would have far better control over the load with a finer resolution PWM.

Thanks again for the responses so far!
 

cmartinez

Joined Jan 17, 2007
8,252
I meant the PWM frequency, not the line frequency.
My bad... should've know what you were asking...

My circuit worked at 42Khz, and it worked perfectly, except for some noise that was being produced. But I'm pretty sure that some of our friends here can help us design some filter/suppressor that could be included in the circuit to minimize that problem.

It worked pretty much like this:

Capture.PNG

The reason I chose to make it work like that is because it allows you to do much finer power tuning, since it starts working at the lowest parts of the sinewave.

A $100 dll budget is a rather large one. I'm thinking that you shouldn't be spending more than 30 bucks to get what you want.
 

cmartinez

Joined Jan 17, 2007
8,252
@MaxHeadRoom , are you saying that its better to activate the triac at the zero crossing, then turn it off after the desired amount of time? (as apposed to doing the opposite by turning the triac on after desired amount of time, then turning it off at zero crossing).
Just to clarify, a triac cannot be turned off once it's turned on. Voltage has to go back to zero for it to disengage and stop conducting. That's why the only way to control something with a triac is by switching it on some time after 0V was crossed.
 

Thread Starter

Mahonroy

Joined Oct 21, 2014
406
Thanks again for the info!
I think I like this design the best so far (using a high frequency mosfet), I want to give it a shot and see if I can come up with a solid circuit schematic. I will also make an attempt to calculate the amount of power dissipation for the mosfet so I can size up a proper heatsink.

Is it necessary to keep the full sin wave, or should I run it through a bridge rectifier first and make the entire output signal positive only? Are there any drawbacks to either way?
 

cmartinez

Joined Jan 17, 2007
8,252
Thanks again for the info!
I think I like this design the best so far (using a high frequency mosfet), I want to give it a shot and see if I can come up with a solid circuit schematic. I will also make an attempt to calculate the amount of power dissipation for the mosfet so I can size up a proper heatsink.

Is it necessary to keep the full sin wave, or should I run it through a bridge rectifier first and make the entire output signal positive only? Are there any drawbacks to either way?
You could keep the full sin wave, but you'd have to use two mosfets back-to-back. It's easier (and cheaper) to use a bridge rectifier and place the mosfet in the middle of it.

Something like this:

dimmer-with-a-mosfet-circuit-diagram.jpg

For the moment, forget about the way the mosfet is being driven. That is, ignore D6, R2 to R5, D1 and C1 and C2. For your circuit I'd suggest a "floating" type of driver pretty much like this one.

EDIT: There are other members of this forum far more knowledgeable than me when it comes to mosfet drivers. This is just my suggestion, but maybe others could come up with a better (or simpler, cheaper) idea.
 

MaxHeadRoom

Joined Jul 18, 2013
28,681
@MaxHeadRoom , are you saying that its better to activate the triac at the zero crossing, then turn it off after the desired amount of time? (as apposed to doing the opposite by turning the triac on after desired amount of time, then turning it off at zero crossing).
See the app note AN-3006 burst firing is zero turn on and the triac turns off at the end of the cycle, IOW on for the whole cycle, but this is zero switching for a set period rather than phase angle switching.
The period is then controlled as a number of cycles on, cycles off.
Max.
 

Thread Starter

Mahonroy

Joined Oct 21, 2014
406
So I think I sourced a mosfet and a bridge rectifier that would be up for the task (or parts similar to these). Assuming a maximum operating current of 20 amps, I derated them a bit for a safety margin:
  • Mosfet: "IPP60R099C6" by Infineon Technologies
  • Bridge Rectifier: "GBPC5008W-G" by Comchip Technology
They seem to be fairly common and have a typical package.

I was going to attempt to figure out what kind of heat they may generate & an appropriate heatsink, then will work on the control portion of the circuit.

So the Rds value on the Mosfet is 90 mOhms (I'm assuming while its cool). Assuming 20 amps max, so using the equation P = I * I * R => 20 * 20 * 0.09 = 36 watts. This is for when the mosfet is constantly on correct? Doesn't the mosfets generate more heat the more they switch though or do I have that wrong?

Here are the values I found for the thermal resistance junction on the mosfet:
"Thermal resistance junction - case": 0.45 C/W
"Thermal resistance junction - ambient" 62 C/W

So with no heatsink, 36 watts * 62 = 2232 C. So assuming room temperature is 25 C, this means the mosfet would heat up to 2257 Celsius, do I have that correct? (obviously it would cook well before that)

I found this diagram for calculating the temperature rise with a heatsink, using this heatsink as an example:
https://www.sparkfun.com/products/9576


  • TJ is the temperature of the semiconductor junction

  • RJC is the thermal resistance between the junction and the case (1.55°C/W as given in the datasheet)

  • TC is the temperature at the surface of the package

  • RCH is the thermal resistance between the case and the heat sink (.25°C/W; see below)

  • TH is the temperautre at the surface of the heat sink

  • RHA is the thermal resistance between the heat sink and the ambient air (2.70°C/W as given in the datasheet)

  • TA is the ambient temperature (25° is a pretty standard value for room temp, but this can go up if your device is in an enclosure or a more trying environment, such as outside in the sun)

  • P is the power from which we are attempting to dissipate heat (30W)
TJ = P(RJC+RCH+RHA) +TA

So 36(0.45 + 0.25 + 2.7) + 25 = 147.4 Celsius

From the datasheet it looks like the maximum operating temperature of the mosfet is 150 Celsius so that heat sink would barely fit the bill (without any room for error or derating), so I would either need a larger heat sink than that, or figure in some air flow into the equation.

Did I do this right? I was going to do the same calculation for the bridge rectifier next to source a heatsink for that. I didn't realize these circuits generate so much heat! haha
 

Thread Starter

Mahonroy

Joined Oct 21, 2014
406
Is it possible to accomplish this without a heat sink by the way? Any of the methods mentioned above? Or at the very least a small heatsink that could be contained inside an enclosure?

Or will any design generate a lot of heat and its unavoidable?
 
Top