Help with 3-phase zero-crossing

Hello everyone,

It is my first time posting here, so please bare with me. I have a task to do for my project but I am unsure if Arduino is able to perform it. I have never worked on an Arduino before, so basically I have zero experience and basic tutorial knowledge. I’ve tried googling my case but it seems like my question is specific, so I got no other option but to post it here.

Anyways, I want to generate 6 pulses from the crossing of 3-phase voltage supply of 50hz.

But I would like to generate those pulses from only a single phase. Assume that I obtained zero crossing of the single phase voltage by passing it through an optocoupler circuit.

As you can see from the picture above, first I will enter the zero crossing signal in the Arduino, then I would introduce a 30 degrees phase shift and make the new signal as my reference signal. After that, I would like to delay the reference signal once by 60 degrees and then another by 120 degrees. At the end of the day I would like 3 individual signals : The reference, reference + 60 degree , reference + 120 degree. And lastly I would like to add all those signals together to achieve 3 phase pulses.

Now the general question is, will an Arduino be able to perform all the above procedures? If your answer is yes, then what kind of problems do you think I will encounter and is there a possible solution?

Any help would be greatly appreciated.

I don't know the answer but you will be more likely to get help if you modify your Original Post and change the Title to indicate what you need help with. Maybe "Help with 3-phase zero-crossing"


I can't see the pictures because the PC I'm working on is blocking the site. However, if you know it will be 50Hz, you can determine which phase each of your zero crosses belongs to based on the timing between them.

To your question, zero cross detection is sort of one of those "problems" which has well and truly been solved as far as people like us are concerned. The main problem I can see is, assuming you're working with mains voltages, you will need to be careful with your isolation so you don't damage the Arduino or any people who may be working with it.


Phase shift errors

No special computing power is needed for the phase shift. As we know that the period of 50Hz is 20ms is 360°, a shift of 30° is 20*30/360 ms.


Phase shift errors

What are the possible ways of solving the phase error problems?

It depends on what you are going to build. A phase angle modulated power control does not really suffer from phase errors.

Op: before you end up down the rabbit hole of turning phase shift into an x-y problem, please explain what you’ll be doing with the signals you want to generate. Why? Because any possible phase shift may not affect what you’re trying to achieve.

You cannot measure voltage directly. If uou use a transformer, uour measured voltage will have a delay.

Also, what is you method to detect loss of a phase?

As others alluded to, the condition can exist without it being a problem.
All things depend on applications.