推荐期刊

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

时间:2019-04-04 11:26:13 所属分类:智能科学技术 浏览量:

摘 要:为了满足当今水产精细化养殖中减少人力、精准投料及降低污染等市场需求,本文设计了一种基于微控制器STM32F103实现的智能精准投料控制系统。该系统首先采用基于STM32F103+W5500网络通讯器的数据网关实现投料机终端与PC上位机通信;其次,采用基于STM32

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

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

智能建筑

  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.

  推荐阅读:智能建筑由中国建筑业协会、建设部科学委员会智能建筑技术开发推广中心主办。主要内容有宣传智能建筑行业的产业政策、报道智能建筑行业的科研成果、交流智能建筑行业和工程设计与施工经验、传播智能建筑行业的动态信息、推广智能建筑行业的成功技术和先进产品。

转载请注明来自:http://www.zazhifabiao.com/lunwen/dzxx/znkxjs/44973.html