齊 盛
(浙江商業職業技術學院,杭州 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.