• 学习笔记9


    针对之前给出的直流电机调速基本模型,重写调速控制器。设定合适的参数,实现更好的控制性能。

    要求:(1)稳态速度误差尽可能小

            (2)电机速度输出的动态特性好

            (3)电机加减速过程中,电流平稳变化无明显振荡

    使用PID控制算法来优化控制结果,Cotroller算法重写如下:

    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=9.9;

    parameter Real Ki=3;

    parameter Real Kd=70;

    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;

    采用PID调节的一般调节方式。先调节Kp的数值得到较小的上升时间:再调整Kd的数值来减小超调量的值:最后调节Ki的值消除稳态误差。Kp增大超调量增大,Kd增大电流振荡增大,三者的参数要进行协调。整体调节后得到比较理想的控制结果。

    我的调试结果为:Kp=9.9;Ki=3;Kd=70。仿真过程的上升时间tr为0.020s左右,超调量25.8%,稳态值59.4907。

    图形如下:

    因为计算步长取得较大,计算结果不是很准确,所以图中有较大波动。

    前3秒的图像如下:

    基本符合要求。

  • 相关阅读:
    python总结4
    python中if __name__ == '__main__': 的解析
    matlab学习1
    phpstorm xdebug环境搭建
    uniapp 直播跳转小程序组件
    vue中异步函数async和await的用法
    TFS 2010安装配置(Advance)失败记录
    WIN2003 SMTP Service issue
    WIN2003 ftp server权限设置
    Discuz 7.2 SC UTF8设置
  • 原文地址:https://www.cnblogs.com/yangliu1/p/5567118.html
Copyright © 2020-2023  润新知