李金金 宋臻 朱建光
摘要:牽引機(jī)是用于 220KV 以上高壓輸電線路施工中必不可少的工程機(jī)械。針對(duì)電力施工企業(yè)的牽引機(jī)的改造需求,設(shè)計(jì)了基于STM32智能牽引機(jī)的通信系統(tǒng)。該系統(tǒng)以STM32F407為主控芯片,分別設(shè)計(jì)了CAN總線模塊、觸摸屏通信模塊和無線通信模塊。經(jīng)工程實(shí)踐表明該系統(tǒng)應(yīng)用效果良好,滿足企業(yè)的要求,在市場上與同類型產(chǎn)品相比,具有一定的優(yōu)勢,具有很高的實(shí)用價(jià)值。
關(guān)鍵詞:牽引機(jī);通信系統(tǒng);模塊化;STM32
中圖分類號(hào):TM351 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)13-0220-03
作為輸電線路的架空施工過程中最為重要的機(jī)械設(shè)備之一,牽張?jiān)O(shè)備中牽引機(jī)通信系統(tǒng)的高效性、可靠性對(duì)施工的安全及工程進(jìn)度有著舉足輕重的影響。國內(nèi)的許多電力施工企業(yè)的牽張?jiān)O(shè)備目前研究方向集中在牽張?jiān)O(shè)備系統(tǒng)故障的預(yù)防和排除,但是近幾年由于施工現(xiàn)場的指令不明等因素導(dǎo)致的人身安全及設(shè)備損耗等事故日益顯著,對(duì)于牽引機(jī)的通信系統(tǒng)研究比較少。因此,研發(fā)設(shè)計(jì)一種牽引機(jī)通信系統(tǒng)控制器,具有重要的意義,這可以提高牽張?jiān)O(shè)備架線施工過程中的可靠性、安全性,減小架線人員的工作強(qiáng)度,規(guī)避重大性災(zāi)難事故的發(fā)生、杜絕巨額的經(jīng)濟(jì)損失。本文選擇意法半導(dǎo)體公司的嵌入式領(lǐng)域主流高性能芯片STM32F407作為通信系統(tǒng)的微控制器。
1 通信系統(tǒng)的總體設(shè)計(jì)
牽引機(jī)的通信系統(tǒng)是由CAN總線通信模塊、觸摸屏通信模塊、無線通信模塊與存儲(chǔ)模塊組成。CAN總線通信模塊分為CAN1與CAN2通信;CAN1與東風(fēng)康明斯發(fā)動(dòng)機(jī)通信,用來讀取發(fā)動(dòng)機(jī)轉(zhuǎn)速、水溫、機(jī)油壓力等數(shù)據(jù)并且可以控制發(fā)送機(jī)的轉(zhuǎn)速,用來調(diào)整牽引卷筒的輸出轉(zhuǎn)速與轉(zhuǎn)矩;CAN2用于多機(jī)通信,把不多于四臺(tái)的牽引機(jī)組成一個(gè)系統(tǒng),通過設(shè)置主輔機(jī)的模式,操作人員通過控制一臺(tái)主機(jī),就可以實(shí)現(xiàn)主輔機(jī)同步同轉(zhuǎn)速牽引鋼絲繩。
STM32F407通過RS485總線與觸摸屏通信,顯示采集到的數(shù)據(jù)和輸入控制參數(shù)等功能。可以實(shí)時(shí)監(jiān)控牽引機(jī)的運(yùn)行狀況,可以使施工人員更方便。
無線通線模塊采用市場上最流行的SIM868模塊,其具有GPS衛(wèi)星定位與數(shù)據(jù)傳輸?shù)裙δ堋S捎跔恳龣C(jī)長年在野外工作,為了業(yè)主更好的管理牽引機(jī),需要GPS衛(wèi)星定位功能給牽引機(jī)進(jìn)行實(shí)時(shí)定位;還需要把牽引機(jī)數(shù)據(jù)實(shí)時(shí)上傳到服務(wù)器。
采集到的數(shù)據(jù)可以存儲(chǔ)在SD卡中;不用更改的觸摸屏數(shù)據(jù)存在外部Flash中,每次觸摸屏的初始數(shù)據(jù)變化時(shí),STM32F407向外部Flash寫一次。
2 控制器的硬件設(shè)計(jì)
STM32F407是由ST(意法半導(dǎo)體)公司開發(fā)的一種高性能微控制器。STM32F407選用基于 ARMV7 架構(gòu)Cortex-M4內(nèi)核的32位嵌入式微控制器,具有192KB的SRAM,1MB的FLASH,其內(nèi)核的構(gòu)架非常先進(jìn),性能也十分優(yōu)越,主頻率最高可達(dá)168MHz,運(yùn)算能力及數(shù)據(jù)處理水平也非常優(yōu)越,不僅可以完全滿足智能牽引機(jī)的通信系統(tǒng)的需要,而且在硬件設(shè)計(jì)過程中容易很多,使得該芯片非常適合用于各種產(chǎn)品及工業(yè)控制。
2.1 CAN通信模塊設(shè)計(jì)
本文采用CAN總線實(shí)現(xiàn)與發(fā)動(dòng)機(jī)通信和多機(jī)通信功能。CAN總線收發(fā)器采用ADM3053芯片,其內(nèi)部集成了DC-DC轉(zhuǎn)換器,可以隔離STM32F407與發(fā)動(dòng)機(jī)ECU的信號(hào)與電源,使通信更加安全、高效??梢园袰AN總線上收到CAN-H、CAN-L信號(hào)轉(zhuǎn)換為相應(yīng)的數(shù)字信號(hào),送到STM32F407的CAN總線控制器引腳。為了防止回波發(fā)射,CAN總線的起止端都有一個(gè)120歐姆的終端電阻來做阻抗匹配。
2.2 觸摸屏通信模塊設(shè)計(jì)
本文需要用觸摸屏作為人機(jī)界面,監(jiān)控、顯示系統(tǒng)的運(yùn)行狀態(tài),如ADC采集數(shù)據(jù)、發(fā)動(dòng)機(jī)相關(guān)參數(shù)等。STM32F407與觸摸屏的通信電路采用RS485總線,簡單高效,保證了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
網(wǎng)絡(luò)層主要采用RS485/Modbus總線模式,分為物理層、數(shù)據(jù)鏈路層和應(yīng)用層;物理層采用RS485串行接口;數(shù)據(jù)鏈路層采用Modbus串行鏈路協(xié)議;應(yīng)用層采用Modbus協(xié)議。
其中物理層的實(shí)現(xiàn)是把數(shù)據(jù)通過STM32轉(zhuǎn)化成串行數(shù)據(jù),再經(jīng)過RS485轉(zhuǎn)換芯片轉(zhuǎn)換成RS485總線電平信號(hào)。RS485轉(zhuǎn)換芯片采用ADM2582。該芯片的前后信號(hào)、電源全隔離,具備±15 kV ESD保護(hù)功能,可以進(jìn)行高速、多點(diǎn)通信,完全符合本系統(tǒng)要求。
2.3 無線通信模塊設(shè)計(jì)
無線通線模塊采用SIM868模塊。此模塊性能穩(wěn)定,工業(yè)級(jí)接口標(biāo)準(zhǔn),內(nèi)嵌TCP/IP協(xié)議,可以實(shí)現(xiàn)語音、短信、數(shù)據(jù)傳輸、藍(lán)牙、GPS衛(wèi)星定位等功能。該模塊功耗較低,與STM32可以依靠串口通信來實(shí)現(xiàn)數(shù)據(jù)的傳輸,上面的天線還可以采用直連的方式來保證阻抗的相互匹配。
2.4 存儲(chǔ)模塊
采用4G的SD卡用來存儲(chǔ)ADC采集到的數(shù)據(jù)和CAN總線讀取的發(fā)動(dòng)機(jī)參數(shù),SD卡與STM32F407處理器自身具有的SDIO接口完全兼容。STM32F407的SDIO接口,最高通信速度可達(dá) 48MHz,最高每秒可傳輸數(shù)據(jù)24M。
Flash采用的是W25X128,它是一種NOR型SPI Flash,存儲(chǔ)高達(dá)128Mbit;它通過SPI總線與STM32F407進(jìn)行數(shù)據(jù)傳輸,用于存儲(chǔ)觸摸屏的固定參數(shù);同時(shí)對(duì)Flash的CS#、CLK、DI、DO進(jìn)行置位與復(fù)位的操作,便可以實(shí)現(xiàn)對(duì)Flash的讀、寫、擦除控制。
3 控制器的軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)在Keil MDK-ARM開發(fā)環(huán)境里編寫。它集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),融合了中國多數(shù)軟件開發(fā)工程師所需的特點(diǎn)和功能,提供了完善的設(shè)備調(diào)試和軟件仿真功能,包含了眾多的案例模板和固件實(shí)例,支持多種調(diào)試接口 ( 如UART、JTAG 及 JLINK 等 ) ,可大大減小開發(fā)難度,縮短開發(fā)周期。主程序流程圖如圖1所示:
3.1 CAN總線通信軟件設(shè)計(jì)
CAN總線程序是依靠查詢的方式來發(fā)送數(shù)據(jù),運(yùn)行中斷方式來接收數(shù)據(jù)的節(jié)點(diǎn)的主程序主要是初始化的控制器CAN以及數(shù)據(jù)的發(fā)送、接收和處理部分。CAN總線子程序流程圖如圖2所示。
3.2 觸摸屏通信軟件設(shè)計(jì)
實(shí)現(xiàn)觸摸屏與STM32的通訊,主要是解決通訊協(xié)議的問題。本文使用開放的Modbus通訊協(xié)議,以觸摸屏作主機(jī),STM32作從機(jī)。觸摸屏本身支持 Modbus通訊協(xié)議,如果STM32編寫底層的Modbus通訊協(xié)議,兩者就可以通信了。
觸摸屏作為上位機(jī),通過串口向STM32發(fā)送查詢消息幀,并且接收 STM32 發(fā)送回來的消息回應(yīng)幀;下位機(jī) STM32接收到查詢消息幀后,對(duì)其進(jìn)行解析、執(zhí)行和回應(yīng)。
Modbus協(xié)議有2種傳輸方式:ASCII和RTU。本文采用RTU傳輸模式,2個(gè)消息幀之間至少要相隔3.5個(gè)字符時(shí)間;消息幀在傳輸?shù)倪^程中必須作為一段連續(xù)的數(shù)據(jù)流。
3.3 無線通信軟件設(shè)計(jì)
通過STM32F407的串口發(fā)送AT指令來控制SIM868模塊的相應(yīng)動(dòng)作,相關(guān)AT指令如表1所示。將SIM868模塊設(shè)置為透傳模式;這樣在模塊連接TCP成功之后,STM32就可以與SIM868模塊通信,SIM868模塊自動(dòng)將數(shù)據(jù)發(fā)送至服務(wù)器端,極大地方便了軟件設(shè)計(jì)。
在模塊進(jìn)行TCP連接后,若連接不成功則重新進(jìn)行連接;若連接成功,則發(fā)送采集到的數(shù)據(jù)傳輸至服務(wù)器端,同時(shí)開啟串口中斷接收模塊的返回值,并判斷返回值是數(shù)據(jù)還是命令;若返回值為數(shù)據(jù)則啟用接收,若為命令,則根據(jù)命令號(hào)結(jié)合相應(yīng)結(jié)構(gòu)體處理命令。
行NMEA-0183數(shù)據(jù)解析。NMEA-0183是美國國家海洋電子協(xié)會(huì)為海用電子設(shè)備制定的標(biāo)準(zhǔn)格式,目前業(yè)已成了GPS導(dǎo)航設(shè)備統(tǒng)一的RTCM標(biāo)準(zhǔn)協(xié)議。NMEA-0183 協(xié)議解析部分,這里利用了一個(gè)簡單的數(shù)逗號(hào)方法來解析。這樣,我們就可以通過STM32讀出牽引機(jī)所在地的經(jīng)、緯度等信息。
4 結(jié)語
牽引機(jī)控制器設(shè)計(jì)完成后,在現(xiàn)場進(jìn)行一系列測試,經(jīng)工業(yè)現(xiàn)場運(yùn)行表明,本系統(tǒng)具有通信實(shí)時(shí)性好,功耗低、可靠性高、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。設(shè)備運(yùn)行情況良好,達(dá)到了預(yù)期目標(biāo),與目前國內(nèi)的牽引機(jī)相比具有顯著優(yōu)點(diǎn)。該控制器實(shí)物和觸摸屏顯示如圖3、圖4所示。
參考文獻(xiàn):
[1] 王杰.基于無線通訊網(wǎng)的牽張?jiān)O(shè)備狀態(tài)監(jiān)控系統(tǒng)研究[J].通信電源技術(shù),2016,33(4):169-170.
[2] 張洋,劉軍. 精通STM32F4(庫函數(shù)版)[M].北京:北京航空航天大學(xué)出版社,2015.
[3] 石中鎖,周卓.基于STM32的SAE-J1939協(xié)議在壓裂車中的應(yīng)用[J].徐州工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2013,28(3):5-7.
[4] 朱亮.李東波.基于 RS485/Modbus 皮帶跑偏檢測傳感網(wǎng)絡(luò)的研究與實(shí)現(xiàn)[J].中國農(nóng)機(jī)化學(xué)報(bào),2014,35(4):217-220.
[5] 司海瑞.基于ARM+GPRS的遠(yuǎn)程無線監(jiān)控系統(tǒng)的研究與開發(fā)[D].南京:南京航空航天大學(xué),2015.
[6] 張河新.王曉輝.基于STM32和CAN總線的智能數(shù)據(jù)采集節(jié)點(diǎn)設(shè)計(jì)[J].化工自動(dòng)化及儀表,2012, 39(1):78-80.
[7] 林填達(dá).張泉宏.基于Modbus協(xié)議的STM32與觸摸屏通訊的實(shí)現(xiàn)[J].總線與網(wǎng)路,2015,8(4):45-48.
[8] 韓進(jìn).馬雙.基于SIM800C的GPRS數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[J].電子產(chǎn)品世界,2016,10:39-42.