力矩电机性能实时监测技术研究*
2011-05-28刘廷章尚晓锋王世松龚安红
刘廷章,尚晓锋,王世松,龚安红
(上海大学机电工程与自动化学院,上海 200072)
0 引言
力矩电机是一种具有软机械特性和宽调速范围的特种电机,具有低转速、大扭矩、过载能力强、力矩波动小等特点,因此它在工业应用和日常生活中应用日益广泛[1]。同时,由于恶劣工作环境的影响,电机制造工艺的限制等,常常造成电机性能的不稳定[2],从而使对于力矩电机性能实时监测的研究日益重要。
在电机性能实时监测的研究过程中,常用的方法是利用硬件电路,控制芯片等组成的信号采集系统获取电机运转时的性能参数,再通过软件对参数进行分析[3-5],从而实时监测电机性能。在本文中,我们采用直接在设计力矩电机驱动和控制装置的过程中,嵌入采集电机性能参数的指令,同时预留通信接口,方便上位机向电机驱动装置发送性能参数采集命令,从而实现电机性能的实时监测。本文详细介绍了上位机利用软件实现性能实时监测的思路和方法。
1 力矩电机设计及其驱动方案介绍
1.1 力矩电机介绍
近年来,我国的数控机床行业发展迅速,但在具有高精度、高速、高效、复合功能、多轴联动等特点的高数控机床方面,自主创新能力不够,一些核心技术还依赖于国外。为了显著提升我国高档数控系统的自主技术创新和产业化能力,国家设立了“高档数控微软提供的Mschart控件。在基于对话框的应用中加入各个控件的方法是:打开“Project->Add To Project->Components and Controls->Registered Activex Controls”,然后选择相应的控件,即可将其加入到到当前的工程中,使用时将此控件拖至对话框中即可。
为了实现电机性能的监测,首先即要建立通讯。实现 RS232串口通信的方法有三种[6],我们采用Mscomm控件来实现,其相关设置代码如下:
上位机向伺服装置发送命令和返回数据的帧格式如图5所示。
图5 发送命令和返回数据的帧格式
例如,我们发送的的读转速的命令为“01303031023841033046”,其中01表示SOH,标志通讯开始;30表示伺服装置的编号;3031表示此指令为读性能参数的命令;02即STX,标志报文开始;3841表示读取的是电机转速;03即ETX标志报文结束;3046为校验。
返回数据的格式类似,我们只须提取其中的返回的数据(原始数据为16进制),并将其转换为10进制即可。
只要将转换后的数据,输出到指定的文本显示框中,即可实现数据的实时显示,同时也可实现数据的实时曲线绘制,主要代码如下:
为了实现数据的存储和查询,需要使用ADO控件和DataGrid控件,前者用于连接数据库,后者用于实现历史数据的查询。使用时需要在后者属性选项中,将DataSource的值设置为前者的ID号。具体实现过程中,需要首先在Stdafx.h文件中添加如下代码,将msado15.dll动态链接库导入到程序中:
我们在工程所在文件夹中建立名为db1.mdb的Access数据库后,打开它的代码是:
我们建立一个数组aasave[4]来存储各参数的实时值,然后将其添加到数据库中,相关代码如下
最终实现的性能监控界面如图6所示,点击“查看历史数据”按钮后,便打开数据库,显示各参数的历史数据。
图6 力矩电机性能监测结果
3 结束语
本文针对力矩电机性能实时监测的需要,采用在电机驱动装置中直接嵌入采集其性能指标的固定指令的方式来监测其实时性能;设计了力矩电机性能实时监测的具体方案,以Visual C++为平台,研究了性能监测的实现技术,并介绍了软件设计思路和关键代码实现。运行结果表明,此方案可以实时监测力矩电机性能,显示关键参数的实时数据,通过实时曲线了解电机运行状态,并提供对历史数据的查询。
[1]张阳,陈天琴,张怀梅.基于V C++6.0的计算机控制电机测试系统的设计与实现[J].防爆电机,2005,40(5):18-23.
[2]黄科.力矩电机动力学性能测试研究[D].长沙:国防科技大学,2007.
[3]龙华伟,翟超,胡冬青,等.基于LabVIEW的步进电动力机扭矩测试系统[J]. 计量学报,2008,29(1):60-64.
[4]孙佐.基于8XC196单片机的EPA和PTS实现伺服电机控制[J].组合机床与自动化技术,2005(5):67-69.
[5]蔡国武,赖武军,童俊华.基于单片机的伺服电机性能测试系统设计[J].上海大中型电机,2009(2):54-57.
[6]王华,岳丽全,岳志高.MSComm控件在V C++6.0串口通信中的应用[J].长春工程学院学报,2009,10(1):72-73.
[7]曲国伟,王英慧.V C++环境下利用MsChart控件对GPS数据的处理[J].计算机与现代化,2007(9):132-134.