📄 power_pwm.mdl
字号:
Saturation "[14.03593122, 27.81365428, 53.79336849, 72.6889"
"0987, 97.98006896, 148.6815601, 215.7428561, 302.9841135, 428.7778367 ; 230, "
"322, 414, 460, 506, 552, 598, 644, 690]"
}
Block {
BlockType BusSelector
Name "Bus\nSelector"
Ports [1, 5]
Position [485, 20, 490, 220]
ShowName off
OutputSignals "Stator measurements.Stator voltage vs_d (V),Sta"
"tor measurements.Stator current is_d (A),Stator measurements.Stator voltage v"
"s_q (V),Stator measurements.Stator current is_q (A),Mechanical.Rotor speed ("
"wm)"
Port {
PortNumber 1
Name "<Stator voltage vs_d (V)>"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
Port {
PortNumber 2
Name "<Stator current is_d (A)>"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
Port {
PortNumber 3
Name "<Stator voltage vs_q (V)>"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
Port {
PortNumber 4
Name "<Stator current is_q (A)>"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
Port {
PortNumber 5
Name "<Rotor speed (wm)>"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
}
}
Block {
BlockType Clock
Name "Clock"
Position [580, 530, 600, 550]
Orientation "left"
Decimation "10"
}
Block {
BlockType Constant
Name "Constant"
Position [425, 475, 510, 495]
Orientation "left"
ShowName off
Value "2*pi/3*[ 0,-1,1 ]"
}
Block {
BlockType Constant
Name "Constant1"
Position [460, 556, 510, 574]
Orientation "left"
ShowName off
Value "1/1980"
}
Block {
BlockType Demux
Name "Demux"
Ports [1, 3]
Position [220, 424, 225, 566]
Orientation "left"
BackgroundColor "black"
Outputs "3"
}
Block {
BlockType Reference
Name "Discrete\nPI Controller"
Ports [1, 1]
Position [1020, 57, 1065, 103]
DialogController "POWERSYS.PowerSysDialog"
SourceBlock "powerlib_extras/Discrete \nControl Blocks/Discr"
"ete\nPI Controller"
SourceType "Discrete PI Controller"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
Kp "100"
Ki "0.1"
Par_Limits "[1e6 -1e6]"
Init "0"
Ts "50e-6"
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator"
Ports [1, 1]
Position [775, 14, 810, 46]
IntegratorMethod "Integration: Forward Euler"
ExternalReset "none"
InitialConditionSource "internal"
IgnoreLimit off
ICPrevOutput "DiscIntNeverNeededParam"
ICPrevScaledInput "DiscIntNeverNeededParam"
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator1"
Ports [1, 1]
Position [775, 129, 810, 161]
IntegratorMethod "Integration: Forward Euler"
ExternalReset "none"
InitialConditionSource "internal"
IgnoreLimit off
ICPrevOutput "DiscIntNeverNeededParam"
ICPrevScaledInput "DiscIntNeverNeededParam"
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator2"
Ports [1, 1]
Position [869, 350, 901, 385]
Orientation "down"
NamePlacement "alternate"
ShowName off
IntegratorMethod "Integration: Forward Euler"
ExternalReset "none"
InitialConditionSource "internal"
IgnoreLimit off
ICPrevOutput "DiscIntNeverNeededParam"
ICPrevScaledInput "DiscIntNeverNeededParam"
}
Block {
BlockType DiscreteIntegrator
Name "Discrete-Time\nIntegrator3"
Ports [1, 1]
Position [864, 590, 896, 625]
Orientation "down"
NamePlacement "alternate"
ShowName off
IntegratorMethod "Integration: Forward Euler"
ExternalReset "none"
InitialConditionSource "internal"
IgnoreLimit off
ICPrevOutput "DiscIntNeverNeededParam"
ICPrevScaledInput "DiscIntNeverNeededParam"
}
Block {
BlockType SubSystem
Name "Double click here for more info"
Ports []
Position [490, 650, 517, 675]
DropShadow on
OpenFcn "showdemo(bdroot(gcb))"
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskHideContents off
MaskDisplay "disp('?')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Double click here for more info"
Location [62, 201, 703, 717]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Annotation {
Name "Demonstration"
Position [24, 292]
HorizontalAlignment "left"
VerticalAlignment "top"
ForegroundColor "blue"
FontSize 14
FontWeight "bold"
}
Annotation {
Name "Circuit Description"
Position [24, 97]
HorizontalAlignment "left"
VerticalAlignment "top"
ForegroundColor "blue"
FontSize 14
FontWeight "bold"
}
Annotation {
Name "This demonstration illustrates use of the a"
"synchronous machine\nin an open-loop speed control on a 3 HP 220 V industrial"
" motor "
Position [24, 22]
HorizontalAlignment "left"
VerticalAlignment "top"
FontSize 14
FontWeight "bold"
}
Annotation {
Name "A three-phase motor rated 3 HP, 220 V, 1725"
" rpm is fed by a sinusoidal PWM inverter. The base frequency\nof the sinusoid"
"al reference wave is 60 Hz while the triangular carrier wave's frequency is s"
"et to 1980 Hz. \nThe PWM inverter is built entirely with standard Simulin"
"k blocks. Its output goes through Controlled Voltage \nSource blocks before b"
"eing applied to the Asynchronous Machine block's stator windings. The machine"
"'s \nrotor is short-circuited. Its stator leakage inductance Lls is set t"
"o twice its actual value to simulate the \neffect of a smoothing react"
"or placed between the inverter and the machine. The load torque applied to th"
"e \nmachine's shaft is constant and set to its nominal value of 11.9 N.m. "
" \n \nThe motor is star"
"ted from stall. The speed setpoint is set to 1.0 pu, or 1725 rpm. This speed "
"is reached \nafter 0.9 s. "
" "
" "
Position [26, 125]
HorizontalAlignment "left"
VerticalAlignment "top"
FontSize 12
}
Annotation {
Name "Take a look at the simulation parameters. T"
"he Maximum time step has been limited to 10 microseconds.\nThis is required d"
"ue to the relatively high switching frequency (1980 Hz) of the inverter. "
" \n\nObserve that the rotor and stator currents ar"
"e quite \"noisy,\" despite the use of a smoothing reactor. The noise \nintrod"
"uced by the PWM inverter is also observed in the electromagnetic torque wavef"
"orm Te. However, the \nmotor's inertia prevents this noise from appearing"
" in the motor's speed waveform. \n"
"\nThe RMS value of the fundamental component of the line voltage at the machi"
"ne's stator terminals is extracted \nwith a Fourier block, which can be fou"
"nd in the Measurements group of the Extras library. "
" \n\nFinally, observe the PWM inverter's output. Use the zoom on the vab o"
"scilloscope to zoom in on the waveform."
Position [24, 326]
HorizontalAlignment "left"
VerticalAlignment "top"
FontSize 12
}
Annotation {
Name "Louis-A. Dessaint and R. Champagne (Ecole"
" de Technologie Superieure, Montreal)"
Position [25, 66]
HorizontalAlignment "left"
VerticalAlignment "top"
FontSize 12
}
}
}
Block {
BlockType Reference
Name "Fourier"
Ports [1, 2]
Position [185, 214, 230, 261]
DialogController "POWERSYS.PowerSysDialog"
SourceBlock "powerlib_extras/Measurements/Fourier"
SourceType "Fourier analyser"
ShowPortLabels "FromPortIcon"
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
f1 "60"
n "1"
}
Block {
BlockType Gain
Name "Gain"
Position [875, 15, 905, 45]
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain1"
Position [685, 55, 715, 85]
Gain "3.246"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain2"
Position [770, 85, 800, 115]
Gain "2.63"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain3"
Position [865, 130, 895, 160]
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain4"
Position [690, 180, 720, 210]
Gain "3.246"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain5"
Position [770, 200, 800, 230]
Gain "2.63"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain6"
Position [675, 255, 705, 285]
Gain "0.843"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain8"
Position [665, 485, 695, 515]
Gain "0.312"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain9"
Position [715, 535, 745, 565]
Gain "0.843"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Lookup
Name "Look-Up\nTable"
Position [340, 544, 365, 566]
Orientation "left"
InputValues "[0 0.25 0.75 1] / 1980"
OutputValues "[0 1 -1 0]"
}
Block {
BlockType Math
Name "Math\nFunction"
Ports [2, 1]
Position [405, 529, 430, 576]
Orientation "left"
Operator "rem"
}
Block {
BlockType SubSystem
Name "PI"
Ports [1, 1]
Position [1075, 293, 1125, 337]
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskHideContents off
System {
Name "PI"
Location [433, 403, 931, 703]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "A4"
PaperUnits "centimeters"
TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [60, 103, 90, 117]
IconDisplay "Port number"
}
Block {
BlockType Sum
Name "Add"
Ports [2, 1]
Position [365, 87, 395, 138]
CollapseMode "All dimensions"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain"
Position [120, 95, 150, 125]
Gain "200"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain1"
Position [190, 95, 220, 125]
Gain "2"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Integrator
Name "Integrator"
Ports [1, 1]
Position [280, 95, 310, 125]
IgnoreLimit off
}
Block {
BlockType Outport
Name "Out1"
Position [435, 103, 465, 117]
IconDisplay "Port number"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -