本文在常规PID基础上,以温度反馈值与目标值的误差e和误差变化率ec作为输入,一方面送入模糊控制器用模糊推理的方法计算PID参数的调整系数,进行在线自整定,以满足不同e和ec对控制器参数的不同要求。
温度控制的软件设计主要包含3个部分:系统的初始化,模糊PID的计算,驱动电路的控制。其控制流程如图4所示。
其中系统初始化包含STM32系统时钟的初始化,I/O口的初始化,数字温度传感器DS18B20的初始化,显示模块的初始化等。模糊PID的计算是 e(k)和ec(k)的值输入到模糊控制规则表然后去模糊化算出Kp、Ki、Kd的当前值。PID控制输出的控制量是STM32定时器的计数值以控制 PWM输出的占空比,PWM输出连接到帕尔贴驱动器的使能引脚控制电流的输出的通断,从而控制帕尔贴的发热量。
3.2 模糊划分及模糊化
设温度偏差e的基本论域为[-30℃,+30℃],温度偏差变化率ec的基本论域为[-12,+12],输出u的基本论域为 [-0.4,+0.4],e、ec和u的语言变量E、EC和U,均划分为7个变量等级(NB,NM,NS,Z,PS,PM,PB),各个变量的模糊论域范围为:
{E)={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};
{Ec}={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};
{U}={-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7}。
对于模糊控制器而言,温度偏差及其变化率都是精确输入量,为了对确定的精确量进行模糊化,必须把它们转换成模糊集合的隶属函数。由于三角形函数计算较简单、性能较好,输入/输出变量的隶属度函数都采用三角形分布。
3.3 模糊控制规则
确定模糊控制规则的原则必须是系统输出响应的动、静态特性达到最佳。当误差大或较大时,选择控制量以尽快消除误差为主;而当误差较小时,选择控制量要注意防止超调,以系统的稳定性为主要出发点。
本研究根据实际运行经验进行了试验、分析、归纳,并得出一系列控制规则为:
3.4 simulink的仿真对比
采用模糊自适应PID控制与常规PID控制作对比,体现出模糊自适应在温度控制方面的优越性。帕尔贴加热散热片可以看成是一个具有时滞特性的一阶惯性环节,其传递函数为:
其中k取4,τ取500,延时部分在simulink中串联一个Transport Delay模块,延时时间取3 s。
如图5,上半部分为模糊自适应PID控制,输入的信号通过迷糊控制器算出Kp、Ki、Kd的修正值,然后加上Kp、Ki、Kd的经验值来对传递函数起作用。下面半部分就为普通的PID控制。通过虚拟的示波器观察两种控制方法的控制效果。
红色曲线为普通PID控制的输出曲线,黄色曲线为模糊自适应PID控制的输出曲线,通过对比可以发现,传统的PID控制存在严重的超调,并在预期值上下震荡,调整时间长。模糊自适应PID控制很好的解决了这个问题,以最快的时间最小的超调达到系统稳定。
4 结束语
本次实验采用了常用的直流电机驱动器通过适当调整电路运用到半导体制冷器件上,电路简单成本也较低。软件设计上运用PID模糊控制有效的解决了温度控制的惯性和延迟问题,实验基于STM32控制器充分利用其固件库函数大大减少了开发周期,提高了效率。此系统可以运用在医疗设备、家用小电器等一些用到温度控制的场合中,具有一定代表性。