基于微信远程控制的流量控制系统设计*

2019-07-31 07:08江若薇江永鑫张丽慧张春梅
福建轻纺 2019年7期
关键词:远程服务器公众

江若薇,江永鑫,张丽慧,张春梅

(厦门理工学院电气工程与自动化学院,福建 厦门 361024)

1 概况

在现代科学研究领域,流量控制是一个重要的控制手段。流量控制过程中需要精准控制每分钟流量,还需在流量控制的过程中保持流量的稳定流入和流出,过快或过慢都会导致严重的后果。运用流量传感器可实现流量的远程控制、立即测量和精确调节等。通过流量检测装置,在很大程度上提高了流体计量的准确度和调节的自动化程度[1]。此外,系统还可以随时随地记录测试流量,使系统更加可用[2-3]。

随着无线通信技术的发展[4-8],这一概念逐渐被引入仪器仪表领域。如何实现流量控制系统的随时随地控制、查询、记录工作,使得流量控制系统智能化程度进一步提高[1-3]。文献[9]使用RFID实现远程流量控制,由于RFID通讯距离有限,因此无法实现真正的远程控制。文献[10]提出了一种基于GSM的远程流量控制系统,但GSM传输的数据量有限,难以实现云处理。由于微信平台是一个成熟的、开放的、用户群体庞大的网络平台,本文采用微信作为流程控制的用户智能控制平台,很大程度上有利于平台的应用和推广,使得微信成为用户智能设备系统的理想控制终端[11]。

本系统无需开发APP软件,用户只需通过订阅微信公众号,在公众号中输入设备号和参考流量值即可。微信公众号将相关数据发送至微信服务器,微信服务器通过URL接口将数据发送到ENC28J60以太网收发芯片。ENC28J60以太网收发芯片通过串口将数据发送到STM32f103。之后,STM32f103采用改进的PID算法通过操作流量控制器来控制流量。同时,用户可以通过微信官方账号将控制指令发送到流量主板,通过设备服务器可以查询当前流量和历史流量。

2 系统组成

流量控制器主要由水泵、电机、变频器、流量传感器、驱动电路组成。当水流流进流量控制器系统时,流量传感器开始工作,水流冲击传感器的叶片(像风车叶原理),产生正比于水流速度的旋转,旋转力带动一个小磁铁周期性触发脉冲信号,通过脉冲数量知道水流速度,然后根据管径算成流量,将当前流量显示在液晶屏幕上。水泵控制流量的稳定,当水流量大于一定的值时,变频器开始工作,通过调整交流电的频率,实现对电机转速的调节,从而改变水泵的转速,进而调节流量的大小。[12]

系统电路连接如图1、2所示。其中流量控制传感器将流量数据传输到STM32f103ZET6中,STM32f103ZET6控制驱动电路,通过驱动电路实现对电机的控制从而实现对水泵的控制,进而完成对水流量的最终控制。

微信公众号是用户与设备之间的中继,微信公众号提供了友好的人机界面和良好的操作体验。用户可以通过手机、平板电脑等移动设备方便地向微信公众号发送消息。用户发送的消息将通过微信服务器发送到控制板,从而实现设备的远程控制和状态查询。然而,微信公众号只提供消息转发服务,而定制的服务系统需要具备多种定制功能,在这种情况下,设备服务器非常需要高效的远程控制。

设备服务器可实现云操作数据恢复功能,以太网芯片ENC28J60可以直接与微信公众号通信,也可以通过设备服务器与微信公众号通信。以太网模块也可替换为WIFI模块。

3 控制算法

图1 STM32f103ZET电路控制部分连接框图

图2 电路连接框图

图3 整个系统的控制框图

传统的PID控制方法简单有效,但也存在一些缺陷,其中之一就是积分环节使系统的动态特性变差。本节将给出一种基于系统模型的改进PID算法。整个系统的控制框图如图3所示。

传统的PID表达式为:

其中,RFerr(t)=RFset-RFnow(t)是动态误差,Tu(t)是温度的设定值,Kp,Ti和Td是比例常数。dt初始化为20ms由STM32f103ZET6的TIM3产生,公式离散为:

其中,Ki=1/RFi,Kd=RFd。

在PID控制中引入积分的目的是消除静态误差,提高控制精度。但是,在设定开始和结束或大大增加或减少的过程中,输出系统在短时间内的较大偏差会导致PID的操作整体累加。因此,最终控制量超过了执行机构所允许的最大作业范围所对应的极限控制量,从而造成更大的超调和更大的振荡。

考虑积分分离,公式可改写为:

其中, nu(k)预期角度,nerr(k) 是转速误差,nmax是近似的最大转速线性区域,nmin为近似线性区域的最小转速。

当流量低于-△RF,驱动电路启用,电机开始工作。流量的差异转换为驱动电路的开启和关闭频率。在这里,一个周期由打开和关闭的时间组成,打开时间占整个周期的50%。驱动电路的触发频率可描述为:

其中,ε=(emax-|RFerr(k) | )是阶跃函数,emax是与系统有关的常数。

流量控制系统的流量控制过程都是高度时变的控制过程;特别是在低压和高压区域,电机转速与电压的非线性关系尤为明显。

为了解决这个问题,需要反积分饱和。流量控制内圈设计为:

其中,μ是一个频率乘积常数,它依赖于流量效率和驱动电路的最大允许触发频率,通常限制在0<frelay<100Hz(过高将超过驱动电路的允许频率并造成损坏)。

△RF为考虑到惰性层段会减缓振荡,为防止快速振荡引起的超调而设置。当流速RFnow高于RFset+△RF,电机开始工作。电机的流量可描述为:

其中,δ是计算X9C103型数字电位器设定电阻的乘积常数,P是电力供应,Ui是输入电压的有效值ω1圆周率的电源,s是传输速率,np是额定角度, Rsum是数字电位器的总电阻,为电机的结构参数。

系统在流量控制环节中均采用了级联PID控制。各PID控制器都采用了积分分离和积分饱和理论。外环为流量环,内环为电机和水泵速度环。RFu(k)·Gi(Z)由外圈得到的内环的目标值。 fnow(k), nnow(k)都是内环的反馈。

在这个模型中, G1(Z) =μ 如上所述, G2(Z)可以描述为:

传递函数G3(Z)和G4(Z)与设备性能、流速速率等因素有关。由于 G3(Z)和G4(Z) 的复杂性和不确定性,无法计算出其精确的传递函数,也没有给出具体的分析。该系统由流量传感器实现对RFerr(k)的计算反馈。传感器通过单线总线将数据直接发送到单片机,这样系统就不需要在AD转换上花费太多的资源和时间。系统的精度由RFerr(k)的精度决定,因此系统使用变频器、电机、水泵进行流量调节,以获得准确的值。

4 远程操作实现

设备服务器由STM32f103和ENC28J60以太网收发芯片组成。设备服务器提供一个接口URL来与微信服务器交换数据。在访问微信平台API时,随机生成URL、令牌和EncodingAESKey(如表1所示)。

表1 名词的含义

提供消息后,微信服务器将向URL地址发送GET请求以填写,并检查微信服务器发送的签名,以验证消息是否来自微信服务器。

Access_token是公众号的全局唯一接口调用凭证,当微信公众号调用每个接口时,将使用Access_token令牌。开发人员需要得到适当的保护。访问Access_token令牌的存储必须保留至少512个字符空间。

发送请求时,需要三个参数:grant_type、access_token和appid。参数grant_type用于获取access_token以完成客户端凭据。参数appid用于第三方认证,第三方用户密钥即appsecret需要参数secret证书。通常,微信服务器会将JSON包返回到公众号。

经过验证,微信服务器与用户设备服务器之间的连接是有效的。用户可以通过微信公众号与设备之间的通信间接实现远程控制和状态查询。用户需要的只是一个移动设备来实现这个过程。

设置流量时,用户可以通过微信公众号底部的菜单栏选择设备并设置流量,该菜单栏是可视化的。接收到微信服务器发送的数据后,将消息打包成字符串,例如“Device:001,Temp:20”,并严格执行。STM32f103ZET6接收到数据包后,得到的流量控制器设备号为001。当用户需要查询流量控制器的当前流量时,向微信公众号发送请求,如“Device:001,query”。设备服务器接收到微信服务器发送的字符串后,首先保存该字符串,然后使用正则表达式语法检测字符串中是否包含单词“Query”。如果该单词确实存在,将使用键“001”找到对应的值。由STM32f103ZET6发送到设备服务器的流量值将提前以字典的形式提前保存在设备服务器中。

5 结论

结合本设计实例,给出了基于电机的力学特性模型,流量控制模型和改进的PID算法。通过具有积分分离和抗积分饱和度的三环级联PID算法,流量控制器的误差可以限制在0.5之内。整体分离确保了系统的快速响应。反积分饱和理论避免了异步电动机缺陷引起的延迟。

物联网的发展和微信公众号的使用,实现了利用该平台进行的设备远程控制和状态查询。此外,许多厂商提供的云接口(如GIZWITS)也可以作为设备服务器的替代品。云提供商为数据提供存储空间,还包括HTML控件的接口。在测试距离较远或测试周期较长的情况下,用户可以通过这些云服务平台查询之前的流量状态,分析之前的数据,进行控制和监控。使用这些工具,单片机只需要将数据发送到一个固定的URL来控制和管理设备。

猜你喜欢
远程服务器公众
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
公众号3月热榜
公众号9月热榜
公众号8月热榜
公众号5月热榜
通信控制服务器(CCS)维护终端的设计与实现
远程诈骗
中国服务器市场份额出炉
得形忘意的服务器标准