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