I am working on a synchronous machine simulation project using FEMM. I am trying to find the rotor position that produces 0 torque. According to my understanding, this happens when both the rotor and stator fields are aligned. Therefore, I first found the back EMF waveform when the stator is not excited, then I applied rotation to the rotor so that the back EMF on Phase A is a cosine wave. Then, I excite the 3 phases of the stator, making the current of Phase A similarly a cosine wave, so that the back EMF produced in Phase A is in phase with the excitation current in Phase A, and therefore the rotor's field will be in phase with the stator's field when the stator is excited (since both fields are now aligned). However, I am still getting torque when doing so. What am I doing wrong?
From practical experience with BLDC motors I know that applying stator current in-phase with the back EMF produces maximum (or near maximum) torque. So that is an observed fact.
Mathematically, per my understanding, the back EMF is proportional to the rate of change of the magnetic field. This means that the back EMF is proportional to the derivative of the flux. Mathematically, derivation of a sinusoid creates a 90 degree phase shift. So by exciting stator current in-phase with the back EMF you are actually not aligning the stator and rotor fields. In fact, the stator and rotor fields are 90 degrees offset from each other in your simulation.
If you want to simulate the no-torque condition you need to excite the stator such that the current is in quadrature with the back EMF.
Maybe a simple way to summarize is to just say that your excitation is 90 degrees off. The phase of the flux and the phase of the back EMF are offset by 90 degrees. So you have accidentally simulated the max torque condition instead of the zero torque condition.