Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Can we apply PWM in an AC heater?

Status
Not open for further replies.

angelbein

Newbie level 4
Joined
Jan 27, 2007
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,350
pwm heater

The machine that we are designing is controlled by a Visual Basic program. The main goal of the machine is to achieve the graph of the Temperature over time according to the Ramping rate inputted by the user.

The graph of the ramping rate is linear while the graph of the temperature suddenly increased at the beginning of process.

We already made the circuit of the machine. We used LM35 and ADC0808 for the sensor inputs connected to the parallel port. We also used optoisolator and triac to control the temperature for its ON/OFF process. But how do we actually control the sudden increase of the temperature to follow the ramping rate?

Actually the PWM that we used is slower than ordinary PWM. In 1 second, the ON/OFF states follow the duty cycle of the PWM, for example, 10% duty cycle means that in 1 second, the ON period is 10% or 100 milliseconds and 90% ms OFF.

Will it have an effect to the heating process if we control the heater by PWM?
 

pwm heater control

PWM should be fine for your purpose. You could also consider some sort of hysteresis control.
 

pwm thermostat to heater

Hello,

Will it have an effect to the heating process if we control the heater by PWM?
This depends on time constant of heating process and allowable short time deviations in temperature gradient. Generally, you didn't tell about accuracy requirements and if utilizing a feedback controller or simple feedforward power control. If process timeconstant are shorter than a few seconds, likely with air/gas heating or small heated zones, you would see at least part of the power switching in temperature graph. I guess, although not mentioned explicitely, you are using full-wave packet switching with mains voltage. To achieve shorter switching periods, you could use a sigma-delta like switching of single full-periods instead.

Regards,
Frank
 

pwm heater controller

The feedback controller is also controlled by the paralel port. The circuit of the feedback is composed of three temperature sensors LM35DZ interfaced through an ADC0808 with 20mv per step. Then the ADC is then connected to a 74LS244 to be connected to the parallel port. The 74LS244 divides the bits by four because the status port of the printer port can only accept 4 bits at a time. We implemented 1°C accuracy from the sensors. Generally, this is how it works:

1)The user inputs a Ramping Rate in the program. Ramping Rate is temperature over time; °C/sec. This Ramping Rate when graphed is linear.

2) The Heater controller turns ON at a click on the start button and begin the heating process. This controller is composed of an optoisolator and a triac.

2) The feedback circuit composed of LM35DZ, ADC0808 and 74LS244 sends data one at a time to the status of the printer port.

3) The Visual Basic program interprets the bits. It then compares the data gathered from the temperature sensor to the expected temperature at a given time based on the Ramping Rate.

4) Since the normal graph of the temperature is suddenly increasing, we need to control the Temperature sensed to follow the Ramping Rate inputted by the user by the use of the PWM. If the Temperature sensed is greater than the temperature expected at given time, the PWM decreases. Otherwise, it increases.

5) The main goal of this control system is to minimize the overshoot as possible and follow the Ramping Rate.

How can we minimize this error of overshooting?

What is the Hysteresis? Should we consider this parameter?

In your point of view, can we consider this as PWM?

Thanks a lot.
 

pwm control 60hz heater

angelbein,

If we assume that your PWM frequency is high enough and that you have sufficient heating power to follow the ramp reference, your problem is one of modeling and control.
The approach I would recommend you take would be to associate a model to your system. By applying a step command on your controller and measuring the response from the sensors over time, you can probably fit a 2nd or 3rd order model. Depending on how much you know about control, you can then play around with matlab to see what controller structure (from error to command) you could use. Once you get satisfying results in terms of response time, steady state error and overshoot, you can implement it in your controller.

Now, a hysteresis controller is one that will turn on and off your heater based on a narrow band around your temperature reference. If T<Tref-delta, turn on, and if T>Tref+delta, turn off. In this case you make sure the error is controller, but the switching frequency is unknown. It is also very easy to implement. I guess one could also call that PWM, although it's not what's commonly refered to as such (PWM usually having fixed frequency / variable duty cycle).
Regards,

Samuel
 

heater pwm

When you convert a continous controller output to a periodical switched output, I would generally call this a PWM, e. g. in contrast to hysteresis or on/off controller. As a main difference, the PWM switching frequency is set artificially while hysteresis controller operates at a characteristic frequency depending on control process.

To my opinion, it would be effectively impossible to achieve a suitable quality for the intended AC heater set point controller without a PWM or a similar function.
 

pwm controlled heater

First of all I would think that you don't have enough resolution from your temperature reading. With 20mV you are reading temperature in 2º increments and you could expect that your system will not be abe to stabilize and at very minimum would oscilate between two values 2º appart.

Second, if you are using opto isolator with triac output you should make sure that is not zero crossing kind. This kind of opto isolator will cripple your time resolution to 100 steps in 50Hz system or 120 steps in 60Hz system.

Third, you should define if thermal inertia of your system (quantity and/or type of material heated) is changing and how much. Depending on this you can choose type of control.

4. You should have sufficient heater power, but not too much. Maximum ramp rate and thermal inertia of the system will determine that. Add some power to spare.

5. Thermall loss of the system should be significant for maintaining temperature, or your system must have high dynamic ratio (higher number of effective bits form input to output) . For example: if you need 2kW for maximum ramping and only 2W to maintain temperature you will need at least 10bits resolution of your ADC, all your internal loop calculations and output timing generation.
Or you could have active cooling of course...

6. Choosing control method:

- For system that can have a bit of temperature variation, ON/OFF system is simplest. Hysteresis is introduced to reduce switching frequency to desired level. Since hystersis means turning on heat on lower level than turning off, temperature will vary between two points. Higher hysteresis, lower switching rate and higher temperature variation.

- For systems that need very low variation, high inertia systems and level is adjusted manualy PD (Proportional - Derivative) loop control is enough. In your case where you cycle temperature it is not enough.

- For systems that need tight control PID system is used (Proportional Integral Derivative)

- For systems that have different thermal inertia at the begining of cycle and remain constant through cycle controler with self adjusting PID parameters might be sufficient.

- For systems that thermal inertia changes dynamically through cycle, PID with Fuzzy logic is implemented to compensate PID parameters dynamically when reacting to disturbance.

As you see, more performance you require form your regulator more complicated it gets. This goes for accuracy, control resolution, overshoot ,... If you want to make high perfomance controller yourself, before venturing into coding, make sure what hardware capabilities you have.
From what you said it looks like you dont have enough resolution for process you controll or do not compensate enough for delay in loop. Read a bit on PID to have better understanding what is hapening.
 

ac power control with pwm

Sinisa said:
First of all I would think that you don't have enough resolution from your temperature reading. With 20mV you are reading temperature in 2º increments and you could expect that your system will not be abe to stabilize and at very minimum would oscilate between two values 2º appart.

Yes there is a 2°C step on the ADC 0808 part but we used op-amp to double the output voltage from 10mv to 20mv to make it 1°C per step.
Second, if you are using opto isolator with triac output you should make sure that is not zero crossing kind. This kind of opto isolator will cripple your time resolution to 100 steps in 50Hz system or 120 steps in 60Hz system.

We used the optoisolator MOC3041, is this a non-zero crossing kind?
Third, you should define if thermal inertia of your system (quantity and/or type of material heated) is changing and how much. Depending on this you can choose type of control.

What is a thermal inertia? We did not consider this parameter when we were designing the system.

4. You should have sufficient heater power, but not too much. Maximum ramp rate and thermal inertia of the system will determine that. Add some power to spare.[/quote ]

There are three nichrome wires as load connected in parallel so we only have one control with the output. Every load has 1500 Watts and the three heating elements will have 4500 Watts, is this sufficient? When we tried to control the temperature, in every on and off of the circuit, there is a great fluctuation of current that even the monitor of the computer flickers out.

6. Choosing control method:

- For system that can have a bit of temperature variation, ON/OFF system is simplest. Hysteresis is introduced to reduce switching frequency to desired level. Since hystersis means turning on heat on lower level than turning off, temperature will vary between two points. Higher hysteresis, lower switching rate and higher temperature variation.

Yes we are using the conventional ON/OFF temperature control system but we only incorporated the artificial PWM from the program. The algorithm of the program determines how to control the temperature. In one second, there are only two periods - the ON period and the OFF period. Suppose you say that there is a 10% duty cycle to control the heater at first five minutes, the only ON period will just be at the 100 milliseconds and 900milliseconds OFF of the 1 cycle which is one second. If 60% duty cycle, 600 milliseconds ON and 400 milliseconds OFF. So I don't see no problem with the frequency of the signal and if that would synchronize with the frequency of AC which is 60 Hertz.

Thanks for the help.
 

pwm heaters

Yes there is a 2°C step on the ADC 0808 part but we used op-amp to double the output voltage from 10mv to 20mv to make it 1°C per step.

Resolution of your reading will be dependant on just on desired temperature but on resolution of whole system including required output resolution.


We used the optoisolator MOC3041, is this a non-zero crossing kind?

No, you got kind that turns on and off only on 0V.

What is a thermal inertia? We did not consider this parameter when we were designing the system.

Every body with mass has thermal capacity. If body is idealy insulated from surroundings when you add energy E it's temperature will rise for ΔT.
If you ignore small thermal resistance between heater and and your body that is heated, only thermal losses and thermal capacity of body will determine how long(t) it takes for given power (Pramp) to raise temperature for ΔT.

There are three nichrome wires as load connected in parallel so we only have one control with the output. Every load has 1500 Watts and the three heating elements will have 4500 Watts, is this sufficient? When we tried to control the temperature, in every on and off of the circuit, there is a great fluctuation of current that even the monitor of the computer flickers out.
At one stable temperature measure On/Off ratio and multiply by heater power. That is power (Pmin) needed for maintaining that temperature. Note that this might be different at other temperatures.

Now apply full 100% of power (Pmax) and measure time (tramp) it takes for temperature to increase by let's say 10º.

Now (Pmax-Pmin)*tramp/10º is your thermal capacity. If you now what is your maximum desired ramp (ΔT/Δt) you can easily calculate maximum required power from this. Use reading of Pmin at maximum temperature to make sure.

Yes we are using the conventional ON/OFF temperature control system but we only incorporated the artificial PWM from the program. The algorithm of the program determines how to control the temperature. In one second, there are only two periods - the ON period and the OFF period. Suppose you say that there is a 10% duty cycle to control the heater at first five minutes, the only ON period will just be at the 100 milliseconds and 900milliseconds OFF of the 1 cycle which is one second. If 60% duty cycle, 600 milliseconds ON and 400 milliseconds OFF. So I don't see no problem with the frequency of the signal and if that would synchronize with the frequency of AC which is 60 Hertz.

Thanks for the help.

On/Off usually means thermostat kind of control where input is compared to desired value and with added hysteresis fed to output. So if you heat, you heat with 100% of power.

PWM style controls are meant to provide output with range of discreet values from 0% to 100%, so it removes hysteresis and one can apply more softicated algoritm to control temperature. With finer temperature reading and output control, control can be tighter. Frequency of PWM should be high enough so temperature will not change more that finest temperature gradient desired within one cycle. So, in your case, if temperature rises more that 1º within one second with 4500W applied whole second, then you need to increase PWM frequency.

If from our calculations above you compare P(max) and P(min)@T(min) you will get dynamic range of power you need to achieve.
Let's say that at minimum temperature you need, there is required 45W to maintain that temperature. So to achieve that ammount of power you need to keep heater On for 45W*1s/4500W=10mseconds and Off for remaining 990mseconds. If you use optocoupler you have, you can have option either 8.3mseconds or 16.7mseconds (half cycle or full cycle of 60Hz). So in terms of power, you wil be able to achieve 37.8W or 76.3W . So in this case temperature will oscillate between two values and your output will change between 1/2 cycle and 1 cycle. This oscillation will be present throughout temperature range.
This might or might not present problem for you. Typically, if you give user ability to set temperature in 1º increments, you should go 2-4 times finer than that.
So, in your case, I would go with 10bit resolution from input to output. It's like hidden digits of calculator, where processor calculates with higher resolution than it displays.

Bigger problem you will have if you have large delay between change in output and reading that change on the sensor. As heat propagates through body from heater to sensor, when sensor gives information that output should be decreased, too much energy might already be given by heater to body. That is where overshoot will occur when ramping. PID algoritm can be implemented to compensate for that delay. If body mass changes and this delay chages, you are in trouble if you require tight control of temperature.

[/quote]
 

pwm ic to drive heater

Apart from several meaningful things that have been mentioned, e. g . about sufficient resolution in temperature measurement, the discussion to my opinion is somewhat up in the air, cause not a serious specification has yet been given: intended temperature rate, required accuracy in reproduction of setpoint ramp and heated medium (air?) are completely unknown.

Just a 4.5 kW heating power has been reported. This is interesting so far, as it restricts the power control method clearly to full- and half-wave switching, if EMC is considered with the design. As mentioned earlier, full-wave switching is well suited also for fast control processes, and generally used e. g. with gas chromatograph ovens, which have some parameters (as far as known) comparable with the discussed heating problem.

For accurate power control, a mains sync signal connected to the computer acting as a controller would be strongly recommended.
 

pwm heater regulator feedback

Apart from several meaningful things that have been mentioned, e. g . about sufficient resolution in temperature measurement, the discussion to my opinion is somewhat up in the air, cause not a serious specification has yet been given: intended temperature rate, required accuracy in reproduction of setpoint ramp and heated medium (air?) are completely unknown.

Thanks a lot. By the way, the system is a Real-Time PC Based Multipurpose Heat Pump used to dry products like fruits, vegetables, ceramic materials, etc. At the back of the heating element is a fan that pushes the hot air into the rectangular tube. At the center of the tube is the product which is to be dried and maintained.

The intended temperature rate is based from the input of the user. For example, in heating a certain product, he wants to attain 60°C at a maximum heating time of 3 hours. The initial temperature of the heat pump is 30°C. Then the Temperature Ramping Rate will be temp/time or 60°/180 mins = 0.33°C/min. So at a given minute, say at first 1 minute, the temperature rose at 0.33°C + initial temp 30°C = 30.33 ; At 2mins, 30.33 + 0.33 = 30.66°C. This is what we have to maintain every minute. So the graph will be linearly plotted and we have to make the temperature graph follow this line. This also means that the setpoint is varying over a period of time because it is dependent at the Ramping Rate of the product.

Bigger problem you will have if you have large delay between change in output and reading that change on the sensor. As heat propagates through body from heater to sensor, when sensor gives information that output should be decreased, too much energy might already be given by heater to body. That is where overshoot will occur when ramping. PID algoritm can be implemented to compensate for that delay. If body mass changes and this delay chages, you are in trouble if you require tight control of temperature.

Thanks for opening that kind of problem. We will then need to consider again this factor for controlling temperature. The ADC 0808 has a conversion time of 0.5 seconds I think, so we need to check for the time of conversion from analog to digital and from ADC to the CPU.
 

pid ac heater

From the latest specification details, I think the control process is rather easy to handle. Basically, cause set point variation is slow related to controller and probably process time constants. It could be controlled e. g. by a commercial heating controller with setpoint ramps. A PI controller with a 1 - 2 sec PWM cycle should be suitable for the PC based solution, the control algorithm could use an identical time interval.

P.S.: With the slowest clock allowed in datasheet, ADC808 conversion time is 6.4 ms. How did you calculate 0.5 s?
 

convertir ac a pwm con adc0804

Sorry about that. But I have noticed that their conversion time is slower than ADC0804. Correct me if I am wrong. :D
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top