齐 盛
(浙江商业职业技术学院,杭州 310053)
电机生产厂家需要在产品组装完成后对电机进行严格的出厂性能测试。国内电机生产企业一般从国外引进电机性能测试装置[1]。这些装置可靠性高、稳定性好、性能测试准确,但存在着操作不够简洁直观、价格昂贵和维修困难等问题。而国产高精度电机性能测试系统一般用于电机研究所以及鉴定机构,其可靠性、稳定性难以在复杂的电机生产线上满足要求。本文针对管状电机出厂性能测试的特点,选择高性能处理器STM32,设计开发了管状电机性能自动测试设备。
本系统是由多个相同功能的测试子系统,通过CAN总线在一个测试车间内构成的一个测试网络系统,每个测试子系统是一个单独的测试台,可独立完成电机的测试任务。每个测试子系统对电机测试完成的数据都上传至测试网络中的主控机。主控机是一台计算机,负责车间内所有电机测试数据的存储、测试员工作量的记载以及测试数据报表的生成、打印等功能。整个系统的网络结构图如图1所示。
根据电机生产厂家的技术需求以及调查总结,每个单独的测试子系统的具体功能重点包括以下几方面[2]:
图1 系统网络结构图
(1)针对不同型号的电机,测试的标准参数进行设定后能够保存下来,方便用户以后测试使用。
(2)子系统所能测试的8个项目分别包括电机的冷态电阻及温升、运转时的转速、电流、电压、功率、泄漏电流、刹车转角和限位精度,用户可根据需要具体制定测试项目。
(3)子系统根据用户需要,将测试结果通过LCD和系统指示灯显示出来。同时也将测试电机的具体测试参数以及测试人员、电机型号等信息通过CAN网络上传到测试网络中的主控机,以备生产厂家日后查询。测试子系统的结构框图如图2所示。
图2 子系统的结构框图
本测试网络中子测试系统的硬件电路主要分为三大部分。系统主控板:负责整个系统的通信运转、液晶显示以及保证跟上位机进行CAN通信;继电器控制及电机参数测量板:负责根据系统主控板的命令,对控制电机的继电器进行驱动,让电机作出相应的动作,以配合系统的测试需要,并且此模块还包括对电机运转时的电流电压温升的监测测量模块;按键及指示灯控制板:负责系统的人工输入以及将测试结果通过LED系统指示灯显示出来的功能。
本测试系统中电机电阻的测试方法是伏安法,系统电路中设计了一个10mA的恒流源,采用MEGA16单片机自带的10位A/D进行电压转化[3]。由于电机是感性负载,电动机线圈在断开电源的瞬间会产生很强的反向感生电压[4]。所以在测试电阻的时候一定要加保护电路,本系统保护电路中的热敏电阻PTC1和PTC2在消耗瞬间的感生电压方面取得很好的效果,系统中恒流源电路及系统保护电路如图3所示。
图3 电机电阻测试中恒流源以及保护电路
STM32F103VC是一款以Cortex-M3为内核的ARM微控制器,集32位RISC处理器、低功耗、高速DMA通道、CAN、灵活的静态存储器控制器(FSMC它能够与同步或异步的存储器接口)以及SDIO接口等丰富片上外设于一体,它的时钟频率可达72MHz[5]。设计中利用芯片的外设接口FSMC连接液晶,经过实际测试,采用FSMC方式较普通的IO驱动液晶快3倍左右。在性能方面,该微控制器能够提供强大的计算和控制力,它具备32位硬件除法和单周期乘法,实现了Tail-Chaining中断技术,将中断之间的延迟降6个CPU周期,在实际应用中可减少70%的中断,这样可以大大加快系统的反应时间,与ARM7TDMI相比运行速度最多可快35%且代码最多可节省45%[6]。
3.2.1 系统的CAN模块设计
CAN通信电路由电源、微控制芯片STM32、STM32上的集成CAN控制器、CAN总线驱动器82C250、光电耦合器6N137组成。CAN数据通过82C250传输到CAN控制器上,STM32处理后再传送出去。CAN通信结构框图及其硬件电路设计图如图4所示。
图4 CAN 通信结构框图
3.2.2 SD卡接口电路
由于SD卡具有存储容量大、价格低、访问速度快等优点,现在正成为仪器仪表的存储主流,SD卡的接口分SPI模式和SDIO模式,SDIO模式具有四根数据线,时钟速度最大可达50MHz,显然SDIO模式下数据传输速率比SPI模式快得多[7]。STM32F103VC系统芯片具备SPI及SDIO接口,本系统中选用了SDIO接口模式,接口电路如图5所示。
图5 系统的存储接口电路
本测试系统中用到功能模块化的设计方法,系统中主要涉及到两个功能模式,第一个是手动模式,第二个是自动模式。系统通过CanShu_flag来判断是否读取存储的标准值。
图6为系统的自动测试模式程序流程图。
图6 自动测试模式程序流程图
经过处理后的测试结果通过CAN网络上传到主控机数据库中,用户可以通过主控机的上位机界面查看工位的测试信息以及车间的测试报表等信息。上位机界面如图7所示。
图7 上位机界面图
上位机管理软件的开发是使用Visual C++6.0完成的。VC++与Windows操作系统密切结合,有一套功能强大的可视化类库(MFC),采用面向对象的编程方法[8]。上位机主要分为以下几个部分:
(1)CAN接口卡的接口程序,完成数据的正常传输;
(2)测试结果在本地数据库的存储及数据库的数据根据需要导入到EXCEL中;
(3)车间测试数据报表的生成及打印;
(4)用户可以根据需要,查看各个工位的实际测试情况。
系统测试完成后将测试结果在液晶上显示出来,TFT-LCD只显示测试结果。如果测试电机合格的话,在合格的台数加1,蜂鸣器会长响一声;如果不合格的话可以在不合格的台数加1,蜂鸣器会短响一声。测试结果的LCD实物显示如图8所示。
图8 测试完成界面
从子系统测试完成界面看到测试电流电压参数的精度分别为0.01A、0.1V,电机电阻的精度为0.1Ω,行程、刹车距离精度及限位误差精度为0.1°,在系统中测量电流电压的传感器CS5460为24位的AD,电机电阻测试电压用到10位AD以及旋转编码器最小分辨率为0.09°,但结合电机出厂检验参数并不需要很高精度的实际情况以及系统保证处理数据的简单性要求,液晶显示精度明显低于实际测试精度。所以系统的测试精度误差主要来源于软件过程中的数据处理。
子系统测试完成后,会自动将测试结果更新到主控机的数据库,用户在主控机中查看测试报表,报表信息如图9所示。
图9 测试1车间数据报表
本文所设计的电机自动测试系统充分利用STM32F103VC芯片丰富的外设以及高效的数据处理能力。经车间实际安装调试后,所有控制功能均能正常实现,与传统的测试仪表相比具有性能稳定、反映灵敏、精度高、操作简单等特点。实践证明,本方案设计合理、结构简单、易于扩展,不仅保证了电机的测试精度,并且提高了测试人员的工作效率,为电机的生产提供了优良的质量检验平台。随着类似测试设备市场需求的不断提高,相关的智能化自动测试系统将具有广阔的市场前景。
[1] 陈伟华.中国中小型电机产业现状及发展趋势[J]. 电机与控制应用,2008,2:10-13.
[2] Jeff Jugan. Advanced Methods of Motor Testing[J].IEEE International Symposium on June 302008-July 2.2008:467-471.
[3] 马潮. AVR单片机嵌入式系统原理与应用实践[M].航空航天大学出版社,2007.34-37.
[4] 李志强. 电机微机综合测试系统[J]. 电机与控制应用,2007,7:6-18.
[5] 李宁.基于MDK的STM32处理器开发应用[M]. 航空航天大学出版社,2008.12-18.
[6] Joseph Yiu.The Definitive Guide to the ARM Cortex-M3[R].2007:175-179.
[7] 王明亮. SD Memory Card Specifications[EB/OL]. http://www.sandisk.com,2001.08.16.
[8] 孙雄勇.VISUAL C++6.0实用教程[M].北京:中国铁道出版社,2004. 208-225.