负载弱电流远程监控系统设计*

2018-04-19 11:36李建奇
网络安全与数据管理 2018年3期
关键词:设定值字节消息

杨 峰,童 轩,李建奇

(湖南文理学院 电气与信息工程学院,湖南 常德 415000)

0 引言

在某些环境下,需要对终端负载的电流进行远程监控,同时由于负载变动时电流会随之变动,因而设计该监控系统,一方面可远程监控数据,另一方面使电流在负载变动时保持设置恒定。

1 系统方案

系统总体方案如图1所示。STM32经过控制单元电路对电流实时采样,根据采样的结果与设定值由PI算法计算得到输出PWM的占空比,PWM的占空比决定负载的电流大小。其值可通过人机接口或上位机设定。

图1 系统方案框图

2 主要控制单元原理

图2 控制单元电路

系统中,采样电阻R1越小,电流最大可设定范围越宽,由于LM2596最小电压大于0,因此过小的R1可能会带来超调现象。所谓超调,是指由于系统的滞后使得在单侧逼近设定值时出现一种先超过设定值后再回到设定值的现象。图2中使用了2.8 Ω的采样电阻,当负载较小时,设定5 mA以下的电流时会出现超调。为了改善这种现象,系统中加入了恒流偏置电路[7],由恒流器件SM2082输出固定电流I2,I2的大小约为50 mA,这即是流过采样电阻的最小电流,这意味着抬升了采样点即负载一端的最小电压。若要将I1从0 mA调节至1 mA,则相当于无偏置情况下将I从0 mA 调至51 mA,有效地避免了超调现象的发生。

控制流程如图3所示。

图3 算法流程

图4 通信电路

3 通信设计

3.1 通信电路

通信电路如图4所示。用STM32的一组串行口与上位机进行通信,通过RS-485标准实现远距离传输[8]。RS-485采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力,通信距离最多可达上千米。 RS-485采用负逻辑,+2~+6 V表示“0”,-6 ~-2V 表示“1”。为了达到 RS-485 总线的电气特性标准,必须外接电平转换芯片,图4中运用了SP485,此转换芯片成本小,性能稳定。同时考虑工业应用环境恶劣等因素,用高速光耦6N137对总线进行了隔离[9],使其具备更出色的抗干扰能力。

3.2 通信程序

通信利用了Modbus协议,Modbus协议是工业电子设备上的一种通用语言[10],按照此协议,网路中的每台设备之间可以相互通信。随着该协议的广泛应用,其已经成为一种通用工业标准。Modbus实际上定义了一种能被设备识别的消息结构,而与这个消息是通过何种路径方式送来无关。它制定了一个设备请求访问另一设备的模式,确定了怎样响应其他设备发出的请求,以及如何检测错误。

多台设备在同一网络上通信时,Modbus协议要求每台设备都知道它们的地址,访问者要根据访问对象的地址发送请求,访问对象以地址识别并决定是否产生行动。若要回应,设备将生成反馈信息并用此协议发出。在其他网络上,使用Modbus协议的消息可以转换为在当前网络上使用的帧结构[11]。

Modbus协议支持包括RS-232、RS-422、RS-485在内的许多设备,PLC、DCS、FCS等也以该协议作为它们相互间的通信标准。

Modbus协议是在一根信号线上进行半双工通信,也就是说在一根单独的线上信号沿着两端传输。当主机的信号寻址到唯一的从机时,此从机设备发出的响应信号反馈给主机。 协议规定了信息只能在主机和从机之间交换,而不能在独立的设备之间交换,这就意味着不会使它们从一开始就占用线路,而只能响应本机接收的查询信号。

在Modbus系统中有2种传输模式可选择,分别是RTU模式和ASCII模式。通常上位机都内置了RTU模式协议,而STM32没有内置该协议,所以文中系统主控是通过模拟方式来实现的。

消息帧发送要以大于4个节拍时间的停顿间隔开始,通信速率大于等于9 600 b/s时不大于5 ms;一帧消息必须连续传输,如果在一帧传输完成之前有超过4个节拍时间的停顿间隔,接收设备将认为当前帧结束,下一字节是一个新帧的开始。同理,如果一个新的消息帧在小于4个节拍内接着前一帧开始,接收设备将认为它是前一消息的延续。

程序中实现消息接收的关键片段如下:

TIM3_Int_Init(45,7199);

//每隔4 ms定时器溢出一次

void USART1_IRQHandler( )

{

u8 res;

TIM_SetCounter(TIM3,0);//每接收一个字节都会将定时器状态重置,9 600 b/s接收一帧消息时,相邻字节间隔时间小于4 ms便不会发生溢出中断

TIM_Cmd(TIM3,DISABLE);

//关闭定时器

if(USART_GetITStatus(USART1,USART_IT_RXNE) != RESET)

{

}

TIM_Cmd(TIM3,ENABLE);

//开启定时器

}

void TIM3_IRQHandler( )

// 若超过4 ms没有接收到新

的字节,便认为一帧消息接收完毕,进入中断处理

{

INTX_DISABLE( );

//关闭总中断

if(TIM_GetITStatus(TIM3,TIM_IT_Update)!=RESET&&RS485_RX_CNT>2)

{

Data_anlys(RS485_RX_BUF,address,RS485_RX_CNT);

// 解析消息内容

RS485_RX_CNT=0;

}

TIM_ClearITPendingBit(TIM3,TIM_IT_Update);

INTX_ENABLE( );

//开启总中断

}

解析消息时,根据每一帧内容包含的地址码、功能码、数据码和校验码进行处理。

地址码决定了由哪台从机将接收由主机发送来的消息。每个从机的地址码都是唯一的,并且只有相应地址码的从机才能应答。当从机反馈信息时,反馈数据中以自身的地址码开始。主机将按应答格式解析从机的反馈。

功能码位于信息帧第二个字节。协议最多定义了127种功能。主机通过功能码告诉从机所要执行的任务。当从机响应时,从机回送的功能码必须与主机所发送来的功能码相同,以此表明该从机已应答并且将会执行所指定的任务。

数据码表明需要由从机回送什么信息。这些信息可以是开关量输入/输出、模拟量输入/输出、寄存器、参考地址等。

主机或从机用CRC校验码来检查所接收的信息是否正确。由于传输路径存在着一些干扰,所发送的信息有时会发生错误,这时错误校验码(CRC)可以检验主机或从机所接收到的信息是否正确,错误的数据可以弃置,从而保证了系统的安全与效率。

CRC码是一个字节长度为2的十六进制数。主机和从机采用相同的CRC算法,主机将计算的CRC码于信息帧的最后发送,从机再根据接收到的信息重新计算CRC,比较计算得到的CRC是否与接收到的相符,如果两者不相符,则表明从机接收信息与主机所发送信息不一致,从机将不会作出应答,也不执行动作。

系统中,远程监控的功能有三个,即数据的上传、设定数据的下传与启停指令的下传,根据协议,仅需要模拟其中的功能3(读取保持寄存器)和功能6(预置单寄存器)即可实现上述监控任务。

4 运行结果与分析

依照上述原理,实际制作了装置,编写了程序。根据不同负载,测得了不同可调量程,如表1所示。

表1 测试数据

负载越大,可调量程越小,偏置电流的存在对量程也有一定影响。调整的时间最长为8 s,最短为3 s,调整的时间与负载、设定值和PI算法有关。系统的误差不超过0.9%。

5 结论

文中所设计的系统装置,实现了对一定负载的电流设定功能,调节的速度快,误差小,稳定性好,同时具备远程通信功能,满足了某些实验与工程需要。系统也存在着有待改进之处,一是电流可调范围还需要更宽一些;二是在不影响稳定的前提下,调整的速度还可以更快一些。

[1] 张金. 模拟信号调理技术[M]. 北京: 电子工业出版社, 2012.

[2] 远扳昭俊. 测量电子电路设计(滤波器篇)[M]. 彭刚,译. 北京: 科学出版社, 2006.

[3] 赵智超, 张宇, 吴铁峰. 基于PWM电源管理芯片的电压比较器电路设计[J]. 数字技术与应用, 2013(2):137-139.

[4] 王强, 蒙轩, 方开洪,等. 集成运放的线性与非线性应用分析[J]. 自动化与仪器仪表, 2014(4): 186-188.

[5] 严刚峰. 运算放大器应用电路设计[M]. 北京: 科学出版社, 2016.

[6] 高金源. 计算机控制系统[M]. 北京: 清华大学出版社,2013.

[7] 荣军,杨学海. 基于单片机的简易恒流源系统的设计[J]. 电子器件, 2013,36(2): 117-119.

[8] 江贤志,刘华章. 基于C8051F020单片机的RS-485串行通信设计[J].电子测量技术, 2014,37(3):121-124.

[9] 王戬. 基于光耦的三线串行通信接口电路性能提升的研究[J]. 电子设计工程, 2016(2):117-119.

[10] 孟祥剑,黎向阳. 基于 MODBUS 协议的人机界面和单片机串行通信[J]. 电子设计工程, 2014,28(9):87-90.

[11] 李永强,单雷平. 基于Modbus协议的多功能数据采集器设计[J]. 计算机测量与控制, 2014,22(3):839-842.

猜你喜欢
设定值字节消息
冷轧镀锌光整机延伸率控制模式的解析与优化
No.8 字节跳动将推出独立出口电商APP
一张图看5G消息
No.10 “字节跳动手机”要来了?
基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
西气东输二线人机交互界面的防呆系统
目标设定值传感器的原理与检修
对工频耐压试验跳闸电流设定值问题的探讨
消息
消息