●●技术交流区

提高运动控制技术水平的捷径

--pmac 2a-pc/104运动控制卡应用心得


左 力

  由于单片机成本低、集成度高、使用方便,现在自动化设备的运动控制中被广泛应用,但是受到其性能的限制,很难控制3轴以上的设备;plc工作可靠、控制的i/o点数多,但控制2个电机进行插补运动困难,控制多轴设备时,运动控制器的成本高。
  近年来国内基于dsp的运动控制卡已经在自动化设备上得到应用,能够进行2轴的圆弧插补、空间直线插补及多轴控制,价格也不高。但是,这类卡必须和工控机配合使用,在功能上还不够完善,如:在专用数控机床、机器人控制方面仍然需要做大量的软件开发工作。
  pmac 2a-pc/104运动控制卡是美国delta tau公司推出的第5代产品,其性价比极高,尤其是其软件功能十分强大。它的应用使我们的自动化设备控制系统的性能大幅提高、研发周期也明显缩短。

  1pmac 2a-pc/104运动控制卡的主要性能
  pmac 2a-pc/104运动控制卡采用标准的嵌入式pc/104计算机的结构,其尺寸小巧、系统扩展方便。
其主板采用motorola 56300系列dsp作为其cpu,主频为40mhz。有128k sram512k闪存。可控制48轴各类电机,如:步进电机、交流伺服电机、直流伺服(有刷、无刷、直线)电机等等。主板上有4个电机接口和一个rs-232接口,其外观如图1所示。另4个电机需要接在电机接口扩展板acc-1p上,它是用104总线插座和主板连接起来的,如图2所示。
  每个电机接口都提供112位的±10v模拟控制信号;1组脉冲和方向控制信号;3pwm控制信号;3个编码器输入信号;4个输入2个输出开关信号,用于限位、回零、使能控制,也可以定义为通用i/o
  具有先进的pid及前馈伺服控制算法;带有陷波滤波器,能有效限制设备振动的问题。
  主板可以独立工作,也可以作为下位机与pc机协同工作。它既可以用pc/104总线和pc机通讯,也可以用rs-232接口与pc机通讯。
  pmac运动控制卡具有类似与basic形式的pmac编程语言,用该语言编程,可使控制卡独立工作。delta tau公司还提供了运动控制软件的动态连接库,使用户能方便的在vbvc下编写自己的软件,控制pmac运动控制卡。

  2、专用数控设备的应用
  
pmac编程语言可执行数控机床的程序,它把gmtd代码作为子程序来调用,使得软件编写格式和数控程序相同,用户很容易接受。
  当程序中遇到
g{data}时,它将调用运动程序10n0的中的第m*1000行命令,其中ndata的百位数,mdata的个位数和十位数。例如:g12将跳转至程序prog 1000中的n12000行命令。m代码也一样,所不同的是它们所用的是prog 10n1t代码使用的是prog 10n2d代码使用的是prog 10n3。下面是一个简单的数控程序示例,运动轨迹见图3

主程序:
open 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机器人(水平关节机器人)结构简单、占地空间小、运动速度快,工业应用已十分广泛。一般它有23个轴线平行的旋转关节,在一个平面内运动,还有1个移动关节,完成垂直运动。图4为一个专用点胶机,它是一个3scara机器人,该机器人的运动学方程为:

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

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

 

  其中:n(z)为带阻滤波器,d(z) 带通滤波器。
  
pmac编程语言允许用户手动设置滤波器的参数nidi;也可以由软件自动设置滤波器的参数,用户只须输入所希望控制的机器谐振频率即可;用户还可以单独指定带通和带阻滤波器的滤波特性,滤波器的参数由软件自动计算。

  总之,pmac运动控制卡功能强、控制精度高、可靠性好,其开放式结构,为用户提供了广阔的、灵活的开发应用空间。目前,已经有成千上万台pmac运动控制系统在美国各个领域每天二、三班不停地运转,如:硅谷的硬盘磁道伺服控制、西北部的圆木切割控制、中西部cnc机床控制……。希望pmac运动控制卡也能在中国为中国的现代化建设出一份力。

 

 


上一篇易学好用的高档运动控制器
下一篇图像处理系统在自动化设备中用作位置反馈的一种方法

==    ==  关闭窗口  ==    ==