基于MPC07运动控制卡的步进电机控制系统研究_图文

? 电气技术与自动化 ?

张卫星 ,等 ? 基于 M PC07 运动控制卡的步进电机控制系统研究

基于 MPC07 运动控制卡的步进电机控制系统研究
张卫星 ,王春生 ,沈小强
(苏州工业职业技术学院 ,江苏 苏州 215104 )

Abstract: The p ap e r in tro duce s the theo ry a nd app lica tio n o f M PC07 m o tio n co n tro l ca rd, a nd a na lyze s the co n tro l o f m o re a xe ls
m o vem e n t o f s tep m o to r w ith VB , w h ich ha s the cha ra c te ris tic s o f co nve n ie nce , re lia b ility a nd be ing e a s ily e xp lo ite d.

Key words:M PC07; s tep m o to r; co n tro lling sys tem ; VB

0  引言

随着机电一体化的不断发展 ,现代工业中运动控制系 统也随之更新换代 ,从 PLC、 单片机 、 运动控制卡到专业的 运动控制单元 ,控制方法越来越先进 ,控制策略越来越多 , 并不断诞生出一代复杂而柔性的设备和机器 。 M PC07 运动控制卡是基于 PC 机 PC I总线的步进电 机或数字式伺服电机的上位控制单元 ,它与 PC 机构成主 从式控制结构 , PC机负责人机交互界面的管理和控制系 统的实时监控等方面的工作 , M PC07 卡完成运动控制的 各种细节 ,譬如每个轴的运动依靠输出脉冲和方向信号 、 在运动过程中能够自动升降速的处理 、 以及实现回原点起 保护作用的限位开关信号等 。每块 M PC07 卡可控制 4 轴 步进电机或数字式伺服电机 ,并支持多卡共用以实现多于 4 个运动轴的控制 。该卡是基于 FPGA 设计 , 能够提供各 种运动控制功能 。 用户可根据控制系统的要求编制人机界面 , 并调用 M PC07 运动函数库中的指令函数 , 就可以开发出满足要 求而且成本低廉的多轴运动控制系统 。

1   PC07 运动控制卡的原理 M

M PC07 配备了功能强大 、 内容丰富的 W indow s 驱动 程序 、 函数库 。M PC07 在插补算法和运动函数的执 DLL 行效率方面采用了更有效的方法 ,提高了插补精度 、 插补 速度和实时性 。M PC07 运动函数库用于二次开发 , 用户 用 V isual Basic或 VC + +支持 W indow s标准 32 位动态链 接库 (DLL )调用的开发工具编制所需的用户界面程序 ,并 把它与 M PC07 运动库链接起来 , 就可以开发出自己的多 轴运动控制系统 ,例如 : 数控系统 、 检测设备 、 自动生产线 等 。M PC07 的运动函数库能够完成与运动控制有关的复 杂细节 : 升降速计算 、 行程控制 、 多轴插补等 , 这样就可以 大大缩短控制系统的开发周期 。 MPC07 控制卡的运动控制功能主要取决于运动函数
M achine B uilding A uto mation, Feb 2008, 37 ( 1 ) : 137 ~138

摘   : 阐述了 M PC07 运动控制卡的工作原理和使用方法 ; 分析了利用 V isual Basic 语言编程 要 实现步进电机的多轴运动控制 ,具有控制方便 、 运动可靠和开发简单的特点 。 关键词 : M PC07; 步进电机 ; 控制系统 ; VB 中图分类号 : T M301. 2    文献标识码 : B    文章编号 : 1671 2 5276 (2008) 01 2 0137 2 02

The Research of Step M otor Con trollin g System Ba sed on M PC07
ZHANG W ei2xing, WANG Chun2sheng, SHEN Xiao 2qiang ( S uzho u In s titu te o f Indu s tria l Te chno lo gy, S uzho u 215104, C h ina )

库 。运动函数库为单轴及多轴的步进或伺服控制提供了许 多运动函数 :单轴运动 、 多轴独立运动 、 多轴插补运动等等 。 另外 ,为了配合运动控制系统的开发 ,还提供了间隙补偿功 能 。图 1 为 MPC07 控制卡在三轴步进控制系统中的应用 。

图 1  三轴步进控制系统

2  运动控制系统工作过程

利用 M PC07 的动态链接库 ( DLL ) , 开发者可以很快 开发出 W indow s平台下的运动控制系统 。M PC07 动态链 接库是标准的 W indows 32 位动态链接库 , 选用的开发工 具应支持 W indow s标准的 32 位 DLL 调用 。 首先进行程序初始化 ,设置运动参数以及板卡参数 , 运动参数有各种运动速度 、 /减速 、 加 升降速类型等 , 板卡 参数有卡的数量 、 各卡上的轴数等 。如果硬件设置错误 , 软件在运行时发生错误 ,则调用失败 ,需重新设置 。 步进电机的直线运动 : 独立运动和插补运动 。 独立运动指各控制轴的运动之间没有联动关系 ,可以 是单轴运动 ,也可以是多轴同时按各自的速度运动 。点位 运动 、 连续运动和回原点运动都属于独立运动 。 插补运动是指两轴或三轴按照一定的算法进行联动 , 被控轴同时启动 ,并同时到达目标位置 。插补运动以矢量 速度运行 ,矢量速度分为常矢量速度和梯形矢量速度 。 ?137?

? 电气技术与自动化 ?

张卫星 ,等 ? 基于 M PC07 运动控制卡的步进电机控制系统研究
′3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

多轴插补运动 (图 2 )只有线性运动 ,它们的运动速度 由矢量速度决定 ,各轴的速度为矢量速度在各轴上的分量 。

该函数对板卡进行设置 ,可在窗体加载时调用 :  Private Function SetBoard ( ) A s Integer

 D im R tn A s Integer

 R tn = auto_set( ) ′ 板卡进行自动设置 对   SetBoard = - 1   Exit Function  End If

  If R tn < = 0 Then ′ 自动设置错误则返回 0 若

 R tn = init_board

  If R tn < 0 Then   Exit Function  End If

  SetBoard = - 2

图 2  多轴插补运动 下面一段代码是使两轴以常速度作直线插补 :
set_vector conspeed (2000) 设置矢量常速度为 2000 个脉冲 ; 2500 个脉冲 。 con 2line2 ( 1, 2000, 2, 2500) 轴 l移动 2000 个脉冲 , 轴 2 移动

 SetBoard = 0

 End Function

AxesNum = Val( txtA xesNum. Text) low speed =Val( txtLowSpeed. Text)

下面一段代码是使两轴以梯形速度作直线插补 :

set_vector p rofile ( 500, 2000, l000) 设置矢量梯形速度 : 低速为

500 个脉冲 ,高速为 2000 个脉冲 ,加速度为 1000 个脉冲 ; 4000 个脉冲 。

Accel =Val( txtA ccel Text) . D is = Val ( txtD is Text) ′ .

fast_line2 ( 1, 2000, 2, 4000 ) 轴 I移动 2000 个脉冲 , 轴 2 移动

3  程序设计

度运动参数

下面利用 VB 编制图 1 三轴电机的运动 , 运动参数包 括轴号 、 初速度 、 最高速度 、 加速度和移动距离等 , 使得三 轴能够连续运动 、 回原点 ,并能够读取当前轴号 、 位置和速 度 。图 3 为用 VB 编制的三轴运动功能框图 。

D im pos A s Long

D im speed A s Double

4  结束语

介绍了 M PC07 运动控制卡的工作原理及其应用 , 在 VB 环境下三轴步进电机的运动 ,当然 ,运动控制卡的运动 函数库还能够完成与运动控制有关的复杂细节 ,比如升降 速直线插补 ,梯形速度直线插补等 ,这样就能够实现更完 善的运动控制系统 。 参考文献 :

图 3  三轴运动功能框图

部分程序如下 :

[ 1 ] 彭韬 ,周学才 . 基于国产 MCT8000 运动控制卡的开放式结构 [ 2 ] 王振华 ,朱国力 ,郭长旺 ,等 . 基于 DSP 和 CNC 多轴运动控制

Op tion Exp licit

D im AxesNum A s Long 轴号

D im lowspeed A s Double 初速度 D im Accel A s Double 加速度 D im D is A s Long 移动距离

D im highspeed A s Double 最高速度

收稿日期 : 2007 - 07 - 06

?138?

http: ∥ZZHD. chinajournal net cn  E 2 . . mail: ZZHD @ chainajournal net cn《 . . 机械制造与自动化 》

机器人控制系统 [ J ]. 制造业自动化 , 2001, 71 ( 7) : 65 2 67. 器研究 [ J ]. 制造业自动化 , 2000, 22 ( 3) : 10 2 13.

′3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

′ 取用户设置的运动参数 : 读

Private Sub GetParam ( )

highspeed =Val( txtH ighSpeed. Text) ′

set_maxspeed AxesNum , highspeed

set_conspeed Axes Num, lowspeed ′ 置常速运动参数 设

set_p rofile AxesNum , lowspeed, highspeed, Accel ′ 置梯形速 设

End Sub

读取并显示状态 (当前的位置和速度 )

Private Sub tim Getdata_Tim er( )

get_abs_pos Axes Num , pos ′ 取位置 读 labPos Cap tion = pos ′ 示位置 . 显

speed = get_rate (AxesNum ) ′ 取速度 读 labSpeed. Cap tion = speed ′ 示速度 显

End Sub


相关文档

MPC07控制卡在运动控制系统中的应用
基于专用控制芯片的步进电机运动控制系统设计
步进电机多轴运动控制系统的研究
一种基于运动控制卡的步进电机控制系统
基于运动控制卡的步进电机控制系统
基于PLC的步进电机运动控制系统的设计
基于单片机的步进电机运动控制系统设计
基于单片机与步进电机的运动控制系统
基于PLC的步进电机运动控制系统设计
电脑版