一种六杆并联机床数控系统程序设计

  • 格式:pdf
  • 大小:317.47 KB
  • 文档页数:5

第24卷第3期 2010年5月 山东理工大学学报(自然科学版) Journal of Shandong University of Technology(Natural Science Edition) Vo1.24 NO.3 Mav 2O10 

文章编号:1672—6197(2010)03—0044—05 

一种六杆并联机床数控系统程序设计 

马明明,王友林,李 娟 

(山东理工大学机械工程学院,山东淄博255049) 

摘 要:介绍了一种并联机床数控系统程序设计的软件开发环境、硬件平台、三大程序模块及其主 

要算法,包括NC代码的编写和译码、曲线插补算法、各插补点对应的杆长计算、每步的脉冲数计算 和脉冲的发送以及各模块的界面.研究了在特定的编程格式下,动平台相对静平台有确定位姿的算 

法,并可根据不同需要移植和扩展各功能模块,该系统已成功应用于6-UPU并联机床的控制中. 关键词:并联机床;数控程序;算法 

中图分类号:TP311 文献标志码:A 

The NC system program design of a parallel kinematic machine with six bars 

MA Ming—ruing,WANG You—lin,LI J uan 

(School of Mechanical Engineering,Shandong University of Technology,Zibo 255049,China) 

Abstract:The software development environment,hardware platform,three modules and main 

arithmetic of a parallel kinematic machine S NC system program have been introduced,including the interpolation arithmetic,the calculation of bafs length,the pulse number of every interpola— 

tion step and impulsion.A specific NC code form is used to make kinematic platform having affir— matory position and posture relatived to static platform.The function modules of the system soft— 

ware can be improved and expanded for different requirement.It has been applied successfully to 6一UPU parallel machine too1. 

Key words:parallel kinematic machine;NC program;arithmetic 

并联机床以其不可替代的结构简单、刚性好、运 动定位精度高、运动质量小等优势已成为机床家族 

最具发展潜力的一员口],被称为“21世纪的机床”, 是当前各国的重点技术发展项目[2].但测量控制的 

计算量大、操作空间小、价格高的缺点严重制约了并 

联机床的工业应用,使其目前仍停留在实验室研发 阶段,还不能改变当前串联式数控机床的主体地位. 

针对并联机床控制计算量大的缺点,本文研究一种 算法较为简单的、具有3大模块的并联机床应用程 序. 1程序开发环境 

本系统程序所控制的机床为6一UPS并联运动 机床[3],通过控制6杆的杆长变化达到控制刀具位 

姿的目的.系统程序在Microsoft VC++6.0软件 开发环境下开发,选择多文档(Muhiple document) 应用程序,每个文档对应一个数据处理模块.应用文 档/视图结构可以使数控系统的窗口界面具有win— 

dows窗口操作风格,操作者使用起来容易上手. 

收稿日期:2009—11—18 基金项目:山东省教育厅科技项目(J06B55) 作者简介:马明明(1984一),男,硕士研究生.E—mail:xinti

anweng1984@163.com 第3期 马明明,等:一种六杆并联机床数控系统程序设计 45 

2机床结构参数设置(模块1) 

2.1机床驱动系统 机床驱动系统由运动控制卡、步进电机驱动器、 

步进电机和丝杠螺母机构组成.本系统运动控制卡 

选用研华PCI-1750,步进电机驱动器选用DL-025, 步进电机选用57BYGH603.这里仅给出1条杆的 驱动系统接线图[4 (如图1所示),其余5条杆类似. 

计PC 算插 机槽 运23 动 控27 制 卡I l0 

二相 建电机 ]I匝 220VAC{l +5V 驱动器I o l・CP+/CW+ O l・CP-ICW— O IU/D+/CCW— O f’U/D—ICCW— o l】PD+ O lPD— o lA o I,A O IB o l/B 0 o o 0 AC 16V,0.5A AC 20.40VI4A 

图I驱动系统搔线图 

2.2机床主要结构参数及对刀 设机床的坐标系(笛卡尔坐标系)原点在6个静 

铰中心形成的正六边形的几何中心上,静平台、动平 台各铰链中心的相对位置分别如图2、图3所示.初 

始时,动、静平台水平放置且其铅垂方向(Z轴方向) 距离为515 mm,刀头点至动铰中心的距离为227 

mm. 对刀是指使刀头点相对于机床坐标系有正确的 

初始位姿,即动静平台水平放置且刀头点沿铅垂方 向(Z轴方向)与静平台铰链中心距离为742 mm,各 

杆长度相等,经计算长度L为 

L一#(21o4 ̄--105.0892478) +(21o+32.5) +(515一O) 

一603.01 rnrn 

圈2静平台铰链分布图 图3动平台铰链分布图 

对刀模块中的调整运行组框能响应鼠标点击从 而调节各杆长度,倍距选择组框能选择各杆调整运 行时伸长或缩短的距离.这样对刀模块就实现了用 

计算机软件代替手摇脉冲发生器的功能.相应的数 控系统界面如图4所示 

图4机床结构参数设置与对刀操作界面 

3 NC代码编写及其相应的数据处理 

(模块2) 

3.1 NC代码编写格式与翻译 

参照当前普通数控机床的代码编写规则,本系 统的基本插补代码编写规则如下: N××GO0(01)X×X Y××ZX X AX X B ××C×× N××G02(03)XX×YX×ZX X A×X B 

××C××I××J××K×× 其中:N为代码的行号;G为空间直线插补命令, G00为快速进给,G01为低速直线进给,G02为空间 

顺时针圆弧插补,G03为逆时针圆弧插补(由Z轴 负方向看去);X,Y,Z为刀头点在机床坐标系中的 

位置;A,B,C为刀具轴线分别与X,Y,Z轴的夹角; I,J,K空间圆弧圆心坐标.x,Y,Z,A,B,C确定了 刀具在机床坐标系中的位姿. 

每行NC代码中X,Y,Z,A,B,C既是上一行代 码所代表刀具位姿的终点,又是下一行NC代码所 

代表刀具位姿的起点. NC代码的翻译是将NC代码按一定的格式提 取出来,为计算机的插补运算做好准备.例如:NC 

代码行为N025 G01X0.Y一7.2O Z一742.A2.30 B5.6 CO.,则翻译后写入文件的格式为(25,0, 

一7.20,一742,2.30,5.6,0),这样NC代码中有用 的信息就能提取出来并保存在文件中. 3.2空间直线插补 并联机床的机床坐标系是虚拟的,并没有实际 的运动轴与其对应,因而并联机床又称为虚拟轴机 

床,这样特殊的机械结构使得并联机床有完全不同 46 山东理工大学学报(自然科学版) 

于普通数控机床的插补算法. 本系统采用小球面分割法,插补算法如下: ①将刀具的运行轨迹看成是一条曲线,将小球 

面球心放置在曲线的起点上,这样曲线和小球面必 

有一个交点,记录下此交点 ②将小球面的球心放在上一步插补的焦点上, 

这样空间曲线便与小球面有两个交点,依据刀具加 工方向对两个交点取舍,保留选取的交点 ③依次进行,空间曲线就被小球面离散成一系 

列的点,这些点按一定的顺序被保存在了文件中. 

空间中直线与圆的插补是最基本的插补线形, 因为一来在插补其他空间曲线时,可以用直线与圆 

弧来拟合其他空间曲线;二来可仿照空间直线与圆 弧的插补算法来衍生其他空间曲线的插补算法. 3.3空间直线的插补算法 

如图5所示,设某有向直线段由起点E(L,M, N)至终点F(P,Q,R),满足L≥P,M≤Q,N≤R且 

L—P,M--Q,N—R不同时成立,分割小球面球心 

(A,B,C)在该有向直线段上,其半径为r,于是有 (z—L— —M~z—N j P~L Q--M R—N l(Iz—A) +(y--B) +(Z--C)0===r 

可求得小球面与有向直线段的两个交点,记为 U(xl,yl,z1),V(x2,y2,z2),在程序中取舍交点 的标准就是有向直线段的方向,两交点取舍算法如 

下: ①若.z1>x2,则选取点V;若xl<z2,则选取 点U;若xl=x2,则执行下一步; 

②若yl< 2,则选取点V;若 1> 2,则选取 点U;若yl===y2,则执行下一步; 

③若zl ̄z2,则选取点V;若zl ̄z2,则选取点 U;若zl—z2,则执行下一步; 

④报错“注意检查NC代码是否重复!” 

图5空间直线分割示意图 3.4空间圆弧插补算法 

如图6所示,设空间某有向圆弧,起点E(L,M, N),终点F(P,Q,R),圆心( ,,,K).分割小球面球 

心(A,B,C)在该有向圆弧线段上,其半径为r.坐标 系O—xyz的底矢分别为i,J,k于是有嘲: 

r(z—A) +(Y—B) +(z—C)。一r I E( —D+F(Y—J)+G(2;-K)一0 

(x-- ) +(y-J) +(z-K)。一 

l (P—D +(Q~J)。+(R—K)。 其中E,F,G满足, 

f j『 1 (E,F,G)一IL—jr M— 』\,一Kf 1 P—I Q一.厂 R—K I 即 rE===(M—J)(R—K)一(Q—J)(N—K) 

F一(P—D(N—K)一(L—D(R—K) (1) IG===(L—D(Q—J)一(P— )(M—J) 

解方程组(1)可以求得空间圆弧与小球面的两 个交点,记为U(xl,yl,z1),V(x2,y2,z2),下面讨 论圆弧与小球面两个交点的取舍问题. 

先将空间圆弧分类,按空间圆弧是否垂直X 轴,y轴分3大类:(1)空间圆弧垂直于x轴;(2)空 

间圆弧垂直于y轴;(3)空间圆弧既非垂直于 轴, 又非垂直于Y轴; 

图6空间圆弧分割示慝图 现针对这3大类圆弧现分别做小球面分割: 

1)垂直于x轴的空间圆弧插补算法. ①将空间圆弧圆心移至机床坐标系原点,记录 偏移量. 

②将x轴和z轴互换(这样圆弧处于OXY坐 标系中),根据要插补圆弧在OXY坐标系中象限与 插补方向进行两交点的取舍,并保存选取的交点.例 

如图7所示的第一象限的逆时针圆弧,在点【,, 中 选取具有较小X坐标的点,其余的几种情况可采用 类似的方法.