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确认:
3.PID算法的FPGA完结
由公式(5)知,增量式PID操控算法的详细完结进程为:先经过差错核算模块求出差错值e(k)、e(k-1)、e(k-2),再经过乘积模块求出三个信号别离与乘积因子的相乘,最终对乘积项求和得到最终的操控量。图2所示为增量式PID算法结构图。
3.1 差错核算模块
差错核算模块的意图是为了求出三次相邻的差错采样值,即公式(3.8)中说到的e(k)、e(k-1)、e(k-2),输入的给定值r(t)与实践输出值y(t)相减得到差错值。Verilog HDL程序代码如下,其间,ek0、ek1、ek2、rt、yt别离对应差错值e(k)、e(k-1)、e(k-2)、r(t)、y(t)。
将上述程序在Quartus II软件环境里完结编译后,其仿真成果如图3所示。
图2 增量式PID算法结构图
图3 差错模块仿真图
3.2 乘积和求和模块
经过差错核算模块求出e(k)、e(k-1)、e(k-2)后,由公式(5)知,要核算出操控量还有必要将其别离与乘积因子做乘法运算,经过硬件描绘言语来完结乘法运算的功用:
依照上述程序,在Quartus II完结编译后,其仿真成果如图4所示。
图4 乘法器仿真图
现在可核算出α0e(k)、α1e(k-1)、α2e(k-2)三个乘积项的核算成果,将上面三个乘积项求和就能够得出操控量△u(k)。程序代码如下所示,其间输入val0[15..0]、val1[15..0]、val2[15..0] 别离对应α0e(k)、α1e(k-1) 、α2e(k-2)乘积的成果,输出val[15..0]便是操控量△u(k)的值。
依照上述程序,在Quartus II完结编译后,其仿真成果如图5所示。
图5 PID求和模块仿真波形图
3.3 温度检测及输出操控电路规划
本文用到的温度丈量器材是K型热电偶,温度丈量规模为0~1200℃。热电偶输出的是模仿电压信号,有必要进行A/D转化,一起还需对热电偶进行冷端补偿和非线形校对。为了处理上面的问题,本文选用的是K型热电偶专用数字转化器MAX6675芯片,MAX6675芯片内部集成了热电偶放大器,内置高达12位的模数转化器。还包含了非线性纠正、冷端补偿、断线检测等功用模块。MAX6675的作业温度规模为-20~85℃,温度的丈量规模为0~1024℃,温度分辨率能够到达0.25℃。假定D为A/D转化后得到的数字量对应的十进制数值,那么丈量温度值T能够经过如下公式算出:
输出操控电路选用的是PWM(脉宽调制)方法,完结对电阻炉的温度操控。光耦芯片选用MOC3061,用于对强弱电路的阻隔,双导游通可控硅选用的是BT137_600E。假如占空比越高,那么相对可控硅导通的时刻也就越长,电阻炉加热温度也就越高,反之温度也就会渐渐散热下降,然后到达操控炉温的意图。
4.结语
本文剖析了PID算法,给出了在FPGA内部硬件完结增量式PID操控的首要规划思路。在电阻炉为操控目标的温控体系中,体系作业安稳,在整个进程没有呈现震动和较大动摇,而且温度操控精度在一直保持在5%以内;体系的抗搅扰才能增强,对现场的各种噪声和搅扰具有较好的抑制作用。