螺旋线插补

锂电池焊接上的典型应用
  

 

深圳市雷赛智能控制股份有限公司    聂国强   左 力

 

摘 要SMC6480运动控制器与传统PLC运动控制系统相比在编程灵活性、插补性能及成本控制方面具有极大优势:其不但具有PLC的I/O逻辑控制功能,而且不需要任何扩展模块即可实现高精度直线插补、圆弧插补、螺旋插补等轨迹控制。本文通过一个锂电池焊接机运动控制系统的案例,详细介绍了采用SMC6480运动控制器通过BASIC程序控制多轴复杂轨迹的方法。

 

关键词运动控制器、BASIC程序、电池焊接

 

 

一 运动控制器的特点

     SMC6480运动控制器是雷赛智能自主研发的基于10/100M以太网的通用型独立式运动控制器,可支持多个控制器和PC机组成运动控制系统;也可应用于各种单工位自动化设备上。

本控制器可控制4个步进或伺服电机,具有轨迹控制、网络控制等高级功能。基于FPGA的硬件结构,确保SMC6480控制器实现运动控制的高性能和系统运行的稳定性。运动控制算法及控制模块如:直线插补、圆弧插补、指令脉冲速度控制、原点及限位等信号的检测处理,均由运动控制器完成。

 

二 BASIC指令集的特点

SMC6480运动控制器采用雷泰公司自主开发的BASIC指令集编写用户的控制程序,通过简单的编程、参数设定即可开发出稳定可靠、高性能、高速连续轨迹运动控制系统。该指令集具有如下优点:

1.简单易学:基本的程序指令和Visual BASIC兼容;电机控制指令十分简单。和常用的PC机编程语言相比,该指令集具有统一变量类型、动态参数识别等特点,使用更加灵活。

2.交互性强:程序为解释执行方式,可以实时交互控制,用户可以随时了解程序执行的状态。

3.实时多任务:可以同时运行6个子任务,所以具有强大的实时多任务处理功能。

4. 中断响应:定时器信号、通用数字输入信号、限位信号可作为中断源,中断处理程序使控制器的响应速度更快。

 

三 电池焊接机的运动轨迹

某客户电池焊接机要求焊接电池端面顶部跑道形轨迹,产品外形如图1、图2所示。焊接轨迹如图3所示。

                 

           

图1 电池产品外形一                     图2 电池产品外形二

 

 

 

图3 焊接轨迹图

 

   该电池焊接机的机械结构很特殊:X轴上固定Y轴,Y轴上固定U轴;电池工装固定在U轴上;激光焊接头水平固定,如图4所示。在焊接过程中焊接头始终保持和焊缝垂直的状态。 

 

图4 焊接机俯视图

 

在运动控制器的控制之下,电池运动的位置如图5所示变化,先是C1位、然后是C2、C3、C4、C5和C6位。

 

 

图5 运动轨迹俯视图

 

   如图6所示,电池的运动可以分解为X、Y轴的圆弧插补运动和U轴的旋转运动;即U轴的轴心OU绕圆心点O做圆弧插补运动;同时,电池绕U轴的轴心OU做旋转运动。当圆弧插补运动的圆心角a和电池绕U轴的转角b相等时,相当于电池绕圆心O做旋转运动。

  

图6 运动轨迹分析

 

电池焊缝上的点P0运动到P(m,n)处的轨迹方程为:

m = R sin a

n = R cos a

其中R为图6中的线段OP。

显然,该轨迹就是复合运动所产生的圆弧。在SMC6480运动控制器的BASIC程序中,调用螺旋插补命令,该复合运动就可以十分简单地完成。

 

四 电池焊接机的硬件结构

设备控制系统硬件结构图如图7所示。客户通过以太网从PC机下载BASIC程序至SMC6480运动控制器;机器正常运行时,不需要PC机参与工作。触摸屏通过串口与SMC6480交换信息、显示控制器的运动状态,接收操作者的指令。

 

图7 设备硬件系统结构图

 

五  焊接机BASIC程序

电池外形尺寸如图8所示,触摸屏界面如图9所示。

 

图8 焊接轨迹图

 

图9 触摸屏界面

 

BASIC程序代码如下:

auto:                                                 ’开机自动运行程序

Dim  speed1                                     ’定义速度变量

 

FLASH_READ 1, speed1                ’读取已储存在Flash中的速度值

modbus_reg(2) = speed1                  ’将读取的速度值显示在触摸屏上

run_state = 1                                    ’ 定义运动状态:1:停止,2:运行

out(1,0)                                            ’初始化输出口1

out(3,0)                                            ’初始化输出口3

while 1

if  in(1) = 1 then                                ’ 触摸屏的启动按钮按下

if run_state = 1 then

stop 1

run 1, runtask                                     ’启动任务1:runtask

end if

else

if  in(4) = 1 then                                 ’ 触摸屏的回零按钮按下

if  run_state = 1 then

homemove                                         ’运动平台回原点

end if

else

if  modbus_bit(0) = 1  then                 ’ 触摸屏的保存参数按钮按下

modbus_bit(0) = 0

speed1= modbus_reg(2)

FLASH_WRITE 1, speed1               ’将速度参数保存到FLASH中

end if

end if

end if

wend

end

 

runtask:                                                 ’运行

run_state =2

out(3,0)                                                ’ 运动完成信号置零

out(1,1)                                                ’开激光

base(0,1,2)

VSPEED = speed1                               ’设定当前坐标系插补轨迹速度

pmoveabs(100,100)                              ’按绝对坐标点位运动到起始点

wait idle                                                 ’等待轴停止

move(1000,0)                                        ’直线插补,相对运动到(1000,0)

wait idle                                                 ’等待轴停止

MHELICAL(-1000,0,-500,0,1,100,1)  ’螺旋插补,XY轴顺时针、相对运动半个圆、

                                                             ’同时U轴转180度;

                                                             ’U轴设定为每100个脉冲对应180度

wait idle                                                 ’等待轴停止

move(1000,0)                                        ’直线插补,相对运动到(1000,0)

wait idle                                                  ’等待轴停止

MHELICAL(-1000,0,-500,0,1,100,1)   ’螺旋插补,XY顺时针相对运动半个圆、

                                                              ’同时U轴转180度

 

wait idle                                                  ’等待轴停止,整个轨迹结束

out(1,0)                                                  ’关激光

run_state = 1

out(3,1)                                                  ’ 运动完成信号输出

end

 

程序中几个关键指令解释如下:

1.PMOVEABS

语法:PMOVEABS( position1, position2, position3, position4 )

描述:点位运动

参数:position i:第i个轴运动坐标

2.MOVE

语法:MOVE( distance1 ,distance2 ,distance3 ,distance4 )

描述:直线插补运动

参数:distance i:第i个轴运动距离

3.MHELICAL

语法:MHELICAL(end1,end2,centre1,centre2,direction,distance3,mode)

描述:螺旋插补运动,第一轴和第二轴进行圆弧插补,第三轴相对于一、二轴的圆弧角做比例运动

参数:end1:第一个轴终点坐标

end2:第二个轴终点坐标

centre1:第一个轴圆心坐标,相对与起始点

centre2:第二个轴圆心坐标,相对与起始点

Direction:0-逆时针,1-顺时针

distance3:第三个轴运动距离

Mode:0-第三轴参与速度计算;1-第三轴不参与速度计算

 

六 总结

综上所述,我们可以看出,和PLC相比SMC6480运动控制器具有运动控制功能多、处理I/O信号能力强、性价比高等优点;而且采用BASIC编程十分简单、方便,很容易上手;使用SMC6480运动控制器可以轻而易举地完成各种自动化设备的复杂运动控制。

 

 

作者简介

聂国强 男 ,工程师 2007年河北工程大学自动化专业毕业,现在深圳从事自动化技术研发工作。

左 力 男, 博士,高级工程师 1998年华中理工大学机械学院毕业,现在深圳从事自动化技术研发工作。

你可能感兴趣的:(运动)