Different motor type does not work in example "Field-Oriented Control of PMSM Using Position Estimated by Neural Network".

5 views (last 30 days)
It works in default scenarion. After changing motor type and retraining network it does not work. The position estimation is wrong even if I run with encoder.
Also, I've changed shunt resistor value to 3mOhm
I've attached motor parameters.
Do you have idea what could went wrong?

Answers (1)

saish
saish on 12 Aug 2025
Edited: saish on 12 Aug 2025
Hi Tomasz,
I see that you are using the model from the documentation and considering changing the motor type in your simulation. There are several important issues that can arise when replacing the PMSM with a different motor type.
1. The control algorithms (such as PI controllers for speed or torque) in the model are tuned specifically for the PMSM’s electrical and mechanical characteristics.
If you substitute a different motor, especially one with different inductance, resistance, or inertia, the existing controller gains may no longer be appropriate.
This can result in instability or degraded performance, and you would need to retune the controller gains to match the new motor’s dynamics for stable and accurate operation.
2. The model’s sensor settings (e.g, QEP slits for encoders) are configured for the original PMSM.
If the new motor uses a same encoder or has a different number of slits, the speed and position feedback will be incorrect, leading to errors in closed-loop control.
3. If the new motor has different electrical or mechanical ratings (e.g, voltage, current, torque, or speed limits) and you do not update these values in the simulation, the system may command unrealistic or unsafe values.
In a real system, this could risk overheating, demagnetization, or mechanical damage.
4. I also noticed that in the parameters file you provided, the base speed is set higher than the maximum speed. This is technically inconsistent:
Base speed is the speed at which the motor delivers rated torque with rated voltage and current.
Maximum speed is the highest permissible operating speed, often reached during field weakening operation.
By definition, base speed should always be less than or equal to maximum speed. If base speed is set higher, it indicates a parameter error that must be corrected for accurate simulation results.
Simulink models replicate mathematical behavior based on the parameters you provide. They do not automatically account for the real world limitations of your hardware unless you explicitly update all relevant parameters to match your new motor’s specifications.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!