APP下载

基于FPGA的增量式PID算法的设计与改进

2017-11-01孙天澳李旭升王云亮

电子测试 2017年19期
关键词:控制精度输入量控制算法

张 伟,张 建,高 岩,孙天澳,李旭升,王云亮

(丹东东方测控技术股份有限公司,辽宁丹东,118000)

基于FPGA的增量式PID算法的设计与改进

张 伟,张 建,高 岩,孙天澳,李旭升,王云亮

(丹东东方测控技术股份有限公司,辽宁丹东,118000)

本文介绍了一种基于FPGA的用Veilog HDL语言设计的增量式PID控制器的设计方法,并为了提高控制精度,消除精差,减少由于短时间内系统输出余量过大造成的偏差而引起系统较大的振荡,因此增加了积分分离控制算法,从而进一步提高了PID控制算法的稳定性和控制精度。

FPGA;增量式;PID;积分分离

0 引言

数字PID控制算法是在过程控制中普遍采用的控制方法,具有灵活可控的特点。但是由于在实际工业生产过程中往往存在非线性,时变不确定,波动大,稳定时间不确定等因素,使用常规的PID控制器不能达到理想的控制效果。本文采用FPGA软件设计,实现改进型增量式PID算法,成功应用于工业在线检测仪表探测器的稳峰电路中,降低了控制过程中的调整波动,提高了电压调整的稳定性和可控性。

1 增量式PID算法原理

PID控制器是一种线性控制器,其控制规律如下所示:

增量式PID控制算法如下:

式中:kp--比例系数;ki--积分系数;kd—微分系数;Δu(k)—第K次采样时刻的输出控制量增量;error(k)—第K次采样时刻的输入偏差量。

由上式可知,增量式PID控制算法增量仅与最近K次的采样有关,所以误动作影响小,而且较容易通过加权处理获得比较好的控制效果。

1.1 积分分离控制原理

积分分离的控制原理是:当输入偏差(即输入量与设定值)较大时,取消积分系数,避免超调量过大引起系统的稳定性降低;因此,设置积分分离线,当输入偏差接近积分分离时,引入积分控制调整,以便消除静差,提高控制精度。如下对增量式PID公式引入积分分离线:

(1)根据探测器稳峰阈值输入积分分离线:ε>0;

(2)当|error(k)|>ε时,采用PID控制,以保证系统的控制精度;

(3)当|error(k)|≤ε时,采用PD控制,可避免产生过大的超调,使系统有较快的响应;引入积分分离后,增量式PID算法可表示为:

2 FPGA设计实现方法

(1)由于增量式PID运算过程中,描述输入偏差量的表达式e(k)为绝对值,因此引入增减模式控制信号mode[1:0],其变量用于表达e(k)的差值符号,用于控制PID过程变量传递参数时是递增预算还是递减运算。

(2)区别与基于C语言设计的ARM,单片机等过程设计,使用Verilog HDL语言的FPGA设计属于硬件描述语言,所有进程模块为并行结构,而且在PID运算实现的设计中存在过程变量传递参数,因此不能使用非阻塞式赋值,应当在进程模块中实现异步赋值。

(3)增加过程变量输出变量u(k),u(k-1),u(k-2),用于对比增量变化,实现积分分离控制。

图1 增量式PID算法软件流程图

3 软件算法设计验证[1]

(1)通过Modelsim软件对FPGA实现的增量式PID软件改进算法进行仿真,设置激励参数。

(2)设置PID参数,其中比例系数Kp = 10;积分系数Ki = 5;微分系数Kd = 30;积分分离线偏差值initegral_value = 10。

(3)设置输入变差datain,并逐次递减。

(4)分别设置增减模式控制mode。

(5)e0,e1,e2为过程参数,用于计算积分分离线;u0,u1,u2为输出过程参数;du为增量。

如图2所示为增量式PID算法mode = 1递减模式时Modelsim仿真图[2]。

图2 增量式PID软件算法递增方式仿真图

如图3所示为增量式PID算法mode = 2递增模式时Modelsim仿真图。

图3 增量式PID软件算法递减方式仿真图

通过图2,图3中所示,增量式PID算法,其增减变化只于增量有关,减少了由于过程量变化引起的波动,避免了由静差变化引起的过程参数的不稳定性变化,而且加入了积分分离线,减少了系统趋于稳定区间过程中不必要的余量,造成控制的不稳定性。

4 增量式PID改进控制算法在产品中的应用

本文作者根据上述设计原理以及软件结构的基础上,采用Altera公司FPGA,Cyclone E系列芯片EP4CE22上得以验证和实现。本设计应用于氦3探测器稳峰电路中,通过两路通道计数的采集,确定输入量偏差,针对输入量偏差进行PID运算得到16位输出量u0,再将16位输入量u0直接通过spi接口接入单通道16位精度DAC中,输出0到5V的控制电压,再通过控制电压控制氦3探测器高压电路,从而调整探测器两路计数,使得两路计数的输入量偏差趋于零。

图4 增量式PID改进控制算法在产品中的应用

5 结束语

在工业过程控制应用中,PID控制由于其简单,高效,适用性强等优点,在工业领域中得到了广泛的应用,而在硬件系统中嵌入PID运算,尤其是FPGA硬件嵌入式设计由于Verilog HDL硬件描述语言稳定性更高,更满足数字控制电路对数据处理的吞吐量和高速I/O的要求,并减少了由于线路,工业环境,电磁干扰等因素引起的不稳定性而导致故障,造成损失,保证的检测仪表的稳定性要求,

[1]SanirPalnitkar.Verilog数字设计与综合.第二版[M],夏宇闻译,电子工业出版社,2009.

[2]刘金琨.先进PID控制以及器MATLAB仿真[M],电子工业出版社,2003.

A design and improvement of the incremental PID algorithm based on FPGA

Zhang Wei,Zhang Jian,Gao Yan,Sun TianAo,Li XuShen,Wang YunLiang
(LiaoNingDanDong.DongFangCeKong,Dandong Liaoning,118000)

This paper introduces a FPGA based design method of using Veilog HDL language to design the incremental PID controller. In order to improve the control precision, eliminate the steady-state error,and reduce the large system oscillation caused by deviation due to the large allowance of system output within a short time, this design uses the integral separation control algorithm, which can improve the stability and control precision of the PID control algorithm.

FPGA;Incremental;PID;Integral separation

辽宁省“百千万人才工程”资助项目(辽百千万立项【2015】9号)。

张伟(1980 - ),男,本科,学士,丹东东方测控技术股份有限公司副总工程师,教授研究员级高级工程师,主要从事同位素在线检测仪表的研发工作。

猜你喜欢

控制精度输入量控制算法
电流互感器测量结果不确定度评定
基于集成检定法的重力式自动装料衡器测量结果的不确定度评定
输入量与尿量比在深Ⅱ度烧伤患者休克预防性补液中的应用分析
MW级太空发电站微波能量波束指向控制精度分析
基于ARM+FPGA的模块化同步控制算法研究
基于安卓的智能车转速系统的设计与实现
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
欧瑞传动SD10系列伺服系统在无缝针织内衣机上的应用解决方案
一种非圆旋转工件支撑装置控制算法
DI材横向厚差自动控制算法及其应用