基于FPGA的高速PID控制器计划与仿真
发布日期:2011-05-12
在CNC(计算机数控)加工、激光切割、主动化磨辊弧焊体系、步进/伺服电机控制及其他由电机控制的机器组装定位活动控制体系中,PID控制器应用得非常遍及。其计划技能成熟,长期以来形成了典范的布局,参数整定方便,布局变动机动,能餍足一样平常控制的请求。
此类活动控制体系的被控量常为速率、角度等模仿量,被控量与设置值之间的偏差值经分离化处理惩罚后,可由数字PID控制器实现的控制算法加以运算,末了再转换为模仿量反馈给被控东西,这便是PID控制中常用的雷同逼近原理。
采取这种布局计划的控制体系,其性能只能与原连续控制体系性能靠近而不会高出,逼近的精度与被更改的连续数学模型大小及采样周期黑白有关[1]。分外是在高速活动控制的环境下,采样周期的影响更大,采样周期相对较永劫,逼近程度才较好,但是对PID控制算法的运算速率及回路的调理时间等也提出了更高的请求。
可编程逻辑器件
FPGA的逻辑门数为5000~200万个,属于大范围乃至超大范围逻辑器件,其事变频率最高可达250MHz。因此,无论从编程范围照往事变速率上,完全可以用来实现高速PID控制器。本计划利用Altera公司的Cyclone系列
FPGA器件EP1C3作为硬件开辟平台,对活动控制中常用的增量式数字PID控制算法举行优化处理惩罚,进步了运算速率和回路的调理时间。 1 增量式数字PID控制算法的
FPGA实现
经典PID控制方程为:
式中,KP为比例放大系数;K1为得分时间常数;KD为微分时间常数。数字PID控制算法的实现,必须用数值逼近的要领。当采样周期相称短时,用求和代替得分,用差商代替微商,使PID算法分离化,将形貌连续临时间PID算法的微分方程分离化、差分、归并处理惩罚后可得:
从(2)式可以看出,增量式数字PID算法,只要保存近来的三个偏差采样值e(k)、e(k-1)、e(k-2)就充足了。实现此增量式数字PID控制算法的布局图如图1所示。
图1中虚线框以内的布局是三个具有移位成果的乘法器,可以利用Altera公司提供的颠末严格测试和优化处理惩罚的宏成果模块LPM_MULT(M0~M2)实现。LPM_MULT是一个可定制位宽的加法/乘法器,在此,定制偏差输入值e(k)的位宽为8bit,另一常量乘数q0、q1、q2为整定后的PID控制器的控制参数,位宽为6bit,乘法器输出结果位宽为14bit。QuartusII中的原理图如图2所示。
LPM_MULT宏成果模块还可以定制运算结果输出时等待同步脉冲(clock)的个数,这便是LPM_MULT的流水线输出成果。图2中指定lpm_mult0、lpm_multl、:lpm_mult2的等待时间依次为1、2、3个同步脉冲,这种计划天然地实现了移位相乘操纵;同时利用乘法器的流水线成果,进步了乘法运算的速率。优化后的成果仿真波形如图3所示。
由图2、图3可见,在第K个流水线推进时钟信号clk的上跳沿,lpm_mult0输出当前时面前目今目今的乘积运算结果steplout,lpm_multl输出K一1时面前目今目今的乘积结果step2out,lpm_mult2输出K-2时面前目今目今的乘积结果step3out,并行加法运算部件parallel_add的输出值为result=steplout+step2out+step3out。
2 通用模/数、数/模转换器的计划与仿真
为了不失体系的通用性和可扩展性,参照ADI公司8bit、半闪烁型A/D转换器AD7822的时序图,计划了通用A/D转换部件typical_adc实现体系的模/数转换仿真成果。typical_adc部件是一个抱负化的A/D转换芯片,重要由一个8位地点计数器和一个存放正弦数据的ROM构成,它模仿正弦信号的采样、量化进程,采样周期只与体系的事变时钟有关[2]。
相对付模/数转换而言,数/模转换的控制信号要少一些,时序请求更大略。参照TI公司14位D/A转换芯片DAC8806的成果表,计划了一个通用D/A转换部件typical_dac实现体系的数/模转换仿真成果。为了情势化地表现体系的D/A转换进程,typical_dac只是对PID算法的输出量△u(k)做了一个奇偶校验运算,VHDL语言形貌如下:
ARCHITECTURE behav OF typical_dac IS
BEGIN-当转换控制信号wr为低电平常输出各位异或值,不然输出高阻态
uout<=(datain(0)XOR datain(1)XOR datain(2)XOR datain(3)XOR datain(4)XOR datain(5)XORdatain(6) XOR datain(7)X0R datain(8)XOR datain(9):XOR datain(10)XOR datain(11)XOR datain(12)XOR datain (13)XOR`1`)WHEN wr=`0`ELSE`z`;END behav;;
3 事变控制状态机的计划
典范的数字PID控制体系由A/D转换、PID控制算法和D/A转换三个关键关键构成。为了和谐三个关键之间的事变流程,体系事变控制部件必不可少。纯硬件数字体系的次序控制有多种方案可选,如单片机帮助控制、
嵌入式CPU软核控制、脉冲计数控制等等,但都难以分身体系的高速控制和机动扩展。在高速运算和控制方面,有限状态机具有以上几种控制方法难以逾越的良好性。
从状态机的信号输出方法上分,有Moore型和Mealy型两类状态机。从输出时序上看,前者属于同步输出状态机,而后者属于异步输出状态机。Mealy型状态机的输出是当前状态和全部输入信号的函数,它的输出是在输入变革后立即产生的,不依赖于时钟的同步[2]。
Moore型状态机的输出则仅为当前状态的函数,这类状态机在输入产生变革时还必须等待时钟的到来,时钟使状态产生变革时才导致输出的变革,以是比Mealy机密多等待一个时钟周期,但是能有效克制毛刺征象。本计划所用的状态机为单进程Moore型状态机。状态转换如图4所示。
4 体系实现与成果仿真
整个PID控制器的体系计划采取自顶向下的计划要领和模块化的计划头脑,即先由PTD控制器的天然语言形貌得到VHDL的体系举动形貌,然后对体系分析为偏差A/D更改部件、PID运算部件、控制增量D/A更改以及和谐三者的控制状态机等四个重要模块。
Altera公司专用EDA软件QuartusII支持原理图与VHDL语言殽杂输入计划方法,除PID运算部件采取原理图输入计划方法以外,别的三个部件均采取VHDL输入计划方法。体系仿真时,要是将体系的最高事变速率设置为120MHz,则采样速率为24MHz。成果仿真波形图如图5所示。
通过对增量式数字PID控制算法的优化处理惩罚,明显进步了体系的事变速率。仿真结果表明,拥有较低转换速率的A/D更改技能成为进步体系运行速率的瓶颈。就本计划采取的闪烁型A/D器件而言,淘汰状态机等待A/D转换结束信号EOC(见图4)的时间,即进步A/D转换的速率是进步体系团体事变速率的关键。
本计划中所采取的增量式数字PID控制算法的计划头脑可以应用到有限长单位脉冲相应(FIR)滤波器和无穷长单位脉冲相应(ⅡR)滤波器的
FPGA计划中,并且同样可以利用流水线优化技能以进步事变速率。同时,由于PLD计划和专用ASIC计划的通用性,在PLD计划平台上所完成的计划可以很天然地过渡到专用ASIC的计划事变中,进一步进步了体系的可靠性和集成度。