PID算法的FPGA实现
来源:华强电子网 作者:------ 时间:2014-07-08 13:52
1.引言
在许多现代化的工业生产如冶金、电力等,实现对温度的精度控制至关重要的,不仅直接影响着产品的质量,而且还关系到生产安全、能源节约等一系列重大经济指标。
PID控制由于其鲁棒性好,可靠性高,在常规的温度控制中应用非常广泛。目前工程的实际应用中,大多数模糊PID控制器都利用单片机软件编程来实现,然而单片机的指令是按顺序执行的,实时性不强,加上软件实现容易受外界的干扰,抗干扰性能力差,对于实时性要求很高和外界干扰比较严重的系统不太适宜。本文选取FPGA(现场可编程门阵列)作为系统的主控制芯片,FPGA所有的信号都是时钟驱动的,对于程序的执行具有并行运算的能力,显著的提高了系统控制的实时性,在FPGA内部硬件实现还可以防止像单片机程序一样,在恶劣的环境条件下发生程序跑飞的问题。尤其是现在FPGA器件有越来越多的参考设计方案以及IP(知识产权)核心库方面的支持。利用FPGA设计的PID控制器一方面可以将实现PID算法的模块单独作为控制模块来使用,直接去实现对控制对象的调节,另一方面,基于FPGA的PID控制算法也可以将其作为系统内的IP核,以便在多路或复杂的系统上直接调用,加快研发设计速度。
2.PID算法分析
2.1 离散PID算法
PID控制系统是一个简单的闭环系统,如图1所示,PID系统框图中,整个系统主要包括比较器、PID控制器和控制对象,其中PID包括三个环节,即比例、积分和微分。
图1 PID系统框图
图1中的r(t)作为系统的给定值,y(t)作为系统的输出值,e(t)是给定值与输出值的偏差,所以系统的偏差可以求得:
e(t)=r(t)-y(t) (1)
u(t)作为控制系统中的中间便量,既是偏差e(t)通过PID控制算法处理后的输出量,又是被控对象的输入量,因此模拟PID控制器的控制规律为:
其中,KP为模拟控制器的比例增益,TI为模拟控制器的积分时间常数,TD为模拟控制器的微分时间常数。
2.2 离散PID算法
为了用微处理器实现PID算法,我们需要将模拟PID离散化,根据采样时刻的偏差来实现PID算法,因此式(3.2)中的微分和积分项两项内容作离散化处理。
假设T为采样周期,则积分项可作如下变换:
采样周期的时间非常短,故微分可以近似的表示为:
将式(3)和式(4)带入式(2)后,可得到离散PID算法为(限于篇幅,推导过程省略):
这个等式被叫做增量式PID控制算法。其中,乘积因子由PID控制参数KP、KI、KD确定:
- •【会议议程】12月19-21日2022(十四届)传感器与MEMS产业化技术国际研讨会(暨成果展)佛山南海瞻云酒店召开2022-12-16
- •FORESEE XP1000 PCIe SSD开启Gen3后时代发展之路2021-08-02
- •FORESEE工规级SSD应用宽温技术,加速智能工业场景落地2021-07-21
- •基于J750EX测试系统的SRAM VDSR32M32测试技术研究2017-09-05
- •Vishay检查表: 采用安规电容防止过载的12点注意事项2017-07-28
- •汽车系统的USB供电2017-06-08
- •适用于 FPGA、GPU 和 ASIC 系统的电源管理2017-05-11
- •一文读懂SPI串行外设接口2017-04-27
- •TLV3501滞回比较器电路设计2017-04-14
- •ZigBee无线呼叫系统硬件电路2017-04-05