基于NI运动控制卡的伺服电机控制系统研究
2014-04-14贺昌勇张厚江路敦民祖汉松王朝志
贺昌勇 张厚江 路敦民 祖汉松 王朝志
(1.北京林业大学 工学院,中国 北京 100083;2.北京中科泛华测控技术有限公司,中国 北京 100192)
目前,伺服电机常见的控制方式有单片机控制、DSP控制、ARM控制、PLC控制、PC机+运动控制卡等。单片机、DSP、ARM控制编程比较复杂,要从低层做起,通常需要设计和加工相应微处理器系统电路板、开发周期比较长、需要编程人员对微处理器控制非常熟练;PLC适用于工厂等环境比较恶劣的场所,而且PLC大部分用于运动过程比较简单、轨迹固定的工况下[1],运动控制卡是一种基于PC机更加柔性、更加开放式的控制方式,PC机负责人机交互界面的管理和实时监控、而运动的所有细节都由运动控制卡来实现,充分的将两者结合起来——PC机强大的数据处理功能、运动控制卡对电机的精确控制,大大提高了系统的可靠性和准确性[2],而且运动控制卡二次开发很方便,由此运动控制卡得到越来越多人的应用。
1 NI运动控制卡简介
众所周知 NI公司(美国国家仪器公司)是测试测量的领头羊,其“软件即是仪器”、“图形有边,系统无界”的思想使测试、测量进入了一个新的领域。程序采用Labview编程,它是一种真正意义上的图形化编程语言,“所见即所得”,与C、Basic等文本语言相比,它在编程中有更详细的提示信息,如函数的功能、参数类型等,程序员不需要记忆那些枯燥的函数信息[3]。NI公司首先将其扩展到测试、测量最相近的领域——运动控制,早在Labview7.1版本就已经有正式的运动控制模块,NI公司相继推出了PCI插槽、PXI插槽的运动控制卡,目前控制轴数最多的是8轴运动控制卡[4]。
PCI-7344是4轴运动控制卡,PCI总线传输效率高,支持即插即用,数据吞吐量大,是运动控制卡设计的主流[5]。每一轴均可以控制步进/伺服电机是NI运动控制中档产品之一,NI PCI-7344包括双处理器和一个实时板载操作系统,并具有多轴插值功能,循环更新率,有两个68-pin VHDCI母头的接口:Motion I/O、Digital I/O,数字I/O通道数32;PWM通道数2,最大步进输出率4MHZ;最大编码器输出率20MHZ[6]。
UMI-7774(4 轴)是用于 NI 735x、NI 734x、NI 733x运动控制卡和第三方驱动器及放大器的特殊运动控制接口。这些接口提供了各种特性,是D Sub连接和信号隔离等工业环境的理想选择。UMI-7774需要24V电源供电,还支持5-30V的隔离电源。其主要的特点:可与差分编码器连接;状态LED用于排除连接故障;16条通用数字I/O线;24V隔离;每个轴均可用D-Sub连接;信号连接电缆68pinVHDL型;控制信号为+5v输出,电流为1A[7]。
2 系统组成与工作原理
2.1 统组成
系统由研华工控机IPC-610H、运动控制卡PCI-7344、接线盒UMI-7774;台达伺服驱动器ASD-A2-1521-M、台达伺服电机ECMAE11315RS组成。图1为系统组成框图。伺服电机的功率1.5kw、扭矩7.16N.m。
图1 系统组成框图
2.2 工作原理
本系统采用位置控制模式,接收上位机发出的脉冲和方向的差分信号,伺服电机本身具有编码器,在伺服驱动器内部可以形成闭环,然后编码器的信号也可以输出到运动控制卡上,与上位机的输出信号形成闭环,使得系统的动态性和稳定性大大提高[8]。NI运动控制卡控制的是伺服驱动器而不是直接的伺服电机,用图形化编程语言的Labview编写上位机软件,调用运动控制卡的函数,通过运动控制卡发送脉冲或模拟量实现对伺服驱动器的控制。
(1)脉冲控制:驱动器工作在位置环,脉冲的多少代表走的长度,发送脉冲的频率表示速度;
(2)模拟量控制:驱动器工作在速度环或者电流环,模拟量的大小对应电机的速度与位置。
我们选用的是脉冲控制方式:PCI-7344发送脉冲和方向信号给驱动器,驱动器控制电机的运转,之所以选择脉冲控制方式,有两个方面的原因:
(1)可靠性比较高,不易发生飞车事故。如果采用模拟电压控制方式的话,一般的为-10v-+10v的模拟电压,10v对应正向最大转速、-10v对应反向最大转速,如果在控制过程中原件损坏或软件故障,可能造成模拟电压瞬间达到最大值,那么电机立刻就会以最高的速度运转,很容易发生飞车,对操作人员造成伤害。
(2)抗干扰性比较好,比较适用对环境要求比较高的场所。数字电路的抗干扰性能是模拟电路所无法比拟的。
但是由于采用脉冲控制方式,驱动器工作在位置控制方式,位置环在驱动器的外部,调节PID参数不是很方便,因此控制的快速性不是很高,在本系统中完全能够满足我们的要求。
选用的台达伺服电机是A2系列搭配高精度20-bit等级(1280000p/rev)编码器,提升定位精度与低速运转稳定度。即电机接收1280000个脉冲,电机转动一圈,根据公式:位置指令=指令脉冲输入*电子齿轮比,即,在驱动器中我们设置电子齿轮比为128,那么PCI-7344每秒发出10000个脉冲,电机就会转动一圈,也就是60r/min的速度运转,脉冲的正负决定电机的正反转。图2是台达伺服电机和驱动器以及UMI-7774的电路连接图,驱动器的主回路和控制回路都是220V电源供电,电机和驱动器之间通过动力线和编码器线相连。图3详细的描述了UMI-7774和台达伺服驱动器的连接方式,使用的是驱动器内部电源24V,4引脚是脉冲信号,12引脚是方向信号,分别与驱动器的/pulse(脉冲信号)、/sign(方向信号)相连。
图2 台达伺服驱动器和伺服电机以及UMI-7774接线图
图3 UMI-7774和台达伺服驱动器CN1接线图
3 控制程序的研究与实现
在硬件搭建、接线完成之后,我们使用Labview软件在Max和程序面板中实现单轴的加速-匀速-减速运动;单轴的循环往复运动;两轴同步等运动等。
3.1 单轴加速-匀速-减速运动控制
图4 单轴的加速-匀速-减速Max配置图
上图4是在Max中1-D Interactive的配置界面,按照图中的配置,就会实现单轴的加速-匀速-减速运动,可以计算,加减速时间都是1s,电机会以60r/min的速度运转,而且会转动5圈。图5是电机运动的速度-时间图,可以看出电机的加减速时间都是1s,严格符合速度-时间梯形运动轨迹。
图5 单轴的加速-匀速-减速的速度—时间梯形图
3.2 单轴循环往复运动控制
在程序框图中编写程序,如图6,电机的运动方式选择Absolute Position,我们把初始位置设为0,这样电机每次都会从原点开始运动。往复移动的位置,我们用数组来表示。图7为前面板图,在前面板中可以通过观察滑块的移动实时观察电机的运动位置和方向。
图6 单轴循环往复运动程序框图
图7 单轴循环往复运动前面板图(运行时)
图8是轴的运动轨迹图,而且Labview有数据存储功能,我们规定一个位置为起始位置,当设备断电后,重新上电之后,设备会从原来断电的位置移动到起始位置,然后再进行后续的运动,这大大的提高了系统的精度和准确性。
图8 单轴循环往复运动路线示意图
3.3 两轴同步控制
在软件中实现两个轴的同步是比较复杂的,而且有时还不好控制,并不能做到两个轴的完全同步,大胆设想在硬件连接中解决这个问题:也就是用PCI-7344的一个轴来同时给两个电机发送脉冲,这样就能做到两个轴的同步,而且还节省了UMI-7774上的轴的数量,试验效果非常好,这是大胆尝试的结果。
4 结语
基于NI运动控制卡的伺服电机的控制方式的创新点:
(1)相比于编写程序代码控制伺服电机,这种方式采用程序框图的方法,可读性强,而且前面板采用按钮、滑动杆可以实时显示控制量和当前的位置,人机界面友好[9];
(2)实现了上位机和下位机分层控制,充分发挥了PC机强大的数据处理能力、NI运动控制卡对伺服电机的精确控制能力;
(3)直接调用运动控制卡的相关函数,通过Labview编程就能够完成复杂的运动控制,实现单轴、多轴的运动,开发时间短、大大提高了系统的精确性和灵活性,保证了系统较高的性价比[10]。
[1]贺虎成,刘卫国.电机运动控制及其相关技术发展研究[J].电机与控制应用,2006(3)∶3-6.
[2]高瑞,苗长云,王中伟.基于Labview的多轴运动控制系统的设计与开发[J].天津工业大学学报,2008,27(6)∶58-61.
[3]阮奇桢.我和Labview.2版[M].北京航空航天大学出版社,2012.
[4]贺昌勇,张厚江,祖汉松,周卢婧,刘妍.基于虚拟仪器运动控制技术的现状与发展趋势[J].林业机械与木工设备,2014,42(2)∶9-12.
[5]江发潮,曹正清,肖春泽.虚拟仪器在发动机测控系统中的应用[J].拖拉机与农用运输车,2002(6)∶14-16.
[6]National Instruments Corporation.NI-7340 User Manual,2003,11[Z].
[7]National Instruments Corporation.NI UMI-7774/7772 User Guide and Specifications,2003,11[Z].
[8]林新鹏.Labview的多轴数字式伺服电机控制系统[J].科技信息,2009,5∶101-102.
[9]赵冬梅,张宾.Labview控制步进电机升降速[J].微计算机信息,2008,6∶105-106.
[10]王淑芳.基于虚拟仪器技术的直流伺服电机控制系统[J].机床与液压,2007,35(7)∶144-146.