介绍了以PIC16F876单片机为核心的智能温度变送器。主要包括PIC单片机对不同分度号的热电偶和不同感温材料热电阻的数据采集,以及对微弱信号mV或mA的信号隔离。重点讲述了输入信号调理和PWM输出通道的硬件设计,也讨论了对热电偶非线性的处理。为工业温度测量提供了一种低功耗的经济实用的方案。uC7压力变送器_差压变送器_液位变送器_温度变送器
在工业过程控制领域中,有大量的温度信号需要测量。而对温度的测量,常用的测温器件有热电偶(TC)和热电阻(RTD)两种,热电偶又根据感温材料的不同,有K,E,S,B,J,T,R不同的分度号;热电阻根据感温材料和0℃时标准电阻不同,有PT100,PT10和CU100,CU50等类型。这些不同型号的热电偶和热电阻,它们的测量温度范围和输出范围迥然不同,这对变送器输入通道的信号调理设计带来了挑战,给制造厂商带来了不小的麻烦,传统模拟电路很难做出通用的
热电阻温度变送器。在变送器的设计中,功耗的问题也是一个不得不注意的问题。出于这些因素的考虑,本文设计出了基于低功耗PIC单片机的高精度
智能温度变送器,实现了对热电偶、热电阻、微电流mA和微电压mV的四种输入类型的测量,隔离输出4-2OmA和1-5V四种输出类型的工业标准信号。
1硬件设计
硬件电路主要由三个功能模块组成:输入通道、输出通道和数字信号处理电路。完整的硬件电路原理图如图1所示。信号流程是shou先确定输入信号类型,然后由单片机智能控制信号调理部分,使调理输出信号落在运放的线性放大区,#后信号经过AD采样由单片机进行运算,处理结果由单片机PWM输出,PWM再进行光电隔离,由输出电路完成PWM向电流的转换。
输入通道模拟多路开关CD4051负责选通模拟输入,可以选择输入热电偶、热电阻、本地温度,mV和mA信号,选择控制权由PIC单片机实现。由输入通道模拟多路开关输入的微弱信号经过放大电路放大,放大电路采用ICL7650MJD,它是一种低功耗的CMOS芯片,高达至少120d B的CMRR和PSRR增益,#大输入偏移电流10pA,是微信号的理想放大器。为了让ICL7650MJD工作在线性区,对ICL7650MJD的放大倍数采用了模拟多路开关CD4051进行控制,由单片机对AD采样信号进行判别,决定放大系数。
中央处理单元采用Microchip公司的PIC 16F876低功耗微处理器,它是变送器的关键部件之一,由它完成变送器的AD转换、测量类型选择、输出类型选择、对外通讯等功能。它是采用哈佛结构的RSIC单片机,内置5路10位AD转换器,8K片内14位Flash存储器、368字节RAM, 256字节EEPROM,一路UART接口,两路PWM输出。
精密电源由丁L431实现,由丁L431提供稳定的3.5V的精密电源和1mA精密电流源,这个3.5V电源对输入通道供电和单片机的AD采样基准电压,当测量类型为热电阻时,1mA电流源对热电阻供电。RS232接口来实现智能编程接入,由于PIC16F876单片机内置256字节的EEPROM,决定变送器当前测量类型、测温范围、输出类型的变量可以通过RS232存入EEPROM,当外部PC或手持编程终端对该部分EEPROM进行改写时,智能温度变送器可工作在用户所需的测量类型和输出类型。
2输入通道和输出通道
输入通道的信号调理也是变送器的关键部件之一,调理电路如图2所示。由4051(U6)决定输入信号类型,可有三线制或四线制的热电阻输入、热电偶、mV,mA和本地温度(AD590实现)测量输入。通道的选择由单片机的IO口(图中CH 1-CH3)控制。放大倍数由4051(U 10)决定,由单片机的}0口(图中M丁L1-MTL3)控制。运放采用Maxim公司的ICL7650MJD,C16和C17为0.15F的聚苯乙烯电容,C18和C19为担电容。在布线PCB板时,在4和5脚周围画圆,然后接到3和6号脚,这样做能减小输入信.号的泄漏电流到#小。所有电阻都采用精密电阻。调理输出信号VSample输出到单片机的AD输入口。
输出通道电路如图3所示,它完成的是PWM向IN的转换。这里摒弃了传统的DA转换,采用的是PWM向IN的转换,在功能上不仅没有减弱,更有了进一步的提高,并且在成本上相对DA具有更大的优势。
PWM信号输出后,经过光祸隔离后,再经过74AC04的波形整形,74AC04的电源由丁L431提供精密的2.5V电源,整形后的波形幅值是2.5V的标准PWM波形。然后经过两级低通滤波器滤波,作为运放O P07的正输入信号。"R”电阻是作为电压信号输出时才用(对应图1中的PWM2通道),接25051的精密电阻。
PIC单片机的PWM周期和高电平时间可编程调节,PWM周期#大为1024个丁q仃4为一个基时间,可编程设置),当用4M晶振J。设置成9605s时,PWM高电平时间((Tq个数)和输出电流!,大小的对应关系如图4。由图4可知,当PWM的值大于200而小于1000时,曲线近似为一直线,4~20mA电流在线性范围内。对该曲线进行#小二乘曲线拟合,得出拟合曲线方程为:Y二一0.0249x+27.384,其中,Y为输出的电流值(mA为单位),x为PWM的值仃q的个数),#大误差为0.3%。
3软件设计和热电偶非线性处理
3.1主程序流程
主程序流程如图5,程序采用模块化编程方法。程序的主
要功能是完成对输入信号的测量,计算相应的温度,输出温度值线性对应的电流或电压值。具体步骤如下:
1)主程序shou先读取EEPROM中数据,决定测量类型和
输出类型、测温范围,根据测量类型启动相应的输入通道。。2)测量热电阻时启动精密电流源。
3)启动AD,测量输入端电压,测量结果不在运放的线性
工作区内则调整放大倍数。若是热电偶测量,则再次启动AD测量本地温度。根据二项式拟合公式(以下会叙述)计算热电阻或热电偶对应的温度值。
4)根据输出类型和当前的温度值,以及温度测量范围,由PWM值与输出电流的拟合公式Y=一0.0249x+27.3846,得出PWM的输出值。例如,输出类型为4--20mA,当前所测温度值为t,温度测量范围为Tmin一Tmax,则输出的PWM为:
3.2热电偶非线性化处理
由于PIC16F876只有8K的Flash ROM,不可能存储大量的数据。又由于要测热电偶的分度号比较多,测量温度范围比较大,它们输出的热电势与温度又是非线性关系,没有可遵循的公式。如果要得到高精度的热电势与温度的关系,一般的处理方法是在EEPROM或单片机的Flash中存入每个分度号热电偶的热电势和温度数据,对测得的热电势进行线性插值计算,得出当前的温度。在保证精度的前提下,这样做要对各个分度号的热电偶都要存入大量的数据,占用大量的存储空间。而如果采用分段拟合的方法,只在存储空间中存入分段拟合方程的系数,这样就将大大减小存储空间。
计算某分度号热电偶的二项式拟合公式时,shou先根据EC584-1标准中的计算函数计算出热电偶的分度表,在0-10C内用二阶多项式拟合,计算出二项式系数a[0],b[0],c[0],然后,用拟合的多项式t=a[0]+b[0]xE;+c[0]xE{(为热电偶的热电势),计算得到的温度值t和由1EC584-1标准函数计算的温度值t,比较,如果差值ERR在允许的误差ERRA(0.1℃)范围内,则拟合区间再增加10C,重新计算a[0],b[0],c[0],依此类推,直到精度超出允许误差ERRA。则a[0],b[0],c[O」即为该区间的精度为0.1℃的二项式拟合曲线。下一区间的拟合曲线以前一曲线结束的点为开始,同理可计算出拟合系数a[1],b[1],c[1]。依此类推,可以计算出热电偶测温范围内的所有二项式拟合系数a[i],b[i],c[i],i=0,1,2"二。由此法计算出的热电偶的拟合精度在0.1℃以内。对每个分度号的热电偶分别计算出分段拟合二项式,在PIC单片机的Flash中存入这些二项式的系数。在测量中根据测到的热电势,用该热电势所在分段的拟合二项式求出当前温度值。例如,假设当前所用热电偶分度号为K型,经过零点校正后的热电偶温度为18mV,根据分段区间知当前应该用的二项式系数为a [3] =7.3384, b [3] =24.2483,c [3]=一0.018,则当前温度值为t=7.3384+24.2483 x 18-0.0183 x 182=437.880C。
4结束语
本文提出基于PIC单片机的智能温度变送器,充分利用了PIC单片机PWM的功能,设计出高性价比的输出通道,对热电偶的非线性化处理,使少量的存储空间可以实现复杂的算法,能够满足工业过程控制中的精度要求。系统硬件设计简单、可靠性好、精度高。软件编程采用模块化方法,方便在线编程变送器的测量类型和输出类型。经实际应用,本产品可稳定应用到工业过程控制场合,在全国多家企业中得到应用。
注明,三畅仪表文章均为原创,转载请标明本文地址