zoukankan      html  css  js  c++  java
  • 学习笔记 第四周 第二篇

    仿真作业

    对于老师所给的交流电机模型,其正常工作时,旋转磁场的转速

    n0=60f/p=1500r/min

    一般情况下,三相异步电动机的额定转速nN=(0.94~0.985) n0,运行老师所给的电机模型,知该电机的额定转速约为1490r/min

    1. 启动方法的选择

      总体要求是,在保证电流较小的情况下,拥有较大的启动转矩。

      参考书P70几种常用启动方法的比较可知,在启动电流相同的情况下,自耦变压器降压启动的启动转矩较大。Y-△降压启动也有良好的启动特性,但考虑到自耦变压器降压启动的K值可变,选择性更多,利于后面进行调节,因此选用自耦变压器降压启动的启动。

      选取K=0.8

         2. 调速方法的选择

      要求满足相应速比进行调速。

      选用变频调速,因为其调速范围广,且能保证电机的机械特性硬度不变,在n=0时有较大的启动转矩,利于启动。

      具体频率比的值要通过调试得出。

         3. 制动方法的选择

      依题意,采取倒拉制动的制动效果会好于能耗制动,选用倒拉制动,但与此同时,倒拉制动并不能自动在n=0时停止,因此需要及时进行控制。

      启动阶段为t=100-102ms,t=1200ms时转速稳定在800r/min

      匀速运动0.5s,从t=1200ms至t=1700ms

      从1700ms开始倒拉制动至转速为0。从t=2675ms至t=3175ms保持静止。

      从t=3175ms开始反向加速,t=3950ms时转速稳定在600r/min

      匀速运动0.6s,从t=3950ms至t=4550ms

      从4550ms开始制动,至5550ms制动至静止。

      整个过程耗时5550ms,期间转矩Tm始终控制在182以下。

      代码如下:

    model SACIM "A Simple AC Induction Motor Model"

    type Voltage=Real(unit="V");

    type Current=Real(unit="A");

    type Resistance=Real(unit="Ohm");

    type Inductance=Real(unit="H");

    type Speed=Real(unit="r/min");

    type Torque=Real(unit="N.m");

    type Inertia=Real(unit="kg.m^2");

    type Frequency=Real(unit="Hz");

    type Flux=Real(unit="Wb");

    type Angle=Real(unit="rad");

    type AngularVelocity=Real(unit="rad/s");

    constant Real Pi = 3.1415926;

    Current i_A"A Phase Current of Stator";

    Current i_B"B Phase Current of Stator";

    Current i_C"C Phase Current of Stator";

    Voltage u_A"A Phase Voltage of Stator";

    Voltage u_B"B Phase Voltage of Stator";

    Voltage u_C"C Phase Voltage of Stator";

    Current i_a"A Phase Current of Rotor";

    Current i_b"B Phase Current of Rotor";

    Current i_c"C Phase Current of Rotor";

    Frequency f_s"Frequency of Stator";

    Torque Tm"Torque of the Motor";

    Speed n"Speed of the Motor";

    Flux Psi_A"A Phase Flux-Linkage of Stator";

    Flux Psi_B"B Phase Flux-Linkage of Stator";

    Flux Psi_C"C Phase Flux-Linkage of Stator";

    Flux Psi_a"a Phase Flux-Linkage of Rotor";

    Flux Psi_b"b Phase Flux-Linkage of Rotor";

    Flux Psi_c"c Phase Flux-Linkage of Rotor";

    Angle phi"Electrical Angle of Rotor";

    Angle phi_m"Mechnical Angle of Rotor";

    AngularVelocity w"Angular Velocity of Rotor";

    Torque Tl"Load Torque";

    Resistance Rs"Stator Resistance";

    parameter Resistance Rr=0.408"Rotor Resistance";

    parameter Inductance Ls = 0.00252"Stator Leakage Inductance";

    parameter Inductance Lr = 0.00252"Rotor Leakage Inductance";

    parameter Inductance Lm = 0.00847"Mutual Inductance";

    parameter Frequency f_N = 50"Rated Frequency of Stator";

    parameter Voltage u_N = 220"Rated Phase Voltage of Stator";

    parameter Real p =2"number of pole pairs";

    parameter Inertia Jm = 0.1"Motor Inertia";

    parameter Inertia Jl = 1"Load Inertia";

    parameter Real K=0.8"starting rate";

    parameter Real a=0.544"frequency rate";

    parameter Real b=0.0685"stable frequency rate";

    parameter Real c=0.3893"another frequency rate";

    parameter Real P=0.7"stoping rate";

    initial equation

    Psi_A = 0;

    Psi_B = 0;

    Psi_C = 0;

    Psi_a = 0;

    Psi_b = 0;

    Psi_c = 0;

    phi = 0;

    w = 0;

    equation

    u_A = Rs * i_A + 1000 * der(Psi_A);

    u_B = Rs * i_B + 1000 * der(Psi_B);

    u_C = Rs * i_C + 1000 * der(Psi_C);

    0 = Rr * i_a + 1000 * der(Psi_a);

    0 = Rr * i_b + 1000 * der(Psi_b);

    0 = Rr * i_c + 1000 * der(Psi_c);

    Psi_A = (Lm+Ls)*i_A + (-0.5*Lm)*i_B + (-0.5*Lm)*i_C + (Lm*cos(phi))*i_a + (Lm*cos(phi+2*Pi/3))*i_b + (Lm*cos(phi-2*Pi/3))*i_c;

    Psi_B = (-0.5*Lm)*i_A + (Lm+Ls)*i_B + (-0.5*Lm)*i_C + (Lm*cos(phi-2*Pi/3))*i_a + (Lm*cos(phi))*i_b + (Lm*cos(phi+2*Pi/3))*i_c;

    Psi_C = (-0.5*Lm)*i_A + (-0.5*Lm)*i_B + (Lm+Ls)*i_C + (Lm*cos(phi+2*Pi/3))*i_a + (Lm*cos(phi-2*Pi/3))*i_b + (Lm*cos(phi))*i_c;

    Psi_a = (Lm*cos(phi))*i_A + (Lm*cos(phi-2*Pi/3))*i_B + (Lm*cos(phi+2*Pi/3))*i_C + (Lm+Lr)*i_a + (-0.5*Lm)*i_b + (-0.5*Lm)*i_c;

    Psi_b = (Lm*cos(phi+2*Pi/3))*i_A + (Lm*cos(phi))*i_B + (Lm*cos(phi-2*Pi/3))*i_C + (-0.5*Lm)*i_a + (Lm+Lr)*i_b + (-0.5*Lm)*i_c;

    Psi_c = (Lm*cos(phi-2*Pi/3))*i_A + (Lm*cos(phi+2*Pi/3))*i_B + (Lm*cos(phi))*i_C + (-0.5*Lm)*i_a + (-0.5*Lm)*i_b + (Lm+Lr)*i_c;

    Tm =-p*Lm*((i_A*i_a+i_B*i_b+i_C*i_c)*sin(phi)+(i_A*i_b+i_B*i_c+i_C*i_a)*sin(phi+2*Pi/3)+(i_A*i_c+i_B*i_a+i_C*i_b)*sin(phi-2*Pi/3));

    w = 1000 * der(phi_m);

    phi_m = phi/p;

    n= w*60/(2*Pi);

    Tm-Tl = (Jm+Jl) * 1000 * der(w);

    Tl = 15;

    if time <= 100 then

    u_A = 0;

    u_B = 0;

    u_C = 0;

    f_s = 0;

    Rs = 0.531;

    elseif time<=102 then

    f_s = f_N*a;

    Rs = 0.531;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*K*a;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*K*a;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*K*a;

    elseif time<=1695 then

    f_s = f_N*a;

    Rs = 0.531;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*a;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*a;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*a;

    elseif time<=1740 then

    f_s = f_N*a;

    Rs = 3;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*a;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*a;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*a;

    elseif time<=2660 then

    f_s = f_N*a;

    Rs = 0.531;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*a;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*a;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*a;

    elseif time<=3165 then

    f_s = f_N*b;

    Rs = 0.531;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*b;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*b;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*b;

    elseif time<=3300 then

    f_s = f_N*K*c;

    Rs = 0.531;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*K*c;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*K*c;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*K*c;

    elseif time<=4540 then

    f_s = f_N*c;

    Rs = 0.531;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*c;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*c;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*c;

    elseif time<=4580.5 then

    f_s = f_N*P*a;

    Rs = 2;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*a*P;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*a*P;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*a*P;

    elseif time<=5550 then

    f_s = f_N*a;

    Rs = 0.531;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*a;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*a;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*a;

    else

    f_s = f_N*b;

    Rs = 0.531;

    u_A = u_N * 1.414 * sin(2*Pi*f_s*time/1000)*b;

    u_B = u_N * 1.414 * sin(2*Pi*f_s*time/1000-2*Pi/3)*b;

    u_C = u_N * 1.414 * sin(2*Pi*f_s*time/1000-4*Pi/3)*b;

    end if;

    end SACIM;

      图像如下:

      整个过程耗时5550ms,期间转矩Tm始终控制在182以下。

  • 相关阅读:
    hibernate关联关系
    数据结构之二叉树java实现
    队列java实现
    栈java实现
    原生JS结合cookie实现商品评分组件
    JAVA学习第一阶段(2)
    JAVA学习第一阶段(1)
    如何修改hosts并保存
    运行Apache时出现the requested operation has failed
    实现一元多项式
  • 原文地址:https://www.cnblogs.com/jinkehust/p/5297816.html
Copyright © 2011-2022 走看看