基于PSoC的数控运动控制器

2012-02-06 06:00叶朝辉周永明
电子技术应用 2012年5期
关键词:圆弧轨迹直线

张 弛,叶朝辉,周永明

(清华大学 自动化系,北京 100084)

目前广泛使用的数控运动控制器的功能和性能已趋于完善,例如固高控制器、PMAC控制器等。但这些控制器大多还是属于封闭式结构,系统难以进行扩展和移植。同时,用户也不能根据实际需求自由地配置输入输出接口或改变系统内部模块结构,系统的通信方式也比较单一,难以实现网络化[1-2]。

Cypress公司的 PSoC(Programmable System on Chip)可编程片上系统将32 bit微控制器、可编程模拟资源、可编程数字阵列集成在一个芯片上,可以自由配置模拟、数字、通信等功能,并且可以在线编程。模拟资源和数字阵列可以通过PSoC Creator编程软件进行方便的增减和修改,有70个可自由配置的I/O口,可方便地配置为多种类型的模拟/数字输入或输出接口,用来对数据和信号进行实时采集和控制,是一个开放式的结构,具有良好的并行性和可扩展性。另外还支持包括USB、I2C、SPI、等多种通信接口,具有完善的可移植性[3]。鉴于数控运动控制器的发展现状以及PSoC芯片的诸多优势,本文将以PSoC芯片 CY8C5588(一款第五代 PSoC芯片)为基础,构建一套数控运动控制器,用来控制三轴雕刻机的工作。

1 系统整体架构

以目前已经完成的三轴联动的雕刻机控制器为例,系统的整体结构如图1所示,包括计算机、以PSoC为核心的控制器、驱动电路和雕刻机。

图1 系统整体架构

上位机程序采用C#语言编写,采用网络编程的套接字技术,作用是供用户输入或从文件导入指令,并将其传输给PSoC进行解析和计算,控制雕刻机按照所预想的方式运行。PSoC控制器主要实现了与上位机的通信、指令的解析插补、电机的运动控制。驱动电路对PSoC输出的信号进行反相和放大,信号输出给雕刻机的电控箱,控制雕刻机运转。

2 系统硬件设计

在可编程片上系统PSoC中所使用的端口和元件示意图如图2所示,共采用了 4个PWM模块,3个Counter(计数器),一个SPI,一个UART以及若干输入输出接口。

图2 PSoC中使用的元件和端口示意图

SPI模块和UART模块用来实现与上位机的通信。PWM_0、PWM_1、PWM_2和 PWM_3分别用作主轴和三个运动轴输出脉冲发生器,用来控制主轴的转速和三个运动轴的运动速度。Counter_1、Counter_2和Counter_3则分别对三个运动轴的输出脉冲进行计数,实现运动轴位移的控制。数字输出端口输出三个轴的使能、方向信号和整个系统的急停信号。输出电平的高低通过软件编程控制。在这些信号控制三个运动轴工作的同时,系统可以进行计算、插补、状态查询、指令传输等任何其他的工作,整个系统具有良好的并行性。另外,这些信号可以根据需要随时进行修改,使得运动轴改变运动速度或方向,系统具有良好的实时性。

同时,PSoC芯片支持DMA(直接内存访问)技术,由DMA控制器完成。DMA是一种存储器之间以及存储器与外部设备之间进行数据传输的方法。在DMA中,由硬件设备接管了总线进行数据传输工作,节省了主程序调用API函数所占用的CPU时间,提高了系统的并行性,可以缩短插补周期,大大改善了控制器的性能。雕刻机运动轴的运动轨迹控制通过软件控制以上各个硬件部分协作完成,可以实现直线插补、圆弧插补以及Nurbs插补。

3 系统软件设计

3.1 插补方案

3.1.1 直线插补

对于一条直线,首先将其在 X、Y、Z三个轴上进行投影,根据要求的进给速度和进给量分别设置三个轴的PWM元件参数和对应的计数器,并对三个轴的使能信号和方向信号进行配置。在插补过程中,速度的实时改变也是通过软件修改PWM元件参数来实现。

3.1.2 圆弧插补

圆弧插补的基本思想是在满足运动精度的前提下,用微直线段代替圆弧线进行进给,即使用直线来逼近圆弧。本文采用的圆弧插补算法为改进的二阶近似DDA插补算法,使用圆的内接弦来逼近圆弧。算法如下(以第一象限为标准)[4]:

令插补圆弧的半径为R,恒定进给速度为F,插补周期为T,则定义常量:

(1)计算插补系数

(2)计算插补增量

令当前插补点为(Xi,Yi),下一个插补点为(Xi+1,Yi+1),若为逆时针圆,则计算插补增量为:

该插补算法并未使用近似运算,具有很高的精度,每一个插补点都在圆弧上。

3.1.3 Nurbs曲线插补

Nurbs曲线是非均匀有理B样条曲线,可以用以下算式定义:

其中,C(u)为 Nurbs曲线,参数 u的范围为 0~1;Pi为控制定点序列,i从0~n,第0个点和第n个点一般是同一个点。以二维曲线为例,C(u)既代表X(u)也代表Y(u),而对应的Pi则分别为第 i个顶点的 X坐标和 Y坐标;Wi则为Pi的权值序列。

Ni,k的定义为:

这里使用了节点序列:

U={0,0,…,0,uk+1,…,un-k-1,1,…,1,1}

其中,n为节点数,k为Nurbs曲线的次数(也是B样条的次数)。

对于圆弧插补和Nurbs插补,由于是将其分解为一段段微小的直线,为了提高整个系统的效率,在PSoC中采用了“边计算边插补”的并行控制方式。该控制方式可以用图3表述,左边为软件执行流程,右边为DMA、PWM、Counter等硬件模块的并行执行流程。

图3 并行控制的插补流程

3.2 速度控制方案

对于一个实际的电机,启停时的速度变化需要有加速和减速的过程,在雕刻机的运行中,进给方向改变时同样需要一个减速再加速的过程,以缓解对电机的冲击力,延长雕刻机的使用寿命。加减速的主要方式有梯形加减速和S型加减速两种,如图4所示。

在梯形加减速中,速度的变化是均匀的;在S型加减速中,加速度也是变化的,从0逐渐变大再减小为0。S型加减速对系统具有更小的冲击性,但是运算的复杂度更高,时间开销更大。本文采用了自适应的速度控制方案,对于运动轨迹上拐角比较大且插补速度比较高的点使用S型加减速,对于比较平缓的插补和轨迹交接则使用梯形加减速。另外,系统还引入速度前瞻控制方案,在插补一段轨迹时,根据下一段轨迹的长度和方向来决定进给速度的趋势。综合两段轨迹的长短和夹角,确定减速方案(减速点、加速度和末速度)。

4 实验结果以及系统性能分析

4.1 雕刻结果展示

本文使用了一台功率为300 W、型号为TS-2518b的三轴电动雕刻机,图5左是直线加圆弧插补雕刻结果。这是一组5条直线加四段圆弧(一个象限是一段,四段是一个完整的圆弧)的简单图案,直线插补、圆弧插补和速度控制方案均使用了前文提到的方式。Nurbs曲线插补雕刻结果如图5右,这是一条完整的有10个控制顶点的二次Nurbs曲线。

4.2 系统性能

该系统的性能指标如表1所示。

表1 系统性能指标

该控制器可实现直线、圆弧、Nurbs曲线插补,梯形、S型加减速控制,并通过使用速度前瞻控制方案提高了系统的稳定性。控制器可以控制实际雕刻机进行二维图形的雕刻。上位机程序可以进行急停,驱动电路板上有可以对三个轴电机和主轴电机进行使能和禁用的开关,具有较完善的安全保护措施。用户存储区最多可存储100~200条指令,输出脉冲频率最大可达 3 MHz,控制周期最大为40μs/轴,系统性能已接近部分专业数控运动控制器。

该控制器可以通过PSoC Creator软件进行方便地功能、接口的增减和修改,并且具有 USB、I2C、SPI、UART、CAN、无线、以太网接口等多种通信方式,便于与其他设备进行通信。系统可以通过无线通信扩展为多个控制器和多个控制对象的网络化控制。该系统符合开放式数控系统的要求,是现代电子技术与现代制造业发展趋势的良好结合。

[1]张燕,陈华.固高运动控制卡在 LabWindows/CVI环境中的应用[J].工业控制计算机,2011(6).

[2]戴朝永.基于 ARM+PMAC结构的数控系统设计[J].机电产品开发与创新,2010(1).

[3]Cypress.PSoC5 family datasheet[Z].Cypress Inc,2010.

[4]Zhang Jun,Wang Xu.Method to design multi axis motion controller using extended DDA circuit[C].IITA International Conference on Control,Automation and Systems Engineering,2009:120-123.

[5]孙海洋.NURBS曲线刀具路径实时插补技术研究[D].长沙:国防科学技术大学,2008:18-20.

猜你喜欢
圆弧轨迹直线
浅析圆弧段高大模板支撑体系设计与应用
轨迹
轨迹
外圆弧面铣削刀具
画直线
轨迹
两条直线 变变变
六圆弧齿廓螺旋齿轮及其啮合特性
画直线
进化的轨迹(一)——进化,无尽的适应