智能流量记录仪的设计
2016-01-16张先炼,王国杰,樊恩东等
智能流量记录仪的设计
张先炼,王国杰,樊恩东,王国淦
(贵州大学电气工程学院,贵州贵阳550025)
摘要:流量信息的准确显示和记录是保证生产过程安全、经济运行的基础。对智能流量记录仪进行研究设计,以STC89C52单片机为核心,再加以外设模块,如电源模块,LCD1602显示模块,SD卡存储模块,RS485通信模块等。将流量变送器输出的信号处理后显示再保存,最后将记录仪与外设进行通信。所设计的智能流量记录仪,试验调试好后可运用到实际领域中。
关键词:智能流量记录仪STC89C52SD卡RS485
中图分类号:TP216文献标识码:A
作者简介:张先炼(1993-),男,贵州遵义人,硕士研究生,贵州大学电气工程学院检测技术与自动化装置专业,主要研究方向:嵌入式系统与自动化装置。
收稿日期:2014-11-03
Design of an intelligent flow recorder
ZHANG Xianlian,WANG Guojie,FAN Endong,WANG Guogan
Abstract:In many production fields, the display and record of flow occupies an important position, because accurate display and record of flow information is critical to assure the safe and economical operation of manufacturing process. In this article, an intelligent flow recorder was designed with STC89C52 microcontroller as the core of the system, together with some peripheral modules, such as power supply module, LCD1602 display module, SD card storage module, RS485 communication module, etc. The signal from the flow transmitter was processed and saved, then the recorder communicated with the peripheral modules. The intelligent flow recorder designed in this study can be applied to the actual field after debugging.
Keywords:intelligent flow recorder; STC89C52; secure digital card; RS485
0引言
随着工业的快速发展,带来了污水和废液的排放,大气污染等问题,为了控制它们,必须对其进行处理,于是在污水排放口及烟气排放点都成了流量测量对象[1],同时在科学实验领域,需要大量的流量控制系统进行仿真与试验,于是设计该流量记录仪。近年来,仪器仪表发展主要以计算机,微电子,网络等技术为核心,流量仪表更加数字化及智能化,更适应实际生产[2]。本文阐述了基于STC89C52的智能流量记录仪设计,关键在于对输出的脉冲信号进行测量,以及对流量数据保存和通信。
1硬件电路设计
本系统总体设计如图1。
图1 系统硬件结构图
硬件电路主要由电源电路、显示模块、存储模块以及通信模块等构成,其具体设计如下。
1.1电源电路
本次设计的单片机及其他部分模块所用电源为5 V。 交直流电源从电源插座上输入,通过LM7805三段稳压器进行稳压,又进行滤波得到5 V的直流电给系统的其他模块[3]。
1.2LCD1602显示模块的设计
本模块采用LCD1602液晶,通过单片机发出的数据进行相应的显示瞬时流量及累计流量[4]。
1.3RS485通信模块的设计
为了让数据与外界如PC进行数据信息交换传输,本次采用RS485串行通信接口来进行。RS485接口,是一种差分通信方式,通信线路是两根A和B。为了提高抗干扰性能,需在MAX485的A和B引脚之间并接一个100Ω到1k电阻[5]。
图2 PC机与单片机串行通信连接图
1.4SD卡存储模块设计
本设计采用了SD卡进行流量数据的存储,并且结合了FAT文件系统的格式,与数据进行操作。首先对SD卡进行驱动,本次设计的SD卡在SPI模式下进行驱动,主要包括:复位,初始化,扇区读写等操作[6]。图3所示,SD卡工作在SPI模式下,只需要4根信号线,即CS,DIN,CLK,DOUT,并且SD卡工作电压3.3 V。模块电路主要进行5 V到3.3 V电压的转换,以及与单片机进行连接,对SD卡进行驱动,向单片机装入相关程序也就能对SD卡进行简单操作。
图3 SD卡模块电路图
以上为本系统的硬件设计。该硬件设计是实现流量显示记录的基础。
2系统软件设计
2.1系统软件流程总图
图4 系统软件流程总图
系统软件流程总图如图4所示。
2.2中断服务子程序
一个定时器,一个计数器,均工作在中断的方式,如图所示工作流程,测量脉冲频率时,定时器T0工作在定时模式下,方式1,16位定时/计数器,定时器产生一次中断时间t,机器周期T,那么需要计数的个数N=t/T,时钟频率11.0592 MHz,机器周期12*(1/11059200)=1.0851μs,若t为50 ms,N=50000/1.0851=46078, 每一次都要定时50ms,初值TH0=(65536-46078)/256,TL0=(65536-46078)/256;产生20次中断即为50ms*20=1s时间,计数器T1工作于计数方式,初值为0,对脉冲信号计数,1s中开始启动T0,1s中到关闭T0,计数65536次后产生一次溢出中断,并对溢出次数计数(计数值N),1 s内所计总脉冲65536*N+TH1*256+TL1。
2.3显示子程序
首先初始化LCD,再检查LCD是否为忙,不忙就往LCD依次写入相应命令及数据。
2.4SD卡操作流程图
图7 SD卡初始化流程图
对SD卡操作首先要对它初始化,初始化中设置SD工作在SPI模式,初始化流程图如图7。首先延时至少74clock,等待SD卡内部操作完成,再CS低电平选中SD卡,并发送CMD0,需要返回0×01,进入Idle状态,初始结束,之后CS拉高。
完成SD卡的初始化后即可进行读写操作。SD卡读写操作都是基于发送SD卡命令和响应完成的。单块写入时,命令为CMD24,当应答为0时说明可以写入数据,大小512字节。SD卡对每个发送给自己的数据块都通过一个应答命令确认,它为1个字节长,当低5位00101时,表明数据块被正确写入SD卡。在需要读取SD卡中数据的时候,读SD卡的命令字为CMD17,接收正确的第一个响应命令字节为0XFE,随后是512个字节的用户数据块,最后为2个字节的CRC验证码[6-7]。以上就是写读SD卡程序流程。
2.5通信流程图
图8 PC机与终端机 通信流程图
此次通信选用的晶振为11.0592 MHz,通信波特率9600 b/s,对于传输信息的帧,要求有1位起始位,8位数据位,一位标志位(0表示数据,1表示地址)和1位停止位。PC机与终端机通信的程序流程图如图8。从通信协议及数据传输过程可知,单片机在初始化后要保持接收地址状态,当接收到本机地址后回送地址并设置本机为接收数据,接收数据后做出相应反应,最后回到接收地址的状态[5]。单片机串口通信程序流程图如图9。单片机在进行串行通信之前先要完成串口设置,使其通信波特率与PC主机波特率相同,并打开串口接收中断。
图9 单片机串行通信流程图
3系统调试结果
3.1流量显示
本次流量显示包括瞬时流量及累积流量,通过瞬时流量与流量计输出的脉冲频率有一定的比例关系可得到瞬时流量,累积流量是瞬时流量的累计,在程序中f为瞬时流量,则累积流量为s+=f,进而求出瞬时流量和累计流量,假如输入恒定的脉冲频率,得到瞬时流量为0.64M3/S,则第一次累计流量为0.64M3,第二次为1.28M3,第三次1.92M3,以此类推,实物结果如图10,图11。
图10 流量实物结果1 图11 流量实物结果2
3.2流量信息保存
对于瞬时流量及累计流量要对它们进行数据保存,以方便以后查询记录等工作,本设计数据保存在SD卡中,把卡插在电脑上能打开文件并读取数据,如瞬时流量为 0.64M3/S,则通过程序的运行得到如图所示的数据保存结果。
图12 在SD卡中的保存流量数据的mydata.txt文件
图13 打开文件mydata.txt的部分数据
3.3流量信息通讯
图14 在PC机上显示的流量信息
本次记录仪与计算机通信采用RS485串口进行,设定波特率9600bps, PC机采用简单的串口助手就能收到记录仪发过来的流量数据信息,具体数据交换传递如图14所示的串口助手所显示。
4结束语
本文对智能流量记录仪进行了设计,首先对流量变送器输出的脉冲信号进行测量,也就是脉冲频率,进而转换为瞬时流量及累计流量显示在LCD1602上。并且采用了SD卡模块,它集合了FAT文件系统,能向里面写入数据并实时动态保存,达到了对数据进行记录保存,此外,通过RS485模块配上相关协议将数据与PC机进行通信。本设计可以运用到相关领域的流量检测点,为其进行流量显示和记录保存,并可以在相关专业实验装置上进行相关流量的实验。
参考文献
[1]纪纲.流量测量仪表应用技巧[M]. 北京:化学工业出版社,2009
[2]陈非凡.仪表设计基础[M]. 北京:清华大学出版社,2007
[3]康华光.电子技术基础(模拟部分)[M]. 北京:高等教育出版社,2006
[4]王福瑞.单片微机测控系统设计大全[M]. 北京:北京航空航天大学出版社,1999
[5]潘新民.微型计算机控制技术[M].北京:电子工业出版社,2011
[6]马林.数据重现文件系统原理精解数据恢复最佳实践[M].北京:清华大学出版社,2009
[7]程德福.智能仪器[M]. 北京:机械工业出版社,2005
[8]谭浩强.C程序设计[M]. 北京:清华大学出版社,2005