I'm not an electrical expert and lately, I ran into a problem using PWM for steady control of a heating rod.

Let's assume there is a set value (Temp in C) for the heating rod. I'm currently using a PID controller to output certain % at the end of the PID loop. This valve is used to feed to the PWM to generate necessary PWM signals.

The problem is once the actual temperature almost reaches the range of set temperature. The switching ON/OFF occurs very often in order to keep to the Set temperature.

Moe often switching causes to reduce the lifetime of the hardware. And replacement of hardware is out of option. Hence, I'm forced to think of an alternative logic for better control of the temperature.

The 2-point controller is something easier however, it is observed that there are a lot of deviations from the setpoint.

P.S: There is a delay of 5 seconds between two switches (some hardware related restrictions). Hence the turning ON of Turning OFF pulse can't be less than 5 seconds.

I really appreciate your ideas or suggestions on some simple strategy where I can reduce the number of switching and at the same time have better control over the temperature.


Is it a trade-off one has to choose between better control and less switching(in the end lifetime of switches)?

  • \$\begingroup\$ If the frequency of on/off is changing, is this really PWM? \$\endgroup\$
    – HandyHowie
    Commented Apr 25, 2019 at 7:40
  • \$\begingroup\$ How close to the set point does the temperature need to be? Would it be possible to add a second rod of a lower power rating to be used when the set point is nearly reached? What is the power rating of the heater? \$\endgroup\$ Commented Apr 25, 2019 at 8:04
  • \$\begingroup\$ If the rod, the switch type and the supply voltage are fixed, then it will necessarily be a trade-off between the regulation precision and the frequency of switching. \$\endgroup\$ Commented Apr 25, 2019 at 8:09
  • \$\begingroup\$ Please clarify: Is replacement of hardware in the design out of the question or is replacement of failed control components later in the field out of the question? Bonus points if you supply more information about loads, voltages settling times, switching times, error bands, size restrictions and other pertinent details. \$\endgroup\$
    – KalleMP
    Commented Apr 25, 2019 at 20:37
  • \$\begingroup\$ I could interpret that you want the temperature to remain stable but have wide settling time demand. I would then add a geared motor driving a Variac to supply the heater and adjust the voltage in small increments with no appreciable switching. \$\endgroup\$
    – KalleMP
    Commented Apr 25, 2019 at 20:40

1 Answer 1


i gather from your description of 'hardware' that you are driving a relay to operate the heating rod.

You state that "replacement of hardware is out of option.", but you may be able to "fit" a Solid State Relay into your current design.

You will be better served to use a solid state relay (SSR) instead of a mechanical relay. The SSR can be cycled over and over without damaging it and would be ideally suited for your purpose (if I correctly understand your current method.)

PWM or (pulse width modulation) is a percentage of 'ON' and 'OFF' where an ON percentage of 100 and an OFF time of 0 would mean the relay is simply ON all the time.

Then as our temperature approaches your 'set point' you can change the percentage of ON time down so that the relay is supplying power less and less of the time. Until you reach your temperature and the ON time is 0% while the OFF time is 100%.

I have used this same method to control the heater of a photographic developer of many years ago.

Depending on the voltage and current your heating rod requires there are SSR options from "3-32V DC to 24-480V AC 40A Output Single Phase SSR Solid State Relay" to small less than $1.00 options.

A bit of researching solid state relays will show you many, many options...


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.