DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 181|回复: 0
打印 上一主题 下一主题

基于Modbus-RTU协议的交流电压峰值表设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-22 00:19:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘 要:交流电压峰值检测是工业用电安全监控中的一项重要指标,介绍一种以MSP430F449,MAX1270 和RS 485总线硬件为基础,基于Modbus-RTU通信协议的智能交流电压峰值表测量系统的设计,且成功应用到交流电压的峰值检测中。该系统具备便携、低功耗等特点,易于与电脑或符合Modbus-RTU协议的控制器连接,可方便地组建远程监控系统。关键词:Modbus协议;交流电压峰值;MSP430F449;MAX12700 前 言    交流电压峰值是指交流电压的最大值(正峰值)或最小值(负峰值),是工业生产过程中一个非常重要的参数。为保证用电设备的安全,对供电电压的峰值进行检测具有重要意义。测量峰值的方法主要有示波器法、间接计算法、专用峰值表法。利用示波器虽然可直观地显示电压的波形和峰值,但在成本和便携性上示波器均不能作为现场监视设备;间接计算法只适用于标准正弦波,实用性不大;专用峰值表大都存在体积较大,携带不便,且与电脑或控制设备相连不便的缺点。针对以上缺点,采用MSP430系列单片机、MAX1270模/数转换器,并利用Modbus-RTU 协议,成功地开发出了低成本、便携、智能的峰值表设备。1 测量原理    由于供电电网的波动及电网的电压波形是一种非标准正弦波,其峰值不能通过平均值或有效值间接计算。该系统采用对非标准正弦波在一个周期内多次采样,并通过冒泡法比较采样值,得到电压的最大值或最小值作为其正峰值和负峰值。显然只要采样密度适当,完全可以得到真实的电压峰值。我国交流电的频率为50 Hz,设计中采样频率设置为10 kHz,即每个交流波形周期中采样200次,足以正确地反映出电压的变化情况,从而确定电压的峰值。2 硬件设计    设计中,以MSP430F449单片机、MAX1270模/数转换器为主要器件。前端A/D输入采用电阻分压方式将交流电进行降压;采用RS 485芯片作为通信接口芯片,硬件框图如图1所示。

2.1 A/D输入调理保护电路设计    以220 V交流电为例,其理论峰值电压为311 V,但考虑到电网波动、正弦波失真等,电压峰值很可能超过311 V,这时可根据工作经验和实测情况,选定一个电压值作为电压可能达到的最大值,假定为500 V。如果MAX1270的输入范围设置为±5 V,则分压电阻的分压比应设置为100:1。分压后的电压经过运放缓冲后作为A/D芯片的输入,为保护后级A/D转换芯片,设置两个稳压二极管组成限幅电路。输入调理电路如图2所示。


                          
                       
                          
                                2.2 A/D转换电路     A/D转换电路采用MAX1270芯片,MAX1270是8通道、多量程双极性输入、串行输出、逐次逼近型12位A/D转换器,最高采样率为110 kS/s。在单+5 V电源供电下,可通过编程实现±5 V,±1O V,5 V,10 V量程。其中,双极性输入十分适合作为交流电压测量。    MAX1270转换电路如图2所示,由MSP430F449的I/O口线控制MAX1270的串行接口。由于MAX1270在5 V电压供电下,输出4.5 V以上高电平,而MSP430F449的I/O口电平为3.3 V,因此必须附加一个接口芯片,以实现5~3.3 V的电平转换,这里采用MAX3001双向电平转换芯片。A/D转换电路如图3所示。

2.3 RS 485接口电路    该设计采用RS 485总线,可通过电缆或光纤将信号有效地远传上千米,配合Modbus-RTU协议,可方便地与符合Modbus-RTU协议的控制设备连接。设计中采用MAX3485芯片作为RS 485接口芯片,电路如图4所示。

3 软件设计    设计中,主要的软件模块包括A/D转换,Modbus-RTU协议和串口编程。对于串口编程不再赘述,主要对MAX1270和Modbus-RTU协议进行说明。3.1 MAX1270编程    MAX1270的控制字格式如表1所示,最高START为起始位,保持为“1”;SEL2~SEL0为输入通道选择位;RNG,BIP分别为量程和极性选择位;PD1和PD0为掉电和时钟模式选择位。各位的具体意义请参考MAX1270数据手册。该设计中,MAX1270设置为:量程10 V,双极性输入(即实现土5 V测量)、外部时钟25 CLK/s正常操作模式,使用通道CH0作为输入通道,控制字的格式为10000101。






                          
                       
                          
                                3.2 Modbus-RTU协议    Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其他设备之间可以通信。Modbus -RTU是Modbus协议的一种传输模式,在该模式下,消息中的每个8 b包含2个4 b的16进制字符。Mod-bus协议的核心程序是CRC校验程序的编写。该系统中采用CRC-16校验法,具体程序实现如下:



3.3 其他重要子程序    程序中采用定时器中断触发每次采样,保证采集周期的精度,同时每次采集时都以过零点作为采集数据的开始。这两点都有利于提高系统精度。

4 测试结果    通过施加标准正弦波、非标准正弦波、三角波测试,可使该表的峰值测量精度高于1级,完全满足工业现场设备供电检测的需求。该表与工控组态软件MCGS配合,工作良好。此外,该表除了测量峰值以外,还扩展了电压平均值、有效值的计算,设计成一个具有多功能的智能仪表。5 结 语    该设计以MSP430F449单片机、MAX1270为核心,编写了Modbus-RTU协议,同时利用RS 485接口可方便地进行数据远传或与符合Modbus_RTU协议的设备相连,该表的体积小,功耗低,可使用于电池或蓄电池供电,非常适合作为编携式设备,随身携带,也可作为功能模块直接安装在工业现场设备对电网供电电压峰值、有效值等参数进行监测。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-23 02:46 , 耗时 0.082866 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表