APP下载

基于固高控制器的焊接机器人控制系统设计*

2015-07-04杨军军武建新

机械研究与应用 2015年3期
关键词:控制卡焊件焊枪

杨军军,武建新

(内蒙古工业大学机械学院,内蒙古呼和浩特 010051)

0 引言

固高公司生产的GTS-800-PV(G)-PCⅠ系列运动控制器,可以实现高速的点位运动。其核心由DSP和FPGA组成,可以实现高性能的控制计算[1]。它适用于广泛的应用领域。基于数控卡控制系统的棱管法兰自动电焊机的应用能提高效率,优化质量,改善劳动强度且具有很好的经济和社会效益。

1 自动焊接机控制系统硬件设计

1.1 简述固高运动控制卡

GTS-800-PV-PCⅠ系列运动控制器以 ⅠBMPC为主机,提供标准的 PCⅠ总线的产品[2]。运动控制器提供C语言等函数库和Windows动态链接库,实现复杂的控制功能。以适应各种应用领域的要求。使用该运动控制器,要求使用者具有C语言编程经验。GTS-800-PV(G)-PCⅠ运动控制器的外形结构主要由DSP和FPGA两部分组成,其中DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件。其主要的工作原理是接收模拟信号,转换为0或1的数字信号,然后进行后续的工作。FPGA即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

1.2 GS系列伺服驱动器简述

GS系列伺服驱动器以美国TⅠ公司最新的数字处理芯片(DSP)作为核心控制芯片,采用了先进的全数字电机控制算法,完全以软件方式实现了电流环、速度环、位置环的闭环伺服控制。

1.3 运动控制卡与PC连接

本次设计的棱管法兰自动焊接机用DSP作为运动控制的核心单元,控制卡采用的是PCⅠ接口通信的方式,利用PCⅠ总线来完成计算机与运动控制卡的通信,运动控制卡的+5V电源由PCⅠ插槽提供。

PCⅠ总线是当今PC机应用最多的一种通信接口,差不多所有计算机主板上都带有这种接口,这为运动控制卡的使用提供了方便。PCⅠ插槽采用的是分时复用技术,此种技术既能够减少接口的管脚数量也能够完成突发事件时的准确传输。PCⅠ总线具有传输信息数据快速,实时性高,有很好的稳定性与兼容性能,并且能够进行纠错处理。在高效数据处理中有着广泛的应用。本次自动焊接使用的运动控制卡与PC机的连接如图2。

图1 固高运动控制卡实物图

图2 固高运动控制卡与PC连接图

1.4 运动控制卡与端子板连接

关闭计算机电源,取出产品附带的两条屏蔽电缆。一条屏蔽电缆连接控制器的 CN17与端子板的CN17,另一条屏蔽电缆连接转接板的 CN18与端子板的CN18。为保证外部电路正常运行,必须进行上述连接,如图3所示。

图3 运动控制器与8轴端子板连接示意图

1.5 固高运动控制卡与伺服驱动器连接图

如图4所示,为固高运动控制卡与伺服驱动器连接图[3]。

2 激光传感器测距

自动焊接过程中因为存在着大量的焊接烟尘、弧光、金属飞溅,现场焊接中操作环境非常恶劣,一般的接近开关常常受到环境的干扰。所以本文选用抗干扰能力强的激光传感器作为自动焊接机的测距单元。激光传感器一般由激光器、激光检测器和测量电路等几部分构成,主要依靠比较光谱相位进行距离的测量。把激光传感器安装在焊枪上让其与焊枪保持在同一水平线使棱管到焊枪与棱管到激光传感器的距离相同,并且激光传感器与焊枪一起运动。由于在焊接时,焊枪与法兰的角度已经调整到位,因此激光传感器只需要采集焊枪与棱管面的距离即可,通过采集到的数据的大小来确定焊枪的上下移动与否。数据采集示意如图5所示[4]。

图4 固高运动控制卡与伺服驱动器连接图

图5 数据采集示意图

由于棱管为对称规则形状,在自动焊接的初始状态为原点位置,即焊枪处于棱管的垂直上方,当开始焊接时让先主轴停止旋转,焊枪以一定的速度向下接近棱管,当焊枪与棱管的距离达到接近开关的动作距离设定值3mm时,触发接近开关,运动控制卡程序跳转到主轴旋转,由于棱管面到中心的距离不等,所以在主轴旋转时,棱管表面与焊枪的距离也会变化,当采集到激光传感器的测距*dResult为1.99mm时就让焊枪已设定的速度向上移动,当棱管旋转到其某个棱处于最高点时,其与焊枪的距离已不能在增大,但此时焊枪仍然向上移动,当其激光传感器的测距*dResult为2.01mm时就让焊枪下移来完成焊接。

上位机通过RS485与传感器进行通信,通信波特率设置为38400,数据位为8位,停止位为1位,上位机通过函数GetDistance()得到传感器测量长度[4]。其函数[5]如下所示:

BOOL GetDistance(int num,double*distance)

{

unsigned char buff[50];

DWORD dwBytesRead,dwBytesWritten;

BOOL bReadStatus,bWriteStatus;

char szComParams[50];

DCB dcb;

char*m_com;

m_com="Com1";

HANDLE m_ComDev;

COMMTⅠMEOUTS CommTimeOuts;

//m_ComDev=NULL;

m_ComDev=CreateFile(m_com,GENERⅠC_READ|

GENERⅠC_WRⅠTE,0,NULL,OPEN_EXⅠSTⅠNG,FⅠLE

_ATTRⅠBUTE_NORMAL,NULL);

if(m_ComDev== ⅠNVALⅠD_HANDLE_VALUE)

{

//printf("连接失败! ");

MessageBox(NULL,TEXT("连接失败"),TEXT("警告"),MB_OK);

return 1;

}

GetCommTimeouts(m_ComDev,&CommTimeOuts);

CommTimeOuts.ReadⅠntervalTimeout=10;

SetCommTimeouts(m_ComDev,&CommTimeOuts);

//PurgeComm(m_ComDev,PURGE_TXABORT|

PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);

m_com="Com1:38400,N,8,1";

wsprintf(szComParams,m_com);

dcb.DCBlength=sizeof(DCB);

GetCommState(m_ComDev,&dcb);

dcb.BaudRate=38400;

dcb.ByteSize=8;

if((!SetCommState(m_ComDev,&dcb))||(!Set

upComm(m_ComDev,10000,10000)))

{

DWORD dwError=GetLastError();

CloseHandle(m_ComDev);

}

//PurgeComm(m_ComDev,PURGE_RXCLEAR|PURGE_TXCLEAR|PURGE_TXABORT|PURGE_RXABORT);

unsigned char commandMessage[4]={0x81,0x04,0x57,0x52};

double nresult;

bWriteStatus=WriteFile(m_ComDev,commandMessage,4,&dwBytesWritten,NULL);

/*if(bWriteStatus)

{

printf("写入取数据%d字节:",dwBytesWritten);

for(int i=0;i<dwBytesWritten;i++)

{

printf("%X ",commandMessage[i]);

}

}*/

bReadStatus = ReadFile(m_ComDev,buff,6,&dwBytesRead,NULL);

if(bReadStatus)

{

/*printf(" 读出数据:");

for(int i=0;i<dwBytesRead;i++)

{

printf("%x ",buff[i]);

}*/

nresult=300-((0x3f& buff[3])*64+(0x3f& buff[4]))*220.0/4095;

//printf(";距离是:%3.1f ",nresult);

}

*distance=nresult;

return 0;

}

3 自动焊接机控制过程

3.1 焊接机器人控制系统的流程图

焊接机器人控制系统的流程如图6所示。

3.2 各个系统电机控制过程

组对系统、主轴系统、机械手系统都是由固高运动控制卡来控制各个伺服电机的运动,所以要设置每个电机的轴标号[6]。电机控制的轴分别为:

控制卡1:电机1:外侧机械手X轴(插补);电机2:外侧机械手Z轴(插补);电机3:外侧机械手Y轴;电机4:外侧机械手A轴(控制的是机械手焊枪的摆动运动)(插补);电机5:主轴;电机6:组队系统托举(控制组对系统竖直方向的运动);主轴7:组队系统移动(控制组对系统水平方向的运动)。

控制卡2:电机:内侧机械手X轴(插补);电机2:内侧机械手Z轴(插补);电机3:内侧机械手Y轴;电机4:内侧机械手A轴(控制的是机械手焊枪的摆动运动)(插补)。

下面根据上文中提到的控制系统流程图,简单的介绍一下组对系统、主轴系统、机械手系统的运动控制过程[7]。

图6 焊接机器人控制系统的流程图

第一,将焊件放到组对系统的支撑件上时,需要根据所给定的焊件的长度、重量和直径的大小来调整组度系统的距离和两队滚轮的张角,以便于组对系统的稳定快速运行。组对系统先将焊件沿竖直方向托升至与主轴同轴度的位置,如果需要调整可以进行手动微调,使其达到系统的要求;之后电机控制组对系统沿水平方向运动,将焊件点的待焊端插入法兰,焊件插入法兰的深度可以通过安装的激光传感器来检测,当法兰端面和棱管端面共面时开始计时,根据棱管直径和棱管长度上位机会自动计算棱管插入法兰的长度。在此过程中必须保持焊件和法兰的同轴度在允许范围内。

第二,当组对系统将焊件移动到焊接位置后,就需要主轴系统中处于尾座的电机开始运动,它的作用是将焊件固定夹紧,便于在焊接过程中焊接不会在转动时移动,导致焊接失败。焊件夹紧以后,实施人工点焊固定棱管和法兰的相对位置,当所有的工作都完成则可以将组对系统移动到焊件下方。

第三,由于焊接环境非常恶劣,而我们使用的是激光传感器,故必须在焊接之前进行采点,下一步则启动主轴电机,使用激光传感器记录棱管一周点的坐标保存到文件中。

第四,机械手系统的控制是最重要的,通过手动调节焊接机器人焊头和待焊处的焊接角度,以达到最佳焊接状态。当我完成以上所有的步骤以后,要重新检查机床所有的设备是否都能正常工作,这个过程避免了因为在焊接过程开始后因为设备损坏而发生事故,所以我们要对不能正常完成整个焊接工作的设备马上更换,保证焊接工作正常进行。

第五,当所有的控制系统都到达指定位置后,启动机床,开始焊接。先通过主轴系统主轴的转动带动焊件和法兰一起转动;然后机械手开始启动,对焊缝实施焊接,在焊接的过程中,控制卡运行插补指令读取文件中的坐标进行焊接。

第六,当焊接过程完成以后,要立即关闭机床的运动,因为焊接的焊缝不够理想,所以在停止机床后要对焊缝进行必要的处理,使其达到技术要求。焊枪的焊头是很脆弱的,所以在焊接完成后撤走机械手的过程中,应该先将机械手沿竖直方向向上移动,这样可以后保护焊头,然后再将机械手沿水平方向和前后方向将机械手移动到安全的待焊位置。最后,还要将焊接完的焊件运走,就需要升起之前下落的组对系统,撤走固定夹紧装置,将焊件由组对系统从机床的工作平台卸下,运送到指定的位置。

3.3 控制系统控制程序清单

在整个程序的控制过程中,各个轴的运动一共有两种运动方式,分别是点位运动和直线插补运动。其中控制一个轴点位运动的轴有5、6、7轴,都是单独轴的点位运动,3轴是在建立的坐标系内,但是不参与插补。其他的都是插补运动的轴。

4 人机界面开发

固高GTS系列运动控制器支持多种编程环境下的应用程序开发,固高公司提供有多种编程环境下的驱动程序与工具软件包,可实现对C、C++、C#、VB、Delphi等多种编程开发平台的动态调用支持。

4.1 软件架构

软件架构如图7所示。

图7 软件架构

4.2 人机界面整体设计

自动电焊机的人机界面要求简洁、大方、好用,要有良好的人机交互性,能够满足焊接控制时参数的设置需求与自动焊机运行时参数的实时监控要求,并能实现人工手动调整,急停,手动调试,故界面还要求功能强大。界面开发如图8。图8中点开控制按钮可以选择配置文件,如图9。

图8 操作界面

图9 打开界面

在界面中调试与信息是供操作人员调试与手动调整焊件的,数字量输入状态,和通用输出可以了解到固高运动控制卡的状态,下方有操作区,有伺服使能,平滑停止,紧急停止等必要的操作,右方是关于棱管参数。最重要的是下方的操作向导提供给操作人员一个操作顺序,并且可以灵活的输入运动参数,下方是信息区,可以很方便的给操作人员运动模式和错误信息。

5 总结

棱管法兰自动焊接机在棱管法兰的焊接中有着广泛的应用,本文利用基于固高运动控制卡的控制系统,根据焊接参数与焊接控制系统的要求设计了棱管法兰自动焊接机控制系统。本文在研究棱管法兰自动电焊机的过程中得出了以下结论。

(1)对自动焊接的硬件系统进行了设计时,根据固高运动控制卡以及配套的端子板进行选择了控制系统方案,进行了运动控制卡与PC连接设计,端子板与伺服驱动器连接设计,并且对电机进行了选型以及确定每个电机轴在自动点焊接中的作用。

(2)以VC++6.0作为人机界面系统开发平台,设计软件开发整体流程并采用有调理的顺序流程,设计的人机界面主要有主界面、系统参数设置、焊接参数设置、文档处理。

[1] 吴 丽,梅 杨.电气控制与PLC应用技术[M].北京:机械工业出版社,2002.

[2] 张选正,张金远.变频器应用经验[M].北京:中国电力出版社,2006.

[3] 王仁祥.常用低压电器原理及其控制技术[M].北京:机械工业出版社,2002.

[4] 廖常初.可编程序控制器应用技术[M].重庆:重庆大学出版社,2004.

[5] 吴 丽,黄江峰.电气控制与PLC应用[M].北京:中国电力出版社,2004.

猜你喜欢

控制卡焊件焊枪
兼容多种运动控制卡的V割机数控系统关键技术*
基于Solidworks 的蓝莓采摘车焊枪夹持机构设计
对接接头焊件批量缺陷空间位置的可视化
35#钢摩擦焊多级加压对轴向缩短量及焊后组织的影响①
三轴机械手控制器设计
可调整焊枪姿态直线摆弧路径算法研究*
基于运动控制卡的桁架机器人控制系统设计
基于改进型神经网络的焊接机器人焊枪控制算法研究
汽车焊装夹具设计中快速插枪技术研究与应用*
缝焊