Creating a 2D Lookup Table for PMSM in EV Applications Using Simulink

18 次查看(过去 30 天)
Hello MATLAB Simulink Community,
I am currently working on developing a 2D Lookup Table for a Permanent Magnet Synchronous Motor (PMSM) to optimize its operation in an electric vehicle (EV). My objective is to collect data on motor torque, Vde (d-axis voltage), and Vqe (q-axis voltage) under conditions of limited back-EMF WHILE changing Beta-angle and stator Current. This data collection is critical for optimizing motor control strategies(MTPA, Field-Weakening control)
Here are the specific aspects I need help with:
  1. Speed Control Setup: I need to implement a control system in Simulink that allows the PMSM to operate at set speeds to run with limited back-EMF. Which blocks or models would be best for controlling speed of a PMSM regardless of current of PMSM in Simulink?
  2. Data Collection for LUT: As the motor runs, I need to systematically record the torque, Vde, and Vqe. What are the best practices for setting up data logging in Simulink for these variables, especially considering the impacts of limited back-EMF?
  3. Lookup Table Generation: Any advice on how to automate the generation of a 2D LUT based on the collected data within Simulink would be greatly appreciated.
Could you please provide guidance or suggest resources, blocks, or toolkits in Simulink that could be useful for these purposes? Additionally, if there are example models or tutorials related to advanced PMSM control, including speed control and regenerative braking, those would be very helpful.
Thank you in advance for your assistance!

回答(2 个)

Sabin
Sabin 2024-7-15
Since 2024a, the generateMotorDriveROM function takes a motor drive subsystem and creates a reduced-order model (ROM) in the form of a Motor & Drive (System Level) block and parameterizes it with tabulated maximum torque in function of rotor speed and DC voltage, and tabulated power dissipated in function of rotor speed, shaft torque, and DC voltage.
Another good solution to take a look is:

Raghunath Rachabattuni
Hi,
For collecting the data, please run the motor from a coupled motor at constant speed and maintain the load torque to capture the vdq idq w and t at the operating point. From all such points across the oeprating point of interest, you would be able to create characterization data for the PMSM i.e. FluxD(id,iq) and FluxQ(id,iq) (or Ld Lq and FluxPM maps).
Once this data is available, you can use "LUT based PMSM Control Reference" block to generate optimal reference currents. This block also supports varying voltage settings for the reference current generation.
This block computes the optimal reference points based on the oprating points and the motor characteristics. Basics of computing the optimal reference currents is detailed in the following doucment.
This page explains the fundamentals of constraint curves and how to use them for finding the optimal reference currents. The above block does all the computations and gives you a well formed output.
Hope this information helps.
RaghuNath

Community Treasure Hunt

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

Start Hunting!

Translated by