劉 輝,李慧敏
(東華大學 機械工程學院,上海 201620)
轉子不平衡是指轉子質心和幾何中心線不重合所導致的一種故障狀態,全自動平衡機通過在轉子的特定位置做加重或去重操作,使得轉子質心盡可能與旋轉軸重合,從而減少轉子不平衡量。目前,市售全自動平衡機主要采用 “PLC+觸摸屏+若干單片機”架構[1],這種架構的全自動平衡機以PLC作為主控器,若干單片機進行測控去重,PLC和單片機通過485總線相互通訊協調,但對于平衡過程中的產生的轉子不平衡量等相關信息并未進行數據存儲和分析。為了適應生產管理和控制的需要,將全自動平衡機與企業管理網絡連接來實現工廠管理遠程監控的需求日漸顯現[2];隨著物聯網、無線通訊和大數據等技術的發展,利用無線技術實時地將平衡機工作中的相關數據上傳至公司指定服務器從而進行大數據分析,也是未來全自動平衡機的發展趨勢。
在此,在現有四工位全自動平衡機的架構基礎上搭建實驗平臺,使用GPRS模塊并設計了一種智能型四工位全自動平衡機的主控系統。該系統目前處于在研階段。
文中所設計的主控系統基于四工位平衡機,這4個工位分別為待機工位、初測工位、去重工位和復測工位。其中,待機工位負責轉子的抓取;初測和復測工位是獨立的單片機系統,負責不平衡量的測量;去重工位根據初測工位測得的結果進行去重。該四工位平衡機為 “主控器+若干單片機系統+GPRS模塊”架構,主控系統主要負責業務邏輯處理以及調度多個單片機進行多機通訊。系統的總體設計原理如圖1。

圖1 系統總體設計原理Fig.1 System overall design schematic
STM32作為整個系統的主控器,負責協調和控制各個模塊。觸摸屏用于人機交互,可以查看當前系統的運行狀態,也可以修改系統參數,STM32通過FSMC(靈活靜態存儲控制器)接口進行控制。蜂鳴器用于現場報警,當平衡機去重效果不佳或系統運行異常時報警提醒現場人員及時處理。無線傳輸模塊使用SIM800A,負責上傳數據至服務器和發送報警短信[3],STM32通過AT指令控制。系統網絡拓撲圖如圖2所示。

圖2 系統網絡拓撲圖Fig.2 System network topology
圖中,主控器通過TCP與服務器建立連接,將平衡結束轉子的相關數據上傳至服務器。平衡機故障時系統發送短信給用戶,用戶可通過固定格式的短信對平衡機的參數進行設置,故障也會上傳至服務器,用戶也可通過上位機給系統發送數據包來進行控制,現場操作人員也可以通過觸摸屏來對平衡機進行操作。
文中所搭建四工位全自動平衡機的硬件平臺以模擬平衡機的工作過程,主要采用“STM32+觸摸屏+8052從機+GPRS模塊”結構進行設計。
主控器選用STM32F103ZET6負責系統的調度和數據處理;初測工位和復測工位選用AT89C52作為其控制器。AT89C52內含8 kB Flash和256 B RAM,兼容MCS-51指令系統,在電子行業有著廣泛應用;能夠滿足本系統對于初測工位和復測工位的性能需求。
主控器STM32與初測單片機和復測單片機進行數據交換,這涉及到一主多從的通訊問題,在此選用RS-485總線連接。STM32和AT89C52單片機的通訊方式為基于TTL的全雙工,文中將其改為RS485的半雙工方式,主控器STM32和從機AT89C52均采用美信公司的MAX485芯片[4]。多機通訊電路原理如圖3所示。

圖3 多機通訊原理Fig.3 Multi-machine communication schematic
將RE和DE引腳連接至1個I/O口,通過該I/O口控制其收發,RX和TX為收發信道。其中120 Ω電阻為匹配電阻,其作用是使傳輸過程中電纜的阻抗連續,保證RS-485總線的穩定性。
由于系統需要定時將一些狀態信息和平衡轉子的信息上傳至服務器,因此無線傳輸模塊需要具有聯網功能。文中采用SIM800A物聯模塊實現無線傳輸功能,其硬件原理如圖4所示。SIM800A功能完善,適用于需要語音/短信/GPRS數據服務的各種領域,性能穩定,外觀小巧,性價比高,能滿足多種需求,正越來越多地應用于物聯網領域。它內嵌TCP/IP協議,拓展的AT指令便于用戶進行操作。STM32的串口3與SIM800A串口引腳相連,并給與5 V/1 A穩定供電。

圖4 GPRS模塊引腳Fig.4 GPRS module pin
文中所設計的智能型四工位平衡機主控系統,在Keil MDK ARM集成開發環境下采用C語言進行開發。四工位平衡機的主控系統較為復雜,在此僅介紹其中關鍵的3個部分,即主程序設計、多機通訊協議設計、GPRS數據上傳設計。
由于本系統較為復雜,為提高系統的實時性,在程序中加入μC/OS-II實時操作系統。開源嵌入式系統μC/OS-II的優勢是可裁剪、多任務、搶占式和實時性,適合嵌入式開發。主程序流程如圖5所示。先進行時鐘配置并進行硬件初始化,隨后調用μC/OS-II中的OSTaskCreate()函數創建起始任務,在起始任務中分別創建主任務、系統監控任務、數據上傳任務和看門狗任務,分配各個任務優先級和堆棧,最后掛起起始任務,并啟動操作系統。

圖5 主程序流程Fig.5 Main program flow
主任務是整個系統的核心部分,主要功能有進入監控系統,系統參數調整和平衡質量管理;系統監控任務實時監控平衡機的狀態參數、GPRS連接狀態以及環境溫度。若GPRS斷開連接,則會掛起其它任務并重新連接,連接成功后恢復其它任務;數據上傳任務負責將轉子平衡信息和系統狀態參數上傳至服務器;看門狗任務通過計數復位次數來評估系統穩定性。
文中初測工位和復測工位均通過8052單片機系統來實現,主要負責振動信號數據采集、數據預處理及步進電機的驅動工作。而作為主控器的STM32需要通過與其通訊來交換數據。本系統主機和從機之間發送數據種類較多,制定出明確而合理的通訊協議非常關鍵。原則上多機通訊時采用通用開放的Modbus協議來傳遞數據,但考慮開發單片機的Modbus協議模塊的工作量較大,且協議執行耗時長,故在參考了Modbus協議下,設計了基于RS485接口的多機自定義自由通訊協議,數據以數據幀的形式發送,數據幀定義見表1。其中,CRC16校驗用于驗證數據傳輸的完整性和準確性。
多機通訊中主機和從機的流程如圖6所示。系統規定:主機STM32地址為0x01,初測工位單片機地址為0x02,復測工位單片機地址為0x03,轉向單片機地址為0x04。在系統中,只有主機(STM32)有主動發起數據傳輸請求的權利,每個從機都有對應的地址,主機發起請求后,所有從機通過解析收到的數據包中的目標地址判斷是否發給本機,如果目標地址是本機并且校驗碼無誤,則通過功能碼做出響應,否則忽略該數據包。

表1 多機通訊數據幀格式Tab.1 Multicomputer communication data frame format

圖6 主機和從機流程Fig.6 Host and slave flow chart
數據上傳流程如圖7所示。先檢測SIM卡是否就位,然后進行SIM800A模塊短信服務初始化和GPRS通信初始化,通過發送AT指令AT+CIPSTART=“TCP”,“IP 地址”,“端口號”來建立與服務器之間的TCP連接[5]。其間各初始化過程和連接過程最多進行3次,超過3次后則將結果寫入后備寄存器再進行,并掛起看門狗任務等待系統復位。
當連接成功后,平衡機會定時將環境溫度和信號質量上傳至服務器,每當有一個轉子完成平衡,也會將其相關數據上傳至服務器。為了便于服務器解析上傳數據的類型,需要對上傳的數據進行格式的設定。上傳的數據主要分為兩部分:
信號質量和環境溫度數據上傳間隔5 min一次,傳輸的數據格式為“STATUS:信號質量;環境溫度”。

圖7 數據上傳流程Fig.7 Data upload flow chart
轉子狀態信息每當一個轉子完成平衡之后,就將該轉子的一些平衡信息通過GPRS數據服務上傳至服務器,傳輸的數據格式為“ROTOR:轉子編號;狀態;初始不平衡量;初始不平衡相位;最終不平衡量;最終相位;平衡次數;每次去重結果”,其中每次去重結果的數據個數取決于平衡次數。此外,SIM32也會定時檢測收到的GPRS數據或短信,進行解析并做相應的操作。
本系統采用TCP連接,長時間不通信會斷開連接,因此系統會每過5 min向服務器發送內容為“HT”的心跳包。
在完成硬件實驗平臺的搭建以及程序的調試以后,進行系統的測試。系統測試主要針對多機通訊及系統邏輯準確性測試、GPRS數據上傳功能測試、用戶遠程控制3個部分。
所設計的四工位平衡機的主控系統,不涉及從機8052單片機系統對轉子不平衡量的測控以及去重工作,因此多機通訊測試方法如下:
主控器生成1個轉子結構體,并賦予編號,將該轉子數據發送給初測工位單片機,初測工位單片機判斷該轉子是否做過平衡,若是新轉子,則生成1個不平衡量值以及待切除不平衡量,否則僅生成1個不平衡量。主控器收到該數據包后將該轉子不平衡量減去待切除數值,再將其發送給復測工位,復測工位收到數據后進行是否合格的判斷(不平衡量是否小于最大允許不平衡量),并將結果發送給主控器。主控器根據復測結果判斷是否要進一步去重平衡,若需要,則再將其發送給初測工位重復上述步驟,否則重新生成轉子結構體進行上述步驟。
測試中,最大允許不平衡量設置為25 mg,最多允許平衡次數設置為3,初測單片機生成的待切除不平衡量始終為當前不平衡量的1/2。測試中通過軟件控制初測單片機中賦予的初始不平衡量,將最終平衡結果通過觸摸屏顯示出來并記錄,觸摸屏如圖8所示,測試結果見表2。

圖8 觸摸屏工作狀態Fig.8 Touch screen working state

表2 多機通訊功能測試結果Tab.2 Multicomputer communication function test result
由表可知,理論與實際的最終不平衡量相對誤差在3%以內。說明485多機通訊協議以及整個系統調度邏輯沒有問題,滿足預期效果。
驗證數據上傳功能開啟系統和上位機,在上位機通過TCP/UDP Socket調試工具接收GPRS數據,接收數據如圖9所示。上位機每過10 s接收內容為“HT”的心跳數據包來保證TCP連接,平衡機每過20 s發送環境溫度和信號質量,內容為“STATUS:信號質量;環境溫度”每完成1個轉子的平衡,會接收到該轉子的平衡信息,信息內容為“ROTOR:轉子編號;狀態;初始不平衡量;初始不平衡相位;最終不平衡量;最終相位;平衡次數;每次去重結果”。

圖9 數據上傳功能測試Fig.9 Data upload function test
將報警觸發條件設置為環境溫度高于40℃時報警。通過加熱器將傳感器加熱至40℃,手機收到報警短信,如圖10所示;通過編輯短信內容為“SET:EXIT SYSTEM”令平衡機退出工作狀態。之后,收到平衡機內容為“EXIT SYSTEM-OK”的短信,平衡機退出工作狀態,符合要求。

圖10 遠程控制測試Fig.10 Remote control test
該系統針對目前全自動平衡機信息化程度較低以及未來工廠信息化的發展趨勢,將平衡機工作過程中產生的數據以GPRS數據的形式上傳至服務器,管理人員能夠實時監控工廠中平衡機的工作狀態并在必要情況下支持遠程監控和報警功能。該系統能夠與公司服務器進行互聯,從而利于完成動平衡生產管理的一體化。