戴 明,李軍科,孟召議
(無錫商業(yè)職業(yè)技術(shù)學院, 江蘇 無錫 214153;江蘇省無線傳感系統(tǒng)應用工程技術(shù)開發(fā)中心,江蘇 無錫 214153)
《中國制造2025》規(guī)劃明確提出今后我國將逐步完成工廠的“智能制造”升級。本文設(shè)計的主軸電機溫控系統(tǒng),就是為了幫助企業(yè)實現(xiàn)智能溫控。主軸電機是指轉(zhuǎn)速超過10000 r/min的交流電機,可應用于切割、拋光、雕刻方面,有很大的應用市場。國外中等規(guī)格加工中心電機主軸的轉(zhuǎn)速普遍已達到20000 r/min,主軸在高速旋轉(zhuǎn)時,其電機溫度會升高[1],當轉(zhuǎn)速達到25000 r/min時,溫度可達50 ℃;溫度過高會使電機的運轉(zhuǎn)不穩(wěn)定甚至導致其不能正常工作,同時也會加劇電機繞組絕緣材料的老化,嚴重時會將電機燒毀。對于主軸電機生產(chǎn)廠家而言,在電機出廠前最重要的一步就是測試主軸電機的溫度特性。目前采用的測試方法是工人手持溫度測試儀進行手動測量,發(fā)現(xiàn)溫度過高時則手動調(diào)節(jié)變頻器減小電機的轉(zhuǎn)速,以此降低主軸電機的溫度。很顯然,手動測量需要耗費人力,效率不高,特別是溫度測試不精確、測試時機不佳等制約了企業(yè)的進一步發(fā)展。基于此,本系統(tǒng)研究并應用Modbus/485協(xié)議,利用嵌入式平臺實現(xiàn)電機溫度實時采集,構(gòu)建基于工業(yè)網(wǎng)絡(luò)的智能控制系統(tǒng)。
基于LabVIEW虛擬儀器與Modbus/485總線協(xié)議,實現(xiàn)測試現(xiàn)場電機溫度的實時監(jiān)控與驅(qū)動器控制。Pt100鉑電阻毫伏級電橋信號經(jīng)差分儀表放大器放大后通過24位高精度四通道AD1224采集主軸電機表面溫度,嵌入式處理器作為從站設(shè)備負責提供溫度采集模塊的Modbus通信接口,溫度采集模塊與上位PC機通過Modbus/485總線協(xié)議組建工業(yè)控制網(wǎng)絡(luò)。主軸電機轉(zhuǎn)速、電流、溫度等參數(shù)可以在LabVIEW前面板實時顯示,操作者可以設(shè)定轉(zhuǎn)速/時間測試規(guī)程并對出現(xiàn)的異常情況作出響應,測控系統(tǒng)框圖如圖1所示。
圖1 主軸電機溫度測控系統(tǒng)框圖
Pt100鉑熱電阻溫度傳感器的主要特點是測量精度高、穩(wěn)定性好。它利用其阻值與所測溫度成一定函數(shù)關(guān)系來測量溫度[2],溫度的采集范圍可以在-200 ℃~+850 ℃,測量精確度是眾多溫度傳感器中最高的,Pt100主要用于工業(yè)過程溫度參數(shù)的測量與控制。
Pt100鉑電阻傳感器在0 ℃的電阻阻值為100 Ω,其電阻變化率為0.3851 Ω/℃, 按照IEC751國際標準,溫度系數(shù)TRC=0.003851。其溫度/電阻特性的關(guān)系表達式為:
Rt=R0[1+At+Bt2+C(t-100)t3]
(-200 °C (1) Rt=R0[1+At+Bt2](0 °C (2) 式(1)(2)中Rt為t℃時的電阻值,R0為0 ℃時的電阻值。電阻Rt與溫度t的函數(shù)關(guān)系可近似表示為線性函數(shù):Rt=R0(1+At)。Pt100的線性較好,當溫度在0 ℃~100 ℃時,其最大非線性偏差小于0.5 ℃。Pt100溫度/電阻曲線如圖2所示,Pt100部分溫度與阻值關(guān)系如表1所示。 圖2 Pt100溫度/電阻曲線 表1 Pt100部分溫度與阻值關(guān)系 LabVIEW是一種圖形化編程語言,是用圖標和流程圖來替代編程的一種開發(fā)軟件[3],可用于數(shù)據(jù)的采集與分析、測試測量等領(lǐng)域,系統(tǒng)上位機接收終端節(jié)點采集溫度并讀寫Access本地數(shù)據(jù)庫,實現(xiàn)歷史數(shù)據(jù)查詢與存儲。LabVIEW訪問數(shù)據(jù)庫的方式有多種,結(jié)合本設(shè)計需求,采用LabSQL工具包實現(xiàn)其與數(shù)據(jù)庫的連接。利用LabSQL實現(xiàn)數(shù)據(jù)庫訪問,其方式是調(diào)用一些特殊功能的VI模塊,在使用LabSQL前,需要在Windows操作系統(tǒng)中的ODBC數(shù)據(jù)源中創(chuàng)建一個數(shù)據(jù)源名稱DNS,LabSQL與數(shù)據(jù)庫之間的連接建立在DNS基礎(chǔ)上。 系統(tǒng)包含Pt100鉑電阻溫度傳感器信號調(diào)理電路、ADS1224模數(shù)轉(zhuǎn)換電路、TTL轉(zhuǎn)MAX485電路及STM32F103VET6核心板電路。 Pt100電橋電路與信號調(diào)理電路如圖3所示。三線Pt100鉑電阻由J8接口引入,與R33、R34、R36組成不平衡電橋,將Pt100鉑電阻轉(zhuǎn)化為毫伏電壓差信號,再經(jīng)過儀表放大器AD620得到調(diào)理信號。AD620輸入偏置電流小,精度高,外接在AD620的1腳與8腳之間的電阻R45可以設(shè)置放大電路的增益,增益為G=1+49.4K/R45。電路中四個電阻全部選用0.1%精度。REF3030提供標準的3 V橋路電壓,Pt100允許通過的電流≤5 mA。 圖3 Pt100信號調(diào)理電路 四路AD620儀表放大器輸出信號接入ADS1224四通道模數(shù)轉(zhuǎn)換電路。ADS1224是24位△-∑的模數(shù)轉(zhuǎn)換器(ADC),具有低功耗、高性能等特點。圖4是ADS1224模數(shù)轉(zhuǎn)換外圍電路,ADS1224內(nèi)部系統(tǒng)時鐘信號CLK由STM32F103VET6芯片內(nèi)部定時器中斷控制PA4管腳電平跳變而產(chǎn)生,其時鐘信號SCLK、采樣數(shù)據(jù)輸出信號DOUT分別與處理器內(nèi)部同步串行口SPI1通信,即PA5/PA6與SCLK/DOUT對應,模擬電源AVDD與數(shù)字電源DVDD分別設(shè)計為5 V與3.3 V,電壓基準芯片LM336提供模數(shù)轉(zhuǎn)換參考電壓VREFP,PA11/PA12連接MUX0/MUX1作為輸入通道選擇信號線。 圖4 ADS1224四通道模數(shù)轉(zhuǎn)換電路 選擇Modbus/485協(xié)議實現(xiàn)各測控節(jié)點與上位機之間通信,TTL電平轉(zhuǎn)485電平電路如圖5所示。R/D信號控制發(fā)送與接收使能[4]。R/D低電平,下位機等待接收主機命令,發(fā)送禁止;R/D置高電平,接收禁止,發(fā)送使能。RS485接口采用差分方式傳輸。485A/B之間并接120 Ω匹配電阻,減少傳輸線路信號回波反射現(xiàn)象。另外,485A/B分別通過電阻R8、R9接地、上拉,使485A端電平高于485B端電平,這樣當主機不發(fā)送、網(wǎng)絡(luò)處于空閑狀態(tài)時,485芯片輸出高電平處于穩(wěn)定狀態(tài)。本系統(tǒng)中STM32F103VET6作為Modbus從站通過RS485總線與上位PC主站通信。 圖5 TTL轉(zhuǎn)MAX485電路 STM32F103VET6內(nèi)核采用ARM 32位的CortexTM-M3 CPU,其最高工作頻率為72 MHz。采用單周期乘法和硬件除法的算法。STM32F103VET6核心電路由電源電路、時鐘電路以及復位電路組成,主要是通過SPI口連接24位ADC采樣芯片實現(xiàn)溫度采集,同時運行Modbus從站協(xié)議實現(xiàn)溫度與PC機、變頻驅(qū)動器之間的Modbus通信。硬件電路設(shè)計中,PA9/PA10管腳設(shè)置為USART1_RX/TX功能,分別連接SP3485芯片的RX_485/TX_485管腳,與PC機進行RS485通信。PA4/5/6/7管腳設(shè)置為SPI1_NSS、SPI1_SCLK、SPI1_MISO、SPI1_MOSI 同步串行口功能,控制ADS1224高精度ADC對溫度進行采集。由于篇幅所限,這里省略核心板電路,相關(guān)內(nèi)容參考ST手冊。 Modbus協(xié)議是Modicon公司開發(fā)的一種通信協(xié)議,采用主從問答方式工作,允許1個主機與多個從機通信[5],在自動化行業(yè)中應用十分廣泛,已經(jīng)成為一種通用的工業(yè)標準。所有支持Modbus協(xié)議的終端設(shè)備可以相互通信,連成工業(yè)網(wǎng)絡(luò)。Modbus協(xié)議有兩種傳輸方式:ASCII方式和RTU方式。本系統(tǒng)采用針對嵌入式平臺的免費freeModbus協(xié)議棧完成STM32F103VET6平臺代碼移植。 CRC是一種差錯校驗碼,可以任意選定其信息字段與校驗字段的長度,通過對數(shù)據(jù)進行多項式計算,將所得結(jié)果附在信息幀的后面,接收設(shè)備也執(zhí)行類似算法,從而保證數(shù)據(jù)傳輸?shù)臏蚀_性與可靠性。Modbus協(xié)議采用CRC-16作為鏈路層數(shù)據(jù)傳輸?shù)男r灤a。 在國際標準化組織(ISO)提出的開放系統(tǒng)互連OSI參考模型中,網(wǎng)絡(luò)系統(tǒng)被劃分為七個層次,自上而下分別是應用層、會話層、表示層、傳輸層、網(wǎng)絡(luò)層、鏈路層、物理層。 Modbus協(xié)議是第七層應用層報文傳輸協(xié)議,它連接不同總線,為網(wǎng)絡(luò)設(shè)備之間提供客戶機/服務器通信。Modbus協(xié)議通信采用master/slave方式,master發(fā)出數(shù)據(jù)請求消息,而slave接收到正確消息后向master發(fā)送數(shù)據(jù)以響應請求。本系統(tǒng)中PC機利用LabVIEW提供的串口通信組件,根據(jù)Modbus協(xié)議設(shè)計模塊化通信程序,LabVIEW具有6個串口通信節(jié)點,分別實現(xiàn)串口初始化、串口讀、串口寫、串口緩存檢測、串口暫停及關(guān)閉串口功能。 圖6是Modbus協(xié)議幀與字符信息傳輸時序,Modbus報文RTU幀由時長至少為3.5個字符時間的空閑間距以連續(xù)的字符流發(fā)送整個報文幀,兩個字符時間間隔小于1.5個字符,否則報文幀被認為不完整而被接收節(jié)點丟棄[6]。采用串口中斷發(fā)送、串口中斷接收與定時器中斷函數(shù)實現(xiàn)報文幀與字符時序控制。 圖6 Modbus協(xié)議幀與字符信息傳輸時序 圖7給出了freeModbus協(xié)議棧實現(xiàn)流程圖。系統(tǒng)初始化階段,執(zhí)行eMBInit()函數(shù),此函數(shù)包含Modbus數(shù)據(jù)幀類型、從站地址、串口序號、波特率以及檢驗方式。其次執(zhí)行eMBEnable()函數(shù),啟動freeModbus協(xié)議棧。最后在主程序while循環(huán)內(nèi)部,輪詢eMBpoll()函數(shù),當從機接收到主機發(fā)送的數(shù)據(jù)幀,則驗證從機地址和數(shù)據(jù)幀完整性,提取功能碼執(zhí)行xFuncHandlers()中相應的事件處理函數(shù)。Modbus協(xié)議采用主從模式,PC主機發(fā)送04碼讀取STM32F103VET6溫度采集模塊內(nèi)部輸入寄存器的溫度、電壓模擬量以實現(xiàn)對電機參數(shù)的監(jiān)控。 圖7 freeModbus協(xié)議棧實現(xiàn)流程 ADS1224采樣可以通過延遲法、查詢法、中斷法三種方法實現(xiàn)。圖8為SPI1控制ADS1224的單次采樣流程框圖,采樣開始后SPI1管腳功能復用,8位的SPI字長,時鐘上升沿時刻將數(shù)據(jù)輸出,下降沿時刻則鎖存數(shù)據(jù),無數(shù)據(jù)傳輸時SPI時鐘為高電平。禁止SPI自發(fā)自收,使能為主機模式,禁止SPI發(fā)送接收中斷,使能SPI fifo有效。設(shè)置SPI發(fā)送接收波特率。SPI發(fā)送左對齊,MSB先發(fā),發(fā)送緩沖寄存器為16位,偽數(shù)據(jù)需左移8位后進行加載,在接收時右對齊,可直接取低8位數(shù)據(jù)。 圖8 ADS1224單次采樣流程 在啟動轉(zhuǎn)換后設(shè)置SPI1_MISO管腳為通用IO輸入,通過查詢法檢測DOUT是否為0,若是0,則AD轉(zhuǎn)換完成,SPI1_MISO重新置SPI接收功能。接著通過SPI1_MISO管腳發(fā)出3個字節(jié)偽數(shù)據(jù),SPI時鐘啟動。 SPI1_MISO則在時鐘下降沿依次接收24位的采樣數(shù)據(jù)。在第25個時鐘進行發(fā)送時,DOUT置高電平,再由SPI_DR寄存器發(fā)送偽數(shù)據(jù),發(fā)送結(jié)束后在下一次采樣接收前再恢復字長為8。第26個時鐘啟動ADS1224自校準。自校準期間外部模擬輸入信號無須斷開,內(nèi)部自校準信號可自動接入。自校準完成后,DOUT信號轉(zhuǎn)為低電平。 位于布爾和經(jīng)典布爾選板上的布爾控件可用于創(chuàng)建按鈕、開關(guān)和指示燈。布爾控件用于輸入并顯示布爾值(TRUE/FALSE)。本項目用于監(jiān)控一個從站1的四路模擬量值,每通道電壓采樣值超過一定水平時,即發(fā)出警告。圖9、圖10是用來指示電機速度和電壓模擬量采樣結(jié)果的儀表與指示燈控件。 圖9 顯示電機速度儀表控件 圖10 提示標簽與指示燈、顯示控件 測試連線連接后用萬用表測量,在無短路的情況下上電測量,如果數(shù)據(jù)采集過程中某一路設(shè)備無信號輸出,可以使用Modbus調(diào)試助手測試單個從站設(shè)備?;贚abVIEW與Modbus/485的電機參數(shù)測控界面如圖11所示,PC機LabVIEW軟件設(shè)計了參數(shù)配置、數(shù)據(jù)讀寫、參數(shù)趨勢圖等控件功能。 圖11 基于LabVIEW與Modbus/485電機參數(shù)測控界面 每個溫度采集模塊通過ADS1224分四路對Pt100鉑電阻電壓信號采樣,如果數(shù)據(jù)采集過程中某一路設(shè)備無信號輸出,可以使用Modbus調(diào)試助手調(diào)試單個從站設(shè)備。本項目主要使用讀輸入寄存器04碼讀取溫度采集模塊參數(shù),03碼讀取速度寄存器,06碼寫速度寄存器。本研究測試了單一模塊中四路Pt100電阻采集的溫度信號,并把結(jié)果與溫度儀測試結(jié)果比較,如表2所示。數(shù)據(jù)顯示與Fluk溫度儀測量誤差控制在0.05 ℃內(nèi),說明系統(tǒng)實現(xiàn)了多路電機溫度的采集、上傳與顯示,能夠代替手工測量,解決人工測量的不確定性問題。 表2 系統(tǒng)測試結(jié)果 本系統(tǒng)研究了一種基于STM32處理器與Modbus/485協(xié)議的主軸電機溫控系統(tǒng),每個溫度采集模塊通過ADS1224分四路對Pt100鉑電阻電壓信號采樣,利用 Modbus 協(xié)議進行數(shù)據(jù)的測量和模擬電壓的輸出控制。現(xiàn)場實際測試結(jié)果表明,本系統(tǒng)能很好地采集主軸電機的溫度,并將其上傳到上位機LabVIEW,以便用戶實時查看當前和歷史溫度數(shù)據(jù),實現(xiàn)工業(yè)現(xiàn)場的主軸電機溫度采集及電機轉(zhuǎn)速的控制,從而實現(xiàn)了智能控制。(二)LabVIEW與數(shù)據(jù)庫的連接
三、系統(tǒng)硬件電路設(shè)計
(一)Pt100信號調(diào)理電路
(二)ADS1224模數(shù)轉(zhuǎn)換電路
(三)TTL轉(zhuǎn)MAX485電路
(四)STM32F103VET6核心板電路
四、系統(tǒng)軟件設(shè)計
(一)Modbus RTU協(xié)議及CRC原理
(二)32位處理器平臺Modbus協(xié)議實現(xiàn)
(三)ADS1224單次采樣流程
五、LabVIEW主站測控軟件實現(xiàn)
六、系統(tǒng)測試
七、結(jié)論