程澤宇,張洪峰,吳根平,王 浩
(武漢第二船舶設(shè)計研究所,湖北 武漢 430205)
傳統(tǒng)現(xiàn)場運(yùn)動控制系統(tǒng)多采用集中控制模式,使用一對一方式連線。隨著自動控制系統(tǒng)所需的控制節(jié)點(diǎn)、監(jiān)測節(jié)點(diǎn)越來越多,傳感器數(shù)量大幅增加,對系統(tǒng)可靠性、實時性、擴(kuò)展性、抗干擾能力等要求越來越高,智能組件、控制器、上位機(jī)之間的通信需求愈發(fā)旺盛,開放式、網(wǎng)絡(luò)化的控制系統(tǒng)已經(jīng)成為當(dāng)前數(shù)字控制技術(shù)發(fā)展的主要趨勢?;诖耍鞣N工業(yè)現(xiàn)場總線應(yīng)運(yùn)而生。其中控制器局域網(wǎng)絡(luò)(Controller Area Network,CAN)總線相比傳統(tǒng)通信總線具有實時性強(qiáng)、抗電磁干擾性好、可靠性高的特點(diǎn),能夠?qū)崿F(xiàn)工業(yè)現(xiàn)場各設(shè)備之間的通信以及工業(yè)現(xiàn)場設(shè)備與測控網(wǎng)絡(luò)中心的互相通信,是滿足開放式控制系統(tǒng)互換性、可擴(kuò)展性等要求的理想選擇。CAN能夠?qū)⑦B接到總線的各智能節(jié)點(diǎn)組成節(jié)點(diǎn)網(wǎng),與控制中心連接組成1套完整的自動測控系統(tǒng),進(jìn)行實時監(jiān)控、運(yùn)算修正等操作,從而實現(xiàn)智能控制[1]。
本文對CAN總線控制技術(shù)進(jìn)行概述,從功能及實用角度分析CAN總線的優(yōu)勢,結(jié)合現(xiàn)場使用環(huán)境及應(yīng)用需求設(shè)計了一種嵌入式CAN總線運(yùn)動控制系統(tǒng)。該系統(tǒng)是一種分布式智能電機(jī)驅(qū)動控制系統(tǒng),由主控制器、智能驅(qū)動電機(jī)、位置傳感器構(gòu)成1個閉環(huán)反饋系統(tǒng),控制器接收上位機(jī)的控制指令后實時控制執(zhí)行電機(jī)完成動作,采集電機(jī)運(yùn)行狀態(tài)與傳感器信息,控制器進(jìn)行處理后將信息反饋給上位機(jī)并進(jìn)行運(yùn)動修正。CAN總線具有多個節(jié)點(diǎn),可以同時對多個電機(jī)進(jìn)行實時控制與監(jiān)測,功能節(jié)點(diǎn)可以根據(jù)需求任意配置,具備良好的擴(kuò)展性。系統(tǒng)設(shè)計無線網(wǎng)絡(luò)協(xié)處理器,支持用戶利用通信終端作為上位機(jī)通過無線網(wǎng)絡(luò)進(jìn)行運(yùn)動控制,拓展了用戶的使用控制距離,提升了設(shè)備的易用性和移植性,能夠適應(yīng)工業(yè)現(xiàn)場復(fù)雜的使用環(huán)境。
CAN由德國BOSCH公司開發(fā),具有連接簡便、實時性能好、易于實現(xiàn)、運(yùn)行穩(wěn)定以及成本低廉等優(yōu)點(diǎn),逐漸在工業(yè)系統(tǒng)中得到了非常廣泛的應(yīng)用。CAN是一種總線式串行通信網(wǎng)絡(luò),由物理層、數(shù)據(jù)鏈路層(Data Link Layer,DLL)和應(yīng)用層3層協(xié)議組成,可以有效支持分布式控制和實時控制。作為帶有校驗機(jī)制和檢錯機(jī)制的1種現(xiàn)場總線,CAN總線增強(qiáng)了抗電磁干擾能力[2,3]。
CAN總線控制技術(shù)的主要特點(diǎn)如下:一是靈活的通信模式,CAN網(wǎng)絡(luò)上的各節(jié)點(diǎn)無主從之分,均可自由向網(wǎng)絡(luò)其他節(jié)點(diǎn)發(fā)送信息;二是在通信距離與通信速率上有優(yōu)勢,當(dāng)傳輸速率達(dá)到1 Mb/s時,通信距離可達(dá)40 m,能夠滿足工業(yè)現(xiàn)場需要;三是總線驅(qū)動電路決定了網(wǎng)絡(luò)掛載節(jié)點(diǎn)數(shù)量較多;四是其中的總線仲裁技術(shù)可靈活設(shè)置通信優(yōu)先級,提高數(shù)據(jù)傳輸效率;五是采用短幀結(jié)構(gòu),降低傳輸時間及受干擾程度,通過循環(huán)冗余校驗(Cyclic Redundancy Check,CRC)確保數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
采用分布式控制系統(tǒng),避免因控制對象多而分散導(dǎo)致施工困難或存在故障隱患。分布式控制結(jié)構(gòu)可以根據(jù)執(zhí)行機(jī)構(gòu)分布情況設(shè)置子模塊位置,從而縮短控制對象(本系統(tǒng)中為電機(jī))與子控制模塊(本系統(tǒng)中為電機(jī)驅(qū)動器)之間的距離。子模塊與主控制器之間通過CAN總線通信。
為了掌握系統(tǒng)運(yùn)動狀態(tài)并進(jìn)行閉環(huán)控制,設(shè)置電流型傳感器與開關(guān)量傳感器采集位置信息,系統(tǒng)設(shè)置相應(yīng)的檢測電路進(jìn)行信號采集。為了滿足現(xiàn)場使用的便利性,利用無線通信終端作為系統(tǒng)上位機(jī),終端上位機(jī)通過無線網(wǎng)絡(luò)協(xié)處理器與主控制器通信,接收系統(tǒng)位置信息并下發(fā)運(yùn)動控制指令。
主控制器和上位機(jī)是控制系統(tǒng)的主要組成部分。上位機(jī)是整個系統(tǒng)的操作平臺終端,接收主控制器發(fā)送的系統(tǒng)狀態(tài)信息并將控制指令發(fā)送給主控制器。主控制器主要采集現(xiàn)場傳感器數(shù)據(jù),并根據(jù)運(yùn)動控制策略對控制指令進(jìn)行實時修正,通過CAN總線下發(fā)運(yùn)動控制指令。
CAN總線運(yùn)動控制系統(tǒng)由主控制模塊、無線網(wǎng)絡(luò)協(xié)處理模塊、CAN接口模塊、AD采集模塊以及相關(guān)外圍電路組成,其功能單元和模塊數(shù)量可以根據(jù)系統(tǒng)任務(wù)需求增加或減少??刂葡到y(tǒng)原理框架如圖1所示。
圖1 控制系統(tǒng)原理框架
主控制模塊采用數(shù)字信號處理器(Digital Signal Processor,DSP)TMS28335作為主控芯片,實現(xiàn)高性能的數(shù)據(jù)傳輸。該芯片具備12位16通道模數(shù)轉(zhuǎn)換器(Analog-to-Digital Converter,ADC),支撐多種串型端口外設(shè)。主控制模塊通過CAN接口與CAN總線網(wǎng)絡(luò)和電機(jī)驅(qū)動器進(jìn)行通信,接收到控制命令后按相關(guān)控制策略將指令經(jīng)過CAN接口傳送給驅(qū)動器,驅(qū)動器接收指令控制電機(jī)進(jìn)行運(yùn)動,同時將電機(jī)運(yùn)動過程中的電壓、電流等信息實時反饋給主控制模塊。與此同時,主控制模塊實時采集AD傳感器位置信號,結(jié)合電機(jī)運(yùn)動狀態(tài)對控制指令進(jìn)行修正。主控制模塊與無線網(wǎng)絡(luò)協(xié)處理模塊通過串行外設(shè)接口(Serial Peripheral Interface,SPI)進(jìn)行信息交互,向上位機(jī)傳輸采集的信息并接收上位機(jī)發(fā)送的控制指令。
無線網(wǎng)絡(luò)協(xié)處理控制模塊主要完成無線Wi-Fi信號的處理,在主控制模塊與上位機(jī)件之間建立通信,實現(xiàn)信息傳輸。無線網(wǎng)絡(luò)協(xié)處理控制模塊采用TI公司的CC3220模塊,其具有無線通信網(wǎng)絡(luò)芯片,并包含附加專用的多點(diǎn)控制單元(Multi Control Unit,MCU),充分減輕處理器承擔(dān)的互聯(lián)網(wǎng)協(xié)議處理壓力。該模塊具有強(qiáng)大的加密引擎,可以實現(xiàn)快速安全且?guī)Ъ用芄δ艿幕ヂ?lián)網(wǎng)連接,支持基站、接入點(diǎn)和Wi-Fi直連模式。無線網(wǎng)絡(luò)協(xié)處理控制模塊電路如圖2所示。
圖2 無線網(wǎng)絡(luò)協(xié)處理模塊電路
CAN接口模塊是主控制模塊與CAN總線網(wǎng)絡(luò)通信的接口,其中主控模塊DSP28335內(nèi)部的CAN信號處理器采用消息對象的方式進(jìn)行數(shù)據(jù)的發(fā)送和接收。CAN模塊具備32個消息對象,每個消息對象可以配置為發(fā)送或接收形式。DSP內(nèi)部的CAN控制器可以對幀數(shù)據(jù)進(jìn)行發(fā)送和接收,但在CAN控制器完成數(shù)據(jù)處理后需要內(nèi)核寄存器進(jìn)行讀取,然后再由CAN控制器進(jìn)行處理。CAN接口電路如圖3所示。
圖3 CAN接口電路
為了提升傳輸效率,設(shè)計CAN總線收發(fā)器進(jìn)行控制總線通信,選用CTM1050T作為CAN隔離收發(fā)模塊[4,5]。模塊將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,并且具有直流隔離、靜電放電(ElectroStatic Discharge,ESD)保護(hù)功能,內(nèi)部集成了必需的電氣元件,包括隔離電路、CAN收發(fā)器、總線保護(hù)、電源電路。CTM1050T引腳功能如表1所示。
表1 CTM1050T引腳功能
供電電路中,在傳感器供電端串聯(lián)一個100 mA自恢復(fù)保險,避免單個傳感器出現(xiàn)短路情況下影響其他傳感器工作,提高信號傳輸可靠性。同時設(shè)計信號電流電壓轉(zhuǎn)換電路,增加采樣電阻R2,D1、D2、R1構(gòu)成保護(hù)電路,使得傳感器信號異常狀態(tài)下不損壞采樣電路。采集模塊電路中采用低溫漂高精度電阻,同時采用低漏電流型二極管和ADI公司的16位8通道AD芯片AD7606,提高測量精度。AD7606是16位8通道同步采樣模數(shù)芯片,內(nèi)置模擬輸入嵌位保護(hù)、二階抗混疊濾波器、跟蹤保持放大器、16位電荷再分配逐次逼近型模數(shù)轉(zhuǎn)換器、靈活的數(shù)字濾波器、2.5 V基準(zhǔn)電壓源、基準(zhǔn)電壓緩沖以及高速串行和并行接口。傳感器信號采集電路如圖4所示。
圖4 傳感器信號采集電路
電源管理單元主要由保險管、交流/直流(Alternating Current/Direct Current,AC/DC) 模 塊、直流/直流(Direct Current/Direct Current,DC/DC)模塊以及電源管理芯片組成,通過對輸入的電源電壓進(jìn)行濾波、電壓轉(zhuǎn)換,從而獲得傳感器、控制器所需穩(wěn)定的工作電壓。電源管理單元主要實現(xiàn)電源的濾波和保護(hù)、位置傳感器的供電以及控制器內(nèi)部供電,其電路如圖5所示。
圖5 電源管理電路
CAN總線運(yùn)動控制系統(tǒng)軟件包含控制器嵌入式軟件與上位機(jī)系統(tǒng)軟件2個部分。嵌入式軟件完成傳感器信號采集,根據(jù)策略發(fā)送運(yùn)動控制指令并進(jìn)行運(yùn)動狀態(tài)監(jiān)測,電機(jī)發(fā)生故障時能夠及時進(jìn)行中斷處理,保證系統(tǒng)運(yùn)行安全。上位機(jī)系統(tǒng)軟件用戶界面通過超文本標(biāo)記語言(Hyper Text Markup Language,HTML)實現(xiàn),使用JavaScript和jQuery完成界面交互與HTTP數(shù)據(jù)通信。
系統(tǒng)通過無線網(wǎng)絡(luò)協(xié)處理模塊與主控制器模塊協(xié)作,DSP控制芯片與電機(jī)控制器通過CAN進(jìn)行數(shù)據(jù)交互,DSP控制芯片與AD芯片經(jīng)過SPI進(jìn)行數(shù)據(jù)交互,可實現(xiàn)通過Wi-Fi遠(yuǎn)程控制電機(jī)功能和電流傳感器采集功能。外部信號接口構(gòu)成如圖6所示。
圖6 外部信號接口構(gòu)成
用戶只需使用具備無線通信能力的手持終端即可登錄網(wǎng)頁進(jìn)行控制,無須單獨(dú)配置硬件終端設(shè)備。此外,用戶能夠在控制系統(tǒng)各個部位進(jìn)行操控,便于對運(yùn)動過程進(jìn)行監(jiān)控確認(rèn),具備更好的靈活性與便利性。
DSP嵌入式軟件運(yùn)行流程如圖7所示。
圖7 DSP嵌入式軟件運(yùn)行流程
當(dāng)DSP控制器上電后,初始化底層硬件驅(qū)動,配置好定時器中斷、AD模塊、CAN模塊。主程序循環(huán)查詢接收來自ARM芯片的數(shù)據(jù)通信請求,借此發(fā)起數(shù)據(jù)通信交互。如果接收到完整的數(shù)據(jù),則根據(jù)通信協(xié)議解析及處理,根據(jù)要求發(fā)出指令控制電機(jī)進(jìn)行相應(yīng)的轉(zhuǎn)動。在電機(jī)運(yùn)動過程中,實時接收驅(qū)動器發(fā)送的電壓、電流狀態(tài)信息及相關(guān)故障碼,針對特定故障進(jìn)行自動中斷處理。
上位機(jī)系統(tǒng)軟件運(yùn)行原理如圖8所示。
圖8 通信線程流程示意
當(dāng)無線網(wǎng)絡(luò)協(xié)處理模塊ARM芯片上電后,初始化HTTP網(wǎng)絡(luò)服務(wù)器及底層硬件線程,創(chuàng)建HTTP線程及SPI線程。創(chuàng)建完成后,SPI線程通過等待來自HTTP線程發(fā)出的接收到HTML網(wǎng)頁請求(POST或GET)后的郵箱數(shù)據(jù),使用SPI與DSP進(jìn)行相應(yīng)的數(shù)據(jù)交互與控制流程動作,完成通信后回復(fù)客戶端HTML發(fā)起的網(wǎng)頁請求,通過JavaScript更新網(wǎng)頁界面。本文設(shè)計的CAN監(jiān)控上位機(jī)軟件能夠?qū)?shù)據(jù)的傳輸和處理狀態(tài)進(jìn)行實時監(jiān)控,也能隨時下達(dá)運(yùn)動控制指令。
采用CAN總線通信的方式來控制電機(jī)的運(yùn)動,主控制器與電機(jī)驅(qū)動器之間采用標(biāo)準(zhǔn)幀格式通信協(xié)議。對電機(jī)步進(jìn)運(yùn)動測試檔位進(jìn)行調(diào)整,對比輸出控制值及編碼器反饋值,轉(zhuǎn)動測試結(jié)果如表2所示。
表2 電機(jī)轉(zhuǎn)動測試表
根據(jù)試驗數(shù)據(jù),CAN總線系統(tǒng)能夠控制電機(jī)進(jìn)行轉(zhuǎn)動、停止。結(jié)合軟件定時功能,可以設(shè)置每10 ms反饋電機(jī)運(yùn)行信息。按照該運(yùn)行電機(jī)運(yùn)動速度為20 mm/s,理論精度可以控制在0.02 mm。實際由于系統(tǒng)機(jī)械傳動誤差、步進(jìn)間隙等誤差干擾,實測系統(tǒng)的運(yùn)動控制精度能夠控制在0.1 mm左右,足以滿足大部分情況下的控制精度要求。
CAN總線通信控制系統(tǒng)具有抗干擾性強(qiáng)、可靠性高的特點(diǎn),廣泛應(yīng)用于工業(yè)控制系統(tǒng)。本文設(shè)計了一種具備遠(yuǎn)程采集、控制功能的CAN總線控制系統(tǒng),給出了具體的硬件、軟件設(shè)計方案。將成熟的CAN總線控制系統(tǒng)與電機(jī)控制結(jié)合,提升了系統(tǒng)的可靠性與實用性,具備良好的運(yùn)動控制精度。CAN總線通信具備良好的擴(kuò)展性,既能實現(xiàn)更多電機(jī)及執(zhí)行機(jī)構(gòu)的系統(tǒng)聯(lián)動,也支持系統(tǒng)將模擬量傳感器更新為數(shù)字化智能傳感器。此外,該系統(tǒng)支持無線終端遠(yuǎn)程采集監(jiān)控,便于用戶在現(xiàn)場進(jìn)行操控,提升了系統(tǒng)的易用性。