谈宏兴, 施火泉*, 朱 杰
(1.江南大学物联网工程学院,江苏无锡214122;2.无锡科思电子科技有限公司,江苏无锡214028)
温度是工业现场用得最多的待测物理量,普遍采用4~20 mA电流的强信号来传输模拟量。热电阻在测量灵敏度、线性度等方面优于热电偶,因此在中低温区得到广泛应用[1]。工业现场的环境温度高、电磁干扰强等复杂和恶劣条件,使传统热电阻温度变送器不能满足应用要求,同时控制芯片集成了高精度AD和占空比脉冲(PWM),价格上比普通51单片机加独立高精度AD芯片要低。据此设计了基于C8051F单片机的隔离型热电阻温度变送器,具有精度高、抗干扰能力强、电路简单、成本低、体积小、生产调试方便等特点。
采用单片机C8051F996为控制核心,通过三线制测量电桥,采集PT100的电阻信号,经差动放大调理再送入AD模块,经过分段查询,得出当前PT100所对应的温度,从而指令输出相应的占空比脉冲信号。为了避免外部干扰,提高系统的可靠性,将占空比信号通过光耦隔离输出到输出转换电路。整体结构如图1所示。
图1 整体结构Fig.1 Overall structure diagram
图2 测量采样模块Fig.2 Measuring and sampling module
变送器系统的组成包括主控模块、测量采样模块、光耦隔离模块、输出转换模块以及电源模块。
SiliconLabs公司新推出的小体积、低功耗、高性能、低价格的微控制器C8051F996是混合信号系统级芯片,具有与8051兼容的内核及与传统MCS51兼容的指令集。该芯片工作频率高达24.5 MHz,拥有8 K字节的Flash程序存储器、512字节的数据存储器、12位75 Ksps的单端AD模拟多路转换器、可输出16位PWM的可编程逻辑阵列(PCA)等,采用强大的非侵入式JTAG/C2在系统调试手段,可方便完成下载和硬件仿真,且不占用片内资源[2]。该芯片无需扩展即可完成主要功能。
采用铂电阻PT100作为温度传感器,测温范围宽(-200℃ ~650℃),响应快速,可重复操作,较好的长期稳定性,适用性广。热电阻按三线制桥式接法,可避免引线电阻的影响,提高了信号远距离传输精度,测温电路如图2所示。
测温原理:VREF1为2.5 V高精度参考电压。通过 R12,R11,R10,PT100 构成测量电桥,其中 R11=R12,R10为78.7 Ω(对应 - 50 ℃ 的热电阻值),均为0.1% 高精密电阻。当PT100的阻值大于R10时,电桥输出一个正的毫伏级压差信号,此信号经过精密运放TLC277放大后输出至单片机AD口。由R6,R7,R8,R9及U1B构成差动放大电路,其中 R6=R7,R8=R9,其输出电压由式(1)得
通过调节R6与R8的比值来调节放大倍数。考虑到测温范围是-50℃到+200℃及AD基准电压使用外部参考电压2.5 V,AD口输入幅值电压为2.5 V,并留有一定裕量,则取放大倍数为20。
为避免外部电路对测量电路的影响,提高抗干扰性能及系统应用的灵活性,文中使用了TLP781光耦使输出和输入电路隔离(见图3)。
图3 光耦隔离模块Fig.3 Optical coupling isolation module
电子技术应用中,常需模拟输出(见图4)。高精度数模转换器(DAC)芯片或者集成了DAC的单片机芯片价格昂贵。应用单片机的PWM输出,经过简单的滤波变换电路实现数模转换,可大大降低系统成本[3],且便于实现隔离。
为达到 -50℃ 到 +200℃,2 500个点的分辨率,而C8051F996具有8位、9位、10位、11位和16位共5种模式的PWM工作方式[4],又211<2 500<216,所以必须选用16位PWM。
图4 中,单片机输出的PWM电压,经光耦隔离,输出波形为理想的PWM波,再经过R15,C11,R16,C12两级阻容滤波和U2A的跟随放大,在A点得到直流电压即MCU输出的调制PWM波在A点得到解调,从而实现DAC功能。设输出占空比为D,输出电流为 IO,可得
输出级采用了运放U2B实现了恒流输出电路,R23为电流取样电阻,并采用三极管提高输出驱动能力,避免了负载电阻变化对精度的影响,并具有输出短路保护功能。则有
又因为
综合上式,并带入阻值,可得
当输出电流为20 mA时,占空比D为1;输出4 mA时,占空比为0.2,电路满足设计要求。
图4 输出转换模块Fig.4 Output switch module
采用220 V供电的开关电源输出两组隔离电源,开关电源体积小,质量轻,效率高。如图5所示,电源VH为220 V交流电压通过整流后的直流电压,采用了高效离线式开关 IC:TinySwitch-III系列的TNY276。
为提高精度,输入、输出两侧均使用基准电源,参考电压VREF1和VREF2均为2.5 V,通过两路隔离输出电源,均加至基准电压芯片LM236上得到。
图5 电源模块Fig.5 Power module
系统采用模块化设计方式,把整个程序分成多个功能模块。主要有:主程序,AD采样,Flash读写,PWM输出。
主程序流程如图6所示。分为AD采样、校正处理、数据处理、输出4部分。由于变送器装置的误差主要分为恒定系统误差和变化系统误差,而通过硬件修改可以减小部分恒定系统误差,但变化系统误差如仪表的零点、放大倍数的漂移和温度变化引起的误差只能通过软件校正来减小。
图6 主程序流程Fig.6 Main program flow chart
软件校正流程如下:
1)调零点 出厂前,通过调零点的方式来实现零位误差校正,设置零点的输入条件,实测并保存校正数据。运行时,读取校正数据,当前实测数据进行零点偏差补偿计算,得到修正电压值。校正具体方法:外部设置为零点状态时,将校正口1置低;CPU检测到校零点条件,则将当前AD采样电压作为校正参数存入Flash中,供以后读取使用。
2)调满量程 通过调满量程的方式来实现放大倍数偏差引起的误差校正。具体方法是设置满量程的输入条件,置校正口2为低。CPU检测得到一个实际电压值,与保存的标准放大倍数下的满量程电压值比较,得到需修正的放大倍数并存入Flash中。以后任意条件输入时,每次读取修正放大倍数,并与采样值相乘。调零调满的流程如图6所示。
3)线性化处理原理 查表法的基础是建立起采样电压与实际温度的对应关系,据PT100分度表,可通过以精密电阻箱来模拟PT100的输入,调节电阻箱阻值,并记录下-50.0℃到+200.0℃之间的250组温度-电压的数据。由于被测温度与热电阻间存在非线性关系,这里采用折线近似的方法进行非线性修正,将所有数据分段线性化处理。
将整个测温范围分为n个温度段,每段用最小二乘法求折线来近似表示热电阻的电势和温度的关系[5]。理论上说,折线段越多,精度越好。程序中,实际分了34段。通过分段查询计算,用当前电压值减去该段起点值,再除以该段所对应的0.1℃ 的电压差值,得到温度差值,最后再加上该段起点所对应的温度值,即可得到当前实际温度值。然后,指令输出相应的PWM值,使输入输出之间呈线性化对应关系。这里就将输入和输出在程序上分离,以避免温度漂移在整体上对程序的影响,提高了程序的可靠性和可读性。
文献[6]中,推导出在白噪声前提下,离散高斯噪声模型的最优估计量是最大似然估计,可用MLS算法求出,当AD采样位数足够大时,可用统计平均近似代替MLS算法[4]。系统用的是12位AD采样,可用统计平均近似代替MLS算法。通过连续25次采样,每5次采样取中位值,再求5次平均的方法得到最终采样值。该法使输出电流在0.001 mA位微小波动,有效地克服了偶然因素引起的输入干扰,具有良好的滤波效果。
从 -50℃ 到200℃ 之间,任意选择10个温度进行实验,得到如表1所示的实测结果。
表1 部分实测结果Tab.1 Part experimental results
由表1可见,电流偏差峰值为0.011 mA,电流测量精度为0.11%,而对于4~20 mA内2 500个点来说,0.1℃ 对应于0.006 4 mA,由于电流偏差值小于0.012 8 mA,温度精度控制在0.2℃ 以内。
文中设计的温度变送器,是由C8051F996单片机及精密运放构成的采样电路和输出转换电路组成;其测量通道和输出通道采用光耦隔离,通道电阻采用精密电阻;采用小型化的开关电源,并使用常规的220 V交流电源供电。该变送器结构简单,工作可靠,准确度高,通用性好,满足批量生产要求,符合工业应用标准。
[1]刘俊红,赵可新.三线制隔离型热电阻温度变送器[J].科学技术与工程,2006(14):2108-2110.LIU Jun-hong,ZHAO Ke-xin.Resistance transducer with three-phase isolator[J].Science Technology and Engineering,2006,(14):2108-2110.(in Chinese)
[2]SILICONLABS.C8051F99X-C805198X芯片手册[M].美国德州奥斯汀:Silicon Laboratories(芯科实验室)上市跨国公司,2010.
[3]袁景,施火泉.带DAC输出的多通道温度采集模块的设计[J].现代电子技术,2011,34(17):202-204.YUAN Jing,SHI Huo-quan.Design of multi-channel temperature acquisition module with DAC output[J].Modern Electronics Technique,2011,34(17):202-204.(in Chinese)
[4]包海涛.超低压SOC处理器C8051F9XX应用解析[M].北京:航空航天大学出版社,2010.
[5]吕方瑶,张池军,闫勇,等.一类高精度温度测量技术研究[J].电子测量技术,2011(8):88-90.LV Fang-yao,ZHANG Chi-jun,YAN Yong,et al.Study of temperature measurement with high accuracy[J].Electronic Measurement Technology,2011(8):88-90.(in Chinese)
[6]方益喜,雷开卓,张群飞,等.基于三线制恒流源驱动的高精度温度测量系统[J].计算机工程与应用,2012,48(S2):531-534.FANG Yi-xi,LEI Kai-zhuo,ZHANG Qun-fei,et al.High-precision temperature mesurement system based on three-wire constantcurrent driving[J].Computer Engineering and Applications,2012,48(S2):531-534.(in Chinese)