基于S3C2410的恒温式自动量热仪设计

时间:2022-09-21 06:56:25

基于S3C2410的恒温式自动量热仪设计

摘 要:量热仪是能源生产和能耗企业必备的重要测量仪器,其测量精度直接影响着经济效益。为提高量热仪的测量精度,并实现量热仪的网络通信功能,设计一种基于S3C2410的恒温式自动量热仪,给出以石英温度传感器HTS-206为核心的温度测量电路。利用CS8900A实现了网络通信功能,确定了系统总体结构,给出了系统的软件流程图。结果表明,该设计能够达到GB(T)213-2003标准,实现量热仪的高精度测量。

关键词:量热仪; S3C2410; 石英温度传感器; HTS-206

中图分类号:TN919; TP216.1文献标识码:A

文章编号:1004-373X(2010)15-0203-03

Design of Isothermal Automatic Calorimeter Based on S3C2410

JIANG Wei, ZHAO Shu-jun,XU Hang, DUAN Zhi-feng

(Physical Engineering Department, Zhengzhou University, Zhengzhou 450001, China)

Abstract: The calorimeter is an indispensable measurement instrument for energy production and energy consumption enterprises, and its precision of measurement directly influence on economic efficiency. An isothermal automatic calorimeter is designed based on S3C2410 in order to improve the measurement precision and realize the network communication of the calorimeter. A temperature measurement circuit of using quartz temperature sensor HTS-206 is given. The network communication is realized by making use of CS8900A, the overall structure of the system is determined, the flow chart of software is proposed. The experimental results prove that the deign can reach GB(T)213- 2003 standard and high-accuracy survey of the calorimeter can be achieved.

Keywords: calorimeter; S3C2410; quartz temperature sensor; HTS-206

0 引 言

量热仪是能测定固、液态物质,如煤炭、火药、粘度油、食品、饲料等可燃物质热值的仪器。传统的量热仪受客观因素影响较大,本文设计自动量热仪可减少客观因素的影响,实现数据的实时传输与实时处理,并使量热仪具有网络通信功能,能够实现数据的网络传输,并实现对量热仪的远程控制。

近年来随着嵌入式技术的不断成熟,其成本也不断下降,本身所具有的规模可变、扩展灵活、有较高的实时性和稳定性、系统内核小的优点逐渐凸现出来。

1 基本原理

恒温式量热仪通过氧弹法测量热值。通过放在氧弹中的物质燃烧并使燃烧放出的热量通过弹筒传递给水及仪器系统,再根据水温的变化计算出物质的发热量。其测量的基本框图如图1所示。

根据氧弹法测量的基本原理,发热量计算公式如下[1]:

Qb.ad=[E(Tc-Tb+C)-(q1+q2)]m

式中:E为热容量,单位:J/K;q1为点火热,单位:J;

q2为添加物如包纸等产生的总热量,单位:J;m为试样质量,单位:g;

Tc为主期结束时温度,单位:℃;Tb为主期开始时温度,单位:℃;C为冷却校正值,单位:℃。

图1 实验基本原理框图

由上式可知,只要测量出水的温度以及相关参数,就可以计算出煤样的发热量。

2 系统设计

2.1 硬件设计

S3C2410与量热仪各个部分的连接框图如图2所示,在硬件连接之后,需要对各个部分与S3C2410的端口进行软件驱动。

2.1.1 ARM板选择

本次设计选择市场上使用较多,同时在结构和资源上较为典型的S3C2410处理器,主要是基于以下原因:

(1) 性价比高,使用的最广泛。作为一款经典的ARM9系列处理器,S3C2410的资料最完整,各种驱动程序的开发包最多,利于开发者开发。

(2) 采用核心板和底板分离的设计思想,用户可以方便地使用Core-Board进行二次开发。

图2 硬件系统框图

2.1.2 传感器的选择

现在的量热仪大多采用铂电阻作为测温元件,它虽然具有精度高等优点,但铂电阻在0~800 ℃范围内、无校正的情况下,最大非线性误差可达2%,而且它们属于模拟式传感器,输出信号需要进行模/数转换,这不仅使电路复杂,成本增加,而且增大了误差。改进的方式是用石英晶体来代替铂电阻作为测温元件。根据不同频率和切型,石英晶体温度传感器的温度灵敏度可以在20~2 850 Hz/℃范围内变动[2],使温度分辨率达0.000 1 ℃,而且温漂、时漂极小。

石英晶体温度传感器HTS-206就是其中的一种,它由日本EPSON公司生产,其振荡频率在40 kHz附近,工作温度范围为-55~+125 ℃,其测量精度利用多点差值法校正后可达0.05 ℃[3]石英晶体谐振器HTS-206的调理电路包括振荡电路、分频器、计数器┤个主要部分构成,其调理电路如图3所示[4]。

图3 HTS-206调理电路

以往测量频率的方法是在芯片外接FPGA芯片,不过HTS-206的工作频率为40 kHz左右,符合S3C2410的工作性能,为了节约成本,可以利用中断模式对频率信号进行测量。HTS-206的输出经过整流放大后,通过S3C2410的EINT0端口,用FIQ中断模式。利用软件设定中断的闸门时间为Tw,并且记录被测信号的变化周期数(或脉冲个数)N,则被测信号的频率为:

fx=N/Tw

2.1.3 控制部分

控制部分由充氧控制、充放水控制、水位控制、点火控制、升降电机控制等几部分组成[5]:

充氧电路,主要完成氧弹的冲放气的控制。当实验开始时,发送信号,打开阀门。氧弹充气到一定压力的时候,向S3C2410发出信号。S3C2410接收到信号就控制阀门关闭。

充放水及水位控制系统,主要完成内外筒进水、排水、定位任务。分别通过两个探测器测定内外筒的水位,利用程序进行水位比较,从而达到定内外筒水定量的目的。

点火系统控制氧弹中的点火装置,具体控制要求为:点火丝点火在自检之后进行,如一切正常,则点火。如果点火成功,则向S3C2410发送信号,启动测温系统。如果点火失败,则退出本次试验。

2.1.4 S3C2410的网络通信

如图4所示,S3C2410使用CS8900A-Q3控制器扩展网络接口模块。它的传输速率为10 Mb/s。CS8900工作在16位模式下,网卡芯片复位默认工作方式为I/O连接。由于CS8900A和S3C2410的中断电平是相反的,所以,中断信号线间需接一个非门[6]。信号的发送和接收端通过RJ45接口接人CS8900A,再传送给S3C2410,从而组成了以太网信号传输的硬件通道。

图4 S3C2410的网络通信

2.2 软件设计

2.2.1 开发环境的建立

在对S3C2419进行软件开发之前,需要通过以下步骤,建立一个合适的开发环境[7]。

(1) 将UBOOT移植到S3C2410开发板。

(2) 利用H-JATG软件读取板子CPU的信息,将读取到的信息利用ADS开发环境中的AXD Debugger软件建立仿真开发环境。

(3) 仿真建立最小系统,对各个端口进行初始化,设置时钟,电源等参数。仿真成功后,将初始化的文件利用ADS下载到主板上。

2.2.2 对系统的编程

如图5所示,根据GB(T)213-2003的要求,设置充氧时间为18 s,充氧过程包括压力测量,当充氧压力大于32 MPa时,显示充氧压力过大,并结束实验。省略点火及控制部分,主要程序如下:

int get_show_data(int t,float temper){

定义采样并显示数据函数

f=S3C2410_port_read();采样函数,读取频率

Temper=data_transform(f);将频率转化为温度

if(Temper

printf(″can not read the temperature″);

printf(″Time:%d,Temperature:%d″,t,Temper);

}

void main(void){

……

int t=0

fload Temper,a,b

do{

call delay(t);delay是t的函数,当t

当t≥480 s时,延迟60 s,在延迟时同时改变t的值。

get_show_data(t,temper);

save_data();保存数据到NAND FLASH

a=Temper;

call delay(t);

get_show_data(t,temper);

save_data();

b=temper;

call dalay(t);

get_show_data(t,temper);

save_data();

while((a-b>0.0001)||(b-temper>0.0001));

.......

}

图5 软件流程图

实验开始时,每秒采样一次。实验8 min后,每1 min采样一次。将前后三次采样的数据进行比较,当变化的温度不超过0.001 K时,实验结束。随后进入数据处理部分。这部分包括数据的打印、存储及数据在互联网上的传输。限于篇幅这部分程序并未列出。

3 结 语

该设计严格按照GB(T)213-2003标准,并且不同于以往量热仪使用单片机8位的数据传输模式,而是利用S3C2410芯片的32位数据传输模式[8],实现数据的高精度传输。同时使用晶体传感器――测量的是频率量,无需数/模转换单元,从而实现温度的高精度测量。同时它有很高的稳定性,能够在复杂环境下正常工作,不仅能运用于煤炭生产行业,而且在电力、石油、化工、水泥、军工、粮食、木材、木炭以及科研等行业都有很好的应用前景[9]。

参考文献

[1]国家质量监督检验检疫总局.GB/T213-2003煤的发热量测定方法[S].北京:中国标准出版社,2003.

[2]陈小林,王祝盈,谢中.石英温度传感器的应用[J].传感器技术,2002,21(5):55-57.

[3]谭建豪,章兢.石英晶体量热仪测温系统硬件电路的设计[J].中国仪器仪表,2007(2):39-43.

[4]赵升,张辉.用石英温度传感器HTS-206实现高精度温度测量[J].仪器仪表学报,2004,25(8):372-374.

[5]吕鹏.基于石英晶体量热仪高精度测频技术的研究[D].长沙:国防科学技术大学,2002.

[6]王黎明,陈双桥,闫晓玲.ARM9嵌入式系统开发与实践[M].北京:北京航空航天大学出版社,2008.

[7]王奔,刘国锦,朱晓舒,等.基于S3C2410的嵌入式Linux系统的移植构建[J].信息化研究,2009,35(5):57-61.

[8].主流ARM嵌入式系统设计技术与实例精解[M].北京:电子工业出版社,2007.

[9]单勇,徐广立.智能自动量热仪的应用[J].山东煤炭科技,2009(1):59-60.

[10]夏宇,王军政,徐山峰.基于ARM9的嵌入式控制系统设计与实现[J].微计算机信息,2008,24(5):1-3.

[11]李联富,刘飞.基于S3C2410的无线数据采集系统[J].现代电子技术,2009,32(24):171-172,191.

[12]周维龙,吴桂清.基于S3C2410的智能家居数据采集系统设计[J].现代电子技术,2010,33(2):38-40,43.

上一篇:基于MCU的智能漏水检测系统设计 下一篇:VB编程实现微机的网络远程唤醒