PWM control of heating elements

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

chunk1227

Member
Joined
Aug 27, 2010
Messages
21
Reaction score
3
Location
Texas
Is true pulse width modulation control of AC current feasible without worrying about the phase of the AC current?

I would like to use an arduino to control SSRs to regulate heat in my HLT with heat element. Let's just say I want the element to be producing 50% heat. I know that I can program the arduino to cycle the SSR on 2 sec, off 2 sec. This gives me a psuedo pwm effect. If I were to send a 50% pulse train at the arduino's ~500Hz, what would be the effect? This would give an on pulse for about 1millisec the off for about 1millisec. Would I get a 50% reduction in power or would the 500Hz pulse matching with 60Hz AC give me problems?

I'm a mechanical engineer, I know just enough about electricity to make me dangerous.
 
The more you switch the SSR the hotter it will get and the bigger heat sync you will need. Not sure how many cycles they are good for. That said, you have quite a thermal mass in the wort so 2 seconds on, 2 seconds off should be plenty. I forget what the popular Auber PID gives you in manual mode, but I think I remember Pol talking about it being a one second pulse with .5 on and .5 off.

Not sure what the first sentence means, but I believe all of this stuff (that is the SSR internals) is now designed to be 'zero crossing'. That means it switches when the sine wave is at zero to minimize wear and tear on the device. You shouldn't have to worry about 'phase'.
 
PWM is only on and off, the length of the period of "on" or "off" is what is being controlled with PWM. From the sounds of it what you want is amplitude modulation (as in when you want 50% power you just send 50% of the power to the heater) for that you are going to need a bit more fancy electrical wizardry.

Note: I am a chemical engineer.
 
PWM is only on and off, the length of the period of "on" or "off" is what is being controlled with PWM. From the sounds of it what you want is amplitude modulation (as in when you want 50% power you just send 50% of the power to the heater) for that you are going to need a bit more fancy electrical wizardry.

Note: I am a chemical engineer.

Pulse Width will do the same thing for him. Just like the surface burner of an electric stove. It pulses on and off. It doesn't have a reduced output in any other respect.
 
The more you switch the SSR the hotter it will get and the bigger heat sync you will need. Not sure how many cycles they are good for. That said, you have quite a thermal mass in the wort so 2 seconds on, 2 seconds off should be plenty. I forget what the popular Auber PID gives you in manual mode, but I think I remember Pol talking about it being a one second pulse with .5 on and .5 off.

OK, this I am cool with, totally agree.

[/QUOTE]Not sure what the first sentence means, but I believe all of this stuff (that is the SSR internals) is now designed to be 'zero crossing'. That means it switches when the sine wave is at zero to minimize wear and tear on the device. You shouldn't have to worry about 'phase'.[/QUOTE]

The zero crossing I also understand. The part that confuses me is that the arduino will be cycling pulses almost 10 times faster than the AC sine wave can complete a cycle. The SSR will be turned on and off almost 10 times in the period of one sine wave. So, if we start with everything off. The arduino will turn the SSR on, the sine wave will begin. Now the arduino will turn the signal off, but the sine wave will only be about 1/10 through the cycle. Will the AC continue through to the end of cycle? Or does it stop mid cycle? Then how does this affect the next on off cycle from the arduino?

I think I need one of my electrical engineer friends to sit me down infront of a white board to get me through this.
 
I have no clue what would happen, but wouldn't the best case scenario result in switching the SSR dozens of times per second? Wouldn't that tear up your SSR and generate a lot of heat unecessarily? If you want to use an arduino to control an SSR, couldn't you build a standard timer chip based PWM and use the arduino output in place of the pot? Just my thoughts, which are probably worth what you paid for them since I don't know much about electrical. My thinking is probably way off base.
 
I have no clue what would happen, but wouldn't the best case scenario result in switching the SSR dozens of times per second? Wouldn't that tear up your SSR and generate a lot of heat unecessarily? If you want to use an arduino to control an SSR, couldn't you build a standard timer chip based PWM and use the arduino output in place of the pot? Just my thoughts, which are probably worth what you paid for them since I don't know much about electrical. My thinking is probably way off base.

Yes it would create alot of heat. The SSR with the right heat sink could handle it. SSR's are not rated by cycle counts but rather by TIME between failures. Most SSRs should last ~10years before failing regardless of number of cycles.

As far as control, I would have temp sensors that would feed a PID function in the Arduino. This would determine the PWM signal. There would be no need for a timer chip. The arduino would take care of all of that.

Thanks for the help, guys. I need to take this to a different discussion board, seeing that I don't need this information for brewing, more just out of curiosity at this point. I think I need to do some reading in order to know what questions to ask and learn the correct lingo. If anyone here can understand my jibberish please join in, no hard feelings if I'm not making any sense though.
 
I use this device:

rm1e.JPG


It is an analog to variable output SSR. I input a 4-20ma signal and get a 0-100% electical output to my heating element (24 - 120 VAC). It controls my heating element close enough to produce only a 1 degree deadband in my HLT.

As for PWM to Analog output, you could purchase a transducer to accomplish that and then use the device above. PWm as stated earlier is simply a timebased on/off signal. If you are using a PID controller, I suggest a SSR instead of PWM device.

Try http://www.wolfautomation.com or http://www.auberins.com for the components you will need.

Salute! :mug:
 
Just did some googling on the device you are refering to. Unless you are into line programming and have some micro -electronics capability, give the sites I listed above a shot, you will save yourself a lot of time and headaches (IMHO).

Salute! :mug:
 
The zero crossing I also understand. The part that confuses me is that the arduino will be cycling pulses almost 10 times faster than the AC sine wave can complete a cycle. The SSR will be turned on and off almost 10 times in the period of one sine wave. So, if we start with everything off. The arduino will turn the SSR on, the sine wave will begin. Now the arduino will turn the signal off, but the sine wave will only be about 1/10 through the cycle. Will the AC continue through to the end of cycle? Or does it stop mid cycle? Then how does this affect the next on off cycle from the arduino?

If it is zero crossing, then it will only happen at two points during the cycle. Beginning and middle. So that is roughly a 120 HZ limitation. I'm not sure ALL SSR's do this but if you think about it, doing it otherwise would require a heftier SSR to cope with interrupting the current at a 'non-zero' point. Depending on the load controlled, just make a PMC and have the Arduino control that.
 
If you are working with AC and a zero crossing SSR, then I would not recommend much faster than a 1 second cycle time. If you decrease it you heat up the SSR a little more and you lose resolution on your 0-100% scale due to the 60Hz AC.
 
If you are working with AC and a zero crossing SSR, then I would not recommend much faster than a 1 second cycle time. If you decrease it you heat up the SSR a little more and you lose resolution on your 0-100% scale due to the 60Hz AC.


I thought this might be the case. Thanks.
 
Just did some googling on the device you are refering to. Unless you are into line programming and have some micro -electronics capability, give the sites I listed above a shot, you will save yourself a lot of time and headaches (IMHO).

Salute! :mug:

@bmckee I will have to check out the variable SSR, I didn't know there was such a device. As far as programming the Arduino, that is another hobby of mine, just wish I would have paid closer attention in circuits class back in college. I love hands on brewing, but automation control is another passion of mine. Having a overkill automated brewing set-up is a pipe dream of mine. The Arduino is a great platform for getting started in using micro controllers and homebrewing is an awesome venue to integrate the use of micro controllers. The programming language is C based, but with alot of built in shortcuts. I suck at programming, but the Arduino makes life much easier. Here is the website if anyone is curious. http://www.arduino.cc/
 
I will have to check out the variable SSR, I didn't know there was such a device.

You can look at the RM1E series made by Carlo Gavazzi, with 4-20mA or 0-10V control input.
Just a phase angle control circuit.


Cheers,
ClaudiusB
 
I use this device:

rm1e.JPG


It is an analog to variable output SSR. I input a 4-20ma signal and get a 0-100% electical output to my heating element (24 - 120 VAC).

What is the part number?
Is it the RM1E series?

Cheers,
ClaudiusB
 
I've been reading the spec sheet for the RM1E. That looks like the tits, a little pricey($79), but the tits none the less.
 
Pulse Width will do the same thing for him. Just like the surface burner of an electric stove. It pulses on and off. It doesn't have a reduced output in any other respect.

Are you sure? And bmckee those auber and such PID's operate on PWM.
 
If you are willing to go with a cycle time of 1 Hz or slower, you can get 40A SSRs off of ebay for $16 shipped, including the heat sink. If you just want straight PWM, you can go with the Baktronics device (search for a link on HBT) and change out a capacitor and only be down another $12.

What is the purpose in having your $75 SSR?
 
Am I sure? 30+ years in the appliance repair industry, I'm pretty sure on how a surface burner switch on a stove works. So, yeah. They pulse on and off with a duty cycle that is longer than one second.

Hermit's right. I use a burner switch on one of my heatsticks and the on/off cycle is quite a few seconds long. This setup scores zero on sexy, but works well enough.
 
Of the solutions suggested, performance-wise the best is the triac dimmer ChowderMonkey linked, but in this application (very long thermal time constants), you can easily afford to PWM with a sub-Hz switching rate and notice no difference. In the end, I'd do whatever is easiest and cheapest.
 
Im going to being using a microcontroller and I figure that I would just cycle the heating element on and off as needed (depending on the temperature) and I plan to have my fluids always moving. Would I need to bother with a PWM setup? I guess technically I am doing PWM if I am cycling the SSR on and off every few seconds.... Do you all think its better to do a PWM/similar circuit that would regulate the heating element output or just pump it on and off with a IO pin?
 
Im going to being using a microcontroller and I figure that I would just cycle the heating element on and off as needed (depending on the temperature) and I plan to have my fluids always moving. Would I need to bother with a PWM setup? I guess technically I am doing PWM if I am cycling the SSR on and off every few seconds.... Do you all think its better to do a PWM/similar circuit that would regulate the heating element output or just pump it on and off with a IO pin?


kwantam says it best above.

From all my research it is the cheapest and easiest to just turn the element on and off at full power in matters of seconds. ie, if you want 50% power, turn element on for 2 second and off for 2 second or something similar. I wouldn't go much below a 1 second on/off cycle though.

Triac dimmers will work, so would the analog SSR posted earlier. But in the end, those things just add unneed complexity and costs.
 
Well the question is whether do you just want to control ONE pwm circuit or more fun as well?
YOU WANT MORE!!

The arduino gives you the option to do more than a regular control circuit or a PID.

Let's warm-up with the legendary reference:
http://home.highertech.net/~cdp/boilnew/boilnew.htm
classic self-built control pwm based....

This is the current follow-up:
https://www.homebrewtalk.com/f51/pwm-boil-kettle-control-159193/

or you get this one:
http://www.bakatronics.com/shop/item.aspx?itemid=383
dirt cheap for a pwm kit (cheaper then the arduino or clone), add an SSR to it and have fun uhmm brew beer.

Right now I am brewing electric on 2 x 1500W elements on two separate 20A breakers (apartment brewing) with an modified RPC (roomie pulse control :mug:) which switches on/off in a 2sec cycle - the catch RPC gets tired or looses pace due to beer sampling. :ban:

I am lurking at an arduino with 3 SSRs (two for the kettle, one for the HLT) , run HLT and one brew element on the same circuit, and let the software swap the power between the elements (hlt/1 brew) on the circuit.


The beauty of this? Change the sketch (program) on the arduino and you switch from brewhouse setup to lagering/fermentation chamber!! just plug the controls into your Son of Fermentation version with a mini-fridge. :) Then you can cycle the fridge trough one SSR and still have two left for the fans (if they are not 12V). And your lager beer will still stay cool if you brew for a few hours.
 
For a fairly slow heating process, where temperatures change over minutes, not milliseconds, using a relay, I'd program my own PWM.
Turn the relay totally on and totally off over a longer pulse interval, like 10 seconds to 1 minute. As noted by others, relays are not intended to switch at 500Hz. especially not with AC input.
 
Back
Top