I try to design a replacement potter's wheel motor controller for an old potter wheel. I have solve some problem and I am able to control the phase standard of filament light.

Now I try my board on a real motor and oddly the board does not work as expected. Yes I (re)discover the current phase angle effect. I see a lot of motor phase control only use a VOLTAGE zero crossing detector of the main supply and do not take in account the current, I don't understand how they work properly.

To try to understand, I try to plot voltage and lagging 90° current phase at the load. I use main voltage zero crossing detector event to trigger TRIAC between >0 to <10 ms. (for 50 Hz supply voltage)

1. TRIGGER AFTER ZERO CURRENT 6ms triggering With long delay (~6 ms) after voltage zero crossing, I expect to put a little power on the load (like on the filament light) but if I take the current in account, I see the TRIAC is ON during almost all the period

2. TRIGGER BEFORE ZERO CURRENT 4ms riggering Now with short delay (~4 ms) after voltage zero crossing, I expect to put a more power on the load (like on the filament light) but again, if I take the current in account, I see the TRIAC is ON just a small time until current cross zero. I can generate pulse train to "pass" the current zero crossing but in this case TRIAC will be OFF AFTER the next pulse, so he will be OFF during to much time before the next (next) pulse, signal will be unbalanced.

So here is my question:

  • How does motor phase control do without knowing the phase of current to be able to control light AND motor? (In other words, why not a single dimmer use a current zero crossing detector?)
  • Do I need to add a CURRENT zero crossing detector to my board or measure the current phase to be able to shift my pulse delay to current phase. (ex: 1: Wait voltage zero crossing, 2: wait 5ms (90°), 3: Start my delay timer, 4: generate gate pulse)?
  • I read somewhere the phase of current move on a motor depending speed and torque, how to do without current zero crossing detector?

As you see I'm completely lost on the inductive load triggering TRIAC strategy, take a step back. Thanks in advance

  • \$\begingroup\$ Your 8MHz XTAL OSC is 10 pF while 5 + 5 pF in series = 2.5 pF ...FYI \$\endgroup\$ Commented Dec 5, 2019 at 22:15
  • \$\begingroup\$ Well spotted, I effectively mount 15pf capacitor, thanks for see this \$\endgroup\$
    – rom1nux
    Commented Dec 6, 2019 at 16:57
  • \$\begingroup\$ I did not see what microprocessor you are using but many have built in motor control and provide application notes and sometimes even evaluation boards. \$\endgroup\$
    – Gil
    Commented Sep 4, 2022 at 20:02

1 Answer 1


You can determine the current crossing from zero by using a clamp current meter at the output of the load (motor) and show it to the microcontroller with an optocoupler and correct the appropriate phase control angle.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.