《PID温度控制算法》由会员分享,可在线阅读,更多相关《PID温度控制算法(20页珍藏版)》请在金锄头文库上搜索。
1、温度控制算法的软件温度控制算法的软件实现实现问题?问题?1. 怎样评价温度控制系统控制效果的优劣?怎样评价温度控制系统控制效果的优劣?2. 什么是什么是PID控制算法?什么是数字式控制算法?什么是数字式PID控制算法控制算法?3. 什么是积分饱和现象?怎样避免积分饱和现象什么是积分饱和现象?怎样避免积分饱和现象?4. 怎样用怎样用C语言编写语言编写PID控制程序?控制程序?5. 怎样在怎样在PSOC上实现上实现PID控制温度?控制温度?6.怎样测试怎样测试PID控制器是否正常工作?控制器是否正常工作?问题一:问题一:怎样评价温度控制系统控制怎样评价温度控制系统控制效果的优劣?效果的优劣?能够快
2、速稳定准确的实现控制能够快速稳定准确的实现控制能够将温度偏差值控制在一个较小的范围内能够将温度偏差值控制在一个较小的范围内具有较强抵抗干扰的能力具有较强抵抗干扰的能力控制超调量不能过大控制超调量不能过大问题二:问题二:什么是什么是PID控制算法?控制算法?什么是数字什么是数字 式式PID控制算法控制算法?PID控制算法:控制算法:PID控制器是一种线性控制器,它将控制器是一种线性控制器,它将给定值与实际输出值的偏差给定值与实际输出值的偏差 的比的比例、积分和微分进行线性组合,形成例、积分和微分进行线性组合,形成控制量控制量 输出,如图下图所示。输出,如图下图所示。 PID控制器方框图控制器方框
3、图问题二:问题二:什么是什么是PID控制算法?什么控制算法?什么是数字式是数字式PID控控制算法制算法?模拟控制算法:用于模拟控制系统模拟控制算法:用于模拟控制系统被测参数由传感器变化成统一的标准信号后输入调节器,在被测参数由传感器变化成统一的标准信号后输入调节器,在调节器中与给定值进行比较,再把比较后的差值经运算后调节器中与给定值进行比较,再把比较后的差值经运算后送到执行机构,改变进给量,以达到自动调节的目的。送到执行机构,改变进给量,以达到自动调节的目的。数字控制算法:用于数字控制系统数字控制算法:用于数字控制系统先把过程参数进行采样,并通过模拟量输入通道将模拟量变先把过程参数进行采样,并
4、通过模拟量输入通道将模拟量变成数字量,这些数字量通过计算机按一定控制算法进行运算处理,成数字量,这些数字量通过计算机按一定控制算法进行运算处理,运算结果经转换成模拟量后,由模拟量输出通道输出,并运算结果经转换成模拟量后,由模拟量输出通道输出,并通过执行机构去控制生产,以此达到给定值。通过执行机构去控制生产,以此达到给定值。问题三:问题三:什么是积分饱和现象?怎样什么是积分饱和现象?怎样避免积分饱和避免积分饱和 现象现象? 在在实实际际的的控控制制系系统统中中,控控制制量量实实际际输输出出值值往往往往受受到到执执行行机机构构性性能能的的限限制制,而而被被限限制制在在一一定定的的范范围围内内,即即
5、 , 其其变化化也也局局限在一定的范限在一定的范围,即,即 。如如果果控控制制量量在在上上述述范范围内内,那那么么控控制制可可以以达达到到预期期效效果果;一一旦旦超超出出上上述述范范围,则实际执行行机机构构的的控控制制量量就就不不再再是是计算算值。这相相当当于于在在系系统中中串串联了了一一个个饱和和非非线性性环节,因因此此,将将引起不期望的效引起不期望的效应,即,即饱和效和效应。问题三:问题三:什么是积分饱和现象?怎样什么是积分饱和现象?怎样避免积分饱和避免积分饱和 现象现象?防止调节器积分饱和的措施防止调节器积分饱和的措施一:一:积分分离法积分分离法 积分分离的基本思路是:当被调积分分离的基
6、本思路是:当被调量与设定值量与设定值偏差较大偏差较大时,取消积分作时,取消积分作用,以免由于积分作用使系统稳定性用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给降低,超调量增大;当被控量接近给定值时,引入积分控制,以便定值时,引入积分控制,以便消除静消除静差,提高控制精度。差,提高控制精度。问题三:问题三:什么是积分饱和现象?怎样什么是积分饱和现象?怎样避免积分饱和避免积分饱和现象?现象?防止调节器积分饱和的措施防止调节器积分饱和的措施二:二:遇限削弱积分控制算法遇限削弱积分控制算法 当控制进入饱和区以后,便不再进行积分项的累加,当控制进入饱和区以后,便不再进行积分项的累加,而
7、只执行削弱积分的运算。因而,在计算而只执行削弱积分的运算。因而,在计算()()时,先判时,先判断断()()是否已超出限制值。若是否已超出限制值。若()(),则只,则只累加负偏差;若累加负偏差;若()(),则累加正偏差。采用,则累加正偏差。采用遇限削弱积分控制算法后,遇限削弱积分控制算法后,可以避免控制量长时可以避免控制量长时间停留在饱和区间停留在饱和区。问题三:问题三:什么是积分饱和现象?怎样什么是积分饱和现象?怎样避免积分饱和避免积分饱和 现象现象?防止调节器积分饱和的措施防止调节器积分饱和的措施三:三:有效偏差法有效偏差法 当根据位置算法算出的控制量超出当根据位置算法算出的控制量超出限制范
8、围时,控制量实际上只能取限制范围时,控制量实际上只能取边界值边界值,即,即或,有效偏差法是或,有效偏差法是将相应的这一控制量的偏差值作为将相应的这一控制量的偏差值作为有效偏差值有效偏差值计入积分累计而不是将实际偏差计入积分累计计入积分累计而不是将实际偏差计入积分累计。因为按实际偏差值计算出的控制量并未实行。因为按实际偏差值计算出的控制量并未实行。问题四:问题四:怎样用怎样用C语言编写语言编写PID控制程序控制程序? 通过采样将模拟信号转变为数字信号,并与目通过采样将模拟信号转变为数字信号,并与目标设置值进行比较分析。同时将二者的偏差通过算标设置值进行比较分析。同时将二者的偏差通过算法输出,进行
9、反馈调节。整个过程不断循环,从而法输出,进行反馈调节。整个过程不断循环,从而使得控制的对象保持一个较为恒定的值。使得控制的对象保持一个较为恒定的值。 从而将模拟量转变为计算机可以操作的数字信从而将模拟量转变为计算机可以操作的数字信号,则可采用号,则可采用C语言控制整个循环过程。语言控制整个循环过程。问题四:问题四:怎样用怎样用C语言编写语言编写PID控制程序控制程序?问题四:问题四:怎样用怎样用C语言编写语言编写PID控制程序控制程序?问题五:问题五:怎样在怎样在PSOC上实现上实现PID控制控制温度?温度?在中断程序中定义的临时变量:float de,y0;static float Ie=0
10、,de1=0;static uint8 PID_Count=0;在主程序外定义的常变量:#define Kp12.19/PID控制参数#define Ki0.3#define Kd 109.7#define Integral_Boundary 11.0/有限积分边界uint8 PWM_Output;问题五:问题五:怎样在怎样在PSOC上实现上实现PID控制控制温度?温度?PID_Count+;if(PID_Count100)PID_Count=0;de=Target_Temp-Current_Temp;/求温度误差eif(de-Integral_Boundary)/如果处于有限积分边界之内Ie=Ie+Ki*de;/求误差的积分elseIe=0;/在边界外时积分清零y0=Kp*de+Ie+Kd*(de-de1)+128;/求输出if(y0255) y0=255;if(y099) /记录数据的数量RecorderPt=0;RecC=0;问题六:问题六:怎样测试怎样测试PID控制器是否正常控制器是否正常工作工作 谢谢!