集散控制的智能精准投料控制系统设计

2019-09-10 06:22夏国清谭石坚陈华珍
现代信息科技 2019年2期
关键词:PID控制

夏国清 谭石坚 陈华珍

摘 要:为了满足当今水产精细化养殖中减少人力、精准投料及降低污染等市场需求,本文设计了一种基于微控制器STM32F103实现的智能精准投料控制系统。该系统首先采用基于STM32F103+W5500网络通讯器的数据网关实现投料机终端与PC上位机通信;其次,采用基于STM32F103+HX711数模转换器的投料机终端实现精准投料。为了实现系统的精准投料,本系统利用中值滤波和均值滤波获取实时投喂重量,并通过二级闭环控制降低称料误差,从而达到对喂投重量的精准控制。实验结果证明:本系统能够集散控制多台投料终端且运行稳定,能够实现精准投料。

关键词:智能投料系统;集散控制;PID控制;CAN通信;STM32F103;W5500;HX711

中图分类号:TP29 文献标识码:A 文章编号:2096-4706(2019)02-0159-04

Abstract:In order to meet the market demand of reducing manpower,precise feeding and pollution in aquaculture,an intelligent precise feeding control system based on microcontroller STM32F103 was designed. Firstly,the data gateway based on STM32F103 + W5500 network communicator is used to realize the communication between feeder terminal and PC host computer;secondly,the feeder terminal based on STM32F103 + HX711 digital-to-analog converter is used to realize accurate feeding. In order to realize the accurate feeding of the system,the system uses median filter and mean filter to obtain the real-time feeding weight,and reduces the weighing error through two-stage closed-loop control,so as to achieve the accurate feeding weight control. The experimental results show that the system can control multiple feeding terminals in a distributed way and run steadily. It can achieve accurate feeding.

Keywords:intelligent feeding system;distributed control;PID control;CAN communication;STM32F103;W5500;HX711

0 引 言

隨着社会现代化生产的快速发展,物联网技术迅速普及,养殖业对养殖的生产效率、科学管理、智能化等提出了更高的要求。目前大多数养殖业使用的是比较简单的投料装置系统,这些投料装置对投料的精确度和投料时间控制远不成熟,需要操作人员手动称料并及时关注投料的情况[1],工作人员不能对这些投料机进行批量管理,管理效率较低,人力成本高,同时存在饲料浪费沉底造成水质污染[2]等问题。有鉴于此,本设计的目的在于克服现有技术的不足,提供一种智能投料系统,减少人工参与投料的程序,并实现精准投料。

1 系统总体设计

系统整体架构如图1所示,总体硬件结构如图2所示。为了实现养殖业中不同饲料或鱼类的分类投喂管理和研究,本系统采用集散分组管理模式。系统由两层网络构成,其中上层是以太网,下层为CAN总线。

其控制思路如下:通过PC上位机软件,设置好不同组别每天需要投喂的餐数和每餐时间、投喂量及投喂次数等,时间一到,自动下发命令给各组网关。网关接收到上位机的命令之后,转发给该组下面的所有投料机终端。投料机终端接收到命令完成相应的动作。如果是投料命令,则控制电机拨料,把料下到秤料仓中,控制器根据称重传感器实时读取重量,当重量接近目标重量时,再通过PID算法控制减速电机来控制下料量,以达到想要的精确度,当称料完成后实施开仓投放饲料,饲料每餐会按设定次数分多次称量并投放,其目的是使鱼能够充分吃完,尽可能使饲料不会沉底与垃圾混杂,造成浪费和污染。上位机和网关之间通过以太网TCP/IP协议通信,网关跟投料机终端通过CAN总线通信。投料机终端称重完成则上报自己实际所秤的重量,网关保存投料机终端返回的重量,最后把所有的终端状态和重量一起上报给上位机。上位机则把数据显示在相应的功能区并保存到数据库,供工作人员查看,同时上位机会将当前返回的重量与设定目标重量进行对比,计算出误差并补偿到下一餐投喂目标重量中,从而达到一天或多天投喂重量的精准控制。

2 系统控制算法与软件设计

系统软件由三部分构成:第一,PC端上位机控制软件;第二,数据网关控制软件;第三,投料机控制软件。其中,PC端上位机控制软件主要是根据用户功能需求来设计业务流程及相应图像界面,本文不再做具体介绍;数据网关控制软件,实现上位机与投料机间命令及数据的交互;投料机控制软件主要完成自动称料与投料工作。由于上位机与数据网关采用TCP/IP通信,数据传输稳定。本文将重点介绍数据网关与投料机之间的CAN总线自定义通信方案及投料机成料精度控制方案。

2.1 CAN总线通信方案

每组数据网关要与该组N台(本设计中N=24)投料机终端进行命令及数据的交互,CAN数据帧的格式设为标准帧格式,大小为8个字节,即每次可实现8个字节的数据发送或接收。其数据帧的格式定义如表1所示。每台投料机设置固定的机器ID以便识别(本设计ID号的设置通过控制板上的8位拨码开关设置0、1来组合成8位编码);命令是上位机或网关对投料机的命令(本设计中的命令包括:开始称料、获取已称料重量、开仓投料、停止称料、获取投料机状态、调试等);投喂编号用于通信中确认命令或为第几次投喂的命令或数据;重量为称料重量;校验码主要用于数据帧的校验,以确保数据传输的正确性[3]。

数据网关与投料机终端通讯规则为:

第一,数据网关与该组投料机终端采用CAN接收中断实现数据的接收(该中断优先级设置为较高级别),网关CAN过滤器设置能接收不同ID的数据帧,投料机CAN过滤器设置成只接收与自己ID号相同的数据帧;

第二,当数据网关向投料机终端发送命令时,投料机终端收到信息后需回发一个确认信息。如果数据网关在规定的时间内未收到投料机终端的确认信息,就进行第2次命令发送。如果还未得到回应,就向上位机报送该投料机状态为不在线,以便管理员能及时了解情况并进行处理;

第三,投料机CAN接收中断处理程序接收命令后,只保存当前命令及数据参数(以便不影响下个中断的响应)后立即退出,投料机终端main主程序以无限轮询的方式查询当前命令状态,并根据命令执行任务,投料机处理完命令所需执行的任务后,将主动上报结果。

网关在其下发的命令执行限定时间到达后,如发现有某个投料机未上报执行结果,就主动最多两次向该投料机发送查询结果命令,如果仍未得到回应,就向上位机报送该投料机状态为不在线。

2.2 投料机称料精度控制

投料机料仓由两部分构成,分别为储料仓和投料仓。减速电机通过转动带动拨料盘将料从储料仓拨落到投料仓中,投料仓悬挂在称重传感器之上,控制器通过查询传感器检测数据以判断是否达到投喂目标重量。称料的软件控制流程如图3所示。

臂梁式称重传感器因振动产生的噪声多为随机高频杂波,符合椒盐噪声的特性,因此,采用中值滤波[5-7]可有效地滤去。为了避免周期性振动噪声的出现,可以在上述中值滤波的基础上再加入均值滤波[8]。最终投料的实际重量是由参考零点和称重结束后再次获取重量AD值,根据式(1)计算出来的,这两个值都是在静态情况下(即电机未转动下料)测量获得的,受电机震动干扰少,因此相对精度高。

3 系统实验结果

实验主要从投料机单次投料误差和一天多次投料累计误差两个方面观察系统的精度和稳定性,实际应用中要求精度为1g,即 0.5g。图6分析了投料机终端称料加入PID控制和当接近投喂目標重量时仅通过降低拨料速度来控制称料精度波形图,从图中可明显看出加入了PID控制后,称料结果更加趋近目标重量(5g)且波动幅度小。图7为投料机终端在一天多次投喂后累计误差在加入补偿和未加入补偿的对比结果,从图中可明显看出加入了补偿后误差结果更接近单次误差,有效地减小了累计误差。

4 结 论

本设计以STM32F103作为主控芯片,叙述了系统的总体控制模型与原理,并给出了系统的硬件设计方案、算法与软件设计方案。方案中,为了实现系统的精度控制,对传感器信号噪声采取了多种滤波方法,对称料使用了两级误差控制(即投料机采用PID控制,上位机软件采取误差补偿),同时描述了数据网关CAN总线通信方案,实验证明,该系统运行稳定可靠。本设计可应用于精细化养殖厂或饲料研究部门等。

参考文献:

[1] 朱国栋,王启睿,徐胜,等.基于STM32的智能鱼塘投料机设计 [J].时代农机,2018,45(3):151.

[2] 周智勇,王海华,王伟萍,等.草鱼高产池塘测水投料精准养殖试验 [J].江西水产科技,2015(1):20-21+23.

[3] 王娟,包志华,杨永杰.用于智慧酒店客房控制系统的CAN总线协议研究 [J].现代电子技术,2018,41(20):104-106.

[4] 张玉叶.基于应变全桥的铁质悬臂梁传感器的设计与实现 [J].电子设计工程,2018,261(4):125-129.

[5] 托乎提努尔,张海龙,王杰,等.基于GPU的高速中值滤波算法 [J/OL].吉林大学学报(工学版):1-8 [2018-10-15].https://doi.org/10.13229/j.cnki.jdxbgxb20180050.

[6] 朱敏超,李莉莉.基于互补滤波的两轮自平衡小车系统设计 [J].机械工程师,2016(4):86-88.

[7] 梁光胜,杜梦楠,周子豪,等.基于互补滤波的两轮自平衡车姿态控制 [J].测控技术,2015,345(5):72-74.

[8] 钱德鹏.基于像素选择的脑部磁共振图像非局部均值滤波 [J].国外电子测量技术,2018,37(9):6-9.

[9] 林伟捷,黄唯佳,蔡剑卿.基于四元数互补滤波和PID控制算法的两轮自平衡车系统设计 [J].软件导刊,2016,15(6):80-82.

作者简介:夏国清(1983-),男,安徽潜山人,讲师,硕士,主要研究方向:智能控制、嵌入式系统、图像处理与模式识别;谭石坚(1982-),男,广东广州人,讲师,硕士,研究方向:嵌入式系统、计算机应用;陈华珍(1982-),女,江西樟树人,讲师,硕士,研究方向:网络计算、多传感器数据融合、智能科学。

猜你喜欢
PID控制
内模控制在火电厂主汽温系统中的应用
常规PID控制和常规模糊控制的比较
一种基于SPWM的逆变电源并联运行参数设计及控制策略仿真
锅炉汽包水位自适应模糊控制与仿真
关于多旋翼式飞行器系统的研究
新型试验电源直流降压斩波系统的PID控制仿真研究
基于双单片机的无刷直流电机调速系统的设计
基于模糊控制理论的PID闭环控制系统的研究与设计
四旋翼无人机设计与滑模控制仿真
大滞后系统中单神经元PID控制器设计