Pages: [1]   Go Down
Author Topic: Controlling a heater using PWM and MOSFET  (Read 2480 times)
0 Members and 1 Guest are viewing this topic.
Kentucky, US
Offline Offline
Full Member
***
Karma: 1
Posts: 193
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Please forgive not posting a schematic, but this is question is pretty general, I think.  I am looking for an alternative to phase angle control so I can avoid having to detect the zero cross of the AC.

What I would like to do is control the output of an 800W heater using a power MOSFET (IPP50R350CP ?).  My idea is to use four diodes (1N5404 ?) to rectify 120VAC/60Hz mains and perform switching using a MOSFET on the low side of the heater.

I would feed a 1200Hz PWM signal to the gate of the MOSFET from pin D3 of an Arduino, passing it first through an optoisolator (4N35 ?).

The way I visualize this working is that each "hump" of the rectified AC power would get chopped into 10 slices of nominally 0.83 mS each.  Within each of those slices, the PWM duty cycle would switch on the MOSFET for some fraction of 0.83 mS, thereby controlling the average power to the heater within acceptable tolerances.

Where are the flaws in this idea?

Jim



Logged

TC4 Open Source Digital Thermometer and Temperature Controller
http://code.google.com/p/tc4-shield

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6613
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That solution will create a lot of interference on the mains because of the frequent switching of a high power device other than on the zero crossing. As the device is a heater, you can switch it much more slowly. I would use a zero-crossing SSR to control the heater and program the Arduino to switch it on and off with a cycle time of maybe 5 seconds.
« Last Edit: September 04, 2011, 11:53:36 am by dc42 » Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 73
Posts: 7188
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I have the same concern. Fine control of a heater can be done with a variable voltage supply. The voltage supply acts like inverting amp to take an analog voltage control signal and amplify to the right voltage range and power the heater with this output. Then you can run a PID routine on the system to maintain temperature.
Logged


Kentucky, US
Offline Offline
Full Member
***
Karma: 1
Posts: 193
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That solution will create a lot of interference on the mains because of the frequent switching of a high power device other than on the zero crossing. As the device is a heater, you can switch it much more slowly. I would use a zero-crossing SSR to control the heater and program the Arduino to switch it on and off with a cycle time of maybe 5 seconds.
Yes, you are correct.  Switching with a cycle time of 5 seconds does work well (I am actually switching it at 1Hz now, but have also used longer cycles successfully). 

The problem I'm trying to solve is the annoying dimming of lights that share a circuit.  The line voltage drop caused by the heater switching is small, but easily noticed with incandescent lights.

Is there an inexpensive way to filter the interference?

Jim
Logged

TC4 Open Source Digital Thermometer and Temperature Controller
http://code.google.com/p/tc4-shield

Kentucky, US
Offline Offline
Full Member
***
Karma: 1
Posts: 193
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

... Fine control of a heater can be done with a variable voltage supply. The voltage supply acts like inverting amp to take an analog voltage control signal and amplify to the right voltage range and power the heater with this output....
I think I understand.  Run the PWM signal through a low pass filter to get analog control voltage, and then amplify, right?

Where can I find schematics or other information for something that can handle my power requirements (800W)?

Thanks.

Jim
Logged

TC4 Open Source Digital Thermometer and Temperature Controller
http://code.google.com/p/tc4-shield

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 73
Posts: 7188
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I have been using Kepco power supplies for this exact application. They are not cheap. Mine is about less than 300W. Very sure they have rack mount supplies in your range. Again price isthe main issue.
Logged


Kentucky, US
Offline Offline
Full Member
***
Karma: 1
Posts: 193
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I appreciate your warnings -- thanks. 

But the voltage drop created at the outlet by the 7A load is actually pretty small.  Once upon a time I ran some numbers and concluded that the drop could be explained by nothing more sinister than the resistance x length of the wires going from the outlet to the basement subpanel to the main panel.  But I will repeat the measurements -- just to be sure.

It is surprising how small a voltage drop becomes noticeable in an overhead incandescent light when it is on a regular cycle.

Jim
Logged

TC4 Open Source Digital Thermometer and Temperature Controller
http://code.google.com/p/tc4-shield

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6613
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

If you are sure that your mains wiring meets the appropriate standards, and you don't want to get it replaced to reduce its resistance, how about replacing the incandescent light by something that is less sensitive to mains voltage? Such as low voltage LED lighting fed from a regulated supply.
« Last Edit: September 04, 2011, 04:06:16 pm by dc42 » Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Kentucky, US
Offline Offline
Full Member
***
Karma: 1
Posts: 193
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Of course, that makes perfect sense.  Or, I could use one of the phase angle control SSR's I have on my shelf.

But for a while I've been curious about the PWM/MOSFET idea I described above and wanted to pursue it a little further, preferably without catastrophes.  If it can be made to work, I have many other projects to apply it.

Jim
Logged

TC4 Open Source Digital Thermometer and Temperature Controller
http://code.google.com/p/tc4-shield

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6613
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I've no doubt it can be made to work, but preventing it from interfering with everything else in the area and on that mains circuit would be a major problem. What do you see as the advantage over a phase angle SSR?

Have you tried using a zero-crossing SSR and switching it on/off potentially on every cycle of the mains? For example, when you want 50% power, instead of 0.5 sec on then 0.5 sec off (which might give a noticeable flicker), turn it on for 1 cycle, then off for 1 cycle, then on for 1 cycle etc.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Kentucky, US
Offline Offline
Full Member
***
Karma: 1
Posts: 193
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I've no doubt it can be made to work, but preventing it from interfering with everything else in the area and on that mains circuit would be a major problem. What do you see as the advantage over a phase angle SSR?
The phase angle SSR's I can afford are pretty non-linear (2-10V input), particularly at low output levels.  So tuning the PID loop for good performance is difficult since the heater runs at around 6% duty cycle at steady state.  And these SSR's are still fairly pricey.

Have you tried using a zero-crossing SSR and switching it on/off potentially on every cycle of the mains? For example, when you want 50% power, instead of 0.5 sec on then 0.5 sec off (which might give a noticeable flicker), turn it on for 1 cycle, then off for 1 cycle, then on for 1 cycle etc.
Haven't tried this yet, but I think it might turn out to be the best solution overall.  I have some demo code for this approach (somewhere) that apparently succeeds without needing the arduino to perform zero cross detection.

Jim
Logged

TC4 Open Source Digital Thermometer and Temperature Controller
http://code.google.com/p/tc4-shield

Pages: [1]   Go Up
Jump to: