A D V E R T I S E M E N T


Author Topic: PIDs/SSR/Dimmer duty cycle/efficiency/power factor  (Read 510 times)

0 Members and 1 Guest are viewing this topic.

Offline miv

  • Registered User
  • Posts: 112
  • Location: Bulgaria
  • I Love Pizza!
PIDs/SSR/Dimmer duty cycle/efficiency/power factor
« on: February 10, 2022, 04:54:29 PM »
So after researching how to bake evenly and getting helpful ideas from other forum members(thanks, guys),
I came to the conclusion that it would be best to be able to control the power to the heater.

I am not an expert on PIDs/Dimmers, but my understanding is as follows:
The duty cycle is basically how much of the time the heater is on, which in
other terms can be equal to how much % of the power are we using.
So basically the PID turns the heater on/off really fast to make this happen
and it uses an SSR(a kind of a solid-state relay) which needs a heatsink.
Ie. there are heat losses.

A dimmer is a manual way to control the duty cycle, it doesn't need an SSR,
because it uses a triac(SCR) to turn the heater on/off really fast, and it's
controlled via knob(potentiometer).


So I was thinking of combining a dimmer with a PID to get both things.
Basically be able to select max power for the top heater and also get precise temperature.

However after reading it seems there are a lot of issues with this approach.

It seems both PIDs and Dimmers have a low power factor and create bad interference in the electrical network.
This is because when they switch the heater on/off they don't care about the instantaneous voltage(which varies, cause AC power, so for example 230V AC 50Hz means -325V to 325V cycling 50 times per second).
So if you use PIDs and Dimmers you chop parts of the electric cycles, which makes for bad power factor.


Now this is where I am confused - I found that people are saying this is an issue(low power factor) with dimmers, but what about PIDs with SSR?
My logic is that it should be an issue as well since a PID operates much like a Dimmer.
Can someone comment on this?


Can I just use a Zero Cross detection scheme to detect when the voltage is zero and switch the heater on/off only when it's zero, so the issue is fixed? And what about SSR with zero cross? Can I just use those so I don't have to implement complex circuits?


The questions posed here are very electronical, but it's a all in the name of baking pizza  :) And I know some of you have built PIDs, so please share what you think. Maybe all of this is nonsense and I can just get that REX C100 PID and cheap dimmer from eBay(please say it) :)



Offline ira

  • Supporting Member
  • *
  • Posts: 364
  • Age: 68
  • Location: Los Angeles
  • I cook Pizza! Currently using a Gozney Dome
Re: PIDs/SSR/Dimmer duty cycle/efficiency/power factor
« Reply #1 on: February 10, 2022, 07:04:37 PM »
It is perfectly reasonable to make the duty cycle of a PID controlling a heater to be a multiple of the number of cycles long that the PID has steps. So if the PID has 128 steps in each on/off cycle you could set the cycle to be a multiple of 128/60 seconds and use a SSR that turns off at zero crossing and have almost perfect PF.  As I recall when I built the control for the heater in my coffee roaster I used a 10 second cycle and it worked just fine. Heaters are slow enough to respond that it hardly matters. But not sure that's something you can control with a commercial PID.   

Offline miv

  • Registered User
  • Posts: 112
  • Location: Bulgaria
  • I Love Pizza!
Re: PIDs/SSR/Dimmer duty cycle/efficiency/power factor
« Reply #2 on: February 11, 2022, 09:41:37 AM »
Is there any difference between different PIDs on the market, say is there a PID which contains controls for max duty cycle?

And also, isn't it a bad idea in a way to use SSR with Zero Cross detection, because you can't know for how much the relay is turned on.
So the duty cycle will not be what you expect and the PID will constantly re-adjust the Duty cycle because of that.

My best idea so far is much more complicated:
Get something like an Arduino(though these days ARM boards are cheap too) with a lot of PINs, attach a Zero Cross Detector, K probe and a normal SSR.

So basically make the Arduino deal with knowing when the zero voltage occurs and also implement the PID/Max duty cycle via
the Arduino(by getting temp readings from the K probe). Do you think that's a viable idea? I've found industrial boards for cheap ~30 euro or less which can take 75 C.

So what I don't understand is => if it's cheap to do this stuff with a board and program the PID/Duty cycle/Zero detection in code,
why are there so much expensive hardware based solutions?

Offline ira

  • Supporting Member
  • *
  • Posts: 364
  • Age: 68
  • Location: Los Angeles
  • I cook Pizza! Currently using a Gozney Dome
Re: PIDs/SSR/Dimmer duty cycle/efficiency/power factor
« Reply #3 on: February 11, 2022, 05:59:39 PM »
There is no reason not to do it yourself. If you make the duty cycle long and use a SSR that turns off at zero, and ignore the turn on, on average you're missing 1 /2 cycle out of every 500 or 600 cycles, might not be enough to bother getting a zero crossing detector. It's not even enough to mess up the PID as it's about a 0.1% error on a very slowly moving target.


Ira

Offline miv

  • Registered User
  • Posts: 112
  • Location: Bulgaria
  • I Love Pizza!
Re: PIDs/SSR/Dimmer duty cycle/efficiency/power factor
« Reply #4 on: February 11, 2022, 06:17:19 PM »
There is no reason not to do it yourself. If you make the duty cycle long and use a SSR that turns off at zero, and ignore the turn on, on average you're missing 1 /2 cycle out of every 500 or 600 cycles, might not be enough to bother getting a zero crossing detector. It's not even enough to mess up the PID as it's about a 0.1% error on a very slowly moving target.


Ira

Thanks for giving me confirmation that what I plan can work.  :)

Guess I will see what board I can use.
There are some on based on Allwinner A20, they run Linux, which I think is overkill for just controlling a few heaters, measuring temps and detecting Zero Cross.
However I can't find any other boards with a lot of easily usable GPIO pins.
Maybe the Linux board will do after I add a lot of safety - fuses/thermal cutoff/etc.
Then again I don't plan on running the oven 24h, lol. It's more of, turn on,
boost power to 5 kW, get hot, bake pizza, turn off. So I doubt the Linux
board will have time to accumulate errors. And since I don't plan to network connectivity,
I won't care about updating either - so just figure out everything, buy a backup board, publish
the code so I can share and re-use, and if needed replace the board.

What board would you recommend?

Also, if I do Cross Zero detection myself, I guess I don't need SSR which can detect the Zero Cross.
But then, do I need SSR at all? Can I just use SCRs? And if I go the SSR way, will I need heatsinks?
Meaning if I am doing the switching while the voltage is zero, shouldn't the heat loss be minimal?
So then why is everyone putting big heatsinks on the SSR when doing an oven with PID+SSR?
(and if you don't switch often, ie. use longer duty cycle, even 2-3 seconds, you will switch much less frequently).

So to conclude - is the fact that people are using SSRs with heatsinks a sign of generally accepted flawed design?


Update:
Reading about SSR vs SCR, it seems SCR is the better option because it can switch faster.
And actually the article I read says it's bad to cycle a heating element slowly.
Hence I am thinking if I can get the Zero Cross detection right, and SCR would be better.
As for heat losses => what I see is in the ballpark of 1.5V*Current in W,
so if the max power I have is 25A, then 25A*1.5V=37.5W, which should be easily cooled via heatsink.

Also this SCR sounds too good to be true:
https://ixapps.ixys.com/datasheet/mmo90-12io6.pdf
150 C max, 50A max, etc.

I know it's an overkill, but if the price is good, why not.
« Last Edit: February 11, 2022, 06:38:55 PM by miv »

A D V E R T I S E M E N T


Offline ira

  • Supporting Member
  • *
  • Posts: 364
  • Age: 68
  • Location: Los Angeles
  • I cook Pizza! Currently using a Gozney Dome
Re: PIDs/SSR/Dimmer duty cycle/efficiency/power factor
« Reply #5 on: February 12, 2022, 02:57:42 AM »
I would think you can easily do it with an Arduino. Personally I was using a teensyduino, https://www.pjrc.com/teensy/, for my project.


Ira

Offline miv

  • Registered User
  • Posts: 112
  • Location: Bulgaria
  • I Love Pizza!
Re: PIDs/SSR/Dimmer duty cycle/efficiency/power factor
« Reply #6 on: February 13, 2022, 04:09:40 PM »
Thanks, but what about the other parts, would you recommend me an SCR/Photodiode(or some IC zero-cross detector)/etc.
And perhaps you could link sample circuits?

Offline ira

  • Supporting Member
  • *
  • Posts: 364
  • Age: 68
  • Location: Los Angeles
  • I cook Pizza! Currently using a Gozney Dome
Re: PIDs/SSR/Dimmer duty cycle/efficiency/power factor
« Reply #7 on: February 13, 2022, 05:49:12 PM »
I think your typical cheap Chinese SSRs all turn off at zero crossing as they are much less expensive to make. Triacs do that automatically. I think I started at 100Hz duty cycle and it didn't work at all. Then I figured out 1/10hz worked and why and so that's what I did. I had no concern about power factor which I don't think applies to resistance loads anyway. All you need to make it work, is a SSR that has a 5V input and a daughter board that supports a thermocouple and a very small amount of code. Then the hard part is adding temperature adjustment.  If you want to see what I did, www.roasterthing.com/FrankenBehmor.


I laid out my own board because I'm used to doing that and I was hoping to make a product out of it.



Ira

Offline miv

  • Registered User
  • Posts: 112
  • Location: Bulgaria
  • I Love Pizza!
Re: PIDs/SSR/Dimmer duty cycle/efficiency/power factor
« Reply #8 on: February 14, 2022, 05:03:28 PM »
Thanks a lot for the info you've provided. Now I finally think things can work out more simple than I thought:

Arduino board(or something I can power off 12V)
4 inch Touchscreen display(show each heater as < % >, < set temp >, curr temp, curr duty cycle => ex. 50%, 500 C, 489 C, 48%).
So you know if your heater is 1kW, you are using 0.5*0.48*1 kW ~ 250 W at the moment.
And if you press on < or > you increment/decrement the % or the set temp.
Per heater:
Thermal sensor(1 wire)
K probe
SSR + Heatsink

Safety:(I will think what else can I add)
Thermal cutoff via mechanical relay + thermostat.(or perhaps a thermostat rated for 40A).
25A fuse
I guess the main problem would be detecting if an SSR becomes faulty and starts conducting at full power non-stop.
Then again, if somehow this happens I will see that the temp is increasing too much beyond the set-point.

And also thinking more: The lights connected in parallel to the heaters will also show how much power it's going in by dimming themselves.
And another idea, the arduino can use a mechanical relay to cutoff power and start beeper if a heater gets much more hotter than set temp.
Ex. +40 C.(since I will cap it at 500 C, 540 C will be the critical temp).

Btw:
If you don't use Zero Crossing, you will have EMI/Power factor issues:
https://www.chromalox.com/-/media/files/training-manuals/en-us/tm-pk501-scr-power.pdf
https://en.wikipedia.org/wiki/Phase-fired_controller

So to conclude my understanding as confirmed by various sources(I am not an expert myself),
is that there are 2 main ways to control power to resistive loads:
1. Zero Crossing(basically what we talked about)
You start conducting at 0 V and stop at 0V - you get this for free with most SSR relays.
2. Phase-fired controller/Phase cutting/Phase angle control - all names for the same thing.
There are two types where you either start conducting at some arbitrary point and stop at 0 V or you start at 0 V and stop at some arbitrary point, but since either the on or off happens at non-zero V, you will get harmonics/bad power factor/etc.
In this method you still aim to detect zero crossing, to know when to start or stop conducting(depending if you're starting at 0 or stopping at 0). The benefit is that you can be more precise here and also this option is good for loads that require a lot of current at the start.

But for resistive loads, the Zero Crossing method makes much more sense.

So to summarize this to help others in search of the same questions:
A PID+SSR with Zero Crossing should work fine and have good power factor. And if one needs to also control the max power, an Arduino can be used. There doesn't seem to be a point to use an SCR/Mechanical relay. And standard AC dimmers are bad.

Please correct me where needed.

A D V E R T I S E M E N T


 

wordpress