APP下载

精密运动控制方法在球面打标机中的应用研究

2012-09-27王少辉程铁汉

电子设计工程 2012年3期
关键词:步数指令脉冲

姚 遥,王少辉,程铁汉

(1.周口师范学院 物理与电子工程系,河南 周口 466001;2.河南平高电气股份有限公司 河南 平顶山 467000)

精密运动控制方法在球面打标机中的应用研究

姚 遥1,王少辉1,程铁汉2

(1.周口师范学院 物理与电子工程系,河南 周口 466001;2.河南平高电气股份有限公司 河南 平顶山 467000)

针对国家对钢印标记的要求和现有球面打标机在打标精度、速度方面的不足,提出一种基于FPGA(现场可编程逻辑门阵列)的步进电机伺服控制器设计。设计中采用了改进的比较积分法和S型加减速控制方法,并对可能产生的误差进行了研究和解决。实验结果表明,该控制器可以有效的提高打印标记的精度和速度。该控制器已成功应用于球面打标机中。

球面打标机;现场可编程逻辑门阵列;比较积分法;S型加减速;误差分析

高压容器钢瓶按国家标准规定在出厂前必须进行严格的质量检查。《气瓶安全监察规程》(2000版)第二章第12条规定:气瓶的钢印标记是识别气瓶的依据,钢印标记必须准确、清晰,并对钢印的位置和内容进行了详细的规定[1]。打标机的控制器的性能的优劣直接影响打印质量,目前控制器核心主要由单片机实现,通过单片机收发打印指令、指令运算、生成步进脉冲,单片机的工作是相当繁重的,提高打印速度就容易产生掉笔、缺字现象,不符合标准规定。廖欣[2]提出采用基于FPGA的PCI伺服控制卡实现步进电机控制器,但其核心算法采用的是梯形加减速控制算法,打印速度较低,生产效率不高。本文采用FPGA作为打标机的控制核心,核心算法采用改进的比较积分法和S型加减速控制方法,能够在提高打印速度的情况下达到打字准确、清晰、不掉笔、缺字。

1 FPGA控制器设计

本球面打标机控制器的FPGA采用了ALTERA公司的Cyclone系列产品EP1C3和QuartusII集成开发环境。Cyclone系列是ALTERA中等规模FPGA,EP1C3有2 910个逻辑单元,支持接近5万门的设计,内嵌RAM共59 904 bits,可配置为用户程序RAM,也可以配置为双口RAM或FIFO存储器,完全满足系统的设计要求[3]。

FPGA功能总体设计框图如图1所示。

图1 FPGA功能框图Fig.1 FPGA functional block diagram

整个FPGA模块采用VHDL开发[4]。各模块功能简述如下:

核心控制器主要负责将存储器中的数据读出,然后分发到插补器和升降频控制器中;处理外部反馈信号,并生成特定的反馈数据格式通过总线发送到主机。同时根据插补器的完成状态,给出内部控制信号,协调各个模块的工作。在前一条指令读出后,如果数据存储器内还有指令,则将该指令读出,在前一条指令执行完成后,马上开始执行。核心控制器中还包含多个状态寄存器,在各种事件发生后将其置位,以便主机获取状态。

加减速控制器负责按照核心控制器从数据指令中给定的初始速度和末速度给出步进脉冲,送插补器作为参考输出脉冲。

插补器的作用是根据核心控制器提供的信号,分别选通各个轴的输出脉冲,最终实现插补脉冲输出。

位置反馈是将本地的输出脉冲计数,得到打印头当前位置,通过核心控制器可以将打印头位置读到主机上。

2 运动控制方法

运动控制系统中,控制方法对于其实现不同的性能要求起着关键的作用。在FPGA中的控制方法主要包含插补运算和加减速控制两部分,下面对其分别进行阐述。

2.1 插补运算

球面打标机在实际加工中有自由曲线、曲面、方程曲线和曲面体构成的复杂零件轮廓,还有一系列实验或经验数据表示的、没有表达轮廓形状的曲线方程的曲线,理论上,应该保证针头中心轨迹应与零件轮廓形状一致,但实际上,笔者只能通过一系列的直线或圆弧去逼近它。

插补的任务就是根据进给速度的要求,在轮廓起点和终点之间计算出若干个中间点的坐标值。由于每个中间点计算所需的时间直接影响系统的控制速度,而插补中间点坐标值的计算精度又影响到系统的控制精度,所以插补算法对整个系统的性能指标至关重要。

按照运算方式分,常用的插补方法有:逐点比较法、数字积分法、时间分割法、数字脉冲乘法器法、比较积分法等。不管是以哪一种方式实现插补,其基本原理都是相同的。在现场应用中,选取何种插补运算方法,可以用算法简便程度、插补精度高低、执行时间长短来评价。

本设计中在PC机上已经将曲线分段,得到每段直线各轴的步数、方向和速度。在已知直线运动步数的情况下,按照设定速度产生一个基准参考脉冲,各轴需要的脉冲从该参考脉冲中提取。为在FPGA中方便运算,所有的速度都转换为周期数(本设计中采用的是100 ns的整数倍)进行运算。这样,就能很容易产生给定频率的脉冲。文中采用的是改进的比较积分法[2]适合FPGA运算,单轴算法实现框图如图2所示。

在系统时钟的控制下,每当检测到一个参考脉冲的边沿,就启动一次该算法。参考脉冲根据当前的输出脉冲周期决定。在所有的轴都完成运动指定步数后结束整个算法。从图中可以看出,每一路算法相同。该算法优于普通数字积分算法在于插补脉冲都是均匀的输出,这对于直线运动时的平稳度很重要。另一个优点在于适合FPGA运算,因为它避开了非常耗资源的乘除法运算,只有加减法运算,并且可以很方便地扩充为多路插补运动,而VHDL程序只需要很小的修改。

图3是两路插补输出的SingalTap波形,分别输出9、5个脉冲。

图2 直线插补算法Fig.2 Linear interpolation algorithm

图3 两路插补SingalTap波形Fig.3 Two-way waveform interpolation SingalTap

从图中可以看出,插补点正好均匀分布,达到插补要求。

2.2 加减速控制

打标机做直线运动最复杂的就是电机的加减速控制,为了防止电机失步,不能直接发送给定频率的脉冲,需要有加速和减速的过程。加减速控制有两种方法,梯形方法和S型方法。如图4所示,梯形方法是采用恒定加速度,S型方法是采用变加速度和恒定加速度的2次加速方案。

图4 加减速控制曲线Fig.4 Acceleration and deceleration control curve

传统梯型加减速实现简单,计算方便,适用于低速、低精度要求的场合。但是在变速点存在速度突变,对系统造成柔性冲击,不适用于高速、高精度要求的场合。S型加减速控制方式速度过渡平滑,加速度与加加速度变化平稳,提高了高速打标系统的柔性,适用于高速、高精度要求的场合,所以本设计采用的是S型加减速控制方法。程序框图[5]如图5所示。

图5 S型加减速程序框图Fig.5 S-type acceleration and deceleration block diagram

实验得到,利用梯形加速,电机从速度0加速到频率200 kHz,加速时间最短在0.4 s左右,而用S型可以在不到0.1 s内成功启动。

图6是两路插补加速输出的SingalTap波形。

图6 S型加速插补SingalTap波形Fig.6 S-type acceleration waveform interpolation SingalTap

图中第一个波形就是参考脉冲输出,后面两个分别是插补两个轴的输出脉冲。明显可以看出输出频率不断增加,实现的加速功能。

3 系统误差

系统的误差主要是从系统的运行过程来进行分析的,具体体现在打印标记的输入、打印指令的形成、数据传输、数据处理以及电机驱动的各个环节[6]。由于打印标记的输入环节是图形界面部分,图形算法已经比较成熟,校正比例为double型,因此在此处存在的误差在系统可接受范围;数据传输过程认为是比较理想的,不会出现误差,即使出现问题,那也将是错误,而非误差;数据处理部分的FPGA在数字信号处理能力方面是相当成熟的,若出现误差也是在合理的范围内;因此,可校正的误差主要集中在由图形标记转化为指令格式的指令形成阶段。

在伺服机构(步进电机、驱动器和传动装置)确定的情况下,可以计算出步进电机在每个脉冲下带动针头所运动的确切距离,称为最小步进距离。在形成运动数据指令时,先计算运动下一点到当前点的实际距离,然后除以最小步进距离得到的就是实际运动的步数。但由于运动步数只能是整数形式,必然存在着最大的±1最小步进距离的误差。如果数据处理出来的每个指令都忽略这个误差,将会使累积误差增大,甚至影响打印效果。

在本设计中,每生成一条数据指令后,以实际计算的步数再乘以最小步进距离来确定当前的实际位置。这样,理想情况下的实际针头位置和软件上记录的实际位置只相差±1个最小步进距离,从而消除了累积误差。

4 结束语

本控制器充分利用FPGA的高速并行处理能力,在开放式数控中能够发挥出较好的运动控制性能。实际性能:在40 MHz的时钟频率下,实现0.1 μm的插补精度,可达到4~5字符/秒的打印速度,性能好于以前的控制器。出于环保和经济的考虑,燃气汽车越来越多,天然气的承装必须用钢瓶,因而该控制器有着广泛的应用前景。

[1]国家质量技术监督总局.气瓶安全监察规程[S].北京:技术标准出版社,2000.

[2]刘晓明,廖欣,熊东,等.基于FPGA的高速PCI伺服卡的实现[J].自动化与仪表,2008(1):45-49.

LIU Xiao-ming,LIAO Xin,XIONG Dong,et al.Realization of high speed PCI servo control card based on FPGA[J].Automation and Instrumentation,2008(1):45-49.

[3]Silicon Laboratories.CP2102 Data Sheet[EB/OL].(2004)http://www.silabs.com.

[4]侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计(修订版)[M].西安:西安电子科技大学出版社,1999.

[5]陆悦,张峰,贺超.基于FPGA的直线插补器的研究与设计[J].电气自动化,2010,32(1):27-29.

LU Yue,ZHANG Feng,HE Chao.Design of line interpolator based on FPGA[J].Electrical Automation,2010,32(1):27-29.

[6]刘晓明,姚遥,王泉,等.钢瓶刻印机刻印算法及应用研究[J].自动化与仪表,2009(3):50-56.

LIU Xiao-ming,YAO Yao,WANG Quan,et al.Research of the algorithm and application of cylinder mark printer[J].Automation and Instrumentation,2009(3):50-56.

Research on applications of precision motion control method in spherical marker

YAO Yao1, WANG Shao-hui1, CHENG Tie-han2
(1.Physics and Electron Engineering Department,Zhoukou Normal University,Zhoukou466001,China;2.Henan Pinggao Electric Co.Ltd.,Pingdingshan467000,China)

For the requirements of the state to Cylinders marked and the shortage of sphere mark printer in marking accuracy and speed,a design of stepper motor servo controller based on FPGA (field programmable gate array)is proposed.Improved compare integration method and S-shape acceleration/deceleration control algorithm are used in the design,and possible errors are studied and resolved.Experimental results show that the controller can effectively improve the accuracy and speed of marking.The controller has been successfully applied in the sphere mark printer.

sphere mark printer; field programmable gate array; compare integration method; S-shape acceleration/deceleration;error analysis

TP273.5

A

1674-6236(2012)03-0109-03

2011-12-16 稿件编号:201112097

周口师范学院青年科研基金项目(zknuqn201133B)

姚 遥(1984—),男,河南周口人,硕士研究生,助教。研究方向:信号与信息处理系统设计。

猜你喜欢

步数指令脉冲
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
楚国的探索之旅
上下解反向的脉冲微分包含解的存在性
ARINC661显控指令快速验证方法
微信运动步数识人指南
黄芩苷脉冲片的制备
国人运动偏爱健走
杀毒软件中指令虚拟机的脆弱性分析
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法