站内文章搜索:

 

 行业资讯 
 电子基础 
 汽车电子 
 家电维修 
 手机数码 
 通信网络 
 PLC工控 
 LED照明 
 安防电子 
 消费电子 
 电源电池 
 嵌入式系统 
 EDA技术 
 音响技术 
 医疗电子 
 半导体 
 光伏技术 
 SMT技术 
 传感器 
 电工电气 
 单片机 
 EMC EMI 
 电机控制 
 光电显示 
您现在的位置: 电子之家 >> 电机控制 >> 正文   更新时间:2014-8-13 0:34:49  点击数:1667

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

分享此文章:

摘 要:阐述了MPC07运动控制卡的工作原理和使用方法;分析了利用Visual Basic语言编程实现步进电机的多轴运动控制,具有控制方便、运动可靠和开发简单的特点。
关键词:MPC07;步进电机;控制系统;VB


0 引言

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

1 MPC07运动控制卡的原理

      MPC07配备了功能强大、内容丰富的Windows驱动程序、DLL函数库。MPC07在插补算法和运动函数的执行效率方面采用了更有效的方法,提高了插补精度、插补速度和实时性。MPC07运动函数库用于二次开发,用户用VisualBasic或VC + +支持Windows标准32位动态链接库(DLL)调用的开发工具编制所需的用户界面程序,并把它与MPC07运动库链接起来,就可以开发出自己的多轴运动控制系统,例如:数控系统、检测设备、自动生产线等。MPC07的运动函数库能够完成与运动控制有关的复杂细节:升降速计算、行程控制、多轴插补等,这样就可以大大缩短控制系统的开发周期。
      MPC07控制卡的运动控制功能主要取决于运动函数库。运动函数库为单轴及多轴的步进或伺服控制提供了许多运动函数:单轴运动、多轴独立运动、多轴插补运动等等。
      另外,为了配合运动控制系统的开发,还提供了间隙补偿功能。图1为MPC07控制卡在三轴步进控制系统中的应用。

 


2 运动控制系统工作过程

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

 


      下面一段代码是使两轴以常速度作直线插补:
      set_vector conspeed (2000) 设置矢量常速度为2000个脉冲;
      con2line2 (1, 2000, 2, 2500) 轴l移动2000个脉冲,轴2移动2500个脉冲。
      下面一段代码是使两轴以梯形速度作直线插补:
      set_vector p rofile (500, 2000, l000)设置矢量梯形速度:低速为500个脉冲,高速为2000个脉冲,加速度为1000个脉冲;
      fast_line2 (1, 2000, 2, 4000)轴I移动2000个脉冲,轴2移动4000个脉冲。

3 程序设计

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

 


      部分程序如下:
      Op tion Exp licit
      Dim AxesNum As Long轴号
      Dim lowspeed AsDouble初速度
      Dim highspeed AsDouble最高速度
      Dim Accel AsDouble加速度
      Dim DisAs Long移动距离
      ′*
      ********************************************
      该函数对板卡进行设置,可在窗体加载时调用:
      Private Function SetBoard ( ) As Integer
      Dim Rtn As Integer
      Rtn = auto_set( ) ′对板卡进行自动设置
      If Rtn < = 0 Then ′若自动设置错误则返回0
      SetBoard = - 1
      Exit Function
      End If
      Rtn = init_board
      If Rtn < 0 Then
      SetBoard = - 2
      Exit Function
      End If
      SetBoard = 0
      End Function
      ′*
      ********************************************
      ′读取用户设置的运动参数:
      Private Sub GetParam ( )
      AxesNum =Val( txtAxesNum. Text)
      lowspeed =Val( txtLowSpeed. Text)
      highspeed =Val( txtHighSpeed. Text) ′
      Accel =Val( txtAccel. Text)
      Dis =Val ( txtDis. Text) ′
      set_maxspeed AxesNum, highspeed
      set_conspeed AxesNum, lowspeed ′设置常速运动参数
      set_p rofile AxesNum, lowspeed, highspeed, Accel ′设置梯形速度运动参数
      End Sub
      读取并显示状态(当前的位置和速度)
      Private Sub timGetdata_Timer( )
      Dim posAs Long
      Dim speed AsDouble
      get_abs_posAxesNum, pos ′读取位置
      labPos. Cap tion = pos ′显示位置
      speed = get_rate (AxesNum) ′读取速度
      labSpeed. Cap tion = speed ′显示速度
      End Sub

4 结束语

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

参考文献:

      [ 1 ] 彭韬,周学才. 基于国产MCT8000运动控制卡的开放式结构机器人控制系统[ J ]. 制造业自动化, 2001, 71 (7) : 65267.
      [ 2 ] 王振华,朱国力,郭长旺,等. 基于DSP和CNC多轴运动控制器研究[ J ]. 制造业自动化, 2000, 22 (3) : 10213.

  • 上一篇文章:

  • 下一篇文章:
  • 相关文章

    没有相关文章

    推荐文章

    · 电动机单相运行产生的原因及预防措施
    · 变频器的作用及工作原理
    · 三角形接法与三相电动机星形的额定电流
    · 单相电机电容接线图
    · 几种用于3V供电的微型直流电机的驱动电
    · 用于Quad-rotor飞行器的无刷直流电机驱

    热门文章

    · 基于COMX的机器人伺服控制器设计
    · SVPWM在现代串级调速系统中的仿真研究
    · 基于模糊-PI双模控制的永磁同步电机控制
    · 无刷直流电机相序测定实用方法
    · 基于LM3S8962 ARM的神经元控制直流调速
    · 基于MPC07运动控制卡的步进电机控制系统

    | QQ:278237851 | 鲁ICP备14015669号-3 |

    电子之家 版权所有