Dear all, I am working with Simscape Electronics and Power electronics to simulate a speed control for a BLDC motor with sinusoidal Back EMF. For this, I have a speed control which gets feedback from an encoder and which generates a reference current signal. This is fed to a current PI control where an sinusoidal reference signal is generated (amplitude is the value from the speed controller and the angle is the electrical angle calculated from the rotor mechanical angle theta_e = poles*mechangle/2). The measured current through the motor is substracted from this sine reference and the error is fed to the PI control. The output of this control then is converted into a duty cycle for a PWM. The PWM is then fed to the two mosfets at the half bridge (half bridge between V+ and GND). The output of the bridge passes then through a low-pass filter and the output of that goes to the motor model (at this point is where the current is measured via shunt resistor and amplification circuit). The three currents have a phase shift of 120° between them. The output of the motor is connected to an ideal torque sensor and an ideal rotational speed and angle sensor and to an Inertia block.
The problem is. No matter which current flows through the motor, the speed remains the same (initial speed given by the inertia block). It oscillates a RPMe-3 or less. And the Torque oscillates around zero. For example, if I have an initial speed of 33 RPM and the reference speed is 35 or 40, the speed control increments the peak current reference, the current control has an error of less than 15mA (peak current is 1.2A) and the speed oscillates between 32.999 and 33.005 RPM and the torque oscillates between -1 and 1 Nm (or similar value).
Does anyone has encountered a similar issue or could have any idea where mine is?
Thank you very much.