上下料机械手通用控制系统的设计与开发

2019-07-25 09:21
计算机测量与控制 2019年7期
关键词:机械手总线指令

(浙江工业大学 信息工程学院,杭州 310023)

0 引言

随着人口红利的消退和工业化的全面发展,“机器换人”已经成为企业发展的必然趋势[1-2]。针对企业的不同需求,各种类型的自动化机器设备及系统层出不穷,如全自动缝纫机[3]、手套机[4]、数控切片机[5]、上下料机械手[6]等。其中,上下料机械手作为最广泛使用的设备之一,可用于数控机床加工[7]、冲床加工[8]、自动生产线传输[9]等诸多场合。所以,一款性能稳定、操作便捷、适用范围广的通用型上下料机械手被市场迫切需求。控制系统作为机械手的核心部件,是衡量机械手性能的关键。另一方面,控制系统的编程示教技术很大程度上决定了机械手的便捷性和通用性。

近年来,通用型机械手及控制系统获得了广泛关注和研究。晏永红基于PLC设计了二维通用机械手[10];徐立春研究了一种自动上下料通用机械手系统,基于液压传动设计了机械结构,采用PLC进行编程控制[11];裴崇探讨了通用气动机械手的控制设计[12]。以上研究主要针对机械设备,未对编程示教进行讨论。吕亭强等研究了工业码垛机器人的示教技术,通过货物信息和一点示教方式,提高示教效率[13];朱琳等设计了一种基于键盘和视频信号远程传输的通用码垛机器人示教器[14];何竞择等针对抛光机器人设计了示教控制系统,同时具有监控、程序编译等功能[15];田国富等基于WinCE 6.0嵌入式实时操作系统设计示教器人机界面[16];杨杏基于ARM-Linux架构开发了机器人示教器系统,以ABB机器人所使用的RAPID程序指令结构为基础设计了编程语言系统[17]。然而,上述示教都只针对特定对象或者生产工艺动作,并且程序指令基于行业语言设计,操作不够直观便捷,具有一定局限性。

本文基于STM32微处理器开发了一款上下料机械手通用运动控制系统,可适用于4轴及以下的上下料机械手。首先,设计制作了控制系统硬件电路,实现了高精度运动控制功能。其次,基于触摸液晶屏,开发了全中文编程示教系统,可实现对加工工艺流程的在线编程和实时示教,具有简单便捷、快速高效等特点。此外,控制系统还开发有程序存储、系统离线升级、安全监测、物料码垛等功能。

1 系统方案设计

上下料机械手通用控制系统主要包括两个部分:运动控制器和手持示教器。前者基于STM32F103微处理器进行设计开发,后者基于STM32F105微处理器进行设计开发,两者通过485总线进行数据传输。运动控制器包含有电源模块、I/O接口模块、脉冲输出模块、CAN总线模块、EEPROM存储模块、安全监测等模块;示教器主要包含有电源模块、LCD显示屏、USB接口、按键输入、手轮微调等模块。控制系统方案设计如图1所示。

图1 运动控制系统方案设计图

LCD触摸屏是控制系统的人机交互接口,采用7寸液晶屏,设计开发了全中文的操作界面,可通过触摸直接操作,方便快捷。此外,为了保证用户体验,设计触控响应时间tLCD≤ 0.2 s。按键输入接口也可对操作界面上的指令控件进行选择操作,在触屏意外失灵时,可确保系统的正常运行。USB接口提供程序文件拷贝和控制系统升级2种功能,一方面可实现程序的外部存储以及在多台控制系统间相互拷贝,另一方面可对控制系统固件进行离线升级,方便系统维护。手轮模块主要在手动调试以及示教时可以对位置进行微小调整,最小调整精度为1个脉冲单位,从而实现精确定位。控制器I/O接口主要实现检测输入信号和控制信号输出功能,设计了43路信号输入检测接口和39路信号输出接口。脉冲输出模块实现对电机的位置控制,最多可连接4路电机。CAN总线模块实现对总线电机的运动控制。根据加工需求,设计系统重复定位精度pr≤ 0.01 mm,系统运行速度v≥ 1 m/s。EEPROM存储模块用于存储系统参数和控制程序,设计可存储10个控制程序包,每个程序规格最多为100条指令,此外,还可存储最多20个示教点位数据。

下文从系统硬件设计、系统软件设计两个方面分别对系统设计进行介绍,并对编程示教功能进行详细说明。

2 系统硬件设计

2.1 电源模块

机械手运动控制器和手持示教器的内部电源需求为5 V和3.3 V,本设计中采用24 V为输入电源,由外部开关电源供给,经过保险丝后,分别采用LM2596和SPX1117降压芯片进行电压转换。同时,为了消除外部共模干扰对内部电路的影响,在电源输入端安装了共模扼流圈。

2.2 电机驱动模块

控制器的电机驱动方式包含有脉冲驱动和总线驱动2种。脉冲驱动电路如图2所示,该驱动模式为PWM脉冲控制方式,其信号由STM32内部定时器中断产生,并通过74HC245芯片进行功率放大。

图2 电机脉冲驱动电路图

总线驱动方式采用的是CAN总线控制。CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,采用差分方式进行数据传输,具有抗干扰能力强、传输稳定、性价比高等优点。CAN总线电路如图3所示,采用TJA1050总线收发器进行设计。目前,市场上大部分的伺服驱动器都搭载有CAN总线驱动模式,故控制器能满足对此类伺服电机控制的需求。

图3 CAN总线接口电路图

2.3 通信接口模块

控制器和手持示教器采用RS-485总线进行双向通信,采用差分方式进行数据传输,稳定可靠,总线电路设计如图4所示。

图4 RS-485总线接口电路图

手持器和LCD液晶屏之间采用RS-232串行接口进行数据传输,点击液晶屏进行操作时,发送对应指令信息至手持器,手持器接收数据并进行处理,返回对应的界面显示指令,液晶屏接收到新的指令后进行界面刷新。

IIC通信接口主要实现控制器和EEPROM存储模块之间的数据传输,将STM32内部的双向数据线SDA和时钟线SCL连接至E2PROM芯片AT24C16的相应引脚,控制器即可通过IIC总线接口对该E2PROM芯片进行读写操作,实现数据存储。

3 系统软件设计

3.1 手持示教器设计

手持器实现人机交互功能,操作必须简单、便捷,且界面功能要全面,才能应用于不同的生产场合,保证控制系统的通用性。手持器主要开发有6个功能模块:开机界面、自由编程、IO调试、手动调试、系统设置、报警历史。开机界面模块设计有开始、暂停、停止等常用操作指令,并显示当前运行程序的实时步骤;自由编程模块主要实现在线编程和示教;IO调试模块用于控制器IO接口的信号输入检测和输出显示测验以及实时显示;手动调试模块实现机械手各轴手动模式下的运动控制,设计有连续运行、步进运行和微调运行3种运动方式,从而方便动作测试和示教;系统设置模块设计有用户设置、存储点管理、程序管理、IO设置、软限位设置、安全区设置、功能设定和系统升级8个可设置功能,可针对不同控制对象进行相关参数修改,从而增加系统的通用性;报警历史模块主要保存并显示系统出现的报警状态历史信息,方便系统管理员进行查看和检查。

手持器控制程序流程设计如图5所示。手持器开机后首先检测是否需要升级系统,如果需要升级则通过U盘进行程序写入更新。其次,手持器系统进行初始化,并检测是否超出厂家设置的使用期限,如果超出,则根据界面显示的数字编码和新的授权期限生成密码进行解密。随后,手持器与运动控制器进行通信,确认控制器完成初始化,并同步系统数据。最后,手持器初始化操作界面进入正常运行状态,实时响应按键指令并对界面进行显示刷新,且过程中监测系统状态是否发生报警状态,确保系统的安全运行。

图5 手持示教器程序流程图

此外,手持器系统还周期性扫描检测外部按钮,确保能及时响应外部按钮的控制指令。同时,手持器与控制器周期性进行通信握手,同步系统状态,保证系统通信稳定。

3.2 运动控制程序设计

运动控制器主要控制机械手完成生产工艺流程动作,其程序流程设计如图6所示。控制器电源接通以后,首先初始化系统配置,并从EEPROM存储器中读取系统参数。其次,与手持器进行数据同步,将运动控制程序及参数发送给手持器,用于显示、设置和操作。完成数据同步后,对机械手参数进行开机复位,确保机械手处于初始状态。随后,控制器进入正常运行循环,主要实现回原点处理、异常监测、通信处理、输入信号检测和机械手动作控制5个主要功能。

图6 运动控制器程序流程图

运动控制器还设计有软限位、安全区等多重安全保护和监测机制,确保机械手的安全运行。同时,根据机械手运动动作类型,在控制器中将其分解成了基本动作指令,并与手持器程序编码相对应,从而保证了在线编程示教的可实现性。控制器中还开发有物料码垛功能,根据参数设置可自动计算得出多层矩阵料仓的每个物料摆放位置,实现指定顺序的物料码垛功能。

3.3 编程示教功能

控制系统的通用性很大程度上由其编程示教功能决定,如果针对不同的生产工艺流程,需要定制修改控制系统内部程序,那么其通用性就受到了限制。本系统开发设计了全中文的在线编程示教功能,可根据生产工艺流程,在手持器上对机械手的动作流程进行快速编辑,并且能对每条程序指令进行实时示教,大大提高了系统的便捷性和通用性,使得机械手控制系统可适用于多种上下料生产加工场合。编程示教操作界面如图7所示。

图7 编程示教操作界面

编程示教界面主要有指令模块、控件模块和程序模块。指令模块又分为基本指令、轴控指令和IO指令,其中基本指令包含有程序的开始、结束、延时等常规程序指令;轴控指令主要控制机械手各轴的运动,包含有X轴、Y轴、Z轴、O轴;IO指令包含有输入接口检测和输出接口控制。控件模块有程序、调试、添加、删除、修改、保存及清除控件,通过这些空间可以编辑新的控制程序,对程序指令参数进行设置,并且可以实时调试程序指令,检验程序运动的逻辑。程序模块主要是显示程序信息,可以对程序指令进行选择及查看,主要包括程序指令编号、名称、参数3个部分。

编程示教是机械手运动控制中非常繁杂的一项工作,由于目前很多示教系统都是基于机器编程语言或者行业术语进行设计开发,所以需要对操作人员进行专业培训,耗费大量人力物力,不利于控制系统的推广。本系统编程示教功能基于全中文方式设计,可自由定义IO名称,从而增加可阅读性和便捷性,无需专业的培训即可根据工艺流程完成程序编辑。编程完成后保存程序时,系统会校验程序的结构逻辑,防止操作人员错误编辑,确保程序的安全性。

4 实验结果与分析

控制系统硬件电路板设计为两层的PCB。控制器IO接口分布于两侧,方便接线,脉冲输出口位于电路板右侧,并在丝印层对其进行了标注说明。手持器基于7寸的液晶触摸屏设计,外壳上贴有薄膜按键,装配有开关钥匙、微调手轮和急停按钮部件。控制器和手持器之间通过屏蔽线连接,并加有磁环,从而消除外部干扰,保证通信的稳定性。

控制系统已经成功应用于机床加工上下料生产中,其主要设计及技术参数如表1所示。

表1 控制系统设计及技术参数

控制器主频为72 M,脉冲控制输出频率最高设置为200 kHz,最小分辨率为1个脉冲单位,对应精度为0.01 mm,最大速度为2 m/s。在部分对速度要求更高的场合,可以通过调整电子齿轮比提高运行速度,但是会带来控制精度的损失,如当速度提高至4 m/s时,控制精度降低为0.02 mm。

5 结束语

基于STM32微处理器开发设计了一款上下料机械手通用控制系统,系统主要包括运动控制器和手持示教器两部分,设计了系统硬件电路和软件程序,控制器可实现机械手的稳定有序控制,示教器可实现人性化的人机交互,控制器和示教器通过串口进行连接通讯。运动控制器搭载有脉冲驱动和总线驱动2种模式,可提供4路脉冲输出接口,总线集成了CANopen协议,提高了系统的适应性。系统重复定位精度可达0.01 mm,运行速度可达2 m/s。另一方面,为了提高控制系统的便捷性和通用性,基于7寸触摸液晶屏,开发了基于全中文的在线编程示教功能,可根据生产工艺流程在手持器上快速编辑流程控制程序,且能实时示教每一步程序指令,确保程序逻辑的正确性,触屏响应时间最高可达0.08 s,可以大大提高操作效率,节省人力物力成本。此外,系统还开发有硬件和软件配合的多重安全监测机制,保证系统运行的稳定性和生产的安全性。控制系统已投入小批量生产,并取得初步市场,由于系统具有非常好的通用性,故市场潜力巨大。同时,本系统为通用运动控制系统的开发设计提供了良好的参考价值。

猜你喜欢
机械手总线指令
PLC气动机械手控制系统的设计与开发
时间触发通信总线监控技术研究
基于机器视觉的开关操纵机械手研究
基于 Verilog HDL 的多周期 CPU 设计与实现
《单一形状固定循环指令G90车外圆仿真》教案设计
拆弹帮手
关于ARM+FPGA组建PLC高速指令控制器的研究
基于单片机控制机械的压铸机械手优化设计
基于CAN/LIN总线的LED车灯控制研究
MAC指令推动制冷剂行业发展