本发明涉及的是一种在用电采集终端上实现标准MBUS协议接口用来采集水表、热量表、气表数据的方法,具体涉及一种基于MBUS标准协议接口模块采集水、热、气表的方法,属于用电信息采集领域。

背景技术:

我国正处于自动化楼宇建设事业蓬勃发展的时期,远程抄表系统作为其中重要的一环,正朝着自动化及智能化方向发展;MBUS(仪表总线)总线作为一种通讯方式,以其高性价比,在水热测量仪表中得到了广泛的应用,大大推动了远程抄表系统的发展。

目前,许多集成电路制造商提供了MBUS接口芯片,如德州仪器的TSS 721;这些芯片在MBUS通信类设备中得到了广泛的应用,但对于一些对成本敏感的设备,采用这类芯片无疑会增加设备制造成本。

目前,各类智能测量仪表中均采用单片机控制设备运行,而大部分单片机中都具备ADC(模数转换器)模块,因此,本文提出一种利用单片机(STM32F407)的ADC功能,配合外部MBUS接口电路,实现与水热表的MBUS通信。

技术实现要素:

本发明提出一种基于MBUS标准协议采集水、热、气表的方法,其目的旨在方便与具备MBUS接口的水、热、气表进行通信。

本发明的技术解决方案:基于MBUS标准协议采集水、热、气表的方法,该方法利用了基于MBUS标准协议接口模块,基于MBUS标准协议接口模块的结构包括单片机、模数转换器、发送电路单元、接收电路单元;其中,单片机串口的发送引脚与发送电路的输入引脚相连,模数转换器的模拟量输入引脚与接收电路的发送引脚相连,模数转换器的输出引脚与单片机串口的输入引脚相连,发送电路的输出引脚和水、热、气表MBUS接口的输入引脚相连,水、气、热表MBUS接口的输出引脚和接收电路的输入引脚相连。

本发明的优点:

1)将基于MBUS标准接口协议用于低压电力线载波抄表终端,使得用电信息采集可以方便的抄读MBUS接口水表、热表、气表等;其电路带动负载多,抗干扰能力强、电路结构简单,在恶劣的情况下也能保证数据正常接收和发送;

2)接收电路采用AD值采样来解析数据,在软件实现方便也不复杂,可选的单片机硬件要求也不高,即时通信失败短时间能恢复,保证数据可靠;

3)不采用专用的MBUS接口芯片,而采用以STM32F407为中心,配合简易的外围电路来模拟MBUS数据收发,实现与从站的通信,因为接收外围电路简化,降低了成本,有一定的经济效益。

附图说明

附图1是本发明的整个产品框架原理示意图。

附图2是本发明的应用原理示意图。

附图3是发送电路单元的结构示意图。

附图4是接收电路单元的结构示意图。

附图5是ADC的输入引脚电压波形。

附图6是从站发送的报文波形图。

附图7是整个算法的工作流程图。

具体实施方式

基于MBUS标准协议采集水、热、气表的方法,该方法利用了基于MBUS标准协议接口模块,基于MBUS标准协议接口模块的结构包括发送电路单元、接收电路单元;其中,单片机串口的发送引脚与发送电路的输入引脚相连,模数转换器的模拟量输入引脚与接收电路的发送引脚相连,模数转换器的输出引脚与单片机串口的输入引脚相连,发送电路的输出引脚和水、气、热表MBUS接口的输入引脚相连,水、热、气表MBUS接口的输出引脚和接收电路的输入引脚相连。

所述的发送电路单元包括电阻、电容、肖基特二极管、稳压二极管、NPN三极管、P道沟场效应管,同时外部接入直流28V和12V电源,MCU发送端输入高电平时,发送电路输出28V, MCU发送端输入低电平时,发送电路输出12V,通过控制单片机发送引脚达到向外输出数据的目的;其中,R19为5Ω电流采样电阻,作用是将电流信号转化为电压信号,这个采样电阻会跟着负载的不同R19上的压降会有所不同,并传送给接收电路;当MBUS发送高电平信号时,V5导通,VGS(场效应管的栅极与源极间电压)电压为,此时PMOS(P道沟场效应管) Q4导通,MBUS0 TX(远程抄表系统发送)端输出高电平;当MBUS发送低电平信号时,V5截止,VGS电压为0V,此时Q4截止,MBUS0 TX输出低电平(12V);R19为5Ω电流采样电阻,采样电阻上的电压信号MBUS0-经运算放大器后可直接供MCU进行ADC(模数转换器)处理或经比较器转换成TTL(逻辑电平)电平后供MCU(单片机)处理;这个采样电阻会跟着负载的不同R19上的压降会有所不同。

所述接收电路单元包括采样电阻、电容、运算放大器;外部接入直流5V电源,电压信号经过放大、偏置后,通过模数转换器输入到单片机的接收引脚;在MBUS发送电路中,MBUS接收端输入电流信号为0~20mA,采样电阻上的MBUS0-(远程抄表系统接收端)幅值为,然后该信号输入到MBUS接收电路中,通过运算放大器对信号进行20dB放大,放大后信号幅值为1V,运算放大器的型号优选SGM321。

所述接收电路单元中有隔直电容C90,隔直电容C90将MBUS总线上因为静态电流造成的直流偏置信号隔除,电阻R76、R77、R46构成运放直流偏置电路,直流偏置电压为,运算放大器放大倍数为倍,直流偏置电压经过运算放大器放大约为1.2V,当MBUS0-端接收到信号时,经过C90电容耦合,再经过放大器放大,将信号直接输入MCU的ADC(模数转换器),由MCU处理。

算法作为MBUS数据功能的一部分,其作用是将模拟信号转化为数字信号,所述接收电路单元和以下算法相互配合工作:根据MBUS总线协议,主站通过检测总线上是否出现11-20mA脉冲电流确定接收“0”还是“1”,当有脉冲时,表示“0”,否则为“1”,结合接收电路,当ADC检测到至少0.5V的电压跳变时表示“0”,否则为“1”。

经测试,ADC的输入引脚电压波形如图5所示;整个从站发送报文波形如图6所示,从图中可以看出,输入电压逐步下移,但电压跳变值保持稳定。

根据上述接收电压波形特点,整个算法的原理如下:当主站发送数据前,检测总线上空闲时的电压值,并作为接收时判断起始位的参考电压值;数据发送完成后,对接收数据进行解析,得到正确数据供单片机使用;

具体解析过程如图7所示:在ADC看门狗模式中设置预期的阈值上限值,使能ADC中断,启动ADC采样;当总线电压变高,并超过阈值上限时,则会触发ADC中断;在ADC中断服务程序中,关闭ADC中断,并启动定时器中断,中断周期为半个bit位的时间,用来采集起始位的电压值,在定时器中断服务程序中,计算电压值,比参考值电压大0.5V以上则视为数据起始位,并启动周期为1个bit位时间的定时器中断,采集数据位,校验位及停止位的电压值;否则,重新检测起始位。

为了避免信号中噪声的影响,对于起始位及后面的数据位、校验位、停止位中的每个bit,在其传输过程中均多次采样,采样次数因波特率的变化而变化,然后采用中位值平均滤波算法处理采集到的数据,得到一个可靠的电压值。

为了能够自适应不同的负载,MBUS主站每次发送数据前,采集电压值作为参考值,并在随后接收的过程中,将检测到的每个bit电压值与参考值作比较,并将此电压值作为新的参考值,与下一个bit电压值作比较。通过计算电压值的变化来判断bit位值,能够保证在不同的负载下,均能正确接收从站的数据。

所述MBUS为远程抄表系统仪表总线,VGS为场效应管是栅极与源极间电压、TTL为逻辑电平、MBUS0 TX为远程抄表系统发送端、MCU为单片机、ADC为模数转换器。

python开发mbus程序_基于MBUS标准协议采集水、热、气表的方法与流程相关推荐

  1. python 打卡程序_基于python35,使用基于Linux的任务命令,CNIC自动打卡程序

    喵喵打卡 喵喵打卡是基于python3.5的任务型的打卡程序,需要在电脑终端开启定时任务.定时打卡上班或者下班,防止使用中忘记打卡. 支持多人随机打卡,随机时间要根据任务的开始的时间稍微计算一下. 程 ...

  2. java抢单功能_基于消息队列的高并发抢单功能实现方法与流程

    本发明涉及嵌入式软件中间件,具体涉及一种基于消息队列的高并发抢单功能实现方法. 背景技术: 中间件是一种独立的系统软件或服务程序,分布式应用系统借助这种软件在不同的技术之间共享资源,管理计算资源和网络 ...

  3. 大数据催生智慧园区_基于人工智能的智慧园区异构设备统一接入方法与流程

    [技术领域] 本发明涉及智慧园区建设技术领域,尤其涉及基于人工智能的智慧园区异构设备统一接入方法. 背景技术: 智慧园区是一种以互联网.物联网.云计算.大数据等先进信息技术为支撑,在信息服务等各个环节 ...

  4. python开发mbus程序_关于MBUS MSG指令

    在MBUS MSG指令里有一个错误位,我看了手册上说1-8的低位,其中0是无错误,那Q0.0有输出到底是对还是不对,还有Q0.2是不用的意思,它是一直为1的吗?我现在程序测试过程中,发现Q0.1和Q0 ...

  5. python收集数据程序_基于Python语言的互联网数据收集软件的设计

    软件建立所需的工具及其版本 编写环境与 IDE Python3.5.2 Windows10 PyCharm 2016.3 Sublime Text3 第三方库与版本号 Requests 2.12.1 ...

  6. python开发bs系统_基于BS架构的招聘管理系统的开发

    基于 B/S 架构的招聘管理系统的开发 近年来 , 伴随着中国在全球经济的地位日益强大 , 中国国内企业处于迅速发 展阶段.企业的发展离不开人才的引进和更新 , 而这也相继带来了人力资源管理 的巨大发 ...

  7. python开发语音录入_基于python实现语音录入识别代码实例

    这篇文章主要介绍了如何通过python实现语音录入识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.介绍 1.第一步录音存入本地 2.调用百度 ...

  8. python开发项目管理平台_基于Python的软件项目管理系统.doc

    摘要:软件项目管理系统是为了使软件能按照预定的进度和质量顺利完成,而针对开发人员进行管理的系统,目的是使开发人员通力合作,相互配合,以低成本完成目标.系统包括项目开发人员基本信息管理.软件进度查看和软 ...

  9. qam映射c程序_基于星型24QAM映射的光概率成型编码方法与流程

    本发明涉及一种光概率成型编码方法,特别是一种基于星型24QAM映射的光概率成型编码方法. 背景技术: 接入网是指用户终端与主干网络之间的所有设备,长度从几百米到几公里不等,因而常常被称为"最 ...

最新文章

  1. 导师发现我刷短视频,给我发了一条链接
  2. 苹果电脑无法用普通域用户加入域,用域管理员却可以,怎么破!?
  3. JS之返回字符串最后出现的位置lastIndexOf
  4. angularjs 表单校验指令_angular4.0的模板式表单、响应式表单及其错误提示
  5. HDU 2588 GCD 【Euler + 暴力技巧】
  6. java api文档_JAVA浏览器控件JxBrowser v7.3上线!最新API文档打包带走
  7. 算法设计 分析篇(摊销分析)
  8. reticulate: R interface to Python
  9. 如何在IDEA中导出jar包
  10. 2018 中国人口研究,净增长500多万人。5年后注定人口负增长
  11. AtomicInteger类下的incrementAndGet
  12. java double丢失精度问题,加减乘除计算出错出现99999
  13. TCP BBR之Startup gain的另一种推导法以及最新进展
  14. 软件使用说明网站+IT新闻评论
  15. 使用ffmpeg实现单线程异步的视频播放器
  16. ABB机器人、PLC、C#上位机全套程序,项目用的是ABB蜘蛛机器人,六轴用的程序开发都一样
  17. 委托开发合同与合作开发合同的区别
  18. ctfshow php特性(89——150plus)
  19. 多段视频画面四周同时插入光晕效果并导出的详细步骤
  20. 电子证件照修改合适宽高品质文件大小

热门文章

  1. java九宫格问题课程设计_课程设计九宫格数独.doc
  2. 搜狗输入法突然变成繁体怎么解决?
  3. 全球与中国IC托盘行业调查与未来发展趋势研究报告
  4. 整钱换零钱问题。把1元换成1分、2分、5分的硬币,共有多少种不同的换法(C语言)
  5. Mysql的IFNULL 和NULLIF用法小结
  6. android使用自己定义属性AttributeSet
  7. 排他平方数(使用C语言基础)
  8. VMware NSX 原理与实践----逻辑路由以及二层网络
  9. 初中数学老师计算机培训反思,初中数学老师培训心得体会优秀范文五篇
  10. intel+android+平板,Intel+Android强强联手 蓝魔W32平板评测