王振
武汉工程大学电气信息学院,湖北 武汉 430205
新颖步进电机运动控制器
王振
武汉工程大学电气信息学院,湖北 武汉 430205
针对市面常见控制器功能无法完全支撑及价格昂贵等问题,设计了一种新颖的低成本运动控制器.该控制器主要由32位微控制芯片和现场可编程门阵列芯片两种芯片构成.32位微控制芯片主要控制上层的数据生成,完成人机交互、G代码解析和路径分解,最终产生路径起止点的坐标数据和轨迹类型供下层处理.现场可编程门阵列芯片依据上层发送的数据进行底层路径插补,并最终输出控制步进电机运动的脉冲信号和方向信号.仿真及实验验证表明该控制器可以较好实现设定的路径轨迹,且运行精度小于1个脉冲,满足实际切割机的功能需求且成本较低.
运动控制器;32位微控制芯片;现场可编程门阵列芯片;G代码解析;路径插补
步进电机作为精度控制单元在工业领域有着广泛的应用,其控制器主要分为基本控制型、经济型和高级控制型.基本控制型主要通过设定步进电机的步进角、细分数、滚珠丝杆的螺距和需要移动的距离实现对应步移距离脉冲数的输出,该型主要实现的是相对坐标的位移控制,一般采用简单的单片机类控制芯片实现[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实现底层运动数据转变为具体轨迹控制脉冲的功能.
控制器主要由两个部分构成,ARM和FPGA.其中ARM采用STM32F103芯片,主要实现人机操控、G代码解析和路径规划以产生具体运行坐标数据.FPGA采用EP2C8芯片,主要实现坐标数据接收、处理和插补计算最后产生轨迹运动脉冲和方向信号以实现对XY步进电机的控制.具体系统结构框图如图1所示.
图1 系统结构框图Fig.1 The system structure diagram
图1中薄膜晶体管屏(Thin Film Transistor,以下简称:TFT)和触摸电阻膜完成人机交互实现运动G代码的指令输入,STM32控制器实现G代码的解析和坐标数据的产生,坐标插补单元完成依据运动起始点和终点坐标实现中间轨迹的插补工作并转化成控制步进电机运动的脉冲信号.
本系统在硬件上分为两块电路板:一块是基于EP2C8的FPGA单元板,一块是基于STM32F103的ARM单元板.两块单元板之间通过接插件互联互通.
ARM单元板,主要由STM32F103芯片最小系统、TFT触摸屏接口电路和FPGA单元板互联接口电路三部分构成.其原理结构框图如图2所示.
图2 ARM单元板原理结构框图Fig.2 ARM unit board structure diagram
FPGA单元板,主要由EP2C8芯片最小系统、脉冲差分输出单元和ARM单元板互联接口电路三部分构成.其原理结构框图如图3所示.
图3 FPGA单元板原理结构框图Fig.3 FPGA unit board structure diagram
两块电路板实物图如图4、图5所示,连接后的实物图如图6所示.
图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
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 diagram
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
利用Modelsim软件模拟FPGA单元接收到ARM单元传送来的运动数据进行插补计算,并输出脉冲,如图12所示.利用MATLAB软件进行数据整合,还原后的轨迹图如图13所示.由图13可知,FPGA单元能有效接收数据,并进行插补运算得到运动轨迹,并且误差在1个脉冲以内.图14是在激光光束照射点位置不变的情况下,控制XY工作台移动,刻出的运动轨迹,可以看出实际运动轨迹与仿真轨迹相同,说明运行结果满足设计要求.
图12 Modelsim仿真插补脉冲输出波形Fig.12 Modelsim simulation waveform
图13 Matlab还原仿真轨迹图Fig.13 Matlab simulation trajectory
图14 XY工作台运动轨迹图Fig.14 The workbench trajectory
通过ARM控制器和FPGA控制器的搭配可以实现具有人机交互和轨迹插补功能的步进电机运动控制器.该控制器具有成本低、人机交互、G代码解析、控制运动精度高(32位数据处理)以及具有直线、圆弧插补功能.在泡沫切割和木材切割系统中配合XY轴电机和运动平台即可实现简单计算机数字控制机床(Computer numerical control,CNC)系统,而无需工业计算机,所以具有较高的工业使用价值.
致谢
华中科技大学激光加工国家工程研究中心为本实验提供激光器和XY移动平台,并为本设计的验证提供了帮助,在此表示衷心的感谢!
[1]黄诗涌,王晓初,廖永进,等.一种高性能的步进电机运动控制系统设计[J].微计算机信息,2006,22(16):38-39.
HUANG Shi-yong,WANG Xiao-chu,LIAO Yong-jin,et al.A high performance control system of stepping motor[J].Microcomputer Information,2006,22(16):38-39.(in Chinese)
[2]敬岚,朱海君,张硕成,等.步进电机控制系统的设计及其应用[J].核技术,2005,28(6):479-482.
JING Lan,ZHU Hai-jun,ZHANG Shuo-cheng,et al.Design and application of the control system of 5-phase stepping motor[J].Nuclear Techniques,2005,28(6):479-482.(in Chinese)
[3]张宝发,赵辉,岳有军.基于DSP的步进电机控制系统设计[J].仪表技术与传感器,2010(8):63-65.
ZHANG Bao-fa,ZHAO Hui,YUE You-jun.Designing of stepper motor control system based on DSP[J].Instrument Technique and Sensor,2010(8):63-65.(in Chinese)
[4]Wang Z.A novel dual-galvanometers control card[J].Applied Mechanics and Materials,2013,331:299-302.
Novel stepper motor motion controller
WANG Zhen
School of Electrical and Information Engineering,Wuhan Institute of Technology,Wuhan 430205,China
Aimed at the reducing cost and improving function of common controller,a low cost stepper motor motion controller was presented.The controller consists of a 32-bit microcontrollers chip and a Field-programmable gate array chip.The former chip is mainly employed in controlling the upper data generation,such as the G code parsing and path decomposition.The latter chip is used to accept data from the upper and execute the path interpolation,realizing the pulse and direction signals output.The results of the simulation and experiment show that the controller can better realize the set path trajectory,and running accuracy is less than one pulse.So the function and cost requirements of the actual cutting machine can be fulfilled by this controller.
motion controller;32-bit microcontrollers;field-programmable gate array;G code parsing;path decomposition
TP391
A
10.3969/j.issn.1674-2869.2015.02.013
1674-2869(2015)02-0059-05
本文编辑:苗变
2014-12-26
王振(1978-),男,湖北仙桃人,讲师.研究方向:激光数字控制应用技术.