zoukankan      html  css  js  c++  java
  • 《机电传动控制》第四周作业

    一、控制策略:

    1、三相异步电动机启动采用自耦变压器降压方法,取Ku=0.65;

    2、调速策略才用调频调速。n=800,Ka=0.545;n=0,Kb=0.075;n=-600,Kc=0.395。(基本是试的)

    3、反相使电机反转。

    二、关键代码(与源代码的改动)

    parameter Real Ku=0.65;

    parameter Real Ka=0.545;

    parameter Real Kb=0.075;

    parameter Real Kc=0.395;

     

    if time <= 100 then

    u_A = 0;

    u_B = 0;

    u_C = 0;

    f_s = 0;

     

    elseif time<=200 then

    f_s = f_N*Ka;

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

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

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

     

    elseif time<=1900 then

    f_s = f_N*Ka;

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

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

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

     

    elseif time<=1950 then

    f_s = f_N*Ka;

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

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

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

     

    elseif time<=2850 then

    f_s = f_N*Ka;

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

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

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

     

    elseif time<=3400 then

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

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

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

    f_s = f_N*Kb;

     

    elseif time<=3560 then

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

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

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

    f_s = f_N*Ku*Kc;

     

    elseif time<=4950 then

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

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

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

    f_s = f_N*Kc;

     

    elseif time<=5000 then

    f_s = f_N*P*Ka;

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

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

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

     

     

    elseif time<=5800 then

    f_s = f_N*Ka;

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

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

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

     

    else

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

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

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

    f_s = f_N*Kb;

     

    end if;

     

    三、仿真结果

     

     

    四、小结

    完成任务在5.8s左右,最大电流在160左右。存在要求匀速但是速度有小范围变动导致时间不那么精准。

  • 相关阅读:
    我的vim开发环境搭建:C/C++/Go,持续更新中
    MFC的组合框(ComboBox)控件切换下拉样式
    回顾下杂乱的10月
    C++将整型数据转换成大端或小端存储顺序
    C/C++动态分配连续空间,下标越界导致的free():invalid next size问题
    O(n)空间复杂度,打印杨辉三角形的前n行
    C指针笔试题,蛋疼的多重指针运算,谭浩强的阴影
    2017滴滴出行笔试题:异或和为0的最大区间个数
    manjaro安装
    关于top命令
  • 原文地址:https://www.cnblogs.com/zengchuang/p/5299967.html
Copyright © 2011-2022 走看看