《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 热工计量便携计算工具的设计与实现

热工计量便携计算工具的设计与实现

2009-04-09
作者:胡永建

    摘  要: 介绍用于工业热工计量分度表计算及其它运算的一种便携计算工具。本设计选择满足高速、大的程序容量需求的单片机,并对系统结构作了说明。 

    关键词: 热工计量  分度表计算  高速单片机  浮点计算

 

    在电力、石化、钢铁等行业中大量使用各类标准或非标准的热电阻与热电偶。为保证测量精度,这些温度测量器件需要定期检定或校准。计量工程师在检定时,需要进行大量的分度表计算。这类计算,尤其是标准温度计的分度表计算,方法复杂、费时费力、容易出错。有些单位因此编制了一些小程序配合计算,但基于微机的程序对于大量的现场计算显得很不方便,计量工程师迫切需要一种快速便捷的计算工具。 

    本热工计量便携计算工具采用两组单片机作为计算与控制核心。一组芯片用于核心计算及基本控制,另一组芯片专门用于复杂的中文界面显示,两者之间通过SPI总线通讯。这种设计在系统成本增加不多的情况下,简化了设计难度,提高了系统的可靠性。本热工计量便携计算工具可以完成标准热电阻、标准热电偶分度表转换计算;工业热电阻、热电偶分度表转换计算;变送器转换计算;压强、温度等14类物理量约170种单位的转换以及其它复杂的数学函数及浮点计算等,可以充分满足计量工程师现场及实验室的计算需求。 

1 计算需求 

    以比较复杂的标准铂铑10—铂热电偶的分度表计算为例,分析对单片机计算功能的需求。计算方法依据ITS90国际温标及国家技术监督局颁发的JJG75-95《标准铂铑10—铂热电偶》计量检定规程。与一般常规计算不同,热电偶分度表计算具有步骤多、计算嵌套多以及需要大量的浮点乘法甚至指数计算等特点,计算精度为十进制5位有效数字,ANSI规定的单精度浮点计算可以满足精度要求。 

    考虑一般的计算情形,如果某标准S热电偶锌、锑、铜点热电势已知,测量某温度场的温度,用冰点器作为冷端补偿,此时可以测量得到其热电势,需要计算此时的温场温度。下面是计算过程中用到的计算公式。 

    参考函数,约有17次乘法及8次加法。 

     

    插值函数,有3次乘法及2次加法。 

    ΔE(t)/μV=a+bt+ct2 

    系数计算,有9次乘法及6次加法。 

     

    在计算中,需要对参考函数用二分法及线性插值法求其反函数的解,对一般的电压点大约需要进行12次参考函数调用。考虑到其他运算,计算该温度点大约需要做250次单精度浮点乘法计算以及140次单精度浮点加法计算。 

    如果考虑现场冷端补偿温度不为0℃的情况,上述计算次数需要加倍,即约500次单精度浮点乘法计算以及280次单精度浮点加法计算。 

2 选择单片机 

2.1 计算精度及速度要求 

    考虑到计算精度(单精度浮点计算)的需求及价格因素,选择使用8位单片机。 

    市面上有很多种类的8位单片机,比较典型的有MCS51系列产品。选择了INTEL 8031处理器作为选择的判断基础,使用6MHz石英晶体,用C51编制上述例子的计算程序。在实际计算中,测得完成一次完整的计算约需4秒。对于某些需要指数计算的例子,时间可长达10余秒。由于程序的编制水平不同,不同单片机的结构、指令不同等诸多因素影响,无法精确计算各类8位单片机的运算时间,这个测试结果仅作为判断的依据。 

    作为实际使用的产品,用户可以接受的计算时间是1秒以内,因此必须采用高速8位单片机。 

2.2 程序存储容量及其它要求 

    本热工计量便携计算工具设计功能较多,程序较大,使用C语言编程,生成代码较多。先在INTEL 8031上完成包含输入输出的上述计算的完整程序,生成代码长度约为4KB,完成全部功能,最终程序代码长度约为80KB。相对于一般嵌入式微处理器应用,此程序代码相对较多。为精简系统以及保密的要求,采用片内集成ROM或FLASH程序存储器的单片机,要求其程序存储器容量在80KB以上。 

    由于设计功能较多,需要实时保存大约2KB的参数,即需要2KB以上的EEPROM实时保存数据。另外需要带SPI总线接口以达到快速数据显示的目的,对其它如I/O口数量等没有特殊的需求。 

2.3 选择结果 

    ATMEL公司的ATmega103单片机是基于RISC结构、内置FLASH的单片机,采用Harvard流水线结构,一个时钟周期可以执行一条指令。ATmega103时钟频率为6MHz,由于采用8位RISC结构,速度可以接近1MIPS/MHz,是同样频率传统MCS51系列单片机速度的十几倍。经过测试,可以在0.1秒内完成上述的测试运算,在速度上完全达到了用户期望值。 

    ATmega103内置128KB的程序FLASH,完全满足所需的程序存储空间。本热工计量便携计算工具最终完成后程序存储量为76KB。ATmega103内置2KB的EEPROM,足够存储中间参数,其他特性也使得电路设计更加简洁。此外,可以使用效率较高的C语言编程。 

    经过多方比较,最终选择了ATmega103单片机作为核心计算及基本控制处理器。 

3 系统结构与工作原理 

3.1 硬件结构 

    本热工计量便携计算工具原理框图如图1所示。 

 

 

    在硬件设计中,较有特点的电路设计说明如下: 

    电源部分采用MAX713的智能镍镉电池充电电路。MAX713是使用较为广泛的智能充电芯片,设计灵活,使用功率MOSFET组成低功耗的开关型电源,可以在充电的同时为系统供电。稳压部分采用MAX639。MAX639特别适合9V供电,本身带有低电压检测功能。图2是稳压及电压监控电路部分。 

 

 

    图2中,VOLT_IN端是电源输入端,也是MAX713电压输出端。ON_OFF端是开关机键。该端接地开机,Q1导通,为MAX639供电,输出VCC稳压5V。CPU初始化时将TURN OFF PC7端置高电平,Q2导通,保持Q1持续导通。在开机状态下,按开关机键,ON_OFF端接地,OFF INT0外部中断端电平拉低,CPU响应中断后检测PA7端,PA7端为低电平表示有关机请求,此时将TURN OFF PC7端置低电平,Q2截止,Q1截止,实现关机。图2中,LOW BATT PA6是低电压复位输出端。 

    本系统键盘按键较多(37键),但是为了降低成本,同时充分利用ATmega103现有的I/O口,采用了矩阵键盘设计。特别之处是采用中断键盘响应,统一处理按键信号、关机信号及低电压检测信号,由于AVR单片机有内部上拉电阻,因此简化了电路设计。 

3.2 软件结构 

    由于系统程序较大,采用了模块化编程,充分利用C语言丰富的现成库函数以简化程序设计。图3是系统软件框图。 

 

 

参考文献 

1 国家技术监督局计量司编.1990年国际温标宣贯手册.北京:中国计量出版社,1990 

2 国家技术监督局.中华人民共和国国家计量检定规程 JJG75-95 标准铂铑10-铂热电偶 

3 宋建国.AVR单片机原理及应用. 北京:北京航空航天大学出版社,1998

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。