期刊发表网电话

全国热线
022-83699069

应用单片机实现智能流量计的设计

作者: 发布时间:2020-01-22 11:42:49 阅读: 41 次

摘要:本文设计了一种基于单片机的智能流量计量系统,该系统可以实现对流量信息的采集、处理和显示,还可以通过用户指令停止水流控制。系统简单稳定,具有一定的实用意义。

关键词:单片机;智能流量计量;水流控制

 

随着智能计量工具和数字信号处理芯片被大范围的应用到工业控制以及家庭计量系统中,整个计量收费系统正在逐渐向电子化、自动化的方向发展。具体到仪器仪表方面,智能化和可编程化必然是其发展的主流方向。为实现智能流量计的设计,本文采用了一种基于单片机的流量采集和控制系统。

1 系统原理及硬件结构

本文使用AT89C51单片机为核心控制芯片,使用数据采集与A/D转换模块作为作为实时数据采集部分,使用温度传感器、流量传感器等将流量信息转变为数字信息,其他诸如继电器驱动模块以及看门狗模块用户系统功能完善。

首先仪表放大器将温度传感器获得的模拟数据信号进行放大,放大倍数为适合A/D转换器工作幅值为宜。数据经过该模数转换器后进入标度变换模块进行量化,经过量化后的数据和计数器测得的流量信号同时被输送到单片机中,单片机通过内置的算法计算出相应费用,该费用通过显示驱动模块进行显示,可以显示温差、流量和用户余额等信息。

1.1 单片机模块

本文所述单片机型号为89C2501。该单片机具有内置romram,其中rom容量为2K个字节,ram容量为128个字节。同时单片机内置两个16位定时计数器,15I/O口和5个中断源,可以充分满足本文设计需求。

1.2 数据采集及A/D转换模块

流量传感器和温度传感器可以将水流流量和水流温度转换为电信号,该电信号为模拟信号,无法被单片机处理。故需要进行A/D转换。采集到的模拟电信号需要经过滤波放大为可被识别的信号强度,本文使用放大电路为LM324。放大后的信号送入A/D转换芯片TLC2543进行A/D转换,该ADC芯片的引脚P1.0~P1.3分别被设定为片选输入、I/O时钟接口、串行数据输入接口以及串行数据输出接口。其中P1.2引脚的数据输入既包含数据信息又包含控制信息,控制信息主要用于进行通道选择和方式选择等功能设定。

经过转换后的数据信息被输入到单片机中按照预定的统计算法进行流量和温度计量,进而产生用户的流量使用信息。

1.3 显示驱动电路

本文使用MAX7221芯片作为信息显示模块。该芯片可以显示8位数字信息,通过三线串行输入输出的方式与单片机的引脚P1.3P1.4P3.3相连。其中P3.3为片选信号,用于控制显示模块是否工作。本系统中,单片机会按照预定的时间周期向显示模块输出显示信息,该信息按照预定显示模式进行动态显示。

需要说明的是MAX7221芯片可以在单片机数据输入间隔周期内自动完成数据的锁存器读取、译码、放大和显示功能。当获得新的输入数据时才进行内容更新。可以满足显示需求。

1.4 继电驱动电路

部分用户希望在获得所需的使用流量后停止水流,为达到该控制流量的目的,本系统引入继电驱动电路。该电路同样由单片机控制。当单片机获得来自键盘端的输入信号时,根据指令结构判断是否为停止水流操作。若为停止水流工作,则进入中断服务程序程序,该程序通过单片机向继电器发送控制信号,控制继电器闭合或断开。

1.5 其他硬件电路

其他电路模块还有备用电源电路、看门狗电路等。其中,备用电源电路是为了防止断电导致系统停止工作而添加的。该电路会对电池电量进行实时监测,若发现充电电池的电量不足则自动进行充电操作,若冲断完毕则自动停止充电;看门狗电路主要用于防止系统崩溃或者进入死循环时对整个软硬件造成损失而添加的。

2 系统软件设计

按照主流的实现思想,本文的系统程序使用模块化结构进行设计,主要由主程序、数据处理子程序、显示子程序、中断服务程序、流量控制子程序等构成。

系统启动后,首先主程序对各个部分进行初始化,然后进入循环查询状态,对用户行为和各传感器进行状态查询。若单片机接收到来自用户或者传感器的数据时,主程序进入工作状态。单片机会按照预定算法对传感器部分输入的数据进行运算和分析,整理成可用于显示的流量信息,该流量信息通过显示子程序按照预设周期被输送到显示电路,进行流量实时显示。同时,主程序继续对中断端口进行监听,若发现来自用户的停止水流请求,则进入流量控制子程序,该程序可以断开水流。此时,系统认定用户的取水过程完毕,然后对用户行为产生的流量信息进行统计,通过显示子程序向用户显示,经过若干个时间周期后该信息被清除,主程序重新进入循环查询状态。

为提高系统的抗干扰能力,本文在软件方面同样采取了相关的应对策略。

首先是使用看门狗电路,对程序的不同位置添加SETB P3.7指令,该指令会间隔若干个周期后对定制器进行刷新,以控制程序的执行时间。若程序出现死循环或者无法响应,则看门狗程序自动将系统复位,重新进行流量计量。

其次是对数据进行多次采样取平均,以避免干扰对采样数据准确性的影响。

最后是在非程序区设置填满LJMP #0000H强制跳转指令,控制失控程序进入陷阱,强制进入初始状态。

 

总结

本文设计的基于单片机的流量计量系统实现简单,功能满足实际使用需求,稳定性能较好,成本较低,具有一定的实际使用价值。

 

参考文献

[1] 孙昌权.基于AT89C52单片机的智能流量积算仪设计[J].广西轻工业,2010,26(12)

[2] 郭蕊.单片机在家庭采暖计量装置中的应用[J].华章,2011(19)

[3] 王杰,文斌,高瑜翔.水流流量计的设计与开发[J].成都信息工程学院学报,2006,21(z1)

[4] 张志荣.智能化流量计量系统的研究与开发[J].电子技术应用,2001,27(2)