咨询服务热线
0517-86996066
18915186518

热点资讯

咨询热线:

0517-86996066

邮件:

电话:

地址: 江苏华云仪表有限公司

基于ModBus的流量计设计


文章日期:2017-06-17|阅读数:


 

本设计针对一些小型流量的实际应用需求,适用于家用或学校等公共设施。基于STC10F08XE单片机的流量计,可以通过ModBus总线协议与处理器进行通信,实时查询流速、流量,启动和停止流量计工作,大大的提高了主机工作效率,在实际应用中稳定可靠。

引言

现在的工业生产,可以说离开水资源是无法进行的传统的水表只能显示累计流量,不能显示流速,在与处理器数据通信方便还存在很大的缺陷。本系统采用 STC 公司生产的 STC10F08XE 单片机作为主控芯片,通过外部中断的方式采集传感器脉冲信号,经过程序处理,将流速、累计流量实时显示在 12864 液晶屏幕上,并且可以通过按键设置每个流量计的通信 ID、流速比较阈值、对应不同型号传感器时的脉冲系数。通过 RS-485 模块与主机之间进行流速、累计流量的通信,接收主机的指定指令将累计流量清零、启动或者停止流量的累计计数。所有重要参数可以存储到单片机 EEPROM,掉电不丢失数据。

1.系统整体方案设计

本设计主要由电源模块、STC10F08XE 单片机***小系统、LWGY9012 型液体涡轮传感器、JLX12864 液晶显示模块、485 通信模块、继电器控制模块等六部分组成。

1.1 系统设计原理

STC10F08XE 单片机 自带外部中断功能,可以处理LWGY9012 型涡轮传感器 的脉冲信号,涡轮传感器串联在管道中,采用 DC24V 供电,输出 4 ~ 20mA 现场可显示瞬时流量和累计流量。通过手动设置后每个流量计从机都有一个自己的地址,上位机通过发送 ModBus 总线查询和设置指令,对应地址从机根据指令回复上位机流量累计开始停止、流量、流速、或者本机的累计流量清零,地址不对的从机可以收到有关指令,但是不做任何回复,完成整个系统的通信查询、设置。同时每个流量计可以通过 JLX12864液晶实时显示本机的所有参数,方便人工直接查看。部分硬件原理图如图 1 所示。

单片1.jpg

1.2 系统总体方案设计框图

流量计系统结构如图 2 所示,流量计系统由电源模块、传感器模块、RS-485 模块、液晶显示模块、按键模块等组成,电源模块为整个系统供电,单片机开机时,涡轮传感器检测流量,并采集按键信息,可以对脉冲变量、地址等参数进行设置,然后通过 12864 液晶实时显示流速、流量等参数。单片机通过 RS-485 模块与主机(上位机)按照 ModBus 总线协议进行数据通信,完成参数查询、设置功能。多个从机工作方式一样,只是地址不同。

单片2.jpg

2.系统调试及使用

因为在系统功能模块设计和实现部分已经对硬件进行了详细的说明,这里不再赘述,主要介绍软件调试部分。

2.1 主程序流程图

本设计系统程序采用模块化调试,其中流速流量调试逻辑运算量大,花费时间比较多,在流速调试时采用了滤波函数求平均值的算法。使用上位机调试可以免去主机的硬件焊接和程序编写,直接发送查询指令,提高稳定性,方便快捷。主程序流程图如图 3 所示。

单片3.jpg

2.2 流速流量程序调试

流速 v、累计流量 Q 检测计算和显示是本设计的主要功能,也是需要重点调试的部分。累计流量 Q 是通过外部中断对传感器脉冲进行计数,然后根据按键设置的脉冲系数进行计算和单位换算,以 1 秒为单位时间计算一次流量。比如设置脉冲系数为 4000 时,脉冲计数变量对 4000 取模,脉冲计数变量大于 4000 时累计流量加 1 升,余数保留,加入下 1 秒的累计流量换算。

流速的检测计算采用的方法是计算单位时间内的流量,单位时间为 1 秒钟。在定时器中断函数内编写 1 秒钟时间标志位,当标志位为 1时,对临时流量进行记录后清零,通过程序处理换算后显示流速单位为升每分钟。流速计算公式:

 单片4.jpg

考虑到传感器脉冲信号具有波动性,从而导致在液晶显示流速时发生数值跳变,所以在流速计算时采用了滤波函数进行处理,这样可以滤掉明显超过设置范围的不正常流速数据,同时对多个连续流速值进行求和,算出平均流速,这样可以使数据更准确。计算平均流速公式:

根据流速和流量的数学关系,直接对流速进行时间积分就可以计算出流量,***终通过理论计算和实际测试显示结果进行对比,计算出误差,通过硬件和软件的改进,保证误差控制在 2% 以内即可。累计流量检测计算公式:

 单片5.jpg

3.流量计通信协议

本设计与上位机之间通信遵守 ModBus 总线协议,考虑到流速和累计流量的数值具体情况,定义流速的数据长度为两个字节,累计流量的数据长度为 4 个字节,启动和停止的标志位占用两个字节。本设计用到了 ModBus 总线协议的读取和写入功能。本设计通信协议分为主机对从机和从机对主机两部分,具体格式见表 1、表 2。

单片7.jpg

4.流量计功能测试与验证

流量计的通信测试是保证整个系统能够合理稳定与上位机之间进行数据交换的首要工作,所以通信测试是必要的,大部分流量计一般都采用在线检定法。在线检定法要求流量计工作在实际工况状态下,通过将已在授权的标准装置上校难过、具有确定准确度等级的标准流量计 ( 或流量标准装置 ) 串接于流量计的工作回路中,用被测介质对流量计进行检定的方法,因此,这种方法能够可靠地确定流量计的工作性能,能获得较高的检定精度。本设计的流速测试方法就是通过将本流量计与标准流量计串联使用后进行比较,多次测试不同档位的流速情况,测试用时 9 小时,误差控制在 2% 以内。全部能够正常通信,没有出现通信不成功结果。***终测试结果如二维曲线图 4 所示。

 单片8.jpg

累加流量的测试在流速测试之后进行,根据流速和流量的数学关系,因为只要流速测试合格后,直接对流速进行时间积分就可以计算出流量,***终通过理论计算和实际测试显示结果进行对比,误差控制在 2% 以内即可,本次测试进行了 4 小时,流速保持在 10L/h,然后读取流量计的累计流量。累加流量测试结果如图 5 所示。

 

5.结语

 

基于 ModBus 总线的流量计,目前已经整机调试完成,可以稳定工作,已经完成 RS-485 通信测试、流速测试和累计流量测试,然后根据具体问题进行了改进,一代产品已经在工厂实际应用,主机(上位机)可以通过 ModBus 总线协议查询流速流量等参数,并且主机挂靠多个从机流量计时可以根据地质不同完成指定从机的通信和查询。本设计配有 JLX12864 液晶屏幕,可以设置和实时查看有关参数,更加人性化。

通过测试和改善,可以长期发展,不局限为单一设备使用,可以替代家用水表,增加每天限量用水功能,提高大家的节约意识。

 

 



随机推荐