朱 哲,徐巧玉,王軍委,張 正
(1.河南科技大學 機電工程學院,河南 洛陽 471003;2.洛陽銀杏科技有限公司,河南 洛陽 471003)
液晶蓋板檢測系統通過運動控制單元控制執行機構,完成對液晶蓋板抓取和檢測平臺位姿調整,實現液晶蓋板的檢測工作。由于運動控制單元的實時性和可靠性受到系統架構、電路設計等因素的影響,導致液晶蓋板檢測系統檢測的速度和精度較低,因此亟需對其運動控制單元進行研究。
目前,根據控制核心不同,國內外對運動控制單元的研究有3類[1-4],由于基于嵌入式的運動控制具有使用靈活、可靠性高和可移植性強等優點,已成為主要的研究方向。文獻[5-11]設計了基于STM32+數字信號處理器(digital signal processor,DSP)作為主控制器,現場可編程邏輯門陣列(field programmable gate array,FPGA)作為從處理器的運動控制器,有效實現了多路電機的同步控制,但采用串行處理的方式易影響其異步控制精度。文獻[12-13]提出基于RT-Thread嵌入式實時系統,采用STM32系列微控制器,利用嵌入式操作系統實時性的特點,采用定時器中斷的方式輸出脈沖驅動電機,該方案能很好地實現多路電機的實時協調控制。文獻[14-16]以高級精簡指令微處理器(advanced RISC machine,ARM)為主處理器、FPGA為從處理器,利用μC/OS-II作為操作系統的設計方案實現多軸運動控制,但是其硬件設計不適用于液晶蓋板檢測系統中。
針對上述運動控制器實時性、可靠性差等問題,為實現液晶蓋板檢測系統的多軸運動控制,本文設計了一種液晶蓋板檢測系統的多軸運動控制器。本文的運動控制器采用ARM+FPGA的雙中央處理器(central processing unit,CPU)架構,在ARM上搭建RT-Thread環境,完成以太網數據通信、指令處理、狀態監控和速度規劃等功能。對功能劃分為線程,由線程優先級搶占調度實現實時控制,FPGA負責輸出脈沖、狀態反饋和采樣處理等工作。運動控制器采用修正梯形加減速算法進行速度規劃,保證了執行機構運行的平穩性;同時,硬件電路采用集成化、模塊化的設計,保證運行的可靠性。運動控制器利用ARM多線程處理和FPGA并行處理的優勢,實現對4個執行機構的實時和可靠控制。
為了實現液晶蓋板檢測系統對多路執行機構實時和可靠的控制,本文采用ARM+FPGA的架構搭載RT-Thread實時操作系統,進行了運動控制器設計,系統總體方案框圖如圖1所示,主要包括:以太網單元、主控單元、從控單元和接口驅動單元。

圖1 系統總體方案框圖
以太網單元:采用百兆網卡實現運動控制器與上位機通信,用于上位機對執行機構的控制數據的傳輸。
主控單元:ARM作為主控單元,采用STM32H750芯片,主要負責對上位機指令處理、數據計算,并控制FPGA程序運行;基于修正梯形加減速算法進行速度規劃,針對液晶蓋板檢測控制參數進行修正,控制執行機構平穩運行。
接口驅動單元:通過硬件電路實現控制單元和執行機構之間的過渡連接,用于驅動控制信號,并實現控制單元與執行機構之間的電氣隔離。
工作流程:本運動控制器由上位機控制,STM32通過以太網單元接收上位機控制指令,從中提取軸號、速度、位置和轉向等控制參數。STM32基于修正梯形加減速控制算法規劃出脈沖運行的控制量,通過通信接口發送到FPGA。FPGA根據STM32的控制參數運行程序,產生的控制信號經接口驅動電路輸出給執行機構;同時STM32讀取FPGA的運行狀態值,實現對執行機構運行的監控,在上位機的監控指令下反饋執行機構運行信息。
根據運動控制所要實現的功能進行模塊、集成設計,硬件設計框圖如圖2所示,主要包括以太網通信模塊、STM32與FPGA的通信模塊、接口驅動模塊。

圖2 硬件設計框圖
以太網PHY芯片采用SMSC公司的LAN8720A,其內置10-BASE-T/100BASE-TX全雙工傳輸模式,通過精簡介質獨立接口(reduced media independent interface,RMII)連接STM32的局域網(local area network,LAN)總線,以太網通信模塊結構圖如圖3所示。運動控制器作為傳輸控制協議(transmission control protocol,TCP)客戶端,個人計算機(personal computer,PC)作為服務器,實現數據的傳輸。

圖3 以太網通信模塊結構圖
STM32與FPGA通信模塊通過高速串行外設接口(serial peripheral inteface,SPI)總線實現,SPI時鐘由STM32鎖相環將外部25 MHz晶振倍頻至130 MHz提供,保證了STM32與FPGA通信的可靠性。通過配合一個輸入/輸出(input/output,I/O)作為中斷信號引腳,實現數據通信。STM32與FPGA通信接口如圖4所示。

圖4 STM32與FPGA通信接口
(Ⅰ)差分驅動電路。在差分驅動電路設計中,由FPGA產生的脈沖、方向信號通過CA-IS3760數字隔離芯片后傳輸給AM26C31,由AM26C31將單端信號轉為差分信號,輸入給伺服驅動器。
(Ⅱ)光耦隔離電路。在實現原點和限位開關等輸入信號的硬件設計中,采用雙向整流輸入的模式,經過TLP290-4雙向光電耦合器輸入到FPGA中,可適應不同型號的開關。
為控制與收集垃圾堆體內部降解產生的滲瀝液與填埋氣,在獨立的垃圾堆體單元內部設置導氣集液井,將垃圾堆體內部的滲瀝液與填埋氣收集,并統一進行處置[7],最終消除垃圾堆體對周圍環境的污染隱患。
(Ⅲ)差分接收電路。編碼器產生3路(A+/A-、B+/B-和Z+/Z-)差分信號,經AM26C32將每組差分信號轉為單端信號后輸入到FPGA中,可監控執行機構位置和速度的運行狀態。
軟件設計由兩大模塊組成:嵌入式實時操作系統軟件設計模塊和運動控制軟件設計模塊。
RT-Thread操作系統的搭建:首先,根據意法半導體STM32CubeMX初始化代碼生成器制作板級支持包(board support package,BSP)工程,通過Env工具對RT-Thread進行菜單配置,再由Python腳本SCons工具完成RT-Thread操作系統的移植,搭建流程如圖5所示。

圖5 RT-Thread操作系統搭建流程
線程功能劃分:在RT-Thread環境中以線程的方式實現任務,因此對線程的劃分及優先級的分配是實現運動控制器實時控制的關鍵,優先級的數值越小,其邏輯優先級越高,線程功能及優先級說明見表1。

表1 線程功能及優先級說明
液晶蓋板檢測系統運行控制由STM32與FPGA作為控制單元控制執行機構,因此運動控制軟件設計模塊主要包括控制程序設計模塊和速度規劃模塊。
3.2.1 控制程序設計模塊
程序流程:STM32通過識別上位機控制指令,根據修正加減速算法進行速度規劃,由FPGA產生脈沖和方向信號。運行過程中由FPGA發起中斷請求,STM32響應后將脈沖控制參數通過SPI總線依次發送給FPGA。運動控制器輸出的脈沖頻率實現軸的速度控制,脈沖個數實現軸的位置控制,方向信號實現軸正反轉的控制。程序流程圖如圖6所示。

圖6 程序流程圖
控制指令處理:為保證控制的有效性,對STM32與FPGA的一幀控制數據進行設計,控制指令說明如表2所示。

表2 控制指令說明
FPGA運行脈沖邏輯:FPGA通過讀寫脈沖參數輸出脈沖,因此FPGA為每個軸例化4個單口RAM存儲區,作為緩存、讀取離散后的脈沖參數。每個RAM塊可以儲存128個寬度為16 bit的數據,其中RAM_V1、RAM_V2儲存脈沖頻率,RAM_P1、RAM_P2儲存脈沖個數。FPGA讀寫RAM塊結構圖如圖7所示,讀寫操作以組進行,在讀取一組數據過程中,FPGA發出中斷信號,請求STM32發送另外一組的數據。運動控制器通過獨立訪問每個軸相對應的RAM塊進行循環讀寫的方式,保證了4路脈沖輸出的有效性。

圖7 FPGA讀寫RAM塊結構圖
3.2.2 速度規劃模塊
由于液晶蓋板檢測系統抓取軸存在移動距離長、速度快的特點,所產生的振動是整個系統振動的主要來源,所以針對此過程進行速度規劃控制,實現運行的平穩。同時為減少抓取時間損耗和平穩運行,對整個運行操作進行調整:氣動吸盤從P0處抓取液晶蓋板后上升至H/2高度P1后,執行機構開始水平運行;當經P2位置達到P3位置后,氣動吸盤開始向下放置液晶蓋板;當液晶蓋板達到P4處,執行機構水平運行停止,氣動吸盤將液晶蓋板放置于P5點,執行機構以同樣的方式從P5點到達P0點完成回程工作,從而避免了在轉角處的振動和沖擊。液晶蓋板抓取軌跡路徑如圖8所示。

圖8 液晶蓋板抓取軌跡路徑
目前常用的速度規劃算法有梯形曲線控制算法和S形曲線控制算法,由于梯形曲線控制算法具有計算量小、實現簡單等特點而廣泛應用,但存在速度不平滑、加速度不連續等缺點;S形曲線控制算法具有很好的速度和加速度的連續性,但其計算量大,實現過程復雜[17-21]。針對以上問題,為了實現運動控制的平穩性,文本采用修正梯形加減速算法進行速度規劃,運行位移曲線、速度曲線和加速度曲線如圖9所示。

(a) 位移曲線
圖9中,0~t1為加加速段、t1~t2為勻加速段、t2~t3為減加速段、t3~t4為勻速段、t4~t5為加減速段、t5~t6為勻減速段、t6~t7為減減速段,amax為最大加速度,Vmax為最大速度。由圖9所知:實現了運行曲線速度平滑、加速度連續、計算量小和容易實現的效果。通過公式推導,加減速過程中時間關于加速度、速度、位移表達式分別如式(1)、式(2)和式(3)所示:
(1)
(2)
S(t)=
(3)
其中:a為加速度,pulse·ms-2;amax為最大加速度,pulse·ms-2;v為速度,pulse·ms-1;S為位移,pulse;t為時間,ms;T為整個運行時間,ms;nT為加加速段、減加速段、加減速段和減減速段的時間,ms;n為修正系數;T0為勻加速段和勻減速段的時間,ms;T1為勻速段的時間,ms。
在速度規劃過程中,如果對給定參數進行修正后,實際控制總位移s小于修正后位移s時,則設定修正系數n=0.25,T0=0,T1=0。
為驗證運動控制器性能,首先通過MATLAB軟件運行加減速控制算法,驗證脈沖運行的平穩性,再搭建液晶蓋板檢測平臺進行運動控制器實際控制實驗。液晶蓋板檢測運動控制器硬件平臺如圖10所示。由上位機根據檢測系統規劃運動控制指令后,通過以太網總線將4路執行機構位置和速度的要求傳給運動控制器,由運動控制器輸出脈沖信號控制4路執行機構同時運行。經過實驗,該運動控制器的數據通信、執行機構控制等功能得到了充分驗證。
運動控制器平穩運行測試主要通過在MATLAB軟件中運行速度規劃算法控制程序,輸出脈沖各階段的運行參數,通過曲線擬合后與速度規劃算法曲線相對比,從而驗證運動控制器的平穩性。在速度規劃算法中,寫入第1組測試數據:位移s=10 000 pulse,速度v=200 pulse·ms-1,加速度a=25 pulse·ms-2,修正系數n=0.125;寫入第2組測試數據:位移s=1 000 pulse,速度v=100 pulse·ms-1,加速度a=25 pulse·ms-2,修正系數n=0.05,MATLAB軟件運行曲線如圖11所示。

圖10 液晶蓋板檢測運動控制器硬件平臺

(a) 第1組測試數據加速度曲線 (b) 第2組測試數據加速度曲線
由圖11a和圖11b可知:第1組測試中加速度曲線分5段運行,amax=23.747 6 pulse·ms-2; 第2組測試中加速度曲線分7段運行,amax=25 pulse·ms-2。測試曲線符合修正梯形加減速規劃算法,加速度曲線運行連續,從而實現脈沖平穩運行的效果。
運動控制器實時性、可靠性實驗以控制4路臺達ASDA-A2系列伺服驅動器和伺服電機組成的執行機構作為實驗對象,脈沖當量為1 000 pulse·mm-1。實驗過程中,由上位機發送各軸控制參數,運動控制器控制執行機構運行,同時由臺達監測軟件得到實際運行位移,將兩者差值進行對比,實驗測試結果如表3所示。

表3 運動控制器實驗記錄表
由表3可知:運動控制器實際控制誤差λ為±0.129 mm,滿足實際應用誤差。
本文設計了液晶蓋板檢測系統的多軸運動控制器。采用ARM+FPGA的雙CPU架構,在ARM上搭建RT-Thread環境,通過百兆以太網接口與PC通信,完成對4路執行機構的實時控制;該運動控制器通過修正梯形加減速算法進行速度規劃,使運行具有良好的平穩性。該運動控制器應用于4軸液晶蓋板檢測系統,實現位置控制誤差為±0.129 mm,初步驗證了該控制器的控制實時、可靠,滿足對液晶蓋板檢測系統運動控制的需求。