神经网络在水晶研磨机中的应用
2016-03-12杭州电子科技大学电子信息学院朱诗榜
杭州电子科技大学电子信息学院 朱诗榜
神经网络在水晶研磨机中的应用
杭州电子科技大学电子信息学院 朱诗榜
水晶研磨机的磨盘因为在工作中的磨损,导致同样的物品需要由有经验的工人不断地调整研磨时间,这样大大降低了机器的自动化水平。本文通过对研磨机的一系列数据运用神经网络进行分析,拟合出最佳的研磨时间,并通过增加WiFi模块对系统进行远程控制,实现水晶研磨机的自动化研磨控制,实验结果表明数据拟合符合预期,建立的研磨时间模型可以正确地应用到实际生产中。
神经网络;水晶研磨机;自动化
1.引言
随着人们生活水平的提高,人们对于身边装饰品的要求也越来越高,因此对水晶饰品的需求也很高。现有的水晶研磨机因为磨盘的磨损需要手动调整研磨时间,这样就降低了机器的自动化水平。本文基于BP算法设计了两层神经网络,采集电机的转矩,接触面的压力,转动次数等数据经过神经网络模型的训练,实现对研磨时间精准、自动的输出,进一步提升了设备的自动化水平。
2.水晶研磨机的设计与实现
2.1 水晶研磨机的硬件设计
水晶研磨机系统是由三台研磨机组成,分别处理粗磨、细磨、抛光三道工艺加工工序[1],研磨机之间采用CAN总线进行连接,具体的结构如图1所示。
图1 水晶研磨机硬件设计框图
每一台水晶研磨机由微控制器、交互设备、驱动器、电机、磨盘以及固定架等设备组成。控制器采用STM32F103ZET6,由MCU控制驱动器,进而控制电机进行机械臂的运动和水晶研磨。WiFi模块和STM32之间采用SPI总线进行通信。人机交互可以通过键盘显示屏,也可以通过WiFi和上位机进行通信。
2.2 水晶研磨机的软件设计
控制系统的工作主要就是实现水晶的加工,这个主要就是协调摆角电机、转面电机和升降电机这三个电机的运动来进行的。其中摆角电机用来转动铝排改变倾斜度,继而改变水晶的行转角。转面电机通过内部机械转轴带动水晶的自转运动,这样可以用来控制研磨的角度。升降电机通过调整磨盘高度控制研磨面积。我们可以根据需求对以上参数进行设置,从而改变水晶的样子。程序设计流程如图2所示。
图2 研磨机加工流程图
3.基于神经网络的研磨优化
3.1 神经网络参数选取
研磨时间和许多参数存在着相关性,包括磨盘的性能参数,环境等。但是不同的参数对研磨时间的影响大小不同,因此通过分析之后选取了转矩、研磨次数、水晶和磨盘之间的压力这几个参数作为神经网络的输入信息,研磨时间作为输出信息。
3.2 BP神经网络建模
BP神经网络建模的关键是确定网络的层数和输入层、隐含层、输出层的神经元个数。输入层根据选取的参数定为三个神经元,输出层为研磨时间,故将神经元定为一个,隐含层先根据经验公式,其中h为隐含层节点数目,m、n为输入和输出层节点数目,a为1~10之间的调节参数,因此可先将隐含层的神经元定为3个,后期根据情况可以进行调整。激活函数隐含层选用双曲正切S型函数,输出层选择线性函数f(x) = x,建立的神经网络模型如图3所示:
图3 BP神经网络
权值和偏置值矩阵形式的更新公式如下所示:
其中:
3.3 数据预处理
3.4 过拟合处理
神经网络因为输入参数维度过多或训练过度等原因可能导致过拟合问题,过拟合会严重影响神经网络的性能,对神经网络过拟合的处理有许多方法,有提前停止法、交叉验证、Dropout方法等。本文采用提前停止法,提前停止法将数据分为训练集合、验证集合和测试集合。训练集合是用于对目标神经网络进行训练。验证集合用来对网络的训练结果进行评判,当验证集合精度连续多次都不再提高时,就停止训练。测试集合的作用是用来检验最后的效果的,也就是对神经网络的预测能力的一个检验。
3.5 软件仿真
将采集到的数据归一化处理后,通过MATLAB建立模型,求得BP神经网络的各个神经元的权值和偏置值如下所示: