python信号处理库_python开源协议

python信号处理库_python开源协议本发明涉及的是一种在用电采集终端上实现标准MBUS协议接口用来采集水表、热量表、气表数据的方法,具体涉及一种基于MBUS标准协议接口模块采集水、热、气表的方法,属于用电信息采集领域。背景技术:我国正处于自动化楼宇建设事业蓬勃发展的时期,远程抄表系统作为其中重要的一环,正朝着自动化及智能化方向发展;MBUS(仪表总线)总线作为一种通讯方式,以其高性价比,在水热测量仪表中得到了广泛的应用,大大推动了远…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

python信号处理库_python开源协议

本发明涉及的是一种在用电采集终端上实现标准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为模数转换器。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181534.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker快速安装fastdfs服务springboot访问

    docker快速安装fastdfs服务springboot访问拉取镜像dockerpullmorunchang/fastdfs运行tracker跟踪器dockerrun-d–nametracker–net=hostmorunchang/fastdfsshtracker.sh运行storage存储器【注意:修改IP为自己的IP端口不变】dockerrun-d–namestorage–net=host-eTRACKER_IP=192.168.61.200:22122-eGROUP_NAME=gr

    2022年6月24日
    26
  • html 状态 304,网站频繁出现304状态码的原因

    html 状态 304,网站频繁出现304状态码的原因原标题 网站频繁出现 304 状态码的原因很多 SEOER 经常说网站日志反回值 304 是怎么回事 经常会碰到站长们抱怨蜘蛛抓取返回码老是 304 状态 且抓取的次数越来越少的问题 搜索引擎为了自身的用户体验 会想尽办法来提高检索调用率 准确性 新鲜度 这将导致引擎不得不把主要的精力放在拥有优质内容源的网站上 惟其如此 搜索结果的质量才能更加符合搜索者的体验 由此我们联想到 搜索引擎爬虫会更加青睐内容源更新频繁

    2025年12月2日
    7
  • sql2012安装错误代码0x84b10001_sql2008配置系统未能初始化

    sql2012安装错误代码0x84b10001_sql2008配置系统未能初始化【错误描述】Sql2008安装启动失败,弹出 配置系统未能初始化0x84B10001【解决方法】先安装sql2008sp3补丁.然后再安装Sql2008,最后再装一次sp3补丁.

    2025年10月23日
    4
  • PLSQL注册码

    PLSQL注册码进入帮助->注册,输入:产品编号:kfsvzt6zh2exaxzxgjk44rv5kp2yp68vgk序列号:186220口令:xs374ca直接获得9999-12-31,美滋滋

    2022年7月13日
    25
  • springboot启动后自动停止_redis启动停止重启

    springboot启动后自动停止_redis启动停止重启springboot项目启动后自动停止,也引入了jar包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>但是启动仍然自动停止,怎么搞?在启动类上增加捕获异常并打印日志publicstaticvoidmain(Strin

    2025年8月30日
    6
  • 2021微信小程序反编译(小程序反编译工具)

    该网站是小程序反编译社区,永久免费开放下载所有反编译的小程序https://unpack.marchccc.top/

    2022年4月12日
    336

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号