|
提高运动控制技术水平的捷径
--pmac
2a-pc/104运动控制卡应用心得
左 力
由于单片机成本低、集成度高、使用方便,现在自动化设备的运动控制中被广泛应用,但是受到其性能的限制,很难控制3轴以上的设备;plc工作可靠、控制的i/o点数多,但控制2个电机进行插补运动困难,控制多轴设备时,运动控制器的成本高。
近年来国内基于dsp的运动控制卡已经在自动化设备上得到应用,能够进行2轴的圆弧插补、空间直线插补及多轴控制,价格也不高。但是,这类卡必须和工控机配合使用,在功能上还不够完善,如:在专用数控机床、机器人控制方面仍然需要做大量的软件开发工作。
pmac 2a-pc/104运动控制卡是美国delta
tau公司推出的第5代产品,其性价比极高,尤其是其软件功能十分强大。它的应用使我们的自动化设备控制系统的性能大幅提高、研发周期也明显缩短。
1、pmac
2a-pc/104运动控制卡的主要性能
pmac 2a-pc/104运动控制卡采用标准的嵌入式pc/104计算机的结构,其尺寸小巧、系统扩展方便。
其主板采用motorola 56300系列dsp作为其cpu,主频为40mhz。有128k
sram、512k闪存。可控制4到8轴各类电机,如:步进电机、交流伺服电机、直流伺服(有刷、无刷、直线)电机等等。主板上有4个电机接口和一个rs-232接口,其外观如图1所示。另4个电机需要接在电机接口扩展板acc-1p上,它是用104总线插座和主板连接起来的,如图2所示。
每个电机接口都提供1个12位的±10v模拟控制信号;1组脉冲和方向控制信号;3个pwm控制信号;3个编码器输入信号;4个输入2个输出开关信号,用于限位、回零、使能控制,也可以定义为通用i/o。
具有先进的pid及前馈伺服控制算法;带有陷波滤波器,能有效限制设备振动的问题。
主板可以独立工作,也可以作为下位机与pc机协同工作。它既可以用pc/104总线和pc机通讯,也可以用rs-232接口与pc机通讯。
pmac运动控制卡具有类似与basic形式的pmac编程语言,用该语言编程,可使控制卡独立工作。delta
tau公司还提供了运动控制软件的动态连接库,使用户能方便的在vb、vc下编写自己的软件,控制pmac运动控制卡。
2、专用数控设备的应用
pmac编程语言可执行数控机床的程序,它把g、m、t和d代码作为子程序来调用,使得软件编写格式和数控程序相同,用户很容易接受。
当程序中遇到g{data}时,它将调用运动程序10n0的中的第m*1000行命令,其中n是data的百位数,m是data的个位数和十位数。例如:g12将跳转至程序prog
1000中的n12000行命令。m代码也一样,所不同的是它们所用的是prog
10n1;t代码使用的是prog 10n2;d代码使用的是prog
10n3。下面是一个简单的数控程序示例,运动轨迹见图3。
主程序:
o pen
prog 5 clear ;为程序5清零
g17 g90 ;xy平面,绝对坐标
g97 s1800 ;设置主轴转速为1800 rpm
f200 ;设置进给速度为200mm/min
g00 x10.0 y5.0 ;快速运动到(10.0,5.0)
m03 ;开主轴
g04 p2.0 ;延时2秒
g01 z0.0 ;将铣刀放下
g01 x30.0 y5.0 ;直线插补
g03 x35.0 y10.0 j5.0 ;逆时针圆弧插补
g01 x35.0 y50.10 ;直线插补
g03 x30.0 y55.0 i-5.0 ;逆时针圆弧插补
g01 x10.0 y55.00 ;直线插补
g03 x5.0 y50.00 j-5.0 ;逆时针圆弧插补
g01 x5.0 y10.0 ;直线插补
g03 x10.0 y5.0 i5.0 ;逆时针圆弧插补
g01 z5.0 m05 ;将铣刀抬起,主轴停止
g00 x0.0 y0.0 ;回原点
close
g代码子程序1000:
open prog 1000 clear
n0000 rapid return ;g00快速移动
n0100 linear return ;g01直线插补
n0200 circle1 return ;g02顺时针圆弧插补
n0300 circle2 return ;g03逆时针圆弧插补
n0400 read (p) ;读g04延时时间p
if (q100 & 32768 > 0
)
dwell (q116*1000) ;延时p秒
endif
return
n17000 normal k-1 returen ;g17设置xy平面
n90000 abs return ;g90绝对坐标模式
n97000 read (s) ;读g97主轴转速s
if (q100 & 262144 > 0 )
i422=q119/30 ;设置主轴转速为s
endif
return
close
m代码子程序1001:
open prog 1001 clear
n0300 cmd "#4j+" return ;m03主轴顺时针圆弧转动
n0500 cmd '#4j/" return ;m05主轴停止
close
除此之外,pmac编程语言还具有螺旋线插补、刀具半径补偿、丝杠误差补偿功能、能方便的控制旋转轴使刀具保持与xy运动轨迹正交状态。总之,用pmac运动控制卡及其软件能迅速地建立一个功能强大的数控系统,可应用在各种专用数控设备上。
3.
机器人控制的应用
由于scara机器人(水平关节机器人)结构简单、占地空间小、运动速度快,工业应用已十分广泛。一般它有2~3个轴线平行的旋转关节,在一个平面内运动,还有1个移动关节,完成垂直运动。图4为一个专用点胶机,它是一个3轴scara机器人,该机器人的运动学方程为:

点p3(0,0,z3)是机器人末端点即垂直轴端点在坐标系o3中的坐标,点p0(x0,y0,z0)是该点在坐标系o0中的坐标,坐标o0为绝对坐标,也称为工作站坐标系。
根据各关节的变量q1、q2、z3值,用运动学方程(1)可以计算出机器人末端点在工作站坐标系的位置。但是,我们要进行机器人末端点的轨迹控制,必须进行运动学反解,即:根据点p0(x0,y0,z0)计算各关节的变量、q2、z3值。
反解算法很多,但由于二个旋转关节的关系简单,可以直接用几何法进行运动学反解。用余弦公式根据图5上的关系及式(1),可以得到:

其中:
由于pmac
2a-pc/104运动控制卡允许定义2个直角坐标系:x、y、z和u、v、w以及3个旋转坐标a、b、c,我们定义了3个虚拟轴x、y、z,用g代码计算点胶轨迹,不断在内存中读取每步运动的坐标(
m,n,z0 );然后用运动学反解公式(2)计算出相应的q1、q2、z3,进而控制3个关节运动,实现scara机器人的轨迹控制。
如果对机器人运动轨迹的精度要求不高,可以计算出一系列有一定间隔的坐标点(
m,n,z0 ),然后,各点间的运动轨迹用pmac编程语言中的3次样条功能spline进行插补。
对于多轴机器人和多轴自动化设备,其运动轨迹计算复杂,可以充分利用pmac编程语言具有的矩阵运算功能,如:坐标平移、旋转、坐标变换等高级命令,以简化控制程序。
scara机器人为悬臂梁结构,刚度有限。在高速运动停止过程中会出现振动现象。采用pmac编程语言提供的陷波滤波器,机械手臂振动现象得到有效控制。
其陷波滤波器的传递函数为:

其中:n(z)为带阻滤波器,d(z)
带通滤波器。
pmac编程语言允许用户手动设置滤波器的参数ni、di;也可以由软件自动设置滤波器的参数,用户只须输入所希望控制的机器谐振频率即可;用户还可以单独指定带通和带阻滤波器的滤波特性,滤波器的参数由软件自动计算。
总之,pmac运动控制卡功能强、控制精度高、可靠性好,其开放式结构,为用户提供了广阔的、灵活的开发应用空间。目前,已经有成千上万台pmac运动控制系统在美国各个领域每天二、三班不停地运转,如:硅谷的硬盘磁道伺服控制、西北部的圆木切割控制、中西部cnc机床控制……。希望pmac运动控制卡也能在中国为中国的现代化建设出一份力。
|