《电子技术应用》

嵌入式可重构数控系统的设计与验证

2017年微型机与应用第7期 作者:魏峰,刘守山
2017/4/25 19:25:00

  摘要:针对鞋样切割机对插补控制器功能的要求,设计了基于嵌入式的可重构运动控制系统。在对步进电机进行控制的前提下,对于比较积分插补算法在可重构器件中的实现进行了研究。经测试表明,所设计的嵌入式可重构运动控制系统能够完成对直线和二次曲线的快速、精确插补,而且系统易于扩展,能够实现更为复杂的控制算法。

  关键词AT91SAM9260嵌入式系统EPM1270CPLD;比较积分法

  中图分类号:TP23文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.07.002

  引用格式:魏峰,刘守山.嵌入式可重构数控系统的设计与验证[J].微型机与应用,2017,36(7):5-8.

0引言

  *基金项目:浙江省“仪器科学与技术”重中之重学科开放基金资助项目(JL150508);山东省重点研发计划项目(2015GSF118094)在鞋类制造过程中,鞋样的制作是至关重要的环节。随着市场对鞋类产品需求的多样化,鞋样设计与制作的复杂性也随之提高。其中,在鞋样的制作过程中,具有各种复杂轮廓鞋样的最后成形是由鞋样切割机完成的。鞋样切割机在对鞋样轮廓成形过程中,通常要完成对直线、二次曲线以及自由曲线插补的运动控制。而插补运动的控制则是由鞋样切割机的数控系统完成的。现代鞋类制造业对数控系统的开放性、低功耗性、通用性、可重构性等方面提出了更高的需求。构建基于嵌入式技术和可重构计算技术的运动控制系统可以为现代数控设备的这种需求提供可行的、有力的支持,也是现在和将来制造业运动控制体系的发展方向之一[15]。基于以上需求,本文对基于ARM9核的嵌入式控制器和可重构逻辑器件的嵌入式可重构数控系统进行了研究和设计,并在此平台上对比较积分插补算法的实现进行了设计和验证。

1嵌入式可重构数控系统设计

  1.1整体系统设计

  系统设计中,使用AT91SAM9260作为微控制器(MCU)来构建嵌入式子系统,使用复杂可编程逻辑器件(CPLD)EPM1270作为可重构器件来构建硬件可重构子系统,然后通过两者的结合来完成嵌入式可重构运动控制系统。系统的整体设计结构如图1所示。

  

001.jpg

  1.2嵌入式子系统设计

  嵌入式子系统的结构图如图2所示。

 

002.jpg

  电源输入为+5 V和+12 V的直流电,经过电源模块可产生5 V、3.3 V、1.8 V、12 V数字电源和3.3 V模拟电源。外部内存设备使用两片型号为MT48LC16M16A2、大小为16 M×16 bit的SDRAM组成64 MB的外部内存空间,用于裸机程序或操作系统的运行。外部存储设备包括一片NOR Flash和一片NAND Flash。NOR Flash选用大小为4 M×16 bit的SST39VF6401,用作裸机程序、操作系统引导程序的存储空间;NAND Flash选用大小为(258 M+8 M)×8 bit的K9F2G08U0B,用于操作系统、根文件系统和用户应用程序的存储空间。通信模块包括串口、USB接口、以太网口和无线设备。串口用于串口调试和打印信息;USB接口用作调试接口和通信接口;以太网口使用DM9161A作为以太网物理层收发器,然后通过MII标准的接口与MCU相连;无线设备为使用射频收发芯片NRF2401设计的无线收发设备,其可以使得远程数据交换更加方便。人机交互模块包括触摸屏和LCD显示屏,该系统采用ADS7843作为电阻式触摸屏控制器,触摸屏与LCD显示屏为同一设备,该设备采用了LR08VRBD型LCD显示器;人机交互模块主要实现的功能为操作系统的可视化操作,向运动控制系统下达命令,从运动控制系统中读取所需要的数据。

003.jpg

  1.3硬件可重构子系统设计

  CPLD芯片与MCU的连接需要地址线、数据线和信号控制线。对于信号控制线,由于在该系统的MCU中没有专门用来控制CPLD或者FPGA的接口,所以控制信号线需要通过MCU上的GPIO口来实现,而这些控制信号就是向CPLD中输入的运动控制所需的PWM(脉宽调制信号)信号、方向信号以及需要反馈给嵌入式子系统的光电编码器采集到的数据。根据运动控制的需要,在CPLD上设计了6路光电编码器接口与步进电机上的光电编码器相连,3路PWM输出接口和6路方向信号输出接口用于连接电机驱动模块。硬件可重构子系统的结构图如图3所示。

  CPLD用来实现插补算法。嵌入式子系统根据外部输入命令计算出插补算法中所需的参数(3路PWM信息、6路方向信息)并传递给CPLD,进而可以在CPLD中实现插补算法。CPLD再产生用于控制电机驱动模块的信号(3路PWM信号、6路方向信号)。此外,为了形成闭环控制,系统还设计了用来采集位置或速度的光电编码器的输入接口。该光电编码器的信号经光电隔离后,再接入到CPLD,然后,再经由CPLD将信号输入给MCU,从而获得电机的位置和速度信息。

  MCU的地址引脚和数据引脚,以及部分读写控制引脚、部分存储器片选引脚通过CPLD的I/O引脚引入。目的是可以将CPLD内部的寄存器映射到微处理器的数据存储空间,从而可以实现MCU对CPLD内部寄存器(包括控制寄存器、状态寄存器、数据寄存器)的访问,进而可以参与或协调CPLD的运行。

2比较积分法在系统中的实现

  为了验证系统设计的可行性,本文对比较积分插补算法在该系统上的实现进行了设计和验证。其中,比较积分法属脉冲增量插补类的算法。相比其他算法如逐点比较法、数字积分法等,比较积分法具有插补精度高、运算关系简单、进给速度控制方便等优点[6]。由比较积分法的算法特点可知,其运算密集度较高,相对于软件实现,其硬件实现更能提高运行效率和保证实时性。因此,本文对比较积分法在可重构器件中的实现进行了研究和验证。

  2.1比较积分插补算法原理

  比较积分插补算法的具体实现方式参见文献[78]。根据比较积分插补算法,制定出程序流程图,如图4所示。其中速度控制子程序的实现参见文献[9]。

  004.jpg

  2.2比较积分插补算法的硬件实现

  2.2.1整体方案

  本系统中,对于比较积分插补算法的硬件实现首先使用Verilog HDL语言进行描述,进而在系统的CPLD中实现。其硬件实现结构图如图5所示。

005.jpg

  图5比较积分插补算法的硬件实现结构图图5中速度与进给控制模块向X轴和Y轴脉冲发生器输出对应于加速、恒速、减速的实际速度脉冲。它同时又向比较器1、比较器2、A、B、F计算模块以及X轴、Y轴脉冲发生器发出使能信号,来控制各个模块的使能情况。A、B、F计算模块通过各数据的初始值与比较积分插补算法的公式来更新A、B、F值,并送入到A、B、F寄存器中。比较器1和比较器2从上述寄存器中取得所需数值,经比较后,通过选择性地向X轴脉冲发生器和Y轴脉冲发生器发出使能信号,以此来决定X轴脉冲发生还是Y轴脉冲发生,被使能的X轴脉冲发生器或Y轴脉冲发生器向二轴电机发出脉冲控制信号。进而实现比较积分法的插补。

  图7硬件实现连接总图2.2.2速度与进给控制模块硬件实现设计

  在本设计中,速度与进给控制模块是整个插补过程的调度者,其既承担了电机运行的加减速控制,又决定着插补进程的流程及各模块间的信号同步。图6为该模块的结构图。

006.jpg

  图6速度与进给控制模块结构图MCU向CPLD发出时钟信号(CLK),同时实现加工路径和速度的规划,并将这些参数分别放入对应的最大速度寄存器、加速步长参数寄存器和减速步长参数寄存器中。根据这些参数可以计算出相应的加速步长、减速步长和最大速度。图6中的计数器用作可变分频器,用以在不同速度时段以CLK为基准时钟产生不同频率的脉冲控制信号,发送给X轴、Y轴脉冲发生器,从而达到分别改变电机在X轴和Y轴分速度的目的。上述脉冲控制信号还被送入比较器与最大速度脉冲频率进行比较来判断是否达到恒速条件,比较结果再传入计数器中,用以控制电机的加减速。

  2.3仿真总图

  根据上述设计方案,该硬件实现在Quartus II中完成的连接总图如图7所示。

007.jpg

  其中Velocity_conrol为速度与进给控制模块。Accumulator为A、B、F计算模块,它主要完成的工作是通过图4中的公式来进行A、B、F的计算。Compare为比较器1和比较器2,分别完成A与B的比较和F与0的比较。X_Y_Pulse为X轴脉冲发生器和Y轴脉冲发生器,它们用来给电机驱动模块发出脉冲控制信号,该脉冲控制信号的频率决定于速度与进给控制模块,该脉冲的使能决定于比较器1与比较器2,进而可以控制电机的运行速度与运动轨迹。

3测试与分析

  首先在Quartus II中分别完成了直线和抛物线插补算法的模拟,分别得出X轴和Y轴脉冲发生器对应于直线与抛物线的时序图。其中所取直线为第一象限直线,起始点为原点,终点坐标为(50,30)。所取的抛物线方程为:Y2=4X,其起点坐标为第一象限中(25,10),终点坐标为第四象限中的(25,-10),第一象限中为逆时针插补,第四象限中为顺时针插补。其时序图如图8和图9所示。

008.jpg

  为了验证硬件可重构子系统的插补效果,将上文中进行仿真的程序烧录到CPLD中,进行实物测试。根据电机上光电编码器所采集到的电机运动轨迹,在MATLAB中分别绘制出直线运动轨迹图与抛物线运动轨迹图,如图10和图11所示。

  由以上时序图和轨迹图可以看出其对应关系。对于直线插补和抛物线插补,其X轴脉冲发生器均为持续发出脉冲,驱动X轴方向的电机一直转动;其Y轴脉冲发生图8直线插补时序图

009.jpg

  器均为间歇发出脉冲,从而保证了直线的斜率和抛物线的弧度。而且通过抛物线时序图和轨迹图的比对可以看出,加速过程,即一开始Y轴脉冲发生器输出时间很长,但是其运动的距离却很短。

  在图11中,抛物线插补曲线存在偏差:本应关于X轴对称的上下两部分不对称,过象限点不在原点处。这与其前后的X轴和Y轴的脉冲进给方向有关。4结论

  本文对基于嵌入式的硬件可重构系统进行了设计,并在该系统上实现了比较积分插补算法。实验结果表明,所设计的系统能较好地实现插补算法与电机控制。然而,从电机运动轨迹图上可以看出,插补终点存在着一个脉冲当量的误差,而且在抛物线

  插补过程中,出现了过原点和对称性的偏差。上述问题需进行校正方法的探索。

参考文献

  [1] 郑飞,王时龙,简易. 可重构分布式数控系统的设计与实现[J]. 计算机集成制造系统,2008, 14(4):637-643.

  [2] 周祖德,龙毅宏,刘泉. 嵌入式网络数控技术与系统[J]. 机械工程学报,2007,43(5):1-7.

  [3] PEREIRA C E, CARRO L. Distributed realtime embedded system: recent advances, future trends, and their impact on manufacturing plant control[J]. Annual Reviews in Control, 2007,31(1): 81-92.

  [4] 王太勇,李波,万淑敏,等. 基于现场总线的可重构数控系统研究[J]. 计算机集成制造系统,2006, 12(1):1662-1667.

  [5] 董靖川.可重构数控系统关键技术研究[D].天津:天津大学,2010.

  [6] 任玉田,焦振学,王宏甫. 机床计算机数控技术[M]. 北京:北京理工大学出版社,1996.

  [7] 王进. 比较积分法及其程序设计[J]. 机械设计与制造,1995,8(6):32-34.

  [8] 周慧. 比较积分法插补过程的研究与仿真[J]. 机床与液压,2004(3):70-71.

  [9] 王晓明,王玲. 电机的DSP控制—TI公司DSP应用[M]. 北京:北京航空航天大学出版社,2004.


继续阅读>>