劉 輝,李慧敏
(東華大學(xué) 機(jī)械工程學(xué)院,上海 201620)
轉(zhuǎn)子不平衡是指轉(zhuǎn)子質(zhì)心和幾何中心線不重合所導(dǎo)致的一種故障狀態(tài),全自動平衡機(jī)通過在轉(zhuǎn)子的特定位置做加重或去重操作,使得轉(zhuǎn)子質(zhì)心盡可能與旋轉(zhuǎn)軸重合,從而減少轉(zhuǎn)子不平衡量。目前,市售全自動平衡機(jī)主要采用 “PLC+觸摸屏+若干單片機(jī)”架構(gòu)[1],這種架構(gòu)的全自動平衡機(jī)以PLC作為主控器,若干單片機(jī)進(jìn)行測控去重,PLC和單片機(jī)通過485總線相互通訊協(xié)調(diào),但對于平衡過程中的產(chǎn)生的轉(zhuǎn)子不平衡量等相關(guān)信息并未進(jìn)行數(shù)據(jù)存儲和分析。為了適應(yīng)生產(chǎn)管理和控制的需要,將全自動平衡機(jī)與企業(yè)管理網(wǎng)絡(luò)連接來實現(xiàn)工廠管理遠(yuǎn)程監(jiān)控的需求日漸顯現(xiàn)[2];隨著物聯(lián)網(wǎng)、無線通訊和大數(shù)據(jù)等技術(shù)的發(fā)展,利用無線技術(shù)實時地將平衡機(jī)工作中的相關(guān)數(shù)據(jù)上傳至公司指定服務(wù)器從而進(jìn)行大數(shù)據(jù)分析,也是未來全自動平衡機(jī)的發(fā)展趨勢。
在此,在現(xiàn)有四工位全自動平衡機(jī)的架構(gòu)基礎(chǔ)上搭建實驗平臺,使用GPRS模塊并設(shè)計了一種智能型四工位全自動平衡機(jī)的主控系統(tǒng)。該系統(tǒng)目前處于在研階段。
文中所設(shè)計的主控系統(tǒng)基于四工位平衡機(jī),這4個工位分別為待機(jī)工位、初測工位、去重工位和復(fù)測工位。其中,待機(jī)工位負(fù)責(zé)轉(zhuǎn)子的抓??;初測和復(fù)測工位是獨(dú)立的單片機(jī)系統(tǒng),負(fù)責(zé)不平衡量的測量;去重工位根據(jù)初測工位測得的結(jié)果進(jìn)行去重。該四工位平衡機(jī)為 “主控器+若干單片機(jī)系統(tǒng)+GPRS模塊”架構(gòu),主控系統(tǒng)主要負(fù)責(zé)業(yè)務(wù)邏輯處理以及調(diào)度多個單片機(jī)進(jìn)行多機(jī)通訊。系統(tǒng)的總體設(shè)計原理如圖1。
圖1 系統(tǒng)總體設(shè)計原理Fig.1 System overall design schematic
STM32作為整個系統(tǒng)的主控器,負(fù)責(zé)協(xié)調(diào)和控制各個模塊。觸摸屏用于人機(jī)交互,可以查看當(dāng)前系統(tǒng)的運(yùn)行狀態(tài),也可以修改系統(tǒng)參數(shù),STM32通過FSMC(靈活靜態(tài)存儲控制器)接口進(jìn)行控制。蜂鳴器用于現(xiàn)場報警,當(dāng)平衡機(jī)去重效果不佳或系統(tǒng)運(yùn)行異常時報警提醒現(xiàn)場人員及時處理。無線傳輸模塊使用SIM800A,負(fù)責(zé)上傳數(shù)據(jù)至服務(wù)器和發(fā)送報警短信[3],STM32通過AT指令控制。系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D如圖2所示。
圖2 系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱DFig.2 System network topology
圖中,主控器通過TCP與服務(wù)器建立連接,將平衡結(jié)束轉(zhuǎn)子的相關(guān)數(shù)據(jù)上傳至服務(wù)器。平衡機(jī)故障時系統(tǒng)發(fā)送短信給用戶,用戶可通過固定格式的短信對平衡機(jī)的參數(shù)進(jìn)行設(shè)置,故障也會上傳至服務(wù)器,用戶也可通過上位機(jī)給系統(tǒng)發(fā)送數(shù)據(jù)包來進(jìn)行控制,現(xiàn)場操作人員也可以通過觸摸屏來對平衡機(jī)進(jìn)行操作。
文中所搭建四工位全自動平衡機(jī)的硬件平臺以模擬平衡機(jī)的工作過程,主要采用“STM32+觸摸屏+8052從機(jī)+GPRS模塊”結(jié)構(gòu)進(jìn)行設(shè)計。
主控器選用STM32F103ZET6負(fù)責(zé)系統(tǒng)的調(diào)度和數(shù)據(jù)處理;初測工位和復(fù)測工位選用AT89C52作為其控制器。AT89C52內(nèi)含8 kB Flash和256 B RAM,兼容MCS-51指令系統(tǒng),在電子行業(yè)有著廣泛應(yīng)用;能夠滿足本系統(tǒng)對于初測工位和復(fù)測工位的性能需求。
主控器STM32與初測單片機(jī)和復(fù)測單片機(jī)進(jìn)行數(shù)據(jù)交換,這涉及到一主多從的通訊問題,在此選用RS-485總線連接。STM32和AT89C52單片機(jī)的通訊方式為基于TTL的全雙工,文中將其改為RS485的半雙工方式,主控器STM32和從機(jī)AT89C52均采用美信公司的MAX485芯片[4]。多機(jī)通訊電路原理如圖3所示。
圖3 多機(jī)通訊原理Fig.3 Multi-machine communication schematic
將RE和DE引腳連接至1個I/O口,通過該I/O口控制其收發(fā),RX和TX為收發(fā)信道。其中120 Ω電阻為匹配電阻,其作用是使傳輸過程中電纜的阻抗連續(xù),保證RS-485總線的穩(wěn)定性。
由于系統(tǒng)需要定時將一些狀態(tài)信息和平衡轉(zhuǎn)子的信息上傳至服務(wù)器,因此無線傳輸模塊需要具有聯(lián)網(wǎng)功能。文中采用SIM800A物聯(lián)模塊實現(xiàn)無線傳輸功能,其硬件原理如圖4所示。SIM800A功能完善,適用于需要語音/短信/GPRS數(shù)據(jù)服務(wù)的各種領(lǐng)域,性能穩(wěn)定,外觀小巧,性價比高,能滿足多種需求,正越來越多地應(yīng)用于物聯(lián)網(wǎng)領(lǐng)域。它內(nèi)嵌TCP/IP協(xié)議,拓展的AT指令便于用戶進(jìn)行操作。STM32的串口3與SIM800A串口引腳相連,并給與5 V/1 A穩(wěn)定供電。
圖4 GPRS模塊引腳Fig.4 GPRS module pin
文中所設(shè)計的智能型四工位平衡機(jī)主控系統(tǒng),在Keil MDK ARM集成開發(fā)環(huán)境下采用C語言進(jìn)行開發(fā)。四工位平衡機(jī)的主控系統(tǒng)較為復(fù)雜,在此僅介紹其中關(guān)鍵的3個部分,即主程序設(shè)計、多機(jī)通訊協(xié)議設(shè)計、GPRS數(shù)據(jù)上傳設(shè)計。
由于本系統(tǒng)較為復(fù)雜,為提高系統(tǒng)的實時性,在程序中加入μC/OS-II實時操作系統(tǒng)。開源嵌入式系統(tǒng)μC/OS-II的優(yōu)勢是可裁剪、多任務(wù)、搶占式和實時性,適合嵌入式開發(fā)。主程序流程如圖5所示。先進(jìn)行時鐘配置并進(jìn)行硬件初始化,隨后調(diào)用μC/OS-II中的OSTaskCreate()函數(shù)創(chuàng)建起始任務(wù),在起始任務(wù)中分別創(chuàng)建主任務(wù)、系統(tǒng)監(jiān)控任務(wù)、數(shù)據(jù)上傳任務(wù)和看門狗任務(wù),分配各個任務(wù)優(yōu)先級和堆棧,最后掛起起始任務(wù),并啟動操作系統(tǒng)。
圖5 主程序流程Fig.5 Main program flow
主任務(wù)是整個系統(tǒng)的核心部分,主要功能有進(jìn)入監(jiān)控系統(tǒng),系統(tǒng)參數(shù)調(diào)整和平衡質(zhì)量管理;系統(tǒng)監(jiān)控任務(wù)實時監(jiān)控平衡機(jī)的狀態(tài)參數(shù)、GPRS連接狀態(tài)以及環(huán)境溫度。若GPRS斷開連接,則會掛起其它任務(wù)并重新連接,連接成功后恢復(fù)其它任務(wù);數(shù)據(jù)上傳任務(wù)負(fù)責(zé)將轉(zhuǎn)子平衡信息和系統(tǒng)狀態(tài)參數(shù)上傳至服務(wù)器;看門狗任務(wù)通過計數(shù)復(fù)位次數(shù)來評估系統(tǒng)穩(wěn)定性。
文中初測工位和復(fù)測工位均通過8052單片機(jī)系統(tǒng)來實現(xiàn),主要負(fù)責(zé)振動信號數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理及步進(jìn)電機(jī)的驅(qū)動工作。而作為主控器的STM32需要通過與其通訊來交換數(shù)據(jù)。本系統(tǒng)主機(jī)和從機(jī)之間發(fā)送數(shù)據(jù)種類較多,制定出明確而合理的通訊協(xié)議非常關(guān)鍵。原則上多機(jī)通訊時采用通用開放的Modbus協(xié)議來傳遞數(shù)據(jù),但考慮開發(fā)單片機(jī)的Modbus協(xié)議模塊的工作量較大,且協(xié)議執(zhí)行耗時長,故在參考了Modbus協(xié)議下,設(shè)計了基于RS485接口的多機(jī)自定義自由通訊協(xié)議,數(shù)據(jù)以數(shù)據(jù)幀的形式發(fā)送,數(shù)據(jù)幀定義見表1。其中,CRC16校驗用于驗證數(shù)據(jù)傳輸?shù)耐暾院蜏?zhǔn)確性。
多機(jī)通訊中主機(jī)和從機(jī)的流程如圖6所示。系統(tǒng)規(guī)定:主機(jī)STM32地址為0x01,初測工位單片機(jī)地址為0x02,復(fù)測工位單片機(jī)地址為0x03,轉(zhuǎn)向單片機(jī)地址為0x04。在系統(tǒng)中,只有主機(jī)(STM32)有主動發(fā)起數(shù)據(jù)傳輸請求的權(quán)利,每個從機(jī)都有對應(yīng)的地址,主機(jī)發(fā)起請求后,所有從機(jī)通過解析收到的數(shù)據(jù)包中的目標(biāo)地址判斷是否發(fā)給本機(jī),如果目標(biāo)地址是本機(jī)并且校驗碼無誤,則通過功能碼做出響應(yīng),否則忽略該數(shù)據(jù)包。
表1 多機(jī)通訊數(shù)據(jù)幀格式Tab.1 Multicomputer communication data frame format
圖6 主機(jī)和從機(jī)流程Fig.6 Host and slave flow chart
數(shù)據(jù)上傳流程如圖7所示。先檢測SIM卡是否就位,然后進(jìn)行SIM800A模塊短信服務(wù)初始化和GPRS通信初始化,通過發(fā)送AT指令A(yù)T+CIPSTART=“TCP”,“IP 地址”,“端口號”來建立與服務(wù)器之間的TCP連接[5]。其間各初始化過程和連接過程最多進(jìn)行3次,超過3次后則將結(jié)果寫入后備寄存器再進(jìn)行,并掛起看門狗任務(wù)等待系統(tǒng)復(fù)位。
當(dāng)連接成功后,平衡機(jī)會定時將環(huán)境溫度和信號質(zhì)量上傳至服務(wù)器,每當(dāng)有一個轉(zhuǎn)子完成平衡,也會將其相關(guān)數(shù)據(jù)上傳至服務(wù)器。為了便于服務(wù)器解析上傳數(shù)據(jù)的類型,需要對上傳的數(shù)據(jù)進(jìn)行格式的設(shè)定。上傳的數(shù)據(jù)主要分為兩部分:
信號質(zhì)量和環(huán)境溫度數(shù)據(jù)上傳間隔5 min一次,傳輸?shù)臄?shù)據(jù)格式為“STATUS:信號質(zhì)量;環(huán)境溫度”。
圖7 數(shù)據(jù)上傳流程Fig.7 Data upload flow chart
轉(zhuǎn)子狀態(tài)信息每當(dāng)一個轉(zhuǎn)子完成平衡之后,就將該轉(zhuǎn)子的一些平衡信息通過GPRS數(shù)據(jù)服務(wù)上傳至服務(wù)器,傳輸?shù)臄?shù)據(jù)格式為“ROTOR:轉(zhuǎn)子編號;狀態(tài);初始不平衡量;初始不平衡相位;最終不平衡量;最終相位;平衡次數(shù);每次去重結(jié)果”,其中每次去重結(jié)果的數(shù)據(jù)個數(shù)取決于平衡次數(shù)。此外,SIM32也會定時檢測收到的GPRS數(shù)據(jù)或短信,進(jìn)行解析并做相應(yīng)的操作。
本系統(tǒng)采用TCP連接,長時間不通信會斷開連接,因此系統(tǒng)會每過5 min向服務(wù)器發(fā)送內(nèi)容為“HT”的心跳包。
在完成硬件實驗平臺的搭建以及程序的調(diào)試以后,進(jìn)行系統(tǒng)的測試。系統(tǒng)測試主要針對多機(jī)通訊及系統(tǒng)邏輯準(zhǔn)確性測試、GPRS數(shù)據(jù)上傳功能測試、用戶遠(yuǎn)程控制3個部分。
所設(shè)計的四工位平衡機(jī)的主控系統(tǒng),不涉及從機(jī)8052單片機(jī)系統(tǒng)對轉(zhuǎn)子不平衡量的測控以及去重工作,因此多機(jī)通訊測試方法如下:
主控器生成1個轉(zhuǎn)子結(jié)構(gòu)體,并賦予編號,將該轉(zhuǎn)子數(shù)據(jù)發(fā)送給初測工位單片機(jī),初測工位單片機(jī)判斷該轉(zhuǎn)子是否做過平衡,若是新轉(zhuǎn)子,則生成1個不平衡量值以及待切除不平衡量,否則僅生成1個不平衡量。主控器收到該數(shù)據(jù)包后將該轉(zhuǎn)子不平衡量減去待切除數(shù)值,再將其發(fā)送給復(fù)測工位,復(fù)測工位收到數(shù)據(jù)后進(jìn)行是否合格的判斷(不平衡量是否小于最大允許不平衡量),并將結(jié)果發(fā)送給主控器。主控器根據(jù)復(fù)測結(jié)果判斷是否要進(jìn)一步去重平衡,若需要,則再將其發(fā)送給初測工位重復(fù)上述步驟,否則重新生成轉(zhuǎn)子結(jié)構(gòu)體進(jìn)行上述步驟。
測試中,最大允許不平衡量設(shè)置為25 mg,最多允許平衡次數(shù)設(shè)置為3,初測單片機(jī)生成的待切除不平衡量始終為當(dāng)前不平衡量的1/2。測試中通過軟件控制初測單片機(jī)中賦予的初始不平衡量,將最終平衡結(jié)果通過觸摸屏顯示出來并記錄,觸摸屏如圖8所示,測試結(jié)果見表2。
圖8 觸摸屏工作狀態(tài)Fig.8 Touch screen working state
表2 多機(jī)通訊功能測試結(jié)果Tab.2 Multicomputer communication function test result
由表可知,理論與實際的最終不平衡量相對誤差在3%以內(nèi)。說明485多機(jī)通訊協(xié)議以及整個系統(tǒng)調(diào)度邏輯沒有問題,滿足預(yù)期效果。
驗證數(shù)據(jù)上傳功能開啟系統(tǒng)和上位機(jī),在上位機(jī)通過TCP/UDP Socket調(diào)試工具接收GPRS數(shù)據(jù),接收數(shù)據(jù)如圖9所示。上位機(jī)每過10 s接收內(nèi)容為“HT”的心跳數(shù)據(jù)包來保證TCP連接,平衡機(jī)每過20 s發(fā)送環(huán)境溫度和信號質(zhì)量,內(nèi)容為“STATUS:信號質(zhì)量;環(huán)境溫度”每完成1個轉(zhuǎn)子的平衡,會接收到該轉(zhuǎn)子的平衡信息,信息內(nèi)容為“ROTOR:轉(zhuǎn)子編號;狀態(tài);初始不平衡量;初始不平衡相位;最終不平衡量;最終相位;平衡次數(shù);每次去重結(jié)果”。
圖9 數(shù)據(jù)上傳功能測試Fig.9 Data upload function test
將報警觸發(fā)條件設(shè)置為環(huán)境溫度高于40℃時報警。通過加熱器將傳感器加熱至40℃,手機(jī)收到報警短信,如圖10所示;通過編輯短信內(nèi)容為“SET:EXIT SYSTEM”令平衡機(jī)退出工作狀態(tài)。之后,收到平衡機(jī)內(nèi)容為“EXIT SYSTEM-OK”的短信,平衡機(jī)退出工作狀態(tài),符合要求。
圖10 遠(yuǎn)程控制測試Fig.10 Remote control test
該系統(tǒng)針對目前全自動平衡機(jī)信息化程度較低以及未來工廠信息化的發(fā)展趨勢,將平衡機(jī)工作過程中產(chǎn)生的數(shù)據(jù)以GPRS數(shù)據(jù)的形式上傳至服務(wù)器,管理人員能夠?qū)崟r監(jiān)控工廠中平衡機(jī)的工作狀態(tài)并在必要情況下支持遠(yuǎn)程監(jiān)控和報警功能。該系統(tǒng)能夠與公司服務(wù)器進(jìn)行互聯(lián),從而利于完成動平衡生產(chǎn)管理的一體化。