《武汉工程大学学报》  2015年02期 59-63   出版日期:2015-02-28   ISSN:1674-2869   CN:42-1779/TQ
新颖步进电机运动控制器


0 引 言步进电机作为精度控制单元在工业领域有着广泛的应用,其控制器主要分为基本控制型、经济型和高级控制型.基本控制型主要通过设定步进电机的步进角、细分数、滚珠丝杆的螺距和需要移动的距离实现对应步移距离脉冲数的输出,该型主要实现的是相对坐标的位移控制,一般采用简单的单片机类控制芯片实现[1],具有简单人机控制,特点是成本低,如简单的数控盒.经济型,既具有基本控制型的功能,同时具有坐标插补和轨迹规划功能,考虑到经济性,其芯片往往由专用控制芯片MCX302和单片机或数字信号处理芯片(Digital Signal Process,以下简称:DSP)或32位微控制芯片(Acorn RISC Machine, 以下简称:ARM)或现场可编程门阵列控制芯片(Field-Programmable Gate Array, 以下简称:FPGA) 构成,少有人机交互控制,主要通过外设部件互联(Peripheral Component Interconnect,以下简称:PCI)接口实现与工业计算机的互联,特点是性价比高,离不开工业计算机[2-4].如雷赛公司运动控制卡即属于此类.而高级控制型在实现基本控制型和经济型的基础上还可以实现速度规划和复杂路径轨迹规划,其硬件构成往往由DSP、FPGA、ARM等构成,每个芯片完成不同的功能,通过ARM或DSP芯片进行协调,同经济型一样基本不带人机控制,主要通过计算机总线与工业计算机相连,特点是功能齐全[3].如固高公司和美国Delta Tau公司的运动控制板卡均属此类.但相对于一些特别应用如泡沫切割机、木材切割机都是需要使用人机界面输入数控G代码实现简单圆弧和直线的插补运动,且对成本较敏感.对此则基本控制型因功能不足不能满足要求,高级控制型因价格昂贵也无法在此应用.而经济型很少有具备人机控制和G代码解析的,所以市面上往往使用的是工业计算机和经济型控制板卡这种典型配置方式,成本仍然较高.针对此,笔者提出利用ARM芯片和FPGA芯片搭配实现基于人机操控界面的具有圆弧和直线插补的步进电机控制. 其一方面可以利用ARM芯片实现上层运动数据的产生,另一方面使用FPGA实现底层运动数据转变为具体轨迹控制脉冲的功能.1 控制器系统结构控制器主要由两个部分构成,ARM和FPGA.其中ARM采用STM32F103芯片,主要实现人机操控、G代码解析和路径规划以产生具体运行坐标数据.FPGA采用EP2C8芯片,主要实现坐标数据接收、处理和插补计算最后产生轨迹运动脉冲和方向信号以实现对XY步进电机的控制.具体系统结构框图如图1所示.图1 系统结构框图Fig.1 The system structure diagram图1中薄膜晶体管屏(Thin Film Transistor,以下简称:TFT)和触摸电阻膜完成人机交互实现运动G代码的指令输入,STM32控制器实现G代码的解析和坐标数据的产生,坐标插补单元完成依据运动起始点和终点坐标实现中间轨迹的插补工作并转化成控制步进电机运动的脉冲信号.2 硬件电路设计本系统在硬件上分为两块电路板:一块是基于EP2C8的FPGA单元板,一块是基于STM32F103的ARM单元板.两块单元板之间通过接插件互联互通.ARM单元板,主要由STM32F103芯片最小系统、TFT触摸屏接口电路和FPGA单元板互联接口电路三部分构成.其原理结构框图如图2所示.图2 ARM单元板原理结构框图Fig.2 ARM unit board structure diagramFPGA单元板,主要由EP2C8芯片最小系统、脉冲差分输出单元和ARM单元板互联接口电路三部分构成.其原理结构框图如图3所示.图3 FPGA单元板原理结构框图Fig.3 FPGA unit board structure diagram图4 STM32单元板实物图Fig.4 Real photos of the STM32 unit board图5 FPGA单元板实物图Fig.5 Real photos of the FPGA unit board图6 整体实物图Fig.6 Real photos of the system boards两块电路板实物图如图4、图5所示,连接后的实物图如图6所示.3 ARM单元软件设计ARM单元的软件设计主要由人机交互模块和G代码解析模块构成.人机交互模块主要完成坐标、速度参数输入,比如输入“X100”,表示X轴在当前坐标下移动100 mm.G代码解析模块主要完成坐标解析和轨迹处理,具体的处理流程如图7所示.其中关键的是进行路径切分和分段.如图8所示,由起点(Xs,Ys)经过(X1,Y1)和(X2,Y2)点到达终点(Xe,Ye).则需要处理为三段路径,其起止点分别是:第一段路径,直线段为(Xs,Ys)到(X1,Y1);第二段路径是半径为R的圆弧路径,起止点为(X1,Y1)到(X2,Y2);第三段路径为直线段为(X2,Y2)到(Xe,Ye).最后,程序将这三段路径的轨迹特征和起止点发送到FPGA单元中,再进行插补运算得到相应的运动轨迹.图7 G代码解析模块处理流程Fig.7 G code parsing module process图8 路径规划分解示意图Fig.8 Path planning decomposition diagram4 FPGA软核设计FPGA单元板中重要的是在EP2C8芯片中进行软核设计.其主要由三个部分构成即数据接收缓冲模块、数据缓存模块和XY轴插补计算模块,其结构框图如图9所示.图9中数据接收缓冲模块主要作用是接收来自ARM单元的XY坐标数据和运动轨迹类型,并将该数据送入数据缓存模块,其时序如图10所示.数据缓存模块采用的是同步动态随机存储器(Synchronous Dynamic Random Access Memory, 以下简称:SDRAM)和双口随机存取存储器(Random?鄄Access Memory,以下简称:RAM),其一方面可以用来存储ARM单元传送的数据;另一方面可以处理ARM单元系统时钟与FPGA中插补模块时钟不同步的问题.XY轴插补计算模块完成运动轨迹分辨,即根据轨迹类型分别执行直线运动插补或圆弧运动插补,再依据运动起始点至终止点进行相应的插补计算,其功能框图如图11所示.图9 软核结构框图Fig.9 IP core structure diagram图10 数据接收时序图Fig.10 Data reception timing diagram图11 插补计算模块功能框图Fig.11 Interpolation function block diagram图12 Modelsim仿真插补脉冲输出波形Fig.12 Modelsim simulation waveform图13 Matlab还原仿真轨迹图Fig.13 Matlab simulation trajectory图14 XY工作台运动轨迹图Fig.14 The workbench trajectory5 仿真和实验结果利用Modelsim软件模拟FPGA单元接收到ARM单元传送来的运动数据进行插补计算,并输出脉冲,如图12所示.利用MATLAB软件进行数据整合,还原后的轨迹图如图13所示.由图13可知,FPGA单元能有效接收数据,并进行插补运算得到运动轨迹,并且误差在1个脉冲以内.图14是在激光光束照射点位置不变的情况下,控制XY工作台移动,刻出的运动轨迹,可以看出实际运动轨迹与仿真轨迹相同,说明运行结果满足设计要求.6 结 语通过ARM控制器和FPGA控制器的搭配可以实现具有人机交互和轨迹插补功能的步进电机运动控制器.该控制器具有成本低、人机交互、G代码解析、控制运动精度高(32位数据处理)以及具有直线、圆弧插补功能.在泡沫切割和木材切割系统中配合XY轴电机和运动平台即可实现简单计算机数字控制机床(Computer numerical control, CNC)系统,而无需工业计算机,所以具有较高的工业使用价值.致 谢华中科技大学激光加工国家工程研究中心为本实验提供激光器和XY移动平台,并为本设计的验证提供了帮助,在此表示衷心的感谢!