趙勇,張?zhí)扉_,齊秀娟
(青島理工大學(xué)自動(dòng)化工程學(xué)院,山東青島 266033)
精密技術(shù)是現(xiàn)代機(jī)械加工技術(shù)發(fā)展的重要方向之一,發(fā)展尖端技術(shù)、發(fā)展國防工業(yè)、發(fā)展微電子工業(yè)等都需要精密加工制造出來的儀器設(shè)備。當(dāng)代的精密加工工程是現(xiàn)代制造技術(shù)的前沿,也是明天技術(shù)的基礎(chǔ)[1]。精密加工的發(fā)展依賴于精密機(jī)床,因而精密機(jī)床的關(guān)鍵部分——精密控制系統(tǒng)始終為研究人員所重視。
音圈電機(jī) (Voice Coil Motor)是基于安培力原理制造的一種新型直接驅(qū)動(dòng)電機(jī),具有高頻響、高精度的特點(diǎn),有利于精密機(jī)床控制系統(tǒng)的實(shí)現(xiàn)[2]?;诖耍岢鲆环N以音圈電機(jī)提供驅(qū)動(dòng)力,以STM32和LabVIEW作為上下位機(jī)構(gòu)成控制系統(tǒng)的精密機(jī)床控制系統(tǒng)的設(shè)計(jì)方案。
機(jī)床的機(jī)械結(jié)構(gòu)示意圖如圖1所示。
圖1 機(jī)械示意圖
機(jī)床由直線型音圈電機(jī)驅(qū)動(dòng),通過固定軸傳動(dòng),驅(qū)動(dòng)由氣浮裝置支撐的平臺(tái)運(yùn)動(dòng)[3]。音圈電機(jī)是一種將電能轉(zhuǎn)換成機(jī)械能的裝置,通過PWM輸出控制驅(qū)動(dòng)器輸出不同電流控制音圈電機(jī)直線運(yùn)動(dòng)。
當(dāng)前機(jī)床的控制系統(tǒng)主要由主控制系統(tǒng)、運(yùn)動(dòng)控制系統(tǒng)、位置控制系統(tǒng)、測量系統(tǒng)和上位機(jī)等組成[4]。該機(jī)床的控制方式采用閉環(huán)控制方式,使用主流的PID控制。閉環(huán)控制中的反饋信號(hào)由測量系統(tǒng)獲得。上位機(jī)采用LabVIEW編寫,LabVIEW編制功能清晰,對(duì)采集來的實(shí)時(shí)位移數(shù)據(jù)進(jìn)行處理,并執(zhí)行相關(guān)的控制[5]。其控制原理框圖如圖2所示。
圖2 控制系統(tǒng)原理框圖
機(jī)床控制系統(tǒng)的硬件結(jié)構(gòu)圖如圖3所示。
圖3 硬件結(jié)構(gòu)圖
主要包括:PC、STM32F103RBT6、位移傳感器Mercury3000、音圈電機(jī)、信號(hào)處理電路、驅(qū)動(dòng)器、載物平臺(tái)等。其中,Mercury3000是MicroE公司生產(chǎn)的光學(xué)編碼器,可提供5~0.020 μm的線性分辨率,選用鈉鈣玻璃的光柵尺,安裝長度是25 mm,可使用長度是20 mm。用SmartPrecision電子器件模塊對(duì)安裝好的光柵尺進(jìn)行調(diào)整、校驗(yàn),調(diào)節(jié)測量的分辨率,平臺(tái)中采用的是2 μm的分辨率。
Mercury3000輸出兩路正交信號(hào),由于正交信號(hào)的輸入阻抗較小,所以在微處理器采集的前端增加一個(gè)由LM358構(gòu)成的跟隨器[6],增加Mercury3000輸出正交信號(hào)的驅(qū)動(dòng)能力。LM358內(nèi)部有兩個(gè)獨(dú)立的、高增益雙運(yùn)算放大器,使用5 V單電源供電。最小系統(tǒng)由AMS117轉(zhuǎn)化成3.3 V供電。同時(shí),整個(gè)系統(tǒng)通過LM2940提供5 V電壓,具體電路原理圖如圖4所示。
圖4 硬件電路原理圖
此方案軟件設(shè)計(jì)主要包括3個(gè)方面:上位機(jī)、下位機(jī)及通信協(xié)議制定。微處理器采集到位移數(shù)據(jù)通過RS232上傳到上位機(jī),由LabVIEW進(jìn)行接收、處理、顯示和保存。同時(shí),上位機(jī)可以在線修改參數(shù),下傳給微處理器達(dá)到控制目的。
上位機(jī)軟件設(shè)計(jì)主要包括LabVIEW前面板和后臺(tái)程序框圖兩部分。前面板即為用戶界面,用來定義各種控件。后臺(tái)程序框圖采用數(shù)據(jù)流的方式處理數(shù)據(jù)。首先在計(jì)算機(jī)上安裝VISA驅(qū)動(dòng)程序,然后進(jìn)行各個(gè)功能模塊的開發(fā),具體功能模塊可分為數(shù)據(jù)采集、保存數(shù)據(jù)、數(shù)據(jù)回放、實(shí)時(shí)顯示、參數(shù)設(shè)置等。LabVIEW是一種圖形化編程語言,易于理解和操作,提高了編程效率[7]。主要設(shè)計(jì)流程圖如圖5所示。
圖5 上位機(jī)軟件流程
主要功能模塊介紹如下:
(1)上位機(jī)主界面如圖6所示,分為串口設(shè)置、實(shí)時(shí)顯示、參數(shù)設(shè)置等。主界面中有開始運(yùn)行、保存數(shù)據(jù)、正弦輸入、數(shù)據(jù)回放及退出程序等按鈕,點(diǎn)擊開始運(yùn)行按鈕后,串口打開,保存數(shù)據(jù)、正弦輸入、數(shù)據(jù)回放按鈕使能,退出程序按鈕失能。關(guān)閉串口后,點(diǎn)擊退出按鈕就會(huì)退出整個(gè)主界面。
圖6 上位機(jī)主界面
(2)數(shù)據(jù)存儲(chǔ)與回放。數(shù)據(jù)采集過程中,運(yùn)動(dòng)軌跡與時(shí)間實(shí)時(shí)寫入列表框中,在采集結(jié)束時(shí),打開數(shù)據(jù)保存按鈕,彈出選擇待寫入文件對(duì)話框,設(shè)定保存路徑和文件名,數(shù)據(jù)保存到Excel表格中。如果要查詢某一過程中的數(shù)據(jù),找到相應(yīng)Excel文件,點(diǎn)擊數(shù)據(jù)回放按鈕,運(yùn)動(dòng)軌跡曲線就會(huì)在歷史位移回放圖表中顯示出來。部分程序框圖如圖7所示。
圖7 數(shù)據(jù)存儲(chǔ)與回放部分程序框圖
(3)位移設(shè)定。在此機(jī)床中,位移設(shè)定有2種方式:固定位移和正弦曲線位移。設(shè)定位移按照固定頻率和幅值的正弦曲線變化,驗(yàn)證平臺(tái)的跟隨特性,跟隨特性測試將在下文介紹。2種方式都是利用PID閉環(huán)調(diào)節(jié)來實(shí)現(xiàn)精確、高速定位。
下位機(jī)軟件采用C語言編寫,主要實(shí)現(xiàn)數(shù)據(jù)采集、PWM輸出及與上位機(jī)通信等功能。
STM32F103RBT6單片機(jī)具有豐富的外設(shè)資源,其中高級(jí)定時(shí)器TIM1的編碼器接口可以采集位移傳感器產(chǎn)生的正交信號(hào),正交信號(hào)經(jīng)過處理轉(zhuǎn)換成實(shí)際位移量;滴答時(shí)鐘Systick提供精確的定時(shí)器中斷;TIM2配置成PWM輸出模式,有3路USART串口通信可供選擇。系統(tǒng)上電復(fù)位后,首先初始化TIM1、Systick、TIM2和USART1,將采集的實(shí)時(shí)位移數(shù)據(jù)與設(shè)定位移做差,將此偏差作為PID控制器的輸入量,PID的采集周期為10 ms,PID輸出結(jié)果通過PWM輸出。同時(shí),實(shí)時(shí)位移數(shù)據(jù)經(jīng)過處理后,通過USART1上傳給上位機(jī)[8],流程圖如圖8所示。
圖8 下位機(jī)流程圖
STM32都是16位定時(shí)器,由于光柵尺計(jì)數(shù)會(huì)超過65535,通過直接讀取的方法已不能準(zhǔn)確讀取數(shù)據(jù),下面是解決定時(shí)器溢出的源碼:
經(jīng)過實(shí)際測試,光柵尺在50 ms內(nèi)都不會(huì)溢出,所以設(shè)定10 ms的中斷采集一次數(shù)據(jù)。上述代碼中MAX_COUNT是比10 ms內(nèi)出現(xiàn)的計(jì)數(shù)器最大值大的值,ENCODER_TIM_PERIOD是 TIM1周期,ENCODER_TIM_PERIOD要比MAX_COUNT大。最后定義一個(gè)32位的有符號(hào)變量currentCount,每10 ms執(zhí)行一次currentCount+=Enc_GetCount(),只需要讀取currentCount就會(huì)獲得位移信息。
PID控制器由比例單元 (P)、積分單元 (I)、微分單元 (D)組成,是一種非常廣泛的自動(dòng)控制器。PID算法主要有增量式和位置式兩種,在此平臺(tái)中使用增量式PID算法[9]。
通信設(shè)計(jì)的主要任務(wù)是對(duì)數(shù)據(jù)進(jìn)行分割與轉(zhuǎn)化,從而得到需要的數(shù)據(jù)。在下位機(jī)與上位機(jī)通信過程中,數(shù)據(jù)是按照一定的通信協(xié)議進(jìn)行封裝和傳輸?shù)?。下位機(jī)STM32把數(shù)據(jù)以16進(jìn)制數(shù)組上傳,同理上位機(jī)也以16進(jìn)制數(shù)組下傳數(shù)據(jù)。通信協(xié)議的使用一般有兩種方式:通用的工業(yè)通信協(xié)議和個(gè)人定制協(xié)議[10]。在此設(shè)計(jì)中,使用了自己定制的通信協(xié)議。
下位機(jī)接收上位機(jī)下傳數(shù)據(jù)和下位機(jī)發(fā)送上位機(jī)接收數(shù)據(jù)兩個(gè)過程使用了相同的數(shù)據(jù)封裝方式,其對(duì)數(shù)據(jù)的解析方法也一樣,所以在這一章中,只從下位機(jī)這一方面分析數(shù)據(jù)的傳輸過程。數(shù)據(jù)幀的封裝格式根據(jù)指令的不同分為讀數(shù)據(jù)幀和寫數(shù)據(jù)幀兩種,兩種數(shù)據(jù)幀的字節(jié)長度都是固定的。根據(jù)設(shè)計(jì)需要,讀數(shù)據(jù)幀和寫數(shù)據(jù)幀分別由18個(gè)和6個(gè)字節(jié)構(gòu)成。讀數(shù)據(jù)幀起始符是0xE0,數(shù)據(jù)部分的16個(gè)字節(jié)平均分成4塊,每一塊分別表示的是P、I、D參數(shù)值和設(shè)定位移量;寫數(shù)據(jù)幀起始符是0xF0,數(shù)據(jù)部分4個(gè)字節(jié)表示實(shí)際位移量,兩者的結(jié)束符都為0x0D。其封裝格式分別如圖9和10所示。
圖9 讀數(shù)據(jù)幀
圖10 寫數(shù)據(jù)幀
數(shù)據(jù)接收過程如圖11所示。當(dāng)有數(shù)據(jù)接收就會(huì)觸發(fā)USART1接收中斷,USART1_DR寄存器接收上位機(jī)下傳數(shù)據(jù),如果數(shù)據(jù)中出現(xiàn)0xE0,依次讀取0xE0后17個(gè)字節(jié)的數(shù)據(jù)并存入數(shù)組,判斷數(shù)組中第17個(gè)元素是0x0D,計(jì)數(shù)器清零,將中間16個(gè)字節(jié)分別還原成P、I、D、設(shè)定位移參數(shù)值。
圖11 數(shù)據(jù)接收流程圖
測試機(jī)床在PID控制下的動(dòng)態(tài)特性,調(diào)節(jié)PID控制參數(shù),在同一組參數(shù)下,改變輸入正弦信號(hào)頻率,驗(yàn)證運(yùn)動(dòng)平臺(tái)的跟隨效果。圖12和圖13分別為0.5 Hz和1.0 Hz下的跟隨曲線。曲線1是輸入正弦信號(hào),曲線2是運(yùn)動(dòng)平臺(tái)的跟隨曲線。
圖12 0.5 Hz正弦曲線
圖13 1.0 Hz正弦曲線
從圖12和圖13可以看出:曲線1和曲線2的重合度較高,控制系統(tǒng)的跟隨效果較好。同時(shí),圖12中曲線1和曲線2重合程度要比圖13的高,并且曲線2要光滑得多。所以可以看出:隨著正弦曲線頻率的增大,平臺(tái)跟隨特性變差。
基于LabVIEW和STM32的精密機(jī)床控制系統(tǒng),達(dá)到了控制精度,具有較高的響應(yīng)速度。LabVIEW集成生成可執(zhí)行文件的程序,最后的可執(zhí)行文件可以在沒有安裝LabVIEW的計(jì)算機(jī)上使用,系統(tǒng)設(shè)計(jì)方案可以推廣到精密機(jī)床加工行業(yè)。
[1]袁哲俊,王先逵.精密和超精密加工技術(shù)[M].北京:機(jī)械工業(yè)出版社,1999:10-102.
[2]馮曉梅,張大衛(wèi),趙興玉.基于音圈電機(jī)的新型高速精密定位系統(tǒng)設(shè)計(jì)方法[J].中國機(jī)械工程,2005,16(16):1415-1416.
[3]何學(xué)明,陳學(xué)東,曾理湛.超精密氣浮平臺(tái)的定位精度分析[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2008,36(3):8-11.
[4]陳學(xué)東.超精密氣浮定位工作臺(tái)技術(shù):氣浮系統(tǒng)動(dòng)力學(xué)與控制[M].武漢:華中科技大學(xué)出社,2008:10-102.
[5]母亞敏,李治,柏荷.基于LabVIEW和FPGA的LCR測試儀設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2013,39(11):92 -95.
[6]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2001:10-26.
[7]耿朝,崔建昆.基于LabVIEW的齒輪泵振動(dòng)采集分析系統(tǒng)設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2013,36(1):26 -29.
[8]蒙博宇.STM32自學(xué)筆記[M].北京:北京航空航天出版社,2012:52-76.
[9]胡壽松.自動(dòng)控制原理[M].5版.北京:科學(xué)出版社,2007:32-53.
[10]王麗,雷秀,余建國.基于PC機(jī)與單片機(jī)AT89C52的串行通信協(xié)議設(shè)計(jì)[J].機(jī)電工程技術(shù),2006,35(2):19-22.