本文主要以MSP430F149单片机为系统的核心部件,采用模糊控制算法来设计实现温控仪的,该温控仪温度控制范围为常温0~100℃,设定温度值与测量温度值实时显示,控制精度可达±0.5℃。该系统采用恒流供电,电路较简单,成本低,温度控制精度高,可以广泛应用于需要进行恒温控制的生产和生活中。
引言
温度控制对于工业和日常生活等领域都具有广阔的应用前景,很多应用领域,需要精度较高的恒温控制,由于其控制具有非线性、时滞性和不确定性,用传统的控制达不到好的控制效果。模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,其鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱,所以特别适合于0~100℃温度的精确控制。
MSP430系列单片机是一个16位的、具有精简指令集的、超低功耗的混合型单片机。MSP430F149单片机采用了精简指令(RISC),具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令,大量的寄存器以及片内数据存储器都可参加多种运算,还有高效的查表处理指令;有较高的处理速度,在8MHz晶体驱动下指令周期为125 ns。这些特点保证了可编制出高效率的源程序。MSP430F149单片机具有10位/12位ADC、16位Sigma-Delta A/D、直接寻址模块(DMA)、端口1~6、基本定时器(Basic Timer)等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D转换器。该系统采用MSP430F149单片机,可以省去A/D等硬件电路,使其成本降低,可靠性大大增强。
一、系统设计
系统以MSP430F149单片机为控制核心,温度测量由铂电阻恒流调理电路完成,调理电路的输出电压送入单片机,在单片机内部实现A/D转换,并对采样数据进行滤波及标度变换处理,温度值由3位数码管显示。输入的温度设定值由4位独立式键盘电路进行,设定值送入单片机后,由另一个3位数码管显示。系统设计框图如图1所示。
二、主要硬件电路设计
2.1 铂电阻测温调理电路
在本系统中,实际温度值由铂电阻恒流工作调理电路进行测量。为了克服铂电阻的非线性特点,在信号调理电路中加入负反馈非线性矫正网络。如图2所示,铂电阻选用标称值为100Ω的RT100作为温度传感器。A1,A2和A3采用低温漂运放OP07,由于有电流流经铂电阻传感器,所以当温度为0℃时,在铂电阻传感器上有压降,这个电压为铂电阻传感器的偏置电压,是运放A1输出电压的一部分,使恒流工作调理电路的输出实际不为0,所以需要对这个偏置电压调零,图中R3为调零电阻。图中运放A3及电阻R1,R4和R6构成负反馈非线性校正网络。R5用于调整运放A2的增益。
2.2 温度控制电路
系统加热丝与风扇均采用图3所示电路形式。电路采用了晶体管驱动的直流电磁继电器。当单片机的P5.4为低电平时,继电器RL1吸合,当P5.4为高电平时,继电器RL1释放。采用这种控制逻辑可以使继电器在上电复位或单片机受控复位时不吸合。继电器由晶体管2N222A驱动,可以提供所需的驱动电流。
三、模糊控制规则表及软件流程图
3.1 建立模糊控制规则表
采用温度误差E和温度误差变化率Ec作为模糊控制器的输入变量,温度控制量U作为模糊控制器的输出变量。系统中温度误差E、温度误差变化率Ec和温度控制量U(单位:℃)的基本域分别为[-5,+5],[-2,+2]和[0,1]。输入语言变量的语言值取7个,输出控制量用于控制继电器驱动电路。将占空比模糊控制量设定为0,1/4,1/2,3/4,1五个单点模糊量和1个控制风扇吹风的单点模糊量。输出语言变量的语言值取6个。当U=0时,单片机P3.5口置低电平,使风扇控制电路工作;当U=1时,加热丝控制电路工作,且继电器在1个周期内全关断;当U=2时,加热丝控制电路工作,且继电器在1/4个周期内接通,在3/4个周期内关断;当U=5时,加热丝控制电路工作,且继电器在1个周期内全接通。本控制系统选用三角函数、升半梯形函数与降半梯形函数作为输入量语言值的隶属函数,用脉冲函数作为输出量语言值的隶属函数。模糊控制规则如表1所示。
由模糊规则进行推理可以得出模糊控制器语言规则的输入输出关系,其关系是一个非线性的关系曲面。当偏差较大时,控制量的变化应尽力使偏差迅速减小;当偏差较小时,除了要消除偏差外,还要考虑系统的稳定性,防止系统出现过冲,甚至引起系统振荡。
3.2 软件流程图
主程序软件流程如图4所示。
温度采集和显示、键盘处理等在编程时作为相对独立的功能模块来实现,并自主程序运行中按照设定的流程来调用,完成相应的任务后再返回主程序即可。
四、仿真分析
在Proteus仿真软件中加入编译后的HEX文件,使用分析图表分析系统分析加热器控制信号与风扇控制信号输出端口的占空比。当输入电压为2.7 V时,系统的输出显示实际温度为54℃,系统的设定温度为55℃,此时P5.4输出占空比为2:1的加热器控制信号;而当系统的实际温度大于设定温度时,系统输出适当的风扇控制信号以恒定的功率散热,说明满足设计要求。