肖锡旺,乔宇碟,范伟东,陈 昊,于 影(通讯作者)
(佳木斯大学机械工程学院 黑龙江 佳木斯 154007)
随着社会经济的发展,焊接车间、大型焊接加工中心大型场所的规模和数量不断扩大,这些场所是摩擦焊搅拌焊清洗问题出现的高发区,而制约搅拌头性能发挥和工厂成产效率的主要因素是搅拌头上杂质[1]。目前,这些场所搅拌摩擦焊搅拌头主要由工人们进行定时检查清洗、定时替换来完成,因搅拌摩擦焊搅拌头人工检查存在检查死区、工人数量有限、人的安全意识麻痹及疲劳性等原因,易出现纰漏现象,进而增加了搅拌摩擦焊搅拌头附着物过多影响加工以及搅拌头损坏的可能性。为此,提出一种集智能检测、快速清洗、自主处理一体的摩擦焊搅拌头智能清洗装置系统,能对加工时的搅拌头附着物情况及时反馈,对搅拌头的及时清洗,能降低因人工清洗而效率低下的问题。
对此,本研究基于MCU开发环境搭建搅拌摩擦焊搅拌头智能清洗装置系统设计,主控采用stm32F103芯片,通过IIC、串口等接口的传感器检测搅拌头各项数据并上报。上位机采用OpenMV视觉处理系统,根据特征点匹配的返回值和传感器数据按照逻辑程序进行不同等级的清洗行为。在清洗过程中传感器和视觉处理系统始终检测搅拌头的状态,从而实现闭环控制,使整个系统更加稳定可靠。在用户端,系统加入ESP8266无线网络模块实现物联网信息共享,通过物联网提供商的手机端APP,实时获取传感器温度、距离,当前系统状态等数据,实现系统远程监控。
系统由控制端和用户端两部分构成:控制端主要包括温度传感器、距离传感器、视觉处理系统、清洗系统、行走系统等;用户端主要包括网络模块、手机APP等,采用stm32控制器将子系统和模块相连。控制端温度传感器感知搅拌头的温度等参数,当温度适宜时,视觉处理系统将会识别搅拌头并对当前搅拌头状态进行评级,当需要清洗时,由电机驱动的行走系统搭配距离感应器将会接近搅拌头,并通过清洗系统清洗搅拌头。清洗结束后会再次对搅拌头评级,检测清洗情况,若不合格则再次清洗。清洗结束后行走装置会离开搅拌头,开始下一周期的识别检测工作。在整个工作期间,网络模块会把温度数据、距离数据、评级情况、清洗状态等发送至手机APP供用户查看。系统总体结构见图1。
图1 系统结构图
所需模块和系统:温度传感器、距离传感器、视觉处理系统、清洗模块、行走模块、网络模块;综合经济性和编程灵活性,采用ST公司的STM32F103ZET6单片机,其主频为72 MHz,有144路输入/输出引脚、2个IIC控制器、3个SPI控制器、8路定时器和5个串口控制器。程序容量为512 KB,运行内存为64 KB。
传统物联网模块大多采用通用型强的GPRS网络传输数据,但系统响应速度较慢。对此,选择安信可(Ai- thinker)公司ESP8266系列Wi-Fi网络模组,其支持802.11 b/g/n,网络响应速度更快,待机最低功耗小于1 mW[2]。并且可以使用自带的串口控制器和STM32交互数据。结合物联网方案商:点灯科技(blinker)提供的API接口和手机APP,可以很方便快速地实现物联网功能。
由于搅拌头的特殊性,只能使用远距离温度传感器。故采用MLX90614温度传感器,测量范围:-40 ℃~125 ℃,精度可达到0.5 ℃,采用IIC接口,如图2为典型应用电路图。其工作原理:MLX90614是由内部状态机控制物体温度和环境温度的测量和计算,进行温度后处理,并将结果通过IIC接口输出[3]。单片机通过IIC读取温度传感器内部的寄存器,从而获得温度数据。
图2 典型应用电路图
采用TOF10120距离传感器,测量范围:可达1.8 m,精度在5%以内。测量时间小于30 ms,采用标准的TTL电平串口或IIC接口。TOF10120测距传感器提供了精确和可重复的远距离测量和用于高速自动对焦的TOF time-offlight技术,使该传感器性能独立于目标物体的反射率,达到精确测量距离的目的。
考虑到嵌入式设备的体积,故采用体积小巧的OpenMV来进行视觉处理。OpenMV摄像头是一款小巧、低功耗、低成本的电路板,可以轻松的完成机器视觉应用。通过高级语言Python脚本,不使用复杂的C++。Python的高级数据结构很容易在机器视觉算法中处理复杂的输出。由于OpenMV本身使用单片机作为主控,故使用串口和STM32单片机进行通信。通过准备在OpenMV中评级之后的搅拌头图片,OpenMV会采用ncc算法,递归寻找和当前目标一致的搅拌头图片,将图片的级数通过串口发送至控制器,达到视觉处理的目的。
使用4个直流电机带动不同材质可拆卸的刷子对搅拌头进行清洗,对搅拌头评级后,通过调整电机的转速和使用舵机调整清洗的方向,针对不同的情况进行清洗。
行走模块整体采用履带式设计,动力使用2个MG540直流减速电机,额定电压为12 V,输出转矩为2.6 kg·cm。电机自带霍尔编码器,自带上拉整形。通过STM32定时器直接和电机接口相连,单片机输出的两路互补的PWM直接驱动电机速度和方向,通过读取编码器获取电机速度,使用PID速度闭环控制算法,可以使行走模块运行更加稳定。
基于KEIL MDK编程环境,按照识别、清洗控制过程,编写程序代码。主程序工作时,首先检测和判断各传感器模块采集的参数及视觉处理系统返回的评级,通过与设定值进行比较,满足条件时则清洗搅拌头。
控制端程序,调用“GetTemperature()”温度获取函数,检测搅拌头的实时温度。若温度过高,搅拌头清洗设备无法在高温下工作,等待其降温至安全温度。调用“GetOpenMVDate()”函数,获得当前视觉处理系统对搅拌头的评级,若评级为“0级”,则代表搅拌头不需要清理。若非“0级”,系统会调用“GetDistance()”距离获取函数,检测搅拌头清洗装置和搅拌头之间的距离。通过行走机构,移动至距搅拌头适合的距离,执行相应级数的清洗函数。清洗结束后再次对搅拌头评级,若评级为“0级”,则清洗达到要求,搅拌头清洗装置会返回至原区域。若非“0级”,则继续清洗。重复上述步骤,直至搅拌头清洗合格。
用户端程序,在系统开始后,STM32会开启一个5 s为一个周期的定时器中断,在中断服务函数中,系统调用“ESPTransmit()”发送函数,将传感器数据、系统评级结果、行走装置运行速度等数据封装成JSON字符串,通过串口发送至ESP8266。ESP8266接受数据后上传至服务器,服务器通过密匙发送给手机APP,通过解析JSON字符串进而获得系统数据。同样通过手机APP可以对搅拌头清洗装置进行控制。见图3。
图3 主程序流程图
在本文搅拌摩擦焊搅拌清洗装置中视觉处理功能在工作中起到重要作用。为验证本文设计搅拌摩擦焊搅拌头清洗装置控制系统中视觉处理的效果,该装置在室内启动视觉识别程序节点,对轮廓进行识别,待该装置识别后,观察识别构建出来的轮廓和系统数据库理论轮廓的区别,从而做出清洗判断。经过实际搭建测试可以观察出实际场景应用可以满足使用需求。
基于嵌入式搅拌摩擦焊搅拌头智能清洗装置系统,主控采用stm32F103芯片,通过IIC、串口等接口的传感器检测搅拌头各项数据并上报。利用TOF10120测距传感器精确测量距离。通过STM32定时器直接和电机接口相连,读取编码器获取电机速度,使用PID速度闭环控制算法,完成移动。使用openMV摄像头检测搅拌摩擦焊搅拌头是否附着物过多。4个由直流电机带动的不同材质可拆卸的刷子,通过调整电机的转速和使用舵机调整清洗的方向,针对评级后的搅拌头进行清洗。用户端程序将传感器数据、系统评级结果、行走装置运行速度等数据上传至服务器,服务器通过密匙发送给手机APP,同样通过手机APP可以对搅拌头清洗装置进行控制。经样机测试,清洗效果良好,远程数据传输高效,系统运行稳定,对促进摩擦焊的高效化及智能化具有深远意义。