历史上的今天
返回首页

历史上的今天

今天是:2025年05月17日(星期六)

2021年05月17日 | 基于无线通信的涡轮流量计

2021-05-17 来源:eefocus

0 引言

流量测量在工业生产中有非常重要的地位,流量测量仪表的研究和开发应用有着深远的意义。涡轮流量计是流量测量仪表中重要的仪表之一,该流量计具有测量范围宽、重复性好、压力损失小等特点,应用于污水、化工、医药、造纸、食品等各个行业。


本文设计的涡轮流量计以超低功耗单片机MSP430为核心,利用MSP430单片机的片内定时器,捕捉涡轮传感器由于液体流过时叶片转动产生的脉冲信号,对传感器的数据进行处理,完成了对流量信号的测量,并且能够通过设定阀门开关的上下限后,系统通过对电机的控制驱动阀门的动作。同时,通过无线模块实现主从控制器之间的数据和命令传送,通信采用“主-从”方案,从控制器将传感器采集到的流量信号传送给主控制器,主控制器发送命令控制从控制器的测量、阀门的开、关等动作,使控制系统更加智能。


1 系统介绍

该涡轮流量计不仅可以实现对瞬时流量、累积流量的测量,而且还可以通过设定一定数值的流量来控制阀门的动作。在设计中,采用了主控制板和从控制板,主处理器的主要工作是发送命令控制从处理器中阀门的动作,另一方面也通过CDMA网络将数据传送给远距离的控制室进行进一步的数据处理,同时也可以接收来自控制室的命令。而从处理器主要是控制传感器模块定时检测流量,在液晶上显示并返回流量值给主处理器。只有主、从处理器结合起来,才可以协调地控制传感器检测,阀门的开或关,无线模块之间通信以及与控制室的上位机的通信。系统的通信原理框图如图1所示。


在选用微处理器时,考虑到流量计应用在工作现场的管道中,取换电池不方便,采用MSP430低功耗单片机作为其核心微处理器。充分应用单片机的低功耗特性,采用休眠模式,降低用电量,可以减少换电池的次数。由于主控制器需要两个外接通信模块,需要较大的数据存储空间,选用了F149;从处理器需要的存储空间相对要小一些,选用的是F147。主从控制器原理框图如图2所示。


传感器选用LWGY型防爆传感器,可在有爆炸危险的环境中使用。流体流经仪表时,推动表内叶轮旋转,然后通过叶轮与信号检测器之间的磁耦合,将流体的流速转换为电脉冲信号输出,通过信号调理电路放大整形后输出给单片机,由定时器计数。流量和脉冲信号频率的换算部分,均由软件处理。


显示部分选用的液晶型号是12232。它是一种图形点阵液晶显示器,带中文字库驱动,背光可通过电位器调节。LCD的第一行显示的是4位瞬时流量,第二行显示的是8位累积流量。


主从控制器的菜单部分都由3个按键组成,以实现阀门的上下限,流量计各功能的设置及转换。


2 系统硬件设计

2.1 主控制器部分

系统采用TI公司的MSP430F149单片机。该单片机有60 KB FLASH,2 KB RAM,具有强大的数据处理能力,具有3个捕获/比较寄存器的16位定时器A,具有7个捕获/比较寄存器的位数可设置的定时器B,USART以及ADC等片内外设。


单片机的连接图如图3所示。




2.2 无线通信模块

无线收发模块使用的是西安达泰电子的DTD462。考虑到由于流量计的工作场所,系统中考虑增加无线收发模块。一般而言,涡轮流量计都是安装在位于一些危险的无人看守的工作现场的密封管中。从控制器将在管道中测得的流量数据通过无线模块传送给主控制器,再通过CDMA模块发给远距离的控制室。避免了只使用一个控制器,传送给控制室时由于CDMA网络覆盖不到而没有信号的现象发生。调试时,通信距离在500 m以内,可以保持很稳定的数据传输。


无线模块的波特率设置为9 600 b/s,则两个相邻字节之间的时间只有1 ms左右。因此数据帧接收过程要求较高的实时响应。一般通信规约都要求请求帧发出后0.1 s内返回数据帧,所以数据帧处理对实时性要求并不高。这种情况可以利用串口中断将数据存入FIFO内,在数据帧接收完毕后置相应的标志位。在主循环内查询到请求帧标志位后解析并返回数据。这要求主循环周期小于0.1 s。通信接收过程依靠中断,相邻两次中断仅隔1 ms的时间。在中断内将接收到数据压入FIFO中仅需数十微秒,因此1 ms时间足够,保证不会漏掉数据。按10个字节计算数据发送过程若利用FIFO,仅需数百微秒,若采用查询等待方法依次发送数据,需要10 ms时间。消息发送至少要以3.5个字符时间的停顿间隔开始。在程序中设置一个帧计时器,当线路上有数据时就刷新该计时器,线路空闲时则停止刷新,计时时间达到3.5帧时计时器被软件清除。


3 系统的软件设计

系统的整体流程图如图4所示,CPU休眠在LPM3模式下,每隔62.5 ms被BasicTimer唤醒一次处理主循环内的任务,以满足服务周期的要求。串口接收采用中断加缓冲区机制,当收完一个有效的请求帧后,中断内置标志。当该标志被主循环内的通信任务函数查询到后,清除标志并返回流量数据。

在实现将传感器测得的数据返回给主控制板的功能时,采用了ModBus通信协议,将流量传感器模块看作是从控制器(下位机),将另外一块看作是主控制器(上位机),上位机与下位机通过查询-回复方式进行,实现两者之间的通信。


依据该方式,将涡轮流量传感器模块加入RS 485通信接口,并连接一个无线收发模块,与主控制板的收发模块对应,通过ModBus通信协议,将发送、查询、回应、处理等多环节编写为程序,实现软硬件结合,完成无线数据传输任务。


通信只能由上位机发起,下位机模块接收到查询指令后根据指定的格式返回对应的数据。下位机模块在没有收到查询指令时处于休眠状态,收到查询数据后,启动数据采集,完成将数据进行封装发往上位机。


4 结语

本文采用的流量计增加了CDMA无线通信功能,通过CDMA数据业务功能实现了流量计的数据远程抄取、参数设置以及远程控制等功能。通过CDMA把流量计内的数据汇集到服务器,系统管理软件根据收到的实时数据,能快速生成流量计工矿的统计分析,实现流量计工况的实时远程监控。并且系统由于包括主控制板和从控制板,避免了只使用一个控制器,传送给控制室时由于CDMA网络覆盖不到而没有信号的现象发生。

推荐阅读

史海拾趣

DDK公司的发展小趣事

DDK公司在发展过程中,始终牢记社会责任,积极履行企业公民的义务。公司积极参与公益事业,关注环境保护和社会发展,为社会做出了积极贡献。同时,DDK公司还积极推动行业健康发展,与同行企业共同维护市场秩序和公平竞争环境。这种社会责任的担当,让DDK公司在电子行业中树立了良好的企业形象。

方舟(ARKLED)公司的发展小趣事

方舟公司不仅关注经济效益,还积极履行社会责任。公司积极参与环保事业,推动绿色生产,减少能源消耗和废弃物排放。同时,方舟公司还关注社会公益事业,捐资助学、扶贫济困,为社会和谐发展贡献了一份力量。

Coiltronics公司的发展小趣事

随着全球化趋势的加强,Coiltronics公司开始将目光投向国际市场。公司制定了一系列国际化战略,包括在海外市场设立分支机构、与当地企业合作等。通过这些举措,Coiltronics成功将其技术和产品推向国际市场,进一步扩大了公司的业务范围。同时,国际化战略也带来了公司管理、文化等方面的变革,为公司的长远发展注入了新的活力。

Engelking Elektronik GmbH公司的发展小趣事

作为一家有社会责任感的企业,Engelking Elektronik始终关注环保和可持续发展问题。公司积极采用环保材料和清洁能源,减少生产过程中的污染排放和资源浪费。此外,Engelking Elektronik还积极参与公益活动和慈善捐赠,回馈社会。公司坚信只有关注社会责任和可持续发展才能实现企业的长期繁荣和稳定。

ECI公司的发展小趣事

面对日益激烈的市场竞争,ECI公司积极开拓国际市场。公司成立了专门的国际市场部,负责海外市场的调研、开发和推广。通过深入了解不同国家和地区的市场需求和文化差异,ECI公司成功推出了符合当地消费者需求的电子产品。同时,公司还与多家国际知名企业建立了长期稳定的合作关系,进一步扩大了市场份额。

Bomar公司的发展小趣事

近年来,随着物联网和人工智能技术的快速发展,智能化物流成为了电子行业的新趋势。Bomar公司敏锐地捕捉到了这一市场机遇,开始将业务范围拓展至智能化物流领域。通过与深兰科技等公司的合作,Bomar公司成功推出了智能化物流、仓储装备以及清洁机器人等产品,并成功销往欧洲市场。这些产品的推出不仅提升了Bomar公司的市场竞争力,也为公司的未来发展开辟了新的增长点。

问答坊 | AI 解惑

任意整数分频,占空比为50%(VHDL)

--希望能对大家有帮助 --**************************************-- --程序名:任意整数分频,占空比为50% --**************************************-- library ieee; use ieee.std_logic_1164.all; entity clk_div is generic(n:integer:= ...…

查看全部问答>

单片机最小系统

本帖最后由 paulhyde 于 2014-9-15 09:20 编辑 一般竞赛都用什么单片机最小系统?51单片机还是msp430?51是at89s51还是89c51?两个有什么区别吗?  …

查看全部问答>

关于串口驱动

个人理解 微软显示串口驱动的MDD层 自己要实现PDD层 今天在PB5.0下看到这个 D:\\WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\SERIAL中有一个SERPDDCM文件夹 看名字好像是串口驱动的PDD 想问下这是个什么东西 如果是PDD 那写串口驱动还需要做些什么 ...…

查看全部问答>

请问NK调入内存并开始执行后,为何还要读FLASH?

如下所示,EBOOT已经把NK调度到内存,并且已经跳到NK去执行。为什么NK还要初始化FLASH,并且要花十几秒的时间去读FLASH? Windows CE Kernel for ARM (Thumb Enabled) Built on Feb  8 2007 at 23:36:51 ProcessorType=0920 &nbs ...…

查看全部问答>

我修改 power button 驱动,注释掉了PowerOffSystem(); 可仍然有效果,很奇怪

我修改 power button 驱动,注释掉了PowerOffSystem(); 可仍然有效果,很奇怪 // Soft reset and standard suspend-resume both start with suspend for now.                  &nbs ...…

查看全部问答>

关于驱动安装成功后出现的未知设备问题

目前开发完一个针对philips saa7130的视频采集驱动,安装完后,系统提示出现“未知设备”,但卡的驱动已经成功装上。分析后发现“未知设备”是saa7130芯片支持的TV tuner,但目前我们的用户不需要该功能,所以想在装上驱动后,不再出现提示用户安装 ...…

查看全部问答>

LPC9221 io口设置与使用

我有个nxp p89lpc9221芯片,用来控制7段数码管显示,用ICP口编程。 我现在设置p0.0,p0.1,p0.2为开漏输出;P0M1 |= 0x07;   P0M2 |= 0x07; 三个脚都上拉到3.3v; 然后设置三个脚输出为0: sbit p00 = P0 ^ 0; sbit p01 = P0 ^ 1; sbit ...…

查看全部问答>

基于stm32F103+enc28j60+路由+家庭宽带的物联网全套资料

      基于stm32F103+enc28j60+路由+家庭宽带的物联网是参照野火大神的例程以及自己以前建网站经验,主要在STM32内编写一个很小的网页服务器,只有一页,在网页中可以实现LED控制,以及温度、湿度在网页上显示。     ...…

查看全部问答>

Unable to handle kernel paging request at virtual address的产生原因

问题: 我在移植linux-2.6.14 到s3c2410时也出现了类似错误,先移植好网卡后,在移植LCD,出错 s3c2410_bwscon value 22111910 s3c2410_bankcon2 value 7ffc ax88796 extIRQ = 12, IRQtype= 4 Unable to handle kernel paging request at virt ...…

查看全部问答>

关于ADC 采样的时钟问题?

本帖最后由 s364147694 于 2014-4-7 14:15 编辑 一次ADC采样转换时间是 采样时间+转换时间,公式是= (4 x ADC12CLK x N) + ( 13 xADC12CLK/Fadc12clk)) 但是采样的时钟和转换始终是一个吗??公式里的ADCLK是指分频后的时钟还是没分频的?? 最 ...…

查看全部问答>