駱清國, 寧興興, 尹洪濤
(裝甲兵工程學(xué)院,北京100072)
基于Modbus協(xié)議的冷卻系統(tǒng)控制研究
駱清國, 寧興興, 尹洪濤
(裝甲兵工程學(xué)院,北京100072)
應(yīng)用Modbus通信協(xié)議,通過傳感器、控制器及MC9S12DP512單片機控制單元完成了對高低溫雙循環(huán)的冷卻系統(tǒng)中各部件物理參數(shù)的采集及執(zhí)行器的控制,實現(xiàn)了對冷卻系統(tǒng)的精確控制.在裝甲車輛熱管理模擬試驗臺上的試驗結(jié)果表明,可以將冷卻液出口水溫偏差控制在±1℃,在工況發(fā)生變化時,能夠在短時間內(nèi)達到新的平衡狀態(tài).
Modbus協(xié)議;冷卻系統(tǒng);單片機
隨著新一代裝甲車輛對機動性要求的不斷提高,推進系統(tǒng)采用了更大的單位體積功率及更加緊湊的設(shè)計,使得推進系統(tǒng)內(nèi)部形成了熱部件多、目標溫度范圍寬、散熱量與熱流密度大的特點,再加上裝甲車輛工作環(huán)境惡劣與動力艙結(jié)構(gòu)緊湊等情況,使得推進系統(tǒng)的冷卻問題變得更加突出,散熱難度加大.
冷卻系統(tǒng)工作性能的優(yōu)劣,直接影響著動力系統(tǒng)的整體性能[1].傳統(tǒng)裝甲車輛冷卻系統(tǒng)的冷卻風扇和冷卻水泵均由發(fā)動機曲軸驅(qū)動,不能實現(xiàn)自主調(diào)節(jié)轉(zhuǎn)速,難以達到按需冷卻的目的,并且能耗大.為了解決與日俱增的冷卻難題,研究人員開始從不同的方面對此進行了研究,主要有冷卻機制的優(yōu)化、冷卻系統(tǒng)結(jié)構(gòu)的優(yōu)化、新材料的使用及冷卻系統(tǒng)的智能化控制等方案.
文中著重研究采用Modbus協(xié)議的冷卻系統(tǒng)智能化控制問題.采用MC9S12DP512單片機作為控制單元、Modbus協(xié)議作為通信協(xié)議,使用電子水泵和電子風扇實現(xiàn)對冷卻系統(tǒng)的智能化控制.
1.1 冷卻系統(tǒng)組成
研究的冷卻系統(tǒng)主要由以下部件組成:高低溫雙循環(huán)冷卻回路;電子水泵和電子風扇;控制單元;傳感器及信號轉(zhuǎn)換系統(tǒng).如圖1所示.
圖1 冷卻系統(tǒng)原理圖
圖1所示方案采用高低溫雙循環(huán)的冷卻回路,分別將高溫的柴油機和一級中冷器布置在同一冷卻回路,由電子水泵、高溫散熱器、電子風扇、各類傳感器等構(gòu)成高溫冷卻回路;將低溫的電機及其控制器、傳動油換熱器、二級中冷器、級間中冷器、機油換熱器、低溫散熱器、電子水泵、電子風扇及各類傳感器等構(gòu)成低溫冷卻回路.該方案的優(yōu)點是可以根據(jù)高低溫冷卻回路的不同冷卻需求來進行冷卻,有效降低了對低溫部件過渡冷卻造成的能源浪費和對高溫部件冷卻不足帶來的損害.所采用的傳感器型號及精度如表1所示.
表1 傳感器類型及技術(shù)參數(shù)
MC9S12DP512是一個高度集成的16位微處理器,是Motorola公司HC9S12家族16位嵌入式單片機系列產(chǎn)品,常用于自動化和工業(yè)系統(tǒng),特別適合用在汽車上.片上集成了4kB的片上存儲器EEPROM、12 kB的片上存儲器RAM和512kB的片上程序存儲器FLASH,2個SCI模塊、3個SPI模塊、1個IIC模塊、5個CAN2.0A/B模塊、1個8通道ETC模塊、2個8通道10位A/D轉(zhuǎn)換模塊、1個8通道PWM模塊等[2].存儲空間充足,足以進行控制程序的開發(fā)及存儲,無需進行片外程序存儲器的擴展,同時各存儲單元采取統(tǒng)一編址,支持分頁技術(shù),給編程帶來極大方便.
溫度傳感器主要用來檢測發(fā)動機冷卻液溫度,冷卻風道氣溫和機油溫度,用以提供控制單元所需要的參數(shù),選用鉑熱電阻溫度傳感器;壓力傳感器主要用來測量冷卻液管路內(nèi)壓力隨溫度及冷卻強度的變化情況,了解系統(tǒng)壓力變化對冷卻強度的影響,為進一步提高控制精度打下基礎(chǔ),選用耐高溫航空插頭型壓力傳感器;轉(zhuǎn)速傳感器主要用來采集水泵、風扇及發(fā)動機的轉(zhuǎn)速信號,本文選擇反射式光電轉(zhuǎn)速傳感器;流量傳感器主要用來測量冷卻液流量,通過計算獲得流量數(shù)據(jù),采用基于卡門漩渦理論制造的渦街流量計.
傳感器對各物理參數(shù)進行采集,經(jīng)過轉(zhuǎn)換后變?yōu)椴煌碾娦盘栠M行傳遞,例如溫度轉(zhuǎn)變?yōu)闊犭娮栊盘?,壓力轉(zhuǎn)變?yōu)?~20 mA信號,轉(zhuǎn)速轉(zhuǎn)變?yōu)槊}沖信號等;而單片機進行內(nèi)部運算處理的只能是數(shù)字信號,因此,需要將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號.同時,單片機向外界發(fā)送指令時,其發(fā)送的信號也是數(shù)字信號,而各類執(zhí)行器處理的是模擬電信號,又需要將數(shù)字信號轉(zhuǎn)變?yōu)槟M信號,這就需要有信號轉(zhuǎn)換系統(tǒng)完成模/數(shù)和數(shù)/模轉(zhuǎn)換,采用采集模塊作為信號轉(zhuǎn)換系統(tǒng).采集模塊將不同的信號轉(zhuǎn)換為控制單元、傳感器和執(zhí)行器可識別的信號,采集模塊采用Modbus協(xié)議,使用RTU模式進行通信.
1.2 冷卻系統(tǒng)的控制原理
由于傳統(tǒng)裝甲車輛冷卻系統(tǒng)為被動冷卻系統(tǒng),難以實現(xiàn)自主調(diào)節(jié)的目的,因此,大多數(shù)冷卻系統(tǒng)在設(shè)計時按照最大冷卻能力設(shè)計,這往往造成部分負荷工況容易產(chǎn)生過量冷卻現(xiàn)象.為此,研究的冷卻系統(tǒng)不得不采取按需冷卻的思路,將水泵和風扇與發(fā)動機轉(zhuǎn)速解耦,實現(xiàn)自主調(diào)節(jié)冷卻強度的目的,根據(jù)柴油機進出口冷卻液溫度來調(diào)節(jié)冷卻液流量(水泵轉(zhuǎn)速)和冷卻風量(風扇轉(zhuǎn)速).
由各種傳感器(溫度、速度等傳感器)監(jiān)測車輛運行狀態(tài)的變化,同時,把各類傳感器信號轉(zhuǎn)變?yōu)槟M信號,通過采集模塊將模擬信號轉(zhuǎn)換為控制單元可處理的數(shù)字信號,并通過RS-485總線將信號送入控制單元中,控制單元根據(jù)預(yù)定的控制策略,經(jīng)過程序運算輸出控制信號,再經(jīng)過采集模塊將控制命令輸送到各執(zhí)行器(電子水泵和電子風扇),實現(xiàn)對它們的控制,從而實現(xiàn)推進系統(tǒng)冷卻液溫度的穩(wěn)定,使其工作在適宜的溫度范圍內(nèi).
1.3 冷卻系統(tǒng)的控制策略
當發(fā)動機出口水溫小于80 ℃(處于預(yù)熱狀態(tài))時,控制單元僅檢測各傳感器采集的數(shù)據(jù),不發(fā)出控制命令,即電子風扇和電子水泵均處于關(guān)閉狀態(tài).關(guān)閉電子水泵有利于減少冷卻液散熱損失以加快暖機速度,并節(jié)約水泵能耗.
當發(fā)動機出水口水溫大于80 ℃時,控制單元根據(jù)預(yù)定的控制策略,認定暖機狀態(tài)結(jié)束,啟動電子水泵(此時電子風扇不啟動),并讓其以最低轉(zhuǎn)速運轉(zhuǎn),維持冷卻系統(tǒng)內(nèi)冷卻液的流動,避免局部過熱.
當發(fā)動機出水口水溫大于90 ℃時,控制單元認定進入行駛狀態(tài),其控制策略為啟動電子風扇,電子風扇采用MAP前饋控制,電子水泵采用基于模糊算法的反饋控制.
發(fā)動機停機后,由于自身熱容及熱慣性的存在,仍有一定的散熱需求[3].為避免由于冷卻系統(tǒng)停止工作,造成的局部過熱問題,當發(fā)動機停機時,控制單元認定進入后冷卻狀態(tài).此時為達到冷卻效果,同時節(jié)約能耗,采取的控制策略為電子風扇停止轉(zhuǎn)動,僅電子水泵以最低轉(zhuǎn)速運行2分鐘,達到冷卻效果.
Modbus協(xié)議是由Modicon公司最先研制開發(fā)的,被施耐德電氣公司最先倡導(dǎo)使用的一種通信協(xié)議,經(jīng)過工業(yè)公司的實際應(yīng)用,目前已成為工業(yè)控制領(lǐng)域一種流行的、標準的通信協(xié)議[4].該協(xié)議支持傳統(tǒng)的通信設(shè)備,例如RS-232、RS-485和以太網(wǎng)設(shè)備.
2.1 主從通訊模式
Modbus協(xié)議在串行鏈路層通信時,采用的是主從式通信模式,即在同一時間,總線上只有一個主站和若干個(最多247個)從站,文中主站就是控制單元,從站就是各傳感器和執(zhí)行器.Modbus通信通常由主站發(fā)送請求,從站接收到主站請求后進行通信應(yīng)答,從站未接收到主站的請求時,不會發(fā)送應(yīng)答數(shù)據(jù),各從站之間不能相互通信.文中采用主從式通信模式主要是因為該模式可以保證控制線路只有在主站需要通信時由主站啟動特定的通信,避免各從站相互通信占用信道,而且各從站也沒有相互通信的必要.
主站可以采用兩種方式向從站發(fā)起請求:一種是單播模式,即主站尋址單個從站并發(fā)送Modbus請求,對應(yīng)從站響應(yīng)主站的請求,處理主站請求完畢后向主站返回一個應(yīng)答報文;另一種是廣播模式,即主站向所有從站發(fā)出請求,而從站無需對主站發(fā)送的廣播請求進行應(yīng)答返回,但只有寫命令才可以用于廣播請求.
2.2 Modbus幀
Modbus協(xié)議通過在協(xié)議數(shù)據(jù)單元(PDU)上增加一些附加字段完成Modbus協(xié)議到總線或網(wǎng)絡(luò)的映射,啟動Modbus事務(wù)處理的從站構(gòu)造Modbus PDU,然后添加附加字段,以便構(gòu)造相應(yīng)的通信PDU,如圖2所示.
圖2 串行鏈路上的Modbus幀
地址字段指明尋址的從站地址;功能碼字段為服務(wù)器要響應(yīng)的操作類型;數(shù)據(jù)字段是請求或響應(yīng)的內(nèi)容參數(shù);CRC(或LRC)字段是根據(jù)報文內(nèi)容執(zhí)行“冗余校驗”計算的結(jié)果,用來校驗報文是否在傳輸過程中出現(xiàn)差錯.
Modbus有兩種通信模式;一種是RTU模式;另一種是ASCII模式.文中側(cè)重介紹RTU模式.當設(shè)備使用RTU(Remote Terminal Unit)模式在Modbus串行鏈路上通信時,報文中將每個8位的字節(jié)分為兩個4位的十六進制字符.該模式保持了較高的字符密度,提高了數(shù)據(jù)吞吐量,為保持報文幀的完整,兩個字符之間的空閑間隔不應(yīng)大于1.5個字符時間,大于1.5個字符時間時,接收站將認為報文幀不完整,并丟棄該報文幀.RTU模式中以至少3.5個字符時間的空閑間隔作為區(qū)分不同報文幀的標志.RTU報文幀格式如表2所示.
表2 RTU報文幀
2.3 CRC校驗
循環(huán)冗余校驗(CRC)字段分為兩個字節(jié),是一個二進制的16位值.接收報文過程中,接收設(shè)備計算CRC值,并將其與發(fā)送設(shè)備附加在報文CRC字段中的實際值相互比較,如果這兩個值不等,則說明報文傳送錯誤,丟棄該報文并回復(fù)主站錯誤情況,由主站確定是否重新發(fā)送數(shù)據(jù).
通過預(yù)裝載一個全1的16位寄存器來啟動CRC計算,每個8位字符與寄存器中的值進行異或運算,然后向最低有效位方向移動這個結(jié)果,用零填充最高有效位.判斷最低有效位是否為1,為1則寄存器中的值與固定的預(yù)置值異或;為0則不進行異或運算.重復(fù)該過程直到執(zhí)行完8次移位,完成第8次移位后,下一個8位字節(jié)與寄存器的當前值異或,然后重復(fù)上述過程8次.當計算完報文中所有字節(jié)后,寄存器中的值就是該報文的CRC值.文中編寫了基于計算法(另外還有查表法)獲取CRC校驗碼的程序,具體程序如下:
unsigned short CRC(unsigned char *pMsg,unsigned short N)
{
unsigned short CRC=0xffff; //預(yù)裝CRC寄存器
unsigned short mul=0xA001; //設(shè)置固定的預(yù)置值
unsigned short txt=0x0000; //保存相關(guān)數(shù)據(jù)的中間變量
int i=0;
while(N--)
{
CRC=CRC^*pMsg++; //數(shù)據(jù)與CRC寄存器進行異或運算
for(i=0;i<8;i++)
{
txt=CRC; //將CRC值保存在txt中用于后續(xù)計算
txt=txt<<15; //獲得CRC寄存器最后一位
if(txt==0x8000)
{//判斷CRC寄存器最后一位是否為1,如果為1則右移一位,并與多項式進行異或
CRC=CRC>>1;
CRC=CRC^mul;
}
else //如果CRC寄存器最后一位不為1,則只將CRC寄存器右移一位,不進行異或運算
CRC=CRC>>1;
}
}
txt=CRC; //保存CRC寄存器值,用于下一步運算
return CRC<<8|txt>>8; //得到CRC校驗碼
}
3.1 RTU模式下的Modbus數(shù)據(jù)幀
Modbus功能碼是Modbus請求/應(yīng)答PDU的元素,功能碼向服務(wù)器指示將執(zhí)行哪種操作[5].文中用到4個功能碼,03、04、06和10(均為十六進制數(shù)),功能碼03指示服務(wù)器讀取保持寄存器值;功能碼04指示服務(wù)器讀取輸入寄存器值;功能碼06指示服務(wù)器寫單個寄存器;功能碼10指示服務(wù)器寫多個寄存器.
獲取柴油機出口冷卻液溫度的RTU報文幀為01 04 01 06 00 01 20 19.其中,01為采集模塊地址,04為Modbus功能碼,01 06分別為要讀取參數(shù)的起始地址高4位和低4位值,00 01分別表示要讀取的輸入寄存器數(shù)量的高4位和低4位值,20 19分別表示數(shù)據(jù)部分的CRC校驗值的低4位和高4位值.
獲取柴油機入口冷卻液溫度的RTU報文幀為01 04 01 04 00 01 81 D9,報文幀涵義可類比上例.獲取高溫散熱器出入口冷卻液溫度的RTU報文幀分別為:02 04 01 06 00 01 20 19和02 04 01 04 00 01 81 D9.
設(shè)置冷卻風扇轉(zhuǎn)速為3 000 r/min的RTU報文幀為03 06 01 60 0B B5 C1 41.設(shè)置高低溫循環(huán)水泵轉(zhuǎn)速分別為1 200 r/min和700 r/min的RTU報文幀分別為03 06 01 64 06 9E C2 0F和03 06 01 66 03 DC E0 AE.
3.2 熱管理模擬試驗臺試驗
該控制系統(tǒng)在實車測試前需要先在熱管理模擬試驗臺上進行測試,文中所使用的熱管理模擬試驗臺如圖3所示.圖中用鍋爐的加熱量模擬裝甲車輛推進系統(tǒng)的整體散熱量,用3個并聯(lián)的換熱器模擬推進系統(tǒng)的不同熱源,用球閥與換熱器的串聯(lián)阻力模擬不同管路的阻力.換熱器1和換熱器2分別用來模擬發(fā)動機本體和一級中冷器,位于高溫回路;換熱器3用來模擬電機及其控制器、傳動油換熱器、二級中冷器、級間中冷器、機油換熱器等,位于低溫循環(huán)回路.經(jīng)過鍋爐加熱的導(dǎo)熱油流經(jīng)換熱器同流經(jīng)換熱器的冷卻液進行熱量交換,通過電控閥控制各換熱器的換熱量,達到模擬推進系統(tǒng)換熱過程的效果.
圖3 熱管理模擬試驗臺原理圖
在熱管理模擬試驗臺上,對基于Modbus協(xié)議的冷卻系統(tǒng)控制問題進行實車試驗前的驗證,結(jié)果表明:在鍋爐出口導(dǎo)熱油120 ℃的情況下,分別設(shè)置高溫循環(huán)回路水泵轉(zhuǎn)速為1 800 r/min,低溫循環(huán)回路水泵轉(zhuǎn)速為800 r/min,在風扇轉(zhuǎn)速3 000 r/min時穩(wěn)定,此時柴油機冷卻液出口水溫在100 ℃左右,換熱量在25.5 kW左右;當風扇轉(zhuǎn)速由3 000 r/min提高到3 500 r/min時,其余條件不變,柴油機冷卻液出口水溫在約40秒后開始下降,約140秒后降至98.6 ℃左右,并在98.6 ℃上下浮動,對溫度的控制精度在1 ℃以內(nèi);換熱量在30秒后開始提高,在30秒內(nèi)開始趨于穩(wěn)定,在28 kW上下浮動,對換熱量的控制精度在1 kW以內(nèi),如圖4和圖5所示.
圖4 發(fā)動機出口冷卻液溫度與風扇轉(zhuǎn)速圖
圖5 換熱量與風扇轉(zhuǎn)速圖
在經(jīng)過熱管理模擬試驗臺驗證的基于Modbus協(xié)議的冷卻系統(tǒng)控制結(jié)果表明,采用Modbus協(xié)議能夠?qū)⒛M柴油機本體的換熱器冷卻液出口水溫控制在±1℃,在工況發(fā)生變化時能夠在短時間內(nèi)達到新的平衡狀態(tài),滿足了系統(tǒng)要求,控制效果較好,可以進行下一步的實車試驗.
[1] 成曉北,潘 立,鞠紅玲.現(xiàn)代車用發(fā)動機冷卻系統(tǒng)研究進展[J].車用發(fā)動機,2008(1):1-6.
[2] 胡建紅.基于MC9S12DP512與CAN總線的電池管理系統(tǒng)研究與設(shè)計[D].上海:上海交通大學(xué),2008.
[3] 韓 松.車用發(fā)動機智能冷卻系統(tǒng)基礎(chǔ)問題研究[D].杭州:浙江大學(xué),2012.
[4] 馮向科,鄧 瑩.基于MODBUS RTU通信協(xié)議下的CRC算法實現(xiàn)[J].電腦知識與技術(shù),2006(8):43,59.
[5] GB/T19582.1-2008.基于Modbus協(xié)議的工業(yè)自動化網(wǎng)絡(luò)規(guī)范第1部分:Modbus應(yīng)用協(xié)議[S].北京:中國標準出版社,2008:1-47.
Control of Cooling System based on Modbus Protocol
LUO Qing-guo, NING Xing-xing, YIN Hong-tao
(Academy of Armored Forces Engineering, Beijing 100072, China)
With the help of sensors, controllers, and a MC9S12DP512 microprocessor controlled unit (MCU), both the parameter collection of a high and low temperature dual circulation cooling system and the control of the actuators are accomplished according to Modbus protocol, realizing an accurate control of the system. The testing results from a thermal management simulation bench show that the deviation of the coolant outlet temperature can be controlled within ±1℃,and that the new equilibrium state can be achieved in a short time when the operating conditions change.
modbus protocol; cooling system; microprocessor controlled unit
1009-4687(2015)04-0002-05
2015-9-24
“二十五”裝備預(yù)先研究項目(40402010103)
駱清國(1965-),男,教授,研究方向為軍用車輛發(fā)動機.
464.138
A