detecting zero crossing with a zero crossing opto

I am trying to build a circuit that will allow me to control voltage to a 1ph induction motor with capacitors for speed control.

Here is what I am proposing I use a zero crossing opto to an input pin on mcu as a zero crossing detection circuit. I throw in a delay based on the amount of voltage I am trying to limit then fire the triac as usual until the next end of the cycle and repeat.

So as I understand it as the sine wave approaches zero again the triac will not have the voltage to remain on and therefore turn off then my zero crossing opto will see the zero crossing I will delay a certain amount of time and repeat.

In my mind this should limit the voltage and in turn slow the fan speed.

any thoughts???

Mark

I am trying to figure the delay's necessary to make this work. So in my studies I have found that 110 is running at 60hz

with this in mind each cycle (360 degrees) is 16.67 ms.

In my mind for calculations then half of the cycle 180 degrees is going to be 8.3 ms.

So if you wanted lets say half the voltage you would delay firing the triac 4.15 ms, the only problem I see is that you are not going to get a smooth transition with that because at 4.15 ms the wave will be at it's highest would it be better to fire the triac on at maybe at 2.075 ms after zero and off again at 6.225 ms or does it matter and then adjust these numbers until you get the desired result?????

Thanks again

Mark

I am beginning to believe that this will not work and that I will need to build a zero crossing detector circuit as the opto obvoiously needs the ac hot and neutral connected to ping 4 and 6 so it can read the ac and find the zero crossing and I cannot figure how I can send this information to the mcu input pin.

so I guess next question is with a zero crossing detector circuit will this triac on and off delay idea work in theory??

very good article that seems to be close to explaining what I want to do .....

triac-phase-control-using-pwm-time

So if you wanted lets say half the voltage

Switching a triac does not alter the voltage. Only the time that the remaining cycle is applied for. The voltage is not important.

Your idea is basically correct but if you are such a beginner you should not be playing about with large motors. I assume your 1pH motor is not an acid motor but a 1 Hp motor.

Thanks for the reply grumpy

I get the acid joke (chem 1A)...... I'm guessing 1ph would be a low ph and as such would be acidic.

I was trying to say a single phase induction motor with capacitors now controlling motor speed. This being different than a shaded pole version as I understand it.

I have a ceiling fan in my lab that I am working with. I have hard wired it to high (pull switch has been removed) common on caps pack to black hot.

this works fine and I am easily able to turn this on and off to high with basic zero crossing opto with triac and snubber.

So I am guessing I need to build a zero crossing detection circuit and use that to then to fire the triac after the desired delay. I have non-zero crossing triacs so I was thinking replace the zero crossing triac (my thinking is the two would be redundant and cause obvious problems) in my on off circuit with the non zero crossing one. and fire it according to the desired delay.

I have run across a project where they have recommended something to the effect of using timing (pwm) to fire on off what looks like 5 times per cycle (in a pulse train) see figure below last image. The first and fifth pwm would be effective and the other three would make no difference but I am having a bit of a time getting it in my head. It seems to me just programatically controlling the timing in milliseconds would be more efficient and not too difficult to do

  1. The first waveform in the above figure shows a normal 50Hz AC phase signal consisting of a sinusoidal rising and falling 330V peak positive, and negative pulses, with respect to the central zero line. This central zero line is termed as the zero crossing line for the AC phase signals.

The triac can be expected to conduct the shown signal continuously if its gate DC trigger is continuous without breaks.

  1. The second figure shows how a triac can be forced to conduct only during positive half cycles in response to its gate triggers (PWM shown in red) at every alternate positive zero crossings of the phase cycles.This results in a 50% phase control.

  2. The third figure shows an identical response wherein the pulses are timed to produce alternately at every negative zero crossing of the AC phase, which also results in a 50% phase control for the triac and the load.

However producing such timed PWMs at different calculated zero crossing nodes can be difficult and complex, therefore an easy approach for acquiring any desired proportion of phase control is to employ timed pulse trains as shown in the 4rth figure above.

  1. In this figure bursts of 4 PWMs can be seen after every alternate phase cycle which results in around 30% reduction in the triac operation and the same for the connected load.

Any opinions would be very appreciated

Mark

I have non-zero crossing triacs so I was thinking replace the zero crossing triac

No a zero crossing triac would not work because all any delay would do would be to just delay the turn on until the next cycle and not give you any speed control at all.

But you say you have a :-

single phase induction motor with capacitors now controlling motor speed

I don't think you can control that sort of motor with a triac, see:-

https://www.designnews.com/automation-motion-control/three-ways-control-single-phase-induction-motor/74809400841732

I've made a dimmer (a long time ago with a different microcontroller) but I've never made a motor speed controller.

With a "regular" opto-isolator the LED goes off at (near) the zero crossing. It will also be off with reverse voltage (and you need to protect it from reverse voltage) so you might want to detect some point just-after (or just-before) the zero crossing, and from there you can calculate the next negative-going and the next positive-going zero crossings. You'll have to experiment because opto-isolators are not perfectly linear or perfectly digital. (There are also AC opto-isolators, or you could use two... One for the positive half-cycle and another for the negative half-cycle.)

P.S.
If you use an opto-isolator, be sure to calculate the power dissipation in the resistor and use a resistor with an appropriate power rating. (When I built my dimmer I used an opto-isolator on the TRIAC but I used transformer-isolation for the zero-crossing detector.)

Grumpy and others thanks,

Apparently there are two kinds of psc (permanent split capacitor) single phase motors. The smaller fan type that only have a start capacitor and the larger kind that have start and run capacitors. The latter will not react well to this kind of system however from other discussions I have heard that with only the start capacitor the desired effect can be reached by starting at full voltage to get it moving and then initiating the speed reduction we are talking about.

This is all hearsay at this point but the article you pointed out was about a motor with both start and run capacitors. (I think).

I have been given a pretty simple open source zero crossing circuit I am going to build and test on the fan just to see what I can get.

It's not difficult to run the fan on full voltage for a moment before slowing it. I haven't figured it all out in my head but the programming should prove no problem.

Link to zero crossing circuit designer page

DVDdoug.....

Ok I wasn't sure if the negative part of the ac sine wave was useful or not. From what you are saying it is not.

Theory ...... a simple switch logic in the programming skipping zero crossings when the wave goes + I run the delay then activate the triac at the next zero crossing I set the switch and skip activation of the triac ... then on the next zero cross I reset the switch and do the delay...

Now quick question ???? When I first activate the power the wave goes positive correct.

Thanks

Mark

Hi,
I was reading your thread and your are in the right track. At least have an idea how to do it.

I am using an Arduino UNO and a triac to control my amplifier power by ramping the AC voltage Up/down using the zero crossing to synchronize the firing of the triac with the AC sine wave angle. My amplifier has a large bank of capacitor that when power ON it it developed a large inrush current causing the blowing of the fuse.

To fire the triac I used just a pulse from one of the pin to turn ON the triac. Once the triac it is ON it will keep ON until it reach the zero crossing and will turn off itself. You need to fire the triac in the positive/negative of the AC sine wave angle. Normally I fired the triac at the 45 to 90 degree of the AC sine wave phase for the positive and 135 to 180 degree of the negative. Also the SSR triac that I am using it is a non zero crossing.

There is a difference between my application and your application. You are using a motor and I am using a transformer.

my design it is been working for almost 4 years with no problems.

Sorry in the way explained but am not a good technical writer.

mtalent:
Thanks for the reply grumpy

I get the acid joke (chem 1A)...... I'm guessing 1ph would be a low ph and as such would be acidic.

I was trying to say a single phase induction motor with capacitors now controlling motor speed. This being different than a shaded pole version as I understand it.

I have a ceiling fan in my lab that I am working with. I have hard wired it to high (pull switch has been removed) common on caps pack to black hot.

this works fine and I am easily able to turn this on and off to high with basic zero crossing opto with triac and snubber.

So I am guessing I need to build a zero crossing detection circuit and use that to then to fire the triac after the desired delay. I have non-zero crossing triacs so I was thinking replace the zero crossing triac (my thinking is the two would be redundant and cause obvious problems) in my on off circuit with the non zero crossing one. and fire it according to the desired delay.

I have run across a project where they have recommended something to the effect of using timing (pwm) to fire on off what looks like 5 times per cycle (in a pulse train) see figure below last image. The first and fifth pwm would be effective and the other three would make no difference but I am having a bit of a time getting it in my head. It seems to me just programatically controlling the timing in milliseconds would be more efficient and not too difficult to do

  1. The first waveform in the above figure shows a normal 50Hz AC phase signal consisting of a sinusoidal rising and falling 330V peak positive, and negative pulses, with respect to the central zero line. This central zero line is termed as the zero crossing line for the AC phase signals.

The triac can be expected to conduct the shown signal continuously if its gate DC trigger is continuous without breaks.

  1. The second figure shows how a triac can be forced to conduct only during positive half cycles in response to its gate triggers (PWM shown in red) at every alternate positive zero crossings of the phase cycles.This results in a 50% phase control.

  2. The third figure shows an identical response wherein the pulses are timed to produce alternately at every negative zero crossing of the AC phase, which also results in a 50% phase control for the triac and the load.

However producing such timed PWMs at different calculated zero crossing nodes can be difficult and complex, therefore an easy approach for acquiring any desired proportion of phase control is to employ timed pulse trains as shown in the 4rth figure above.

  1. In this figure bursts of 4 PWMs can be seen after every alternate phase cycle which results in around 30% reduction in the triac operation and the same for the connected load.

Any opinions would be very appreciated

Mark

IF you study the original circuit a bit more you will discover the capacitors are in series with the motor. No capacitor, fan is off. Small capacitor, the fan runs slow. Larger capacitor, the fan runs faster. This is NOT your normal split phase motor.

Somewhere there is another thread that someone worked days, if not weeks to try what you are doing and had to put the capacitors and switch back in the fan housing.

The switches are available at hardware stores. I had to replace one on a fan in a rental house a few years ago.

Paul

Now quick question ???? When I first activate the power the wave goes positive correct.

So you think that some how when you first activate a switch, something tells the power station and then they make sure the next wave it generates is a positive going cycle?

Quite simply that does not happen. When you activate anything connected to an AC supply it gets what ever wave at what ever position on that wave the power station is kicking out. How could it be any other way?

tauro0221:
Hi,
I was reading your thread and your are in the right track. At least have an idea how to do it.

I am using an Arduino UNO and a triac to control my amplifier power by ramping the AC voltage Up/down using the zero crossing to synchronize the firing of the triac with the AC sine wave angle. ..............

The voltage is not changed, only the proportion of a cycle being applied to your load changes.

Thanks grumpy

I am new to sin waves or at least as far a electricity is concerned I did get an A in trig.

Your statement makes perfect sense.

I was trying to figure out how I was going to be able to with the zero point detector keep track of what polarity the wave was on.

My question here is since the optocoupler triac driver on my on/off switch will no longer be zero crossing (as that would be redundant and would not work) how do I only delay and fire the triac on the positive side of the wave only as DVDdoug says.

My original thought was programatically with a switch but I have to be able to tell where I am to set the switch correctly.

thanks

Mark

how do I only delay and fire the triac on the positive side of the wave only

You don't. You will trigger the triac with a pulse no matter what the current polarity of the cycle. Note that if you use an SCR in place of a triac that will only trigger on one polarity of the cycle.

I have to be able to tell where I am to set the switch correctly.

No you don't.

Thanks Grumpy bad advice.

Now my understanding is back to where I want to be cross zero delay fire repeat

Mark

mtalent:
I am trying to build a circuit that will allow me to control voltage to a 1ph induction motor with capacitors for speed control.

You control the speed of an induction motor by controlling the frequency - look up Variable Frequency Drive.
(and look up Induction Motor so you know why that is the case)

Controlling the voltage ain't going to do what you think.

Yours,
TonyWilk

Hi Tony...

I mis spoke at the beginning I am not trying to control voltage.

Mike said it best

Grumpy_Mike:
The voltage is not changed, only the proportion of a cycle being applied to your load changes.

From what I understand this could/should work

Thanks
Mark

mtalent:
From what I understand this could/should work

Not really, phase-angle firing a triac isn't going to change the frequency - so the rotating magnetic field in the motor is still rotating at the same rate.

If you chop the sinewave the motor will start buzzing a lot and lose power.

Yours,
TonyWilk

I did raise this point in reply #5. Different types of motors is not my strong point but I think you are right.