基于PSoC的数控运动控制器
扫描二维码
随时随地手机看文章
摘 要: 采用PSoC可编程片上系统设计了一个数控运动控制器,由于PSoC具有灵活的可自由配置的模拟、数字资源和输入输出接口以及对多种通信接口的支持,该运动控制器具有良好的可扩展性和可移植性。介绍了系统的整体结构、控制器的硬件模块设计以及直线、圆弧、Nurbs曲线插补方式和速度控制方案的软件实现,使用该控制器控制一台三轴雕刻机进行雕刻,结果表明该系统具有良好的性能。
关键词: PSoC;数控系统;插补;运动控制器
目前广泛使用的数控运动控制器的功能和性能已趋于完善,例如固高控制器、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为核心的控制器、驱动电路和雕刻机。
上位机程序采用C#语言编写,采用网络编程的套接字技术,作用是供用户输入或从文件导入指令,并将其传输给PSoC进行解析和计算,控制雕刻机按照所预想的方式运行。PSoC控制器主要实现了与上位机的通信、指令的解析插补、电机的运动控制。驱动电路对PSoC输出的信号进行反相和放大,信号输出给雕刻机的电控箱,控制雕刻机运转。
2 系统硬件设计
在可编程片上系统PSoC中所使用的端口和元件示意图如图2所示,共采用了4个PWM模块,3个Counter(计数器),一个SPI,一个UART以及若干输入输出接口。 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]:
3.2 速度控制方案
对于一个实际的电机,启停时的速度变化需要有加速和减速的过程,在雕刻机的运行中,进给方向改变时同样需要一个减速再加速的过程,以缓解对电机的冲击力,延长雕刻机的使用寿命。加减速的主要方式有梯形加减速和S型加减速两种,如图4所示。
在梯形加减速中,速度的变化是均匀的;在S型加减速中,加速度也是变化的,从0逐渐变大再减小为0。S型加减速对系统具有更小的冲击性,但是运算的复杂度更高,时间开销更大。本文采用了自适应的速度控制方案,对于运动轨迹上拐角比较大且插补速度比较高的点使用S型加减速,对于比较平缓的插补和轨迹交接则使用梯形加减速。另外,系统还引入速度前瞻控制方案,在插补一段轨迹时,根据下一段轨迹的长度和方向来决定进给速度的趋势。综合两段轨迹的长短和夹角,确定减速方案(减速点、加速度和末速度)。
4 实验结果以及系统性能分析
4.1 雕刻结果展示
本文使用了一台功率为300 W、型号为TS-2518b的三轴电动雕刻机,图5左是直线加圆弧插补雕刻结果。这是一组5条直线加四段圆弧(一个象限是一段,四段是一个完整的圆弧)的简单图案,直线插补、圆弧插补和速度控制方案均使用了前文提到的方式。Nurbs曲线插补雕刻结果如图5右,这是一条完整的有10个控制顶点的二次Nurbs曲线。