题目要求
结合本周学习的直流电机机械特性,用Modelica设计和仿真一个直流电机串电阻启动过程,具体要求如下:
1)电机工作在额定电压和额定磁通下,采用串三段或四段电阻启动,整个启动过程电枢电流中不能超过额定电流的3倍。
2)选择合适的电阻阻值,选择优化的电阻切除策略,使得在满足条件1的前提下,电机尽可能快速平滑得达到额定点。
3)所有同学均使用如下统一的直流电机模型,电机的参数为:
额定电压:240V
额定电流:16.2A
额定转矩:29.2N.m
额定转速:1220 r/min
转动惯量:1 Kg.m^2
电枢电阻:0.6 Ohm
转矩常数(额定磁通):1.8
电动势常数(额定磁通):0.189
参数设计计算
主要方程
参数计算
在短路启动电阻R1时,短路R1前电流i1,转矩Tm1,转速n1,短路R1后电流i1’
在短路启动电阻R2时,短路R2前电流i2,转矩Tm2,转速n2,短路R2后电流i2’
在短路启动电阻R3时,短路R3前电流i3,转矩Tm3,转速n3,短路R3后电流i3’
假设分段短路启动电阻过程每次均等待这一过程中的转速已达到稳定,即dn/dt=0时再短路下一个启动电阻
因要求每次切换电阻时的T2(I2)值基本相同,且选择T2=(1.1~1.2)Tn
即切换前电流值应为(1.1~1.2)x16.2A=17.82~19.44A
故通过调节切换时间来满足电流最小值不低于17.82A的要求
程序编写
按等待每次切换电阻后的转速达到稳定再进行下一次电阻切换设置电阻切换时间
model motor1 "An DC Motor Model"
type Voltage=Real(unit="V");
type Current=Real(unit="A");
type Resistance=Real(unit="Ohm");
type Speed=Real(unit="r/min");
type Torque=Real(unit="N.m");
type Inertia=Real(unit="kg.m^2");
Torque Tm"Torque of the Motor";
Speed n"Speed of the Motor";
Current i"Armature Current";
Voltage u"Voltage Source";
Resistance R_ad"External Resistance";
Resistance R1"Start-up Resistance";
Resistance R2"Start-up Resistance";
Resistance R3"Start-up Resistance";
parameter Real J = 1"Total Inertia";
parameter Real R = 0.6"Armature Resistance";
parameter Real Kt = 1.8"Torque Constant";
parameter Real Ke = 0.189"EMF Constant";
parameter Real Tl = 29.2"Load Torque";
parameter Real i1=48.6"Maximum Current";
parameter Real i2=17.8"Minimum Current";
equation
Tm-Tl = J * der(n) * 6.28 / 60;
Tm= Kt * i;
u= i * (R+R_ad+R1+R2+R3) + Ke * n;
if time <= 0.1 then
u = 0;
R_ad = 0;
else
u = 240;
R_ad = 0;
end if;
if time <= 10 then
R1=3.67;
else
R1=0;
end if;
if time <= 15 then
R2=1.646;
else
R2=0;
end if;
if time <= 20 then
R3=0.738;
else
R3=0;
end if;
end motor1;
simulate(motor1,startTime=0,stopTime=30)
plot({i,i1,i2,Tm})
plot(n)
调节各电阻切换时间后程序为
model motor1 "An DC Motor Model"
type Voltage=Real(unit="V");
type Current=Real(unit="A");
type Resistance=Real(unit="Ohm");
type Speed=Real(unit="r/min");
type Torque=Real(unit="N.m");
type Inertia=Real(unit="kg.m^2");
Torque Tm"Torque of the Motor";
Speed n"Speed of the Motor";
Current i"Armature Current";
Voltage u"Voltage Source";
Resistance R_ad"External Resistance";
Resistance R1"Start-up Resistance";
Resistance R2"Start-up Resistance";
Resistance R3"Start-up Resistance";
parameter Real J = 1"Total Inertia";
parameter Real R = 0.6"Armature Resistance";
parameter Real Kt = 1.8"Torque Constant";
parameter Real Ke = 0.189"EMF Constant";
parameter Real Tl = 29.2"Load Torque";
parameter Real i1=48.6"Maximum Current";
parameter Real i2=17.8"Minimum Current";
equation
Tm-Tl = J * der(n) * 6.28 / 60;
Tm= Kt * i;
u= i * (R+R_ad+R1+R2+R3) + Ke * n;
if time <= 0.1 then
u = 0;
R_ad = 0;
else
u = 240;
R_ad = 0;
end if;
if time <= 5 then
R1=3.67;
else
R1=0;
end if;
if time <= 7.5 then
R2=1.646;
else
R2=0;
end if;
if time <= 8.6 then
R3=0.738;
else
R3=0;
end if;
end motor1;
simulate(motor1,startTime=0,stopTime=20)
plot({i,i1,i2,Tm})
plot(n)