EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一些医疗检测仪器在检测时需要模拟人体温度环境以确保检测的精确性,本文以STM32为主控制器,电机驱动芯片DRV8834 为驱动器,驱动半导体致冷器(帕尔贴)给散热片加热或者制冷。但由于常规的温度控制存在惯性温度误差的问题,无法兼顾高精度和高速性的严格要求,所以采用模糊自适应PID控制方法在线实时调整PID参数,计算PID参数Kp、Ki、Kd调整控制脉冲来控制驱动器的使能。从simulink仿真的和实验结果来看模糊PID控制系统精度高、响应速度快,能达到预期效果。! k! _3 t" k7 v
% E& o; \5 g& N4 |- o+ b温度参数是工业生产中常用的被控对象之一,在化工生产、冶金工业、电力工程和食品加工等领域广泛应用,在医疗检测设备中时常需要模拟人体温度进行成分检测。采用直流电机驱动芯片DRV8834驱动帕尔贴的制冷和加热过程。温度随时间的变化率和变化的方向不确定且可能大幅度的变化,要求系统的实际温度快速和精确地跟踪设定温度以满足加工工艺的要求。时间程序温度控制系统具有强烈的非线性、强耦合、大时滞和时变等特点,传统PID控制虽然算法简单易于实现且调整时间较快、精度较高,但是抗干扰能力不强,容易产生振荡;模糊PID不需要精确的数学模型,能较好的处理时变、非线性、滞后等问题,有很好的鲁棒性,响应速度快。
) Q: R! _" ]$ \9 _+ L! V+ d
4 j8 S) w/ x& [6 e/ ]$ t1 过程分析及常规控制方法
! Z+ s; T0 H) I& e
0 t- A+ Y4 |2 V) D; L7 \4 p恒温控制系统具有制冷、加热等功能,箱体内的温度传感器DS18B20通过不断地检测温度,与设置的很定温度作比较,当室内温度低于设置温度值时,加热模块工作,使DRV 8834输出正向直流,驱动帕尔贴元器件,使其加热;当温度高于设置温度值时,使DRV8834输出反向直流,驱动帕尔贴元器件,使其工作在制冷功能。使室内温度在设定值范围内震荡,最终趋向于稳定。同时,控制系统将协调控制制冷和加热系统,以达到箱温波动值最小、高精度控温的目标。所以温度控制成为恒温控制系统的核心问题。
& u6 V% L0 k- [5 R' m; d) X8 Q O, ?: g" x
2 模糊PID温度控制系统的硬件电路设计 o; _, a- j C: _1 H) d
, {& x5 V! c3 a1 n! E, \
如图1,系统主要包括以下几个部分: file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps392B.tmp.png1)数字温度传感器:DS18B20是一种“一线总线”接口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器,实现温度的采集。' w5 f" n- w4 P& B) }) m
$ L# w4 y- t# R' U, O* N3 b
2)控制器:采用STM32模块和存储器构成,以其丰富的外部资源和高达72 MHz的主频完成大量的PID运算。' \! c; E. u* I. v+ c! V. F
. [1 a' ^4 ~7 B$ w3)加热模块:采用驱动芯片DRV8834,是一款双路桥式步进器或者直流电机驱动器。由于加热器帕尔贴是由直流控制发热或者制冷,所以用DRV8834用作直流电机驱动器来驱动帕尔贴。4 y7 J$ b* v9 l, ~
0 Z2 {0 ~' y5 y* m, N9 l; ^8 CDRV8834能够驱动两个直流电机或者一个步进电机,每个H桥的电流输出为1.5 A,2.2 A峰值电流,所以用1.5 A电流驱动帕尔贴加热元器件。该器件提供了带有一个故障输出引脚的内部关断功能,此功能用于过流保护、短路保护、欠压闭锁和过热。另外,还提供了一种低功耗睡眠模式以节约电能和增加元器件使用寿命。file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps393C.tmp.png如图2,nSLEEP引脚控制驱动芯片的睡眠模式,低电平进入睡眠模式,由STM32的I/O控制;AOUT1和AOUT2为桥A的两个输出端,(这里接帕尔贴的两个输入端),并且在AOUT端串联一个0.1欧姆的电阻和1uH的电感来模拟直流电机负载;VREFO为参考电压的输出;AVREF和 BVREF通过滑动变阻器改变输入的电压,结合AISEN端的电阻设置斩波电流的输出,斩波电流计算公式:file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps393D.tmp.jpgAENABL引脚是DRV8834芯片的使能芯片;DIR引脚控制桥电流的输出方向,这里可以控制帕尔贴的加热或制冷;nFAULT引脚在芯片正常工作时输出高电平,当输出低电平时表示芯片过温、过流或者欠压以指示芯片的工作状态;VM输入5 V电压供电。, ^& M( x+ [6 C( r
3 模糊PID温度控制系统的软件设计7 a. O# x9 D8 p
3. 1 模糊控制基本原理
/ l# U1 A8 c7 T E/ N0 ^( d) h$ R模糊控制是以模糊集合理论、模糊语言及模糊逻辑为基础的控制,它是模糊数学在控制系统中的应用,是一种非线性智能控制。file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps394D.tmp.png本文在常规PID基础上,以温度反馈值与目标值的误差e和误差变化率ec作为输入,一方面送入模糊控制器用模糊推理的方法计算PID参数的调整系数,进行在线自整定,以满足不同e和ec对控制器参数的不同要求。$ ^- J. P/ B: {0 U
+ N. ?2 b7 ], x" Q' [. C温度控制的软件设计主要包含3个部分:系统的初始化,模糊PID的计算,驱动电路的控制。其控制流程如图4所示。file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps394E.tmp.png其中系统初始化包含STM32系统时钟的初始化,I/O口的初始化,数字温度传感器DS18B20的初始化,显示模块的初始化等。模糊PID的计算是 e(k)和ec(k)的值输入到模糊控制规则表然后去模糊化算出Kp、Ki、Kd的当前值。PID控制输出的控制量是STM32定时器的计数值以控制 PWM输出的占空比,PWM输出连接到帕尔贴驱动器的使能引脚控制电流的输出的通断,从而控制帕尔贴的发热量。8 _, D% { J# B( e7 H0 _9 p
3.2 模糊划分及模糊化
' ~4 {6 s8 h+ r5 p, |8 e设温度偏差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),各个变量的模糊论域范围为:+ p: O; B U$ J% D# {" Y
3 F/ U$ u# ?; I3 X/ ^ L1 T3 Z{E)={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};; P3 b) {$ M# j6 V. Y
( z- b7 j! T; R; i+ v3 D- \{Ec}={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};+ z% p* v; C1 \ N& _, [
0 A) C# S1 f/ O& X6 }
{U}={-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7}。
& B: ^# m+ T+ V7 D6 I6 X$ M9 g; k
/ J. o4 g. |0 p$ _ I* g8 z& j对于模糊控制器而言,温度偏差及其变化率都是精确输入量,为了对确定的精确量进行模糊化,必须把它们转换成模糊集合的隶属函数。由于三角形函数计算较简单、性能较好,输入/输出变量的隶属度函数都采用三角形分布。
+ V* z9 f0 n+ L M, ]% v3.3 模糊控制规则+ a# Z- S% v( J$ u
确定模糊控制规则的原则必须是系统输出响应的动、静态特性达到最佳。当误差大或较大时,选择控制量以尽快消除误差为主;而当误差较小时,选择控制量要注意防止超调,以系统的稳定性为主要出发点。. b2 ~9 _8 i" B7 ^& V4 g
' k m, X v1 h4 N9 p* w8 l% m8 F
本研究根据实际运行经验进行了试验、分析、归纳,并得出一系列控制规则为:file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps395F.tmp.png3.4 simulink的仿真对比/ f' ^; r, Z4 ?& Q2 e* `
6 c! t. i2 A) t$ Q/ N
采用模糊自适应PID控制与常规PID控制作对比,体现出模糊自适应在温度控制方面的优越性。帕尔贴加热散热片可以看成是一个具有时滞特性的一阶惯性环节,其传递函数为:file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps3960.tmp.jpg其中k取4,τ取500,延时部分在simulink中串联一个Transport Delay模块,延时时间取3 s。
, a! H# y6 W: _& C$ w' j8 z- q. \
( s5 C" }8 L& J' I- `& e如图5,上半部分为模糊自适应PID控制,输入的信号通过迷糊控制器算出Kp、Ki、Kd的修正值,然后加上Kp、Ki、Kd的经验值来对传递函数起作用。下面半部分就为普通的PID控制。通过虚拟的示波器观察两种控制方法的控制效果。file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps3970.tmp.png红色曲线为普通PID控制的输出曲线,黄色曲线为模糊自适应PID控制的输出曲线,通过对比可以发现,传统的PID控制存在严重的超调,并在预期值上下震荡,调整时间长。模糊自适应PID控制很好的解决了这个问题,以最快的时间最小的超调达到系统稳定。2 e' i s' g+ l) X0 ?8 Y
" y( }- G4 p/ Q- ]& t4 结束语; M, ^* f# T( C r& o0 X5 v! Y/ p
( j @3 B. {3 I% F Y本次实验采用了常用的直流电机驱动器通过适当调整电路运用到半导体制冷器件上,电路简单成本也较低。软件设计上运用PID模糊控制有效的解决了温度控制的惯性和延迟问题,实验基于STM32控制器充分利用其固件库函数大大减少了开发周期,提高了效率。此系统可以运用在医疗设备、家用小电器等一些用到温度控制的场合中,具有一定代表性。 0 e1 {3 c3 `# g! g) ] c, L
|