8
\$\begingroup\$

I have a PID/heater setup I am driving with an arduino. I'm using the Opto 22 MP240D4 solid-state relay to switch about 1A 120V 60 Hz (resistive heater). It's not clear from the product sheet or the datasheet whether it is zero-cross turn-on, or not. Also, just a bit of context, the application is a very low mass heating element, so it is a bit unusual from the perspective of typical PID plants.

I want to minimize the granularity of the pulse width/density modulation so as to get the best performance out of the system.

Obviously, my absolute upper bound is 120 Hz since that's the number of zero crosses. But is there any harm (in terms of thermal fatigue, stresses to the chip, etc) to running it at high pulse speed?

Also, is there any advantage to either pulse-width or pulse-density modulation?

\$\endgroup\$
8
  • 1
    \$\begingroup\$ I don't see where in the datasheet it says this device is zero-crossing synchronized. The device will turn-off at a zero crossing, but you can turn it on any time there is sufficient voltage to maintain the hold current. \$\endgroup\$ – Jack Creasey Jun 12 '17 at 18:13
  • 1
    \$\begingroup\$ Oh, neat. Yeah based on the product sheet here, page 21 sort of implies it's zero-cross turn-on. \$\endgroup\$ – DeusXMachina Jun 12 '17 at 18:59
  • \$\begingroup\$ Actually, the product sheet doesn't imply that, it states it very explicitly! "All Opto 22 AC output solid-state relays are designed with a zero-crossing turn-on circuit." - So you will only be able to control entire semi-cycles, nothing less. \$\endgroup\$ – marcelm Jun 12 '17 at 20:33
  • \$\begingroup\$ Does the utility company allow you to distort their pure sinusoid by chopping it up like that? \$\endgroup\$ – Ed Kideys Jun 13 '17 at 4:41
  • \$\begingroup\$ @Chris H. Worse. Lights controlled by a dimmer switch are around 200W whereas electric heaters consume much more power and thus more current. \$\endgroup\$ – Ed Kideys Jun 13 '17 at 13:19
11
\$\begingroup\$

There is no harm in turning on or off a zero-crossing SSR at every zero crossing.

I did exactly that once in a system that had to control 24 heaters simultaneously. The control algorithm produced a 0-255 value proportional to how much each heater was supposed to be driven. The low levels used a Bresenham algorithm to decide each half-cycle whether each heater should be on for the next hal-cycle. It worked very well.

\$\endgroup\$
1
  • \$\begingroup\$ I'm considering synchronizing to mains, but that requires extra components, so I would have to weigh that with the performance benefits. It's good to know that is totally workable though. Also, using the Bresenham algorithm to get that fine control at low power levels is super neat, I'll definitely have to remember that one :) \$\endgroup\$ – DeusXMachina Jun 12 '17 at 19:03
4
\$\begingroup\$

No worries switching on and off at 120 Hz, but as you mentioned you are hard limited to a pulse width of 1/120 Hz. If you are running directly from a wall switch, you are ok using 1/2-cycle as your minimum pulse width, but if running through a transformer, use an even number of half cycles to prevent having a DC bias.

Pulse width modulation is a natural here since your pulse rate is always going to be a multiple of 120. In a heating application, a 8-bit PWM with feedback turning "on" once per 2.13 (256/120) seconds and "off" on a 120- or 60-second boundary should be good if the load resistance is appropriate.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Very good point about the DC bias. I'll definitely keep that in mind, even though I likely won't be pulsing nearly that fast. \$\endgroup\$ – DeusXMachina Jun 12 '17 at 19:05
4
\$\begingroup\$

I agree with @JackCreasey there is nothing in the datasheet that says zero crossing.

You could get aliasing, depending on your frequency. The SCRs will stay on for the remainder of the half-cycle regardless of when you trigger them.

I suggest going with about a 2 second cycle minimum, especially if you don't want to synchronize to the mains zero crossings, a bit more would be better. Unless you have a really, really good reason that's plenty fast enough for thermal setups. Often 10-20 seconds is more than good enough (except for things like IR heaters which change temperature significantly in seconds).

About a 2-3 second cycle is worst-case for causing thermal fatigue on the power semiconductors. We saw a multi-million dollar screwup some years back caused by the die bonds fatiguing causing overheating and failure (in the on-state typically) of the power semiconductors. Modern ones are better, and it helps to keep well away from the maximum rating.

\$\endgroup\$
5
  • \$\begingroup\$ 2 second cycle period? Yeah, that will cause a 10-20 degree overshoot for my application. My minimum period is probably 0.5 seconds. \$\endgroup\$ – DeusXMachina Jun 12 '17 at 19:02
  • \$\begingroup\$ @DeusXMachina In the case that a second or two on-off will cause a variation of 10-20 degrees (F? C?) you should probably consider phase control, not time proportioning. This is often the case with IR heating. Overshoot is not generally caused by the output scheme, but by poor tuning or by a poor control algorithm (such as integral term windup). \$\endgroup\$ – Spehro Pefhany Jun 12 '17 at 20:00
  • \$\begingroup\$ Spehro Pefhany - does that require active monitoring of the AC waveform? Or can that be done in a sort of open loop way? \$\endgroup\$ – DeusXMachina Jun 12 '17 at 23:01
  • \$\begingroup\$ You can buy a module that accepts a control signal such as 4~20mA or 0-10V from the controller and outputs a related power level. This is quite common on industrial work- no time to reinvent the wheel. \$\endgroup\$ – Spehro Pefhany Jun 12 '17 at 23:37
  • \$\begingroup\$ The Opto 22 part the OP specified appears to be different from the Crydom part of the same number in that the former explicitly states it uses zero-crossing. \$\endgroup\$ – Andrew Morton Jun 13 '17 at 8:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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