您现在的位置:首页 >> 智能控制 >> 内容

基于FPGA的控制参数在线实时调整的自适应PI控制器设计,包含testbench测试程序

时间:2023/4/9 23:29:35 点击:

  核心提示:1.完整项目描述和程序获取面包多安全交易平台:https://mbd.pub/o/bread/ZJeYlp1s如果链接失效,可以直接打开本站店铺搜索相关店铺:点击店铺如果链接失效,程序调试报错或者项目...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJeYlp1s

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览


3.算法概述

        当利用PID控制器进行串联校正时,除可使系统的型别提高一级外,还将提供两个负实零点。与PI控制器相比,PID控制器除了同样具有提高系统的稳态性能的优点外,还多提供一个负实零点,从而在提高系统动态性能方面,具有更大的优越性。因此,在工业过程控制系统中,广泛使用PID控制器。PID控制器各部分参数的选择,在系统现场调试中最后确定。通常,应使积分部分发生在系统频率特性的低频段,以提高系统的稳态性能;而使微分部分发生在系统频率特性的中频段,以改善系统的动态性能。 

       自适应PID控制,是指自适应控制思想与常规PID控制器相结合形成的自适应PID控制或自校正PID控制技术,人们统称为自适应PID控制。

4.部分源码

.............................................................

input              i_clk;

input              i_rst;

input  signed[11:0]i_din;

output signed[23:0]o_pd;

output signed[11:0]Kp_adptive;

output signed[11:0]Ki_adptive;

 

reg signed[11:0]o_error;

 

.............................................................

always @(posedge i_clk or posedge i_rst)

begin

     if(i_rst)

  begin

  o_error <= 12'd0; 

  end

else begin

     o_error <= i_din-o_pd[23:12]; 

     end

end

 

 

//KP

reg signed[23:0]dat1;

reg signed[23:0]dat1d;

always @(posedge i_clk or posedge i_rst)

begin

     if(i_rst)

  begin

  dat1 <= 24'd0;

  dat1d<= 24'd0;

  end

else begin

     dat1 <= o_error*Kp;

     dat1d<= dat1;

     end

end

//KI

//KI 

reg signed[23:0]dat3;

reg signed[23:0]dat3d;

always @(posedge i_clk or posedge i_rst)

begin

     if(i_rst)

  begin

  dat3  <= 24'd0;

  dat3d <= 24'd0;

  end

else begin

     dat3d <= o_error*Ki + dat3; 

  

  if(dat3d[23:22] == 2'b01 | dat3d[23:22] == 2'b11)

  dat3d <= dat3d;

  

     dat3  <= dat3d;

     end

end 

assign o_pd = dat1d  + dat3d;

endmodule

A981

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
  • 没有相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168