zoukankan      html  css  js  c++  java
  • 直流电机调速作业

    直流电机调速

     

    对于给定的模型,只需修改Controller部分就可以达到仿真目的,之前的代码只有比例环节,没有积分和微分环节,因此需要增加这两个环节,这里设定Kp=8Ki=1Kd=60,最后得到的仿真波形如下图

    可以看出,此时,加减速时间很短,反应迅速,超调量也不大,得到的速度曲线偏差很小。

    具体代码如下:

    block Controller

     

    InPort command(n=1);

     

    InPort feedback(n=1);

     

    OutPort outPort(n=1);

     

    Real error;

     

    Real errori;

     

    Real errord;

     

    Real pout;

     

    parameter Real Kp=8;

     

    parameter Real Ki=1;

     

    parameter Real Kd=60;

     

    parameter Real Max_Output_Pos = 10;

     

    parameter Real Max_Output_Neg = -10;

     

    algorithm

     

    error := command.signal[1] - feedback.signal[1];

     

    errori:=errori+error;

     

    errord:=error-pre(error);

     

    pout := Kp * error+Ki*errori+Kd*errord;

     

    if pout > Max_Output_Pos then

     

    outPort.signal[1] := Max_Output_Pos;

     

    elseif pout < Max_Output_Neg then

     

    outPort.signal[1] := Max_Output_Neg;

     

    else

     

    outPort.signal[1] := pout;

     

    end if;

     

    end Controller;

     

     

     

     

  • 相关阅读:
    区块链:术语
    比特币术语表
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
  • 原文地址:https://www.cnblogs.com/hkcjr/p/5588533.html
Copyright © 2011-2022 走看看