0 引 言
温度的测量与控制在工农业生产、日常生活及科学研究中有着广泛的应用。由于常用温度传感器的非线性输出及一致性较差,使温度的测量方法和手段相对较复杂,也给电路的调试增加了难度。为此,设计了以台湾凌阳公司生产的SPCE061A16位高性能单片机为系统控制核心。采用DALLAS公司的DS18820作为温度传感器的三通道高精度温度测控仪,该测控仪实现了温度数据和日期、时间的显示与保存;可输出显示三组温度和三路控制信号,具有故障和报警状态提示等功能,保证了测试的精度以及系统的可靠性和控制要求。
1 系统硬件设计
多通道智能温度测控仪的硬件电路原理框图如图1所示,测控仪主要由SPCE061A单片机、温度传感器DS18B20和LCD显示电路、键盘电路、串/并转换电路、时钟电路等组成。
微处理器是系统的核心,它控制测量过程,进行数据处理。它的设计和选用要考虑传感器的测量速度、精度、分辨率及数据处理能力等。对于集成传感器,设计微处理器(Microprocessor)的功能要适当,设计时既要考虑产品质量、可靠性,又要考虑降低成本,简化结构,满足芯片尺寸的要求。因此,选用SPCE061A作为系统微处理器。
SPCE061A芯片是凌阳公司推出的一款高性价比的16位单片机,其主要特性为:工作电压:CPU的内核工作电压VDD=3.0~3.6 V,I/O口的工作电压VDDH=VDD~5.5 V;CPU时钟的频率为:0.32~49.152 MHz;内置2 Kword SRAM和32 KB闪存ROM;系统处于备用状态下(时钟处于停止状态),耗电小于2μA@3.6 V;具备触键唤醒的功能;32位通用可编程输入/输出端口;2个16位可编程定时器/计数器(可自动预置初始计数值);7通道10位电压模/数转换器(ADC)和单通道声音模/数转换器;2个10位数/模转换(DAC)输出通道;14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;具备串行设备接口;低电压复位(LVR)和低电压监测(LVD)功能;内置在线仿真(In-Circuit Emulation,ICE)。另外16位单片机具有一套易学易用、效率较高的指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用。
1.1 温度数据采集
温度数据采集电路选用Dallas公司生产的DS18B20。DS18B20是“一线总线”数字化温度传感器,测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为士O.5℃。该器件只有3个引脚(即电源VDD、地线GND、数据线DQ),不需要外部元件,一条数据线进行通信。设计系统检测温度范围设计为-10~+85℃,精度为0.2℃,已经能够满足绝大多数工作环境的要求;用9 b数字量来表示温度;每次将温度转换成数字量需时200 ms。在单总线工作方式下,允许一条信号线上挂接多个DS18B20,DS18B20都有惟一的ROM代码(64位产品序列号)。在多点温度测控系统中,ROM代码是识别和操作DS18B20的基础;无论读取,还是选择对某一个传感器进行操作,主机必须发送64位ROM代码。
为了保证测试精度,系统设计了A,B,C三个温度采集通道,以便测试温度场分布较大的环境。当温度达到设定要求时,控制电路可以产生相应的控制动作,比如切断加热电源或者发出告警信号。DS18B20温度与转换数值之间的关系见表1。
1.2 人机接口
系统键盘由SPCE061A的IOB5~8组成,它们分别是功能键、增加键、减少键、复位键。用来实现温、度上、下限及控制时间的设置功能。测控仪采用驱动128段LCD显示器,用于显示现场的温度值、时间、故障和报警状态。HT1621是一个128(32×4)段、内存映射、多功能、I2C接口的LCD驱动器。这里利用其两线串行模式与单片机接口,简化了与单片机的接口电路设计,并减少了硬件资源的占用。
2 系统软件设计
主程序主要完成系统初始化、扫描键盘、温度采样并对采样数值进行运算、显示温度及控制输出等工作。主程序流程图如图2所示。定时器B用于定时控制采样的时间。系统设定采样周期为2 s,而控制周期为500μs。通过键盘设定控制温度数值,输入后做相应的数据备份,即将参数存入单片机SPCE061A内的FLASH ROM中。
系统采用数字PID算法来提高系统的控制精度,PID用增量式表示为:
由于温度响应具有迟滞性,属于一阶延时系统,若采用常规PID算法,控制效果不好,并且会出现较大的超调量。为了解决这一问题.设计采用积分分离PID算法,从实验结果来看,性能指标均有所提高。
当被控量与设定值偏差较大时,取消积分作用;当被控量与设定值偏差很小时,加入积分作用,即系统启动、停止或大幅度改变设定值时,只用比例控制和微分控制,然后才加入积分控制,这样更有利于改善动态特性和消除静差。具体做法是:针对被控对象参量,设定一个偏差的门限e0,当过程控制中偏差e(n)的绝对值大于e0时,系统不引入积分控制,只用PD控制;当偏差e(n)的绝对值小于e0时,才引入积分控制,即采用PID控制。对计算公式的积分项,乘一个权系数μ,按式(3)取值:
μ=1,当|e(n)|≤e0
3 系统调试
系统调试中,采用电加热器对1 kg水进行加热,DS18B20将温度信号变为数字信号,读入CPU,通过软件对温度数据进行校正,同时将所测温度在LCD上进行实时显示。根据系统程序控制,进行PID运算以及输出控制,最终由CPU给出控制加热回路的有效电压。PID参数整定:系统采用扩充临界比例度法来整定。
通过实验测量,被控对象的纯滞后时间为20 s左右,因此选择采样周期为2 s。通过实测数据比较,选择控制度为1.2,采用PI控制,经过对参数进行微调,最后得出最佳PID参数,即KP=2.11,K1=0.043。在系统调试中实测数据表明,控制器平均控制精度在士0.2℃之内。表2为调试过程中3个通道的1次数据记录。从数据可以看出,当设定温度为80℃时,最后稳定温度为80.2℃,控制精度比较高。
4 结 语
多通道温度测控系统采用抗干扰性能强,功耗低的SPCE061A16位单片机和一线式数字温度传感器DS18B20,使系统的硬件电路结构得到高度简化。软件采用高精度的PID控制算法,使测量及控制性能得到显著提高。经实际使用证明,具有测量精度高.硬件电路合理,性价比高,使用方便等特点,克服了传统温度仪测量精度低,电路复杂,调试及标定困难等缺点。该系统可应用到大部分温度、温差的高精度控制场合中。