Zero crossing detection question

Hi,
I am in the process of designing a heater controller with an Arduino. One heater runs at 230V AC and two smaller ones at 24V AC. They will only be controlled one a time. I am planing to control them with zero crossing and triac's. My question is, will the step down transformer induce a phase shift between the 230V and the 24V. I sadly don't have a oscilloscope to verify myself. Because if it does I have to detect the zero crossing separate for the 230V and separate fot the 24V, if not, I can just use one.
Thanks

The phase shift from the transformer should be negligible for your application.

bangaham:
My question is, will the step down transformer induce a phase shift between the 230V and the 24V.

No, the zero-crossing point does not shift.

The actual phase may be 0 or 180 degrees depending on how it's wired.

Yours,
TonyWilk

TonyWilk:
No, the zero-crossing point does not shift.

The actual phase may be 0 or 180 degrees depending on how it's wired.

Yours,
TonyWilk

If you are lucky, the transformer will be marked with "dots" on the schematic printed on the side. They match up the primary and secondary winding phase. Most cheap ones are not marked. Industrial types are marked.

Paul

Hi,
Do you plan to just switch them ON and OFF.
OR
Do you plan to control their heat output using phase control.

Thanks.. Tom.. :slight_smile:

Thanks for the quick answears. I guess it would't matter if there was a 180° phase shift.

TomGeorge
Not quite sure yet. I will have to test and see what would work better and get me more acurate temps.

bangaham:
Thanks for the quick answears. I guess it would't matter if there was a 180° phase shift.

TomGeorge
Not quite sure yet. I will have to test and see what would work better and get me more acurate temps.

Hi,
If you just want to turn ON/OFF like a switch, then that is relatively easy.
If you want to control heat output, ie vary the heater energy, then phase control has to be considered as a method, which adds some complexity.

What are you heating?
Is it a large mass or air?

Tom.. :slight_smile:

Yeah I know ON-OFF is pretty easy. I'm heating air and I will control the heat output. I was looking into PID to get better stable temps but still need to do more research.

To use a good PID regulation you'll need to apply phase cutting. Just power on/off will never give very stable temperatures.

Yeah, thanks for the input. I will look into it.

wvmarle:
To use a good PID regulation you'll need to apply phase cutting. Just power on/off will never give very stable temperatures.

A middle option is to 'burst fire' the triacs.

You need to be able to identify the zero-crossing point and which phase you are on, then code to fire the triac for one complete cycle (i.e. two 1/2 cycles). Your control of the load is then how many full cycles you turn ON and how many you leave OFF. You can think of it like really slow Pulse Width Modulation (PWM).

This is used for heavy industrial heaters where chopping mid-cycle causes supply problems.

Yours,
TonyWilk

Thanks, quite a neat idea, but I'm guessing that is for multi-phase heaters. I am using a single phase one. I'm from Europe hence the 230V AC. But correct me if I'm wrong.

bangaham:
I'm guessing that is for multi-phase heaters. I am using a single phase one. I'm from Europe hence the 230V AC.

Both single and 3-phase heaters use 'burst fire', the bakery ovens (on separate phases) and industrial furnaces (3-phase) I've seen have all been some form of burst fire. I live in the UK, so single-phase is nominally 230V, 3-phase is 415V.

It works well for slow-responding resistive loads, like heaters.

An advantage is that the always-zero-cross switching avoids the potential 'electrical noise' (EMI) generated by phase-angle firing.
For multi-phase heaters as you mention, the controller is simpler and cheaper than phase-angle firing.

Yours,
TonyWilk

P.S. Maybe someone knows: I dimly remember that there was some limitation on industrial supplies which prohibited(?) phase-angle firing of large loads, did a quick google but couldn't find much. Was this ever a thing?

TonyWilk:
P.S. Maybe someone knows: I dimly remember that there was some limitation on industrial supplies which prohibited(?) phase-angle firing of large loads, did a quick google but couldn't find much. Was this ever a thing?

When I worked maintenance at a local brick factory, the electricity supplier would monitor the power usage of its industrial customers.
They also monitored harmonics and imposed warning and eventually a penalty for any customer that produced them over a certain level.

So phase switching would fall into that category, burst firing would probably be a lot kinder to the supply current.

Tom.. :slight_smile:

TomGeorge:
... They also monitored harmonics ...

Thanks Tom,

Once I added 'harmonics' to 'industrial power standards' Google hits the right sort of stuff :slight_smile:

Yours,
TonyWilk

Thanks for the explanation. One side question. I was planning to run the whole thing with an Atmega32A. I will add a small 3.5" TFT LCD, a 4x3 keypad, an RTC module, 3 MAX6675 thermocouple modules, 3 triac' s and BLDC air blower/pump with a driver board. If I decide to drive all 3 heaters with PID. Only one will be active at a time, never will all 3 be used simultaneously. The main heater is a 1kw/230VAC and 2 secondary ones 100W/24VAC. I have a blower blowing on the heater. Will the Arduino be able to drive all that at a reasonable speed? The LCD needs quite some time to refresh and PID benefits from a faster loop?

I might be just over thinking this but I wan't hear your opinions.

bangaham:
Will the Arduino be able to drive all that at a reasonable speed?

Yes, no problem at all.

Not sure what you are heating, but the input data is going to be really slow compared to the few milliseconds it will take the Arduino to read inputs and write to an LCD display.

If it was heating a kiln or a tankfull of water, the PID could be computed only once a second.

The "PID benefits from a faster loop" is really relevant when you have something like a fast servo then, say, a 50mS delay might make quite a difference.

If you are going to use some PID library, check if it needs regular computing or if it handles time by itself.
I guess you'd only need to compute every 100mS or so.
(TBH, don't know anything about PID libraries for Arduino, I've just made up my own before)

Yours,
TonyWilk

Thanks for the clear answear. Now all that's left is to wait for the parts, write the code and tune the constants. Will do a update once I make some progress. Thanks for all the help.