SMPM_MTPATest example: PermanentMagnetSynchronousMachine, investigating maximum torque per Amps |
|
This information is part of the Modelica Standard Library maintained by the Modelica Association.
This example investigates the maximum torque per amps (MTPA) of a quasi-static permanent magnet synchronous machine. The machines is operated at constant speed. The current magnitude is kept constant and the current angle is rotated from 0 to 360 degrees with the simulation period of one second.
In this simulation the angle is the following angles are calculated:
phi_v = angle of voltage phasorphi_i = angle of current phasorphiphi_v - phi_i = angle between voltage and current phasortheta = rotor displacement angleepsilon = phi - theta = current angleSimulate for 1 second and plot (versus angle epsilon):
smpmQS.tauElectrical: machine torquesmpmQS.abs_vs[1]: machine phase voltage magnitudephi: phase angle between voltage and current phasorThe resistors connected to the terminals of the windings of the quasi-static machine model are necessary to numerically stabilize the simulation.
| m |
Value: 3 Type: Integer Description: Number of phases |
|---|---|
| VNominal |
Value: 100 Type: Voltage (V) Description: Nominal RMS voltage per phase |
| fNominal |
Value: 50 Type: Frequency (Hz) Description: Nominal frequency |
| f |
Value: 50 Type: Frequency (Hz) Description: Actual frequency |
| tRamp |
Value: 1 Type: Time (s) Description: Frequency ramp |
| TLoad |
Value: 181.4 Type: Torque (N·m) Description: Nominal load torque |
| tStep |
Value: 1.2 Type: Time (s) Description: Time of load torque step |
| JLoad |
Value: 0.29 Type: Inertia (kg·m²) Description: Load's moment of inertia |
| wNominal |
Value: 2 * pi * fNominal / smpmData.p Type: AngularVelocity (rad/s) Description: Nominal angular velocity |
| positiveRange |
Value: false Type: Boolean Description: Use positive range of angles, if true |
| smpmData |
Value: Type: SM_PermanentMagnetData Description: Synchronous machine data |
| theta |
Default Value: rotorAngleQS.rotorDisplacementAngle Type: Angle (rad) Description: Rotor displacement angle, quasi-static |
|---|---|
| phi_i |
Default Value: Modelica.Math.wrapAngle(smpmQS.arg_is[1], positiveRange) Type: Angle (rad) Description: Angle of current |
| phi_v |
Default Value: Modelica.Math.wrapAngle(smpmQS.arg_vs[1], positiveRange) Type: Angle (rad) Description: Angle of voltage |
| phi |
Default Value: Modelica.Math.wrapAngle(phi_v - phi_i, positiveRange) Type: Angle (rad) Description: Angle between voltage and current |
| epsilon |
Default Value: Modelica.Math.wrapAngle(phi - theta, positiveRange) Type: Angle (rad) Description: Current angle |
| smpmData |
Type: SM_PermanentMagnetData Description: Synchronous machine data |
|
|---|---|---|
| smpmQS |
Type: SM_PermanentMagnet |
|
| quadraticSpeedDependentTorqueQS |
Type: ConstantSpeed |
|
| starMachineQS |
Type: Star |
|
| groundMQS |
Type: Ground |
|
| terminalBoxQS |
Type: MultiTerminalBox |
|
| currentControllerQS |
Type: CurrentController |
|
| angleSensorQS |
Type: AngleSensor |
|
| referenceCurrentSourceQS |
Type: ReferenceCurrentSource |
|
| starQS |
Type: Star |
|
| groundeQS |
Type: Ground |
|
| resistorQS |
Type: Resistor |
|
| rotorAngleQS |
Type: RotorDisplacementAngle |
|
| currentRMSSensorQS |
Type: CurrentQuasiRMSSensor |
|
| voltageQuasiRMSSensorQS |
Type: VoltageQuasiRMSSensor |
|
| starMQS |
Type: Star |
|
| rotSource |
Type: ComplexRotatingPhasor |
|
| toReal |
Type: ComplexToReal |