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为模数转换器。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • OJ术语: AC、WA、TLE、OLE、MLE、RE、PE、CE「建议收藏」

    OJ术语: AC、WA、TLE、OLE、MLE、RE、PE、CE「建议收藏」起因看到一些术语不清楚是什么意思,上网查阅相关资料后,归纳如下。汇总简写全称中文称谓OJOnlineJudge在线判题系统ACAccepted通过WAWrongAnswer答案错误TLETimeLimitExceed超时OLEOutputLimitExceed超过输出限制MLE

  • php avc,什么是AVC编码?简述H.264概念和发展

    php avc,什么是AVC编码?简述H.264概念和发展频编解码技术有两套标准,国际电联(ITU-T)的标准H.261、H.263、H.263+等;还有ISO的MPEG标准Mpeg1、Mpeg2、Mpeg4等等。H.264/AVC是两大组织集合H.263+和Mpeg4的优点联合推出的最新标准,最具价值的部分无疑是更高的数据压缩比。在同等的图像质量条件下,H.264的数据压缩比能比H.263高2倍,比MPEG-4高1.5倍。以下我们简单介绍H.264的…

  • 内核置顶[置顶] Linux 内核定时器

    内核置顶[置顶] Linux 内核定时器

  • char (*p)[]和char *p[]的区别[建议收藏]

    理解的关键在于:1.[]的优先级高于*,(*p)[]理解为指向一个数组,*(p[])存放指针的数组2. char(*p)[SIZE]:指向一维数组的指针,一维数组只能有SIZE个元素

    2021年12月18日
  • AdventureWorks2008 数据库安装

    AdventureWorks2008 数据库安装我使用的操作系统是win8.1,由于对早前安装的sqlserver2008的兼容性不太好,要安装对应的servicepack来解决一下这个问题。如何使用SQLServer在Windo

  • 关于easy的短语(facemock框架)

    作为一个月薪3000的屌丝民工,今天也开始写自己的微博了,打发一下dota之外的时光。写了一年的flex,虽然很是熟练,但是有啥用呢。新版flash的普及上不去,旧版的渲染太慢。还是改行好了。最近开始研究有啥好的东西,之前看了一下unity3d,但是发现自己得先去学3dmax,可是看了3dmax发现高手实在太多了。要学好也不知道要多久,况且自己的美术功底实在太差。专研一下后台吧,发现自己编码解码不

发表回复

您的电子邮箱地址不会被公开。

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