📄 power_brushlessdcmotor.mdl
字号:
OutDataTypeMode "Boolean"
}
Block {
BlockType Logic
Name "Logical\nOperator2"
Ports [2, 1]
Position [375, 96, 405, 129]
ShowName off
AllPortsSameDT off
OutDataTypeMode "Boolean"
}
Block {
BlockType Logic
Name "Logical\nOperator3"
Ports [2, 1]
Position [370, 161, 400, 194]
ShowName off
AllPortsSameDT off
OutDataTypeMode "Boolean"
}
Block {
BlockType Logic
Name "Logical\nOperator4"
Ports [2, 1]
Position [370, 226, 400, 259]
ShowName off
AllPortsSameDT off
OutDataTypeMode "Boolean"
}
Block {
BlockType Logic
Name "Logical\nOperator5"
Ports [2, 1]
Position [370, 296, 400, 329]
ShowName off
AllPortsSameDT off
OutDataTypeMode "Boolean"
}
Block {
BlockType Logic
Name "Logical\nOperator6"
Ports [2, 1]
Position [370, 376, 400, 409]
ShowName off
AllPortsSameDT off
OutDataTypeMode "Boolean"
}
Block {
BlockType Logic
Name "Logical\nOperator7"
Ports [2, 1]
Position [370, 446, 400, 479]
ShowName off
AllPortsSameDT off
OutDataTypeMode "Boolean"
}
Block {
BlockType Mux
Name "Mux1"
Ports [3, 1]
Position [720, 231, 725, 329]
ShowName off
Inputs "3"
DisplayOption "bar"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [670, 270, 690, 290]
ShowName off
Inputs "+-"
InputSameDT off
OutDataTypeMode "double"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [670, 240, 690, 260]
ShowName off
Inputs "+-"
InputSameDT off
OutDataTypeMode "double"
SaturateOnIntegerOverflow off
}
Block {
BlockType Sum
Name "Sum3"
Ports [2, 1]
Position [670, 300, 690, 320]
ShowName off
Inputs "+-"
InputSameDT off
OutDataTypeMode "double"
SaturateOnIntegerOverflow off
}
Block {
BlockType Outport
Name "emf_abc"
Position [770, 273, 800, 287]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Hall\n"
SrcPort 1
Points [15, 0]
Branch {
DstBlock "Logical\nOperator1"
DstPort 1
}
Branch {
Points [0, 65]
DstBlock "Demux2"
DstPort 1
}
}
Line {
SrcBlock "Logical\nOperator1"
SrcPort 1
DstBlock "Demux1"
DstPort 1
}
Line {
SrcBlock "Demux2"
SrcPort 3
Points [10, 0; 0, 110]
Branch {
DstBlock "Logical\nOperator4"
DstPort 1
}
Branch {
Points [0, 165]
DstBlock "Logical\nOperator6"
DstPort 2
}
}
Line {
SrcBlock "Demux2"
SrcPort 2
Points [30, 0; 0, 55]
Branch {
DstBlock "Logical\nOperator3"
DstPort 1
}
Branch {
Points [0, 150]
DstBlock "Logical\nOperator5"
DstPort 2
}
}
Line {
SrcBlock "Demux2"
SrcPort 1
Points [45, 0]
Branch {
DstBlock "Logical\nOperator2"
DstPort 1
}
Branch {
Points [5, 0; 0, 365]
DstBlock "Logical\nOperator7"
DstPort 2
}
}
Line {
SrcBlock "Demux1"
SrcPort 3
Points [75, 0; 0, 125]
Branch {
DstBlock "Logical\nOperator3"
DstPort 2
}
Branch {
Points [0, 270]
DstBlock "Logical\nOperator7"
DstPort 1
}
}
Line {
SrcBlock "Demux1"
SrcPort 2
Points [100, 0; 0, 70]
Branch {
DstBlock "Logical\nOperator2"
DstPort 2
}
Branch {
Points [0, 265]
DstBlock "Logical\nOperator6"
DstPort 1
}
}
Line {
SrcBlock "Demux1"
SrcPort 1
Points [125, 0; 0, 205]
Branch {
Points [0, 5]
DstBlock "Logical\nOperator4"
DstPort 2
}
Branch {
Points [0, 60]
DstBlock "Logical\nOperator5"
DstPort 1
}
}
Line {
SrcBlock "Logical\nOperator2"
SrcPort 1
DstBlock "Data Type Conversion2"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "Mux1"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Mux1"
DstPort 2
}
Line {
SrcBlock "Sum3"
SrcPort 1
DstBlock "Mux1"
DstPort 3
}
Line {
SrcBlock "Mux1"
SrcPort 1
DstBlock "emf_abc"
DstPort 1
}
Line {
SrcBlock "Logical\nOperator3"
SrcPort 1
DstBlock "Data Type Conversion1"
DstPort 1
}
Line {
SrcBlock "Logical\nOperator4"
SrcPort 1
DstBlock "Data Type Conversion3"
DstPort 1
}
Line {
SrcBlock "Logical\nOperator5"
SrcPort 1
DstBlock "Data Type Conversion4"
DstPort 1
}
Line {
SrcBlock "Logical\nOperator6"
SrcPort 1
DstBlock "Data Type Conversion5"
DstPort 1
}
Line {
SrcBlock "Logical\nOperator7"
SrcPort 1
DstBlock "Data Type Conversion6"
DstPort 1
}
Line {
SrcBlock "Data Type Conversion2"
SrcPort 1
Points [140, 0; 0, 130]
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Data Type Conversion4"
SrcPort 1
Points [145, 0; 0, -60]
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "Data Type Conversion1"
SrcPort 1
Points [110, 0; 0, 95]
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Data Type Conversion5"
SrcPort 1
Points [110, 0; 0, -110]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Data Type Conversion3"
SrcPort 1
Points [60, 0; 0, 60]
DstBlock "Sum3"
DstPort 1
}
Line {
SrcBlock "Data Type Conversion6"
SrcPort 1
Points [60, 0; 0, -120; 120, 0]
DstBlock "Sum3"
DstPort 2
}
Annotation {
Name "/ha"
Position [191, 35]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "ha"
Position [191, 98]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "ha"
Position [349, 99]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "/hb"
Position [349, 127]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "hb"
Position [349, 164]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "/hc"
Position [343, 191]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "hc"
Position [346, 231]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "/ha"
Position [344, 259]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "/ha"
Position [345, 299]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "hb"
Position [336, 331]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "/hb"
Position [342, 381]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "hc"
Position [334, 407]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "/hc"
Position [345, 449]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "ha"
Position [336, 476]
UseDisplayTextAsClickCallback off
}
Annotation {
Name "This module implements the following true t"
"able\n\n ha | hb | hc || emf_a | emf_b | emf_c\n ---"
"-----------------------------------------------------------------------------"
"\n0 0 0 0 0 0 \n0 "
" 0 1 0 -1 +1\n0 1 "
" 0 -1 +1 0\n0 1 1 "
" -1 0 +1\n1 0 0 "
"+1 0 -1\n1 0 1 +1 "
" -1 0\n1 1 0 0 +1"
" -1\n1 1 1 0 0 "
" 0\n "
Position [734, 449]
UseDisplayTextAsClickCallback off
}
}
}
Block {
BlockType SubSystem
Name "Double click here for more info"
Ports []
Position [805, 330, 832, 355]
DropShadow on
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskHideContents off
MaskDisplay "disp('?')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Double click here for more info"
Location [278, 109, 925, 559]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Annotation {
Name "Demonstration"
Position [19, 252]
HorizontalAlignment "left"
VerticalAlignment "top"
ForegroundColor "blue"
UseDisplayTextAsClickCallback off
FontSize 14
FontWeight "bold"
}
Annotation {
Name "Circuit Description"
Position [14, 102]
HorizontalAlignment "left"
VerticalAlignment "top"
ForegroundColor "blue"
UseDisplayTextAsClickCallback off
FontSize 14
FontWeight "bold"
}
Annotation {
Name "This demonstration illustrates use of the B"
"LDC in a closed-loop\nspeed and voltage control on a 1 kW, 3000 rpm industria"
"l motor "
Position [14, 17]
HorizontalAlignment "left"
VerticalAlignment "top"
UseDisplayTextAsClickCallback off
FontSize 14
FontWeight "bold"
}
Annotation {
Name "A three-phase motor rated 1 kW, 500 Vdc, 30"
"00 rpm is fed by a six step voltage inverter. The inverter is a \nMOSFET brid"
"ge used from the SimPowerSystems library. A speed regulator is used to contro"
"l the DC \nbus voltage. The gates of the inverter are controlled by the Hall "
"effects switches, passing through a gates \ndecoder. The three-phase output o"
"f the inverter are applied to the PMSM block's stator windings. The load \nto"
"rque applied to the machine's shaft is originally set to 0 and steps to its "
"nominal value (3 N.m) at t = 0.1 s. \n\nTwo control loops are used. The inner"
" loop synchronise the impulsions of the bridge with the electromotive \nforce"
". The outer loop controls the motor's speed, by varying the DC bus voltage."
Position [16, 120]
HorizontalAlignment "left"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -