趙勇,張天開,齊秀娟
(青島理工大學自動化工程學院,山東青島 266033)
精密技術是現代機械加工技術發展的重要方向之一,發展尖端技術、發展國防工業、發展微電子工業等都需要精密加工制造出來的儀器設備。當代的精密加工工程是現代制造技術的前沿,也是明天技術的基礎[1]。精密加工的發展依賴于精密機床,因而精密機床的關鍵部分——精密控制系統始終為研究人員所重視。
音圈電機 (Voice Coil Motor)是基于安培力原理制造的一種新型直接驅動電機,具有高頻響、高精度的特點,有利于精密機床控制系統的實現[2]。基于此,提出一種以音圈電機提供驅動力,以STM32和LabVIEW作為上下位機構成控制系統的精密機床控制系統的設計方案。
機床的機械結構示意圖如圖1所示。

圖1 機械示意圖
機床由直線型音圈電機驅動,通過固定軸傳動,驅動由氣浮裝置支撐的平臺運動[3]。音圈電機是一種將電能轉換成機械能的裝置,通過PWM輸出控制驅動器輸出不同電流控制音圈電機直線運動。
當前機床的控制系統主要由主控制系統、運動控制系統、位置控制系統、測量系統和上位機等組成[4]。該機床的控制方式采用閉環控制方式,使用主流的PID控制。閉環控制中的反饋信號由測量系統獲得。上位機采用LabVIEW編寫,LabVIEW編制功能清晰,對采集來的實時位移數據進行處理,并執行相關的控制[5]。其控制原理框圖如圖2所示。

圖2 控制系統原理框圖
機床控制系統的硬件結構圖如圖3所示。

圖3 硬件結構圖
主要包括:PC、STM32F103RBT6、位移傳感器Mercury3000、音圈電機、信號處理電路、驅動器、載物平臺等。其中,Mercury3000是MicroE公司生產的光學編碼器,可提供5~0.020 μm的線性分辨率,選用鈉鈣玻璃的光柵尺,安裝長度是25 mm,可使用長度是20 mm。用SmartPrecision電子器件模塊對安裝好的光柵尺進行調整、校驗,調節測量的分辨率,平臺中采用的是2 μm的分辨率。
Mercury3000輸出兩路正交信號,由于正交信號的輸入阻抗較小,所以在微處理器采集的前端增加一個由LM358構成的跟隨器[6],增加Mercury3000輸出正交信號的驅動能力。LM358內部有兩個獨立的、高增益雙運算放大器,使用5 V單電源供電。最小系統由AMS117轉化成3.3 V供電。同時,整個系統通過LM2940提供5 V電壓,具體電路原理圖如圖4所示。

圖4 硬件電路原理圖
此方案軟件設計主要包括3個方面:上位機、下位機及通信協議制定。微處理器采集到位移數據通過RS232上傳到上位機,由LabVIEW進行接收、處理、顯示和保存。同時,上位機可以在線修改參數,下傳給微處理器達到控制目的。
上位機軟件設計主要包括LabVIEW前面板和后臺程序框圖兩部分。前面板即為用戶界面,用來定義各種控件。后臺程序框圖采用數據流的方式處理數據。首先在計算機上安裝VISA驅動程序,然后進行各個功能模塊的開發,具體功能模塊可分為數據采集、保存數據、數據回放、實時顯示、參數設置等。LabVIEW是一種圖形化編程語言,易于理解和操作,提高了編程效率[7]。主要設計流程圖如圖5所示。

圖5 上位機軟件流程
主要功能模塊介紹如下:
(1)上位機主界面如圖6所示,分為串口設置、實時顯示、參數設置等。主界面中有開始運行、保存數據、正弦輸入、數據回放及退出程序等按鈕,點擊開始運行按鈕后,串口打開,保存數據、正弦輸入、數據回放按鈕使能,退出程序按鈕失能。關閉串口后,點擊退出按鈕就會退出整個主界面。

圖6 上位機主界面
(2)數據存儲與回放。數據采集過程中,運動軌跡與時間實時寫入列表框中,在采集結束時,打開數據保存按鈕,彈出選擇待寫入文件對話框,設定保存路徑和文件名,數據保存到Excel表格中。如果要查詢某一過程中的數據,找到相應Excel文件,點擊數據回放按鈕,運動軌跡曲線就會在歷史位移回放圖表中顯示出來。部分程序框圖如圖7所示。

圖7 數據存儲與回放部分程序框圖
(3)位移設定。在此機床中,位移設定有2種方式:固定位移和正弦曲線位移。設定位移按照固定頻率和幅值的正弦曲線變化,驗證平臺的跟隨特性,跟隨特性測試將在下文介紹。2種方式都是利用PID閉環調節來實現精確、高速定位。
下位機軟件采用C語言編寫,主要實現數據采集、PWM輸出及與上位機通信等功能。
STM32F103RBT6單片機具有豐富的外設資源,其中高級定時器TIM1的編碼器接口可以采集位移傳感器產生的正交信號,正交信號經過處理轉換成實際位移量;滴答時鐘Systick提供精確的定時器中斷;TIM2配置成PWM輸出模式,有3路USART串口通信可供選擇。系統上電復位后,首先初始化TIM1、Systick、TIM2和USART1,將采集的實時位移數據與設定位移做差,將此偏差作為PID控制器的輸入量,PID的采集周期為10 ms,PID輸出結果通過PWM輸出。同時,實時位移數據經過處理后,通過USART1上傳給上位機[8],流程圖如圖8所示。

圖8 下位機流程圖
STM32都是16位定時器,由于光柵尺計數會超過65535,通過直接讀取的方法已不能準確讀取數據,下面是解決定時器溢出的源碼:

經過實際測試,光柵尺在50 ms內都不會溢出,所以設定10 ms的中斷采集一次數據。上述代碼中MAX_COUNT是比10 ms內出現的計數器最大值大的值,ENCODER_TIM_PERIOD是 TIM1周期,ENCODER_TIM_PERIOD要比MAX_COUNT大。最后定義一個32位的有符號變量currentCount,每10 ms執行一次currentCount+=Enc_GetCount(),只需要讀取currentCount就會獲得位移信息。
PID控制器由比例單元 (P)、積分單元 (I)、微分單元 (D)組成,是一種非常廣泛的自動控制器。PID算法主要有增量式和位置式兩種,在此平臺中使用增量式PID算法[9]。
通信設計的主要任務是對數據進行分割與轉化,從而得到需要的數據。在下位機與上位機通信過程中,數據是按照一定的通信協議進行封裝和傳輸的。下位機STM32把數據以16進制數組上傳,同理上位機也以16進制數組下傳數據。通信協議的使用一般有兩種方式:通用的工業通信協議和個人定制協議[10]。在此設計中,使用了自己定制的通信協議。
下位機接收上位機下傳數據和下位機發送上位機接收數據兩個過程使用了相同的數據封裝方式,其對數據的解析方法也一樣,所以在這一章中,只從下位機這一方面分析數據的傳輸過程。數據幀的封裝格式根據指令的不同分為讀數據幀和寫數據幀兩種,兩種數據幀的字節長度都是固定的。根據設計需要,讀數據幀和寫數據幀分別由18個和6個字節構成。讀數據幀起始符是0xE0,數據部分的16個字節平均分成4塊,每一塊分別表示的是P、I、D參數值和設定位移量;寫數據幀起始符是0xF0,數據部分4個字節表示實際位移量,兩者的結束符都為0x0D。其封裝格式分別如圖9和10所示。

圖9 讀數據幀

圖10 寫數據幀
數據接收過程如圖11所示。當有數據接收就會觸發USART1接收中斷,USART1_DR寄存器接收上位機下傳數據,如果數據中出現0xE0,依次讀取0xE0后17個字節的數據并存入數組,判斷數組中第17個元素是0x0D,計數器清零,將中間16個字節分別還原成P、I、D、設定位移參數值。

圖11 數據接收流程圖
測試機床在PID控制下的動態特性,調節PID控制參數,在同一組參數下,改變輸入正弦信號頻率,驗證運動平臺的跟隨效果。圖12和圖13分別為0.5 Hz和1.0 Hz下的跟隨曲線。曲線1是輸入正弦信號,曲線2是運動平臺的跟隨曲線。

圖12 0.5 Hz正弦曲線

圖13 1.0 Hz正弦曲線
從圖12和圖13可以看出:曲線1和曲線2的重合度較高,控制系統的跟隨效果較好。同時,圖12中曲線1和曲線2重合程度要比圖13的高,并且曲線2要光滑得多。所以可以看出:隨著正弦曲線頻率的增大,平臺跟隨特性變差。
基于LabVIEW和STM32的精密機床控制系統,達到了控制精度,具有較高的響應速度。LabVIEW集成生成可執行文件的程序,最后的可執行文件可以在沒有安裝LabVIEW的計算機上使用,系統設計方案可以推廣到精密機床加工行業。
[1]袁哲俊,王先逵.精密和超精密加工技術[M].北京:機械工業出版社,1999:10-102.
[2]馮曉梅,張大衛,趙興玉.基于音圈電機的新型高速精密定位系統設計方法[J].中國機械工程,2005,16(16):1415-1416.
[3]何學明,陳學東,曾理湛.超精密氣浮平臺的定位精度分析[J].華中科技大學學報:自然科學版,2008,36(3):8-11.
[4]陳學東.超精密氣浮定位工作臺技術:氣浮系統動力學與控制[M].武漢:華中科技大學出社,2008:10-102.
[5]母亞敏,李治,柏荷.基于LabVIEW和FPGA的LCR測試儀設計[J].電子技術應用,2013,39(11):92 -95.
[6]童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2001:10-26.
[7]耿朝,崔建昆.基于LabVIEW的齒輪泵振動采集分析系統設計[J].制造業自動化,2013,36(1):26 -29.
[8]蒙博宇.STM32自學筆記[M].北京:北京航空航天出版社,2012:52-76.
[9]胡壽松.自動控制原理[M].5版.北京:科學出版社,2007:32-53.
[10]王麗,雷秀,余建國.基于PC機與單片機AT89C52的串行通信協議設計[J].機電工程技術,2006,35(2):19-22.