沈小其,何 勇
(東華大學 機械工程學院,上海 201600)
劍桿織機是應用數量最多的無梭織機之一,隨著電子和機電一體化技術在織造機械上的應用日益成熟,劍桿織機不斷地朝著高速、高效、智能、節(jié)能和模塊化的方向發(fā)展[1]。國內劍桿織機由于起步較晚,在最高設計轉速上國內劍桿織機雖已經接近國外產品,但從穩(wěn)定性和品種適應能力上,與國外高端劍桿織機仍有不小的差距,在智能化、集成化和可靠性上,國內劍桿織機發(fā)展水平還落后于國外先進技術水平[2]。針對國內劍桿織機發(fā)展的不足以及高端劍桿織機的發(fā)展需求,設計了以STM32F439為核心,結合FreeRTOS實時操作系統(tǒng)的劍桿織機主控系統(tǒng)。
劍桿織機控制系統(tǒng)主要由主控系統(tǒng)及其外圍模塊組成,外圍模塊包括送經卷取系統(tǒng)、電子多臂、選緯器、儲緯器等,整體框架如圖1所示[3]。從五大運動控制的角度分析,電子多臂驅動綜框控制開口運動;送經卷取系統(tǒng)通過伺服電機驅動經軸控制送經運動,驅動卷取輥控制卷取運動;主軸電機通過凸輪機構帶動引緯劍桿和鋼筘,實現(xiàn)引緯運動和打緯運動。主控系統(tǒng)通過識別主軸實時角度,以主軸角度為時序基礎,協(xié)調控制外圍模塊,實現(xiàn)五大運動的控制。此外,主控系統(tǒng)還具有人機界面交互、信號輸入檢測等功能,通過對探經信號、探緯信號的識別觸發(fā)經停、緯停,與人機界面通信顯示織機狀態(tài)或報警信息。人機界面主要功能為工藝參數設定和織機狀態(tài)顯示,人機界面采用工業(yè)觸摸屏方案,使用組態(tài)軟件進行界面設計。
圖1 劍桿織機控制系統(tǒng)整體結構
劍桿織機控制系統(tǒng)輸入輸出信號繁多,且對實時性要求較高,因此主控系統(tǒng)芯片選擇高性能的STM32F439系列芯片,最高頻率可達180MHz,計算能力強大,擁有16個高級定時器,可用于實現(xiàn)主軸電機PWM的精確控制;片上集成2個CAN控制器,可用于電子多臂和送經卷取系統(tǒng)的通信;140個通用I/O接口,滿足各路信號采集和控制信號輸出的引腳數量需求。STM32F439芯片片上資源十分豐富,滿足劍桿織機控制系統(tǒng)的設計需求。主控系統(tǒng)的硬件結構框圖如圖2所示。
圖2 主控系統(tǒng)硬件結構框圖
為解決控制系統(tǒng)各部分對電源電壓需求不同的問題,設計了電源模塊。系統(tǒng)需要的電壓有STM32F439、SRAM擴展芯片和FLASH擴展芯片的3.3V供電以及RS232、RS485、CAN通信和USB需要的5V供電,因此系統(tǒng)從制動電路引入降壓后的24V電源,再通過LM117-5.0和LM1117-3.3穩(wěn)壓芯片為主控模塊提供5V電源和3.3V電源。
利用STM32F439的靈活存儲控制器(Flexible memory controller,簡稱FMC),可以快速解決片上存儲資源不足的存儲擴展問題。由于存儲花型和掉電現(xiàn)場保護存儲數據需要大量ROM空間,因此通過FMC擴展8M的FLASH,具體型號為EN29GL128H??刂葡到y(tǒng)移植FreeRTOS操作系統(tǒng),實時操作系統(tǒng)下每個任務需要分配堆棧,占用大量RAM空間,片上集成的512K內存可能出現(xiàn)內存不足的情況,因此通過FMC擴展8M的SRAM,具體型號為IS62WV51216,其讀寫時間是10ns,完全滿足劍桿織機控制系統(tǒng)的設計需求。
劍桿織機主控系統(tǒng)與人機界面通過USART接口進行通信,由于人機界面的通信接口為RS232標準,因此需要設計電平轉換電路,通過MAX232芯片將RS232電平轉化為TTL電平,硬件原理如圖3所示。
圖3 RS232通訊電路
CAN通信采用高速型的TJA1050芯片,理論通信速度可達到1Mbps,為提高通信系統(tǒng)的抗干擾能力,在與主控芯片的接口電路上設計了光電隔離電路,為符合通信速率的要求,選用了高頻響應的TLP115光耦芯片。
為了縮短軟件開發(fā)周期,實現(xiàn)對控制系統(tǒng)軟件的模塊化設計,結合劍桿織機控制系統(tǒng)輸入輸出信號數量有限且始終工作在有限個狀態(tài)之間的特點,因此利用有限狀態(tài)機(Finite State Machine,簡稱FSM)原理對劍桿織機控制系統(tǒng)建模,完成劍桿織機控制系統(tǒng)軟件模塊化設計的規(guī)劃[4]。
FSM模型通常使用狀態(tài)圖轉移來表示狀態(tài)之間的轉移關系和動作行為的觸發(fā)條件,橢圓節(jié)點表示系統(tǒng)的不同狀態(tài),狀態(tài)轉移關系用帶箭頭的弧線表示,弧線上附加狀態(tài)轉移的條件,劍桿織機控制系統(tǒng)的狀態(tài)轉移圖如圖4所示。
圖4 劍桿織機狀態(tài)轉移圖
FSM模型根據是否使用輸入信號分為Morre型和Mealy型兩種[5],Morre型FSM的輸出只與當前狀態(tài)有關,而Mealy型FSM的輸出不僅與當前狀態(tài)有關,而且與所有輸入信號有關。劍桿織機控制系統(tǒng)將按鈕輸入信號、編碼器、張力傳感器等反饋信號和工藝參數等通過劍桿織機控制系統(tǒng)的控制算法的計算,輸出對送經卷取、電子多臂、選緯探緯、電子剪刀等模塊的控制命令,使織機完成特定的織造動作,如快速織造,正找緯、反找緯、急停,復位等動作。因此,劍桿織機控制系統(tǒng)對應的FSM模型為Mealy型。
Mealy型FSM模型可用以下關系式表示:
式中:
S—為狀態(tài)有限集合,S={s0,s1,s2,...sn};
s0—為系統(tǒng)初始狀態(tài);
Σ—表示所有輸入的有限集合;
∧—表示所有輸出的有限集合;
T—表示狀態(tài)轉移函數;
G—表示動作輸出函數;
將劍桿織機控制系統(tǒng)軟件設計模塊與有限狀態(tài)機模型要素一一對應,得到劍桿織機控制系統(tǒng)軟件模塊劃分結果如表1所示。
表1 劍桿織機軟件模塊與FSM模型要素映射表
程序設計中,利用RUN值表示劍桿織機的當前狀態(tài),通過對RUN值的賦值實現(xiàn)劍桿織機狀態(tài)的切換。信號輸入采集模塊定時采集所有劍桿織機控制有關的輸入信號??刂坪瘮的K是實現(xiàn)劍桿織機控制的硬件底層操作,是包括CAN通信操作、Modbus通信操作、I/O口操作的輸出控制集合。狀態(tài)轉移模塊是根據輸入信號改變RUN值、實現(xiàn)狀態(tài)切換的函數??椩炜刂颇K是根據當前狀態(tài)和輸入條件,調用控制函數模塊輸出具體控制命令的功能模塊,包括快速織造控制程序、慢車控制程序、正找緯控制程序、反找緯控制程序和停車控制程序等。劍桿織機主控系統(tǒng)軟件如圖5所示。
圖5 劍桿織機主控系統(tǒng)軟件流程圖
為了提高劍桿織機控制系統(tǒng)的實時性和可靠性,為劍桿織機控制系統(tǒng)移植了FreeRTOS實時操作系統(tǒng)。FreeRTOS操作系統(tǒng)內核提供的功能包括任務管理、時間管理、信號量、消息隊列、內存管理和記錄功能等,能高效分配CPU使用權限,提高系統(tǒng)實時響應能力[6]??刂葡到y(tǒng)軟件在FreeRTOS實時操作系統(tǒng)上實現(xiàn)的主要工作包括任務優(yōu)先級的設定和任務通信方案設計。
任務調度是實時操作系統(tǒng)的主要功能,對于可剝奪型內核的FreeRTOS而言,任務優(yōu)先級是實現(xiàn)任務調度的基礎,F(xiàn)reeRTOS操作系統(tǒng)中優(yōu)先級值越大,優(yōu)先級越高。任務優(yōu)先級的分配遵循實時性要求越高,任務優(yōu)先越高的原則,織造過程控制模塊的實時性要求較高,因此優(yōu)先級分配為80。其次優(yōu)先級分配還應遵循信號輸入采集任務比邏輯處理任務的優(yōu)先級高的原則,因此信號輸入模塊優(yōu)先級高于狀態(tài)遷移模塊,分別為75和70。對于實時性要求不高的循環(huán)任務,則分配較低的優(yōu)先級。
任務通信是多任務實時系統(tǒng)重要組成部分,任務通信可以實現(xiàn)讓一個任務控制另一個任務、在任務間傳遞信息或數據以及實現(xiàn)任務同步等功能。任務間通信的方式主要有全局變量、共享內存、信號量、郵箱、消息隊列等[7]。劍桿織機控制系統(tǒng)設計中最主要的任務通信方式是信號量,以中斷與任務同步為例,說明二值信號量在劍桿織機控制系統(tǒng)中的應用。
中斷服務的設計應遵循快進快出的原則,因此劍桿織機控制系統(tǒng)采用中斷與任務通過信號量同步的方案實現(xiàn)快進快出。如圖6所示,當未滿足執(zhí)行條件時,二值信號量無效,處理任務進入阻塞態(tài),不被執(zhí)行。當滿足條件時,進入中斷服務程序,釋放信號量,快速退出中斷服務程序,處理任務執(zhí)行xSemaphoreTake()函數的返回值為pdTure,任務從阻塞態(tài)進入就緒態(tài),被FreeRTOS任務調度器調用,執(zhí)行任務后續(xù)操作,實現(xiàn)任務同步。
圖6 中斷與任務同步
為驗證高速運轉狀態(tài)下主軸角度捕獲的完整性,將阻塞態(tài)設定一個最大阻塞時間,在快速織造過程中,若處理任務在阻塞態(tài)超過最大阻塞時間,說明至少有一個周期沒有捕獲到該處理任務對應的主軸角度,控制系統(tǒng)處于錯誤的運行位置,處理任務執(zhí)行xSemaphoreTake()函數的返回值為pdFalse,從而停車報警。因此運用FreeRTOS阻塞超時機制可以有效地監(jiān)控主軸角度捕獲的完整性,從而提高系統(tǒng)可靠性。
工業(yè)觸摸屏在劍桿織機控制系統(tǒng)中有系統(tǒng)調試、參數配置、狀態(tài)監(jiān)視、系統(tǒng)報警等功能,是劍桿織機控制系統(tǒng)的重要組成部分。工業(yè)觸摸屏主要有西門子觸摸屏和威綸通觸摸屏兩種[8],西門子觸摸屏價格相對較高,開發(fā)軟件功能完善但上手難度更大。威綸通觸摸屏性價比高,開發(fā)環(huán)境Easy Builder Pro具有容易上手,界面親和,元件豐富的特點,更適合劍桿織機控制系統(tǒng)實的研發(fā)和設計需求。本文的人機界面采用威綸通TK6071IQ,人機界面設計框圖結構如圖7所示。
圖7 界面設計框圖
為測試控制系統(tǒng)的實際性能,搭建了如圖8所示的仿真實驗平臺,以直流電機模擬主軸轉動,通過絕對編碼器建立閉環(huán)控制。人機界面通過RS232與主控系統(tǒng)通信,主控系統(tǒng)通過J-link與上位機通信,方便在線調試。
圖8 控制系統(tǒng)測試平臺
實時性是控制系統(tǒng)一個非常重要的參數,時間參數的測量方法根據測量原理的不同可分為硬件測量和軟件測量兩種,軟件測量可以通過系統(tǒng)調用讀取系統(tǒng)時鐘實現(xiàn)測量,其測量結果由于系統(tǒng)無法提供足夠精度的時鐘節(jié)拍而存在一定的誤差。硬件測量主要通過示波器捕獲系統(tǒng)管腳輸入輸出的變化,從而計算時間參數,其結果較為精確[9]。為測試控制系統(tǒng)的實時性,針對任務切換時間和CAN通信響應時間兩個關鍵時間參數設計了基于硬件測量的測試方法,并進行了實際測試。
任務切換時間指操作系統(tǒng)從滿足任務切換條件開始到完全完成任務切換所用的時間。測試結果如圖9(a)所示,任務切換的響應時間約為2.560us。
圖9 實時性響應測試結果
CAN通信響應時間指從發(fā)起CAN通信開始到進入中斷,完成任務切換進入CAN通信程序這段時間。測試結果如圖9(b)所示,響應時間約為3.250us。通過測試得出,控制系統(tǒng)實時性高,滿足高速劍桿織機控制系統(tǒng)的工作需求。
人機交互界面是控制系統(tǒng)的重要組成部分之一,為驗證控制系統(tǒng)主控與人機交互界面的通信是否正常,對人機交互界面部分功能進行了測試,測試結果如圖10所示,人機界面能正確讀取主控系統(tǒng)數據并顯示。
圖10 人機交互通信測試結果
劍桿織機控制系統(tǒng)的主要功能是控制各個模塊有序配合進行快速制造,為驗證控制系統(tǒng)的功能是否正常,通過串口通信連接PC端口,在各個控制節(jié)點設置檢測節(jié)點,通過串口通信將運行結果發(fā)送到PC端,在轉速700r/min的情況下得到測試結果如圖11所示。
圖11 快速織造功能測試
對照劍桿織機織造動作時序表,可以得出控制系統(tǒng)控制信號輸出正常,中途不曾發(fā)生由于信號阻塞造成超時的情況,說明主軸角度捕獲完整,控制系統(tǒng)運行穩(wěn)定、可靠。
本文針對國內現(xiàn)階段高端劍桿織機的不足,設計了基于ARM和FreeRTOS的劍桿織機主控系統(tǒng)。采用STM32F439為核心,結合FreeRTOS實時操作系統(tǒng)的方案,能夠有效提高劍桿織機控制系統(tǒng)的實時性和可靠性。在系統(tǒng)測試階段表明,系統(tǒng)的實時響應性良好,在700r/min的高速運轉環(huán)境下,系統(tǒng)沒有出現(xiàn)主軸角度捕獲遺漏的情況,能穩(wěn)定、高效地完成劍桿織機的織造任務。