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

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

1.算法仿真效果
这个是PI控制器,非PID控制器。

vivado2019.2仿真结果如下:
image.png

2.算法涉及理论知识概要
PID控制器(比例-积分-微分控制器),由比例单元 P、积分单元 I 和微分单元 D 组成。通过Kp, Ki和Kd三个参数的设定。PID控制器主要适用于基本线性和动态特性不随时间变化的系统。
f540748e9ca0ef0a93711c1db8bde046_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    PID 控制器的方块图PID 控制器是一个在工业控制应用中常见的反馈回路部件。这个控制器把收集到的数据和一个参考值进行比较,然后把这个差别用于计算新的输入值,这个新的输入值的目的是可以让系统的数据达到或者保持在参考值。和其他简单的控制运算不同,PID控制器可以根据历史数据和差别的出现率来调整输入值,这样可以使系统更加准确,更加稳定。可以通过数学的方法证明,在其他控制方法导致系统有稳定误差或过程反复的情况下,一个PID反馈回路却可以保持系统的稳定。 

   具有比例-积分-微分控制规律的控制器,称PID控制器。这种组合具有三种基本规律各自的特点,其运动方程为:

bf3e6bad2d7eb09b6b63cad9a3bab0c2_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

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

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

   最常用的自适应控制算法有:最小方差自适应PID控制、极点配置自适应PID控制和零极点对消的自适应PID控制。
   最小方差自适应PID控制的基本思想是:在每个采样周期,以系统偏差的最小方差极小化为性能指标进行系统品质评价,通过引入在线辨识的最小二乘算法估计未知过程参数,依此来计算各采样时刻的自适应PID控制量u(t)。
  极点配置自适应PID控制的基本思想是:按照某种优化策略选择期望闭环极点分布,在每个采样周期,通过加权递推最小二乘法显式地估计过程参数,并结合PID控制规律,求得含未知参数q0、q1和q2的系统闭环方程,然后利用系统特征多项式与期望特征多项式的恒等关系即可在线求得PID控制参数,进而求得各时刻控制器输出u(t)。
   零极点对消自适应PID控制的基本思想是:当被控过程参数未知时,在每个采样周期,利用加权递推最小二乘算法显式地辨识过程模型,在以PID控制器传递函数中的零极点对消被控过程传递函数中的部分极零点,由此计算出各时刻的PID控制量,以使得闭环系统运行于良好的工作过程。

3.Verilog核心程序
```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_errorKp;
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
```

相关文章
|
安全 JavaScript 前端开发
AppSpider 7.5.020 发布 - Web 应用程序安全测试
AppSpider 7.5.020 for Windows - Web 应用程序安全测试
204 0
|
8月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
330 4
|
12月前
|
监控 安全 测试技术
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
320 14
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
|
安全 测试技术 Linux
Acunetix v25.4 发布 - Web 应用程序安全测试
Acunetix v25.4 (Linux, Windows) - Web 应用程序安全测试
408 3
Acunetix v25.4 发布 - Web 应用程序安全测试
|
12月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
235 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
机器学习/深度学习 算法 数据安全/隐私保护
基于FPGA的SNN脉冲神经网络之LIF神经元verilog实现,包含testbench
本项目展示了 LIF(Leaky Integrate-and-Fire)神经元算法的实现与应用,含无水印运行效果预览。基于 Vivado2019.2 开发,完整代码配有中文注释及操作视频。LIF 模型模拟生物神经元特性,通过积分输入信号并判断膜电位是否达阈值产生脉冲,相较于 Hodgkin-Huxley 模型更简化,适合大规模神经网络模拟。核心程序片段示例,助您快速上手。
|
算法 数据安全/隐私保护 异构计算
基于FPGA的2ASK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
本内容展示了基于Vivado2019.2的算法仿真效果,包括设置不同信噪比(SNR=8db和20db)下的结果及整体波形。同时,详细介绍了2ASK调制解调技术的原理与实现,即通过改变载波振幅传输二进制信号,并提供数学公式支持。此外,还涉及帧同步理论,用于确定数据帧起始位置。最后,给出了Verilog核心程序代码,实现了2ASK解调与帧同步功能,结合DDS模块生成载波信号,完成信号处理流程。
278 0
|
算法 数据安全/隐私保护 异构计算
基于FPGA的变步长LMS自适应滤波器verilog实现,包括testbench
### 自适应滤波器仿真与实现简介 本项目基于Vivado2022a实现了变步长LMS自适应滤波器的FPGA设计。通过动态调整步长因子,该滤波器在收敛速度和稳态误差之间取得良好平衡,适用于信道均衡、噪声消除等信号处理应用。Verilog代码展示了关键模块如延迟单元和LMS更新逻辑。仿真结果验证了算法的有效性,具体操作可参考配套视频。
593 74
|
算法 数据安全/隐私保护 异构计算
基于FPGA的16QAM调制+软解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本项目基于FPGA实现了16QAM基带通信系统,包括调制、信道仿真、解调及误码率统计模块。通过Vivado2019.2仿真,设置不同SNR(如8dB、12dB),验证了软解调相较于传统16QAM系统的优越性,误码率显著降低。系统采用Verilog语言编写,详细介绍了16QAM软解调的原理及实现步骤,适用于高性能数据传输场景。
714 69
|
算法 数据安全/隐私保护 异构计算
基于LSB最低有效位的音频水印嵌入提取算法FPGA实现,包含testbench和MATLAB对比
本项目展示了一种基于FPGA的音频水印算法,采用LSB(最低有效位)技术实现版权保护与数据追踪功能。使用Vivado2019.2和Matlab2022a开发,完整代码含中文注释及操作视频。算法通过修改音频采样点的最低有效位嵌入水印,人耳难以察觉变化。然而,面对滤波或压缩等攻击时,水印提取可能受影响。该项目运行效果无水印干扰,适合实时应用场景,核心逻辑简单高效,时间复杂度低。

热门文章

最新文章