辛龍威, 李曉卉, 方康玲
(武漢科技大學(xué)信息科學(xué)與工程學(xué)院,湖北武漢 430081)
隨著人們對(duì)空氣質(zhì)量的要求不斷提高,汽車(chē)排放問(wèn)題引起了廣泛關(guān)注。隨著未來(lái)排放法規(guī)的推出,對(duì)柴油機(jī)排出的氮氧化物(NOx)和微粒(PM)限制越來(lái)越嚴(yán)格。采用尿素選擇性催化還原(Selective Catalytic Reduction,SCR)技術(shù)的發(fā)動(dòng)機(jī)可以更有效地降低NOx的排放,并且有明顯的節(jié)能特點(diǎn),它將是我國(guó)重型柴油機(jī)達(dá)到第Ⅳ階段排放標(biāo)準(zhǔn)的最佳選擇。
計(jì)量泵是柴油機(jī)SCR系統(tǒng)的重要組成部分,通常采用直流無(wú)刷電機(jī)(Brushless DC Motor,BLDCM)往計(jì)量泵中泵入尿素溶液以達(dá)到對(duì)尿素的噴射進(jìn)行控制。但是,電機(jī)在控制尿素噴射的同時(shí),還需要通過(guò) CAN總線與汽車(chē)門(mén)控單元(Door Control Unit,DCU)保持通信,以保證車(chē)輛的正常運(yùn)轉(zhuǎn)。針對(duì)該需求,本文在分析了CAN總線的主要特性基礎(chǔ)上,提出了一種基于CAN總線的BLDCM控制系統(tǒng)。
CAN總線最早是由德國(guó)Bosch公司推出,用于汽車(chē)內(nèi)部測(cè)量與執(zhí)行部件之間的數(shù)據(jù)通信協(xié)議。隨著CAN總線在車(chē)輛上的廣泛運(yùn)用,為規(guī)范通信系統(tǒng)和各系統(tǒng)的兼容性,1993年11月ISO頒布了道路交通運(yùn)輸工具數(shù)據(jù)信息交換高速通信局域網(wǎng)(CAN)國(guó)際標(biāo)準(zhǔn)ISO11898,為控制局域網(wǎng)的標(biāo)準(zhǔn)化和規(guī)范化鋪平了道路。根據(jù)ISO定義的OSI模型,CAN2.0B規(guī)范定義了物理層和數(shù)據(jù)鏈路層規(guī)范,這為不同的CAN總線用戶制定符合自身需要的應(yīng)用層協(xié)議提供了很大的便利,如果需要建立更加完善的系統(tǒng),還需要在CAN2.0B的基礎(chǔ)上選擇合適的應(yīng)用層協(xié)議,CAN 2.0B協(xié)議包括標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種報(bào)文格式。
CAN總線的主要特性如下:
(1)工作于多主方式,每個(gè)節(jié)點(diǎn)都可成為主機(jī)。
(2)通信介質(zhì)可為雙絞線,同軸電纜或光纖。
(3)CAN的通信距離最遠(yuǎn)可達(dá)10 km,通信速率最高達(dá)1 Mbps。
(4)CAN協(xié)議采用CRC檢驗(yàn),并可提供相應(yīng)的錯(cuò)誤處理功能,保證了數(shù)據(jù)通信的可靠性。
(5)具有點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)和全局廣播等多種傳播方式。
(6)自動(dòng)關(guān)閉。CAN總線可以判斷出總線上錯(cuò)誤的類(lèi)型是暫時(shí)的數(shù)據(jù)錯(cuò)誤還是持續(xù)的數(shù)據(jù)錯(cuò)誤。當(dāng)節(jié)點(diǎn)發(fā)生持續(xù)的數(shù)據(jù)錯(cuò)誤時(shí),可自動(dòng)關(guān)閉,脫離總線。
基于CAN總線的BLDCM控制系統(tǒng)主要包括單片機(jī)控制電路、以MC33035為核心的驅(qū)動(dòng)電路、BLDCM(包含霍爾位置傳感器)、D/A轉(zhuǎn)換電路、CAN收發(fā)器電路和測(cè)速用到的濾波電路組成,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
在本驅(qū)動(dòng)電路中(見(jiàn)圖2),MC33035為電機(jī)控制器,MC33039為電子測(cè)速器,MPM3003為集成MOS管驅(qū)動(dòng)芯片。霍爾的信號(hào)反饋到測(cè)速電路,測(cè)速電路經(jīng)F/V變換,將位置傳感器的輸出信號(hào)變換成正比于電機(jī)轉(zhuǎn)速的電壓信號(hào),經(jīng)主控電路實(shí)現(xiàn)電機(jī)精確調(diào)速控制;位置傳感器反饋信號(hào)經(jīng)主控電路譯碼成六路驅(qū)動(dòng)輸出信號(hào),控制逆變橋電路正常工作;為了更清晰地觀察到測(cè)速效果,采用滑動(dòng)變阻器來(lái)代替 D/A電路,通過(guò)MC33035的11腳來(lái)調(diào)節(jié)無(wú)刷電機(jī)的轉(zhuǎn)速。

圖2 電機(jī)驅(qū)動(dòng)模塊

圖1 系統(tǒng)結(jié)構(gòu)框圖
本系統(tǒng)采用飛思卡爾的MC9S12DP512單片機(jī),MC9S12DP512單片機(jī)是Freescale公司HCS12系列16位單片機(jī)的一種,其內(nèi)部主要由MCU的基本部分和CAN功能模塊組成[1]。無(wú)刷電機(jī)存在起動(dòng)死區(qū)問(wèn)題,所謂“起動(dòng)死區(qū)”是指某些BLDCM轉(zhuǎn)子處于特定位置時(shí),起動(dòng)轉(zhuǎn)矩小,帶載起動(dòng)能力差,無(wú)論是加大電流、改變方向,還是斷電重起都不能起動(dòng),只有人為讓電機(jī)轉(zhuǎn)動(dòng)1個(gè)角度,避開(kāi)死點(diǎn),電機(jī)才能正常起動(dòng)的偶發(fā)現(xiàn)象[2]。本文詳細(xì)給出了MC33035電機(jī)驅(qū)動(dòng)模塊、測(cè)速濾波模塊和CAN收發(fā)器模塊的設(shè)計(jì)。
基于單片機(jī)的轉(zhuǎn)速測(cè)量的方法很多,主要有頻率測(cè)速法(M法)、周期測(cè)速法(T法)、MT測(cè)速法等。在本系統(tǒng)中采用的是T測(cè)速法,及通過(guò)測(cè)量霍爾傳感器發(fā)出的相鄰脈沖之間的時(shí)間T來(lái)計(jì)算出無(wú)刷電機(jī)的轉(zhuǎn)速。通過(guò)利用一個(gè)定時(shí)器來(lái)測(cè)量?jī)蓚€(gè)脈沖間的時(shí)間T,上升沿觸發(fā)定時(shí)器中斷,對(duì)于T大于定時(shí)周期的情況,利用定時(shí)器溢出中斷來(lái)計(jì)算。在脈沖信號(hào)送入MCU前須進(jìn)行濾波限幅處理,這樣不僅可以提高脈沖采集精度,而且可以有效防止線上干擾的瞬間突變對(duì)芯片I/O口造成的損壞。圖3所示為濾波限幅電路,R1,C1,R2構(gòu)成了一個(gè)一階有源低通濾波器。

圖3 測(cè)速濾波電路
CAN總線上信號(hào)使用差分方式傳送,用顯性(Dominant)和隱性(Recessive)分別表示邏輯“0”和邏輯“1”,兩條信號(hào)線被稱為CAN_H和CAN_L。在隱性狀態(tài)時(shí),CAN_H和CAN_L的電壓差近似為0;在顯性狀態(tài)時(shí),此時(shí)CAN_H=3.5 V和CAN_L=1.5 V。為了實(shí)現(xiàn)MCU與CAN總線之間信號(hào)的正常收發(fā),必須在MCU和CAN總線之間接上總線驅(qū)動(dòng)器。CAN總線驅(qū)動(dòng)器根據(jù)不同的CAN物理層協(xié)議分為高速CAN總線驅(qū)動(dòng)器和容錯(cuò)CAN總線驅(qū)動(dòng)器[4]。在本系統(tǒng)中采用的是高速CAN總線驅(qū)動(dòng)器PAC82C250,收發(fā)器電路如圖4所示。

圖4 CAN收發(fā)器電路
單片機(jī)軟件完成的功能主要是PLL鎖相環(huán)倍頻、串口通信、CAN總線通信、電機(jī)脈沖測(cè)速、無(wú)刷電機(jī)死區(qū)起動(dòng)和D/A轉(zhuǎn)換。主程序流程圖如圖5所示,硬件初始化包括串口初始化、定時(shí)器初始化和CAN模塊初始化。當(dāng)順利完成系統(tǒng)初始化之后,通過(guò)檢測(cè)位置傳感器的位置,給出下一組編碼來(lái)完成人為起動(dòng),從而避免進(jìn)入起動(dòng)死區(qū)。然后主程序進(jìn)入循環(huán),等待定時(shí)器溢出中斷和端口輸入捕捉中斷,并調(diào)用相應(yīng)的中斷處理函數(shù)。在程序中,轉(zhuǎn)速是一個(gè)全局變量,當(dāng)霍爾脈沖下降沿來(lái)時(shí),觸發(fā)輸入捕捉中斷,更新轉(zhuǎn)速。
CAN總線部分為軟件的核心部分,因此在圖6、圖7中給出了詳細(xì)的流程圖。通過(guò)用單片機(jī)的CAN0發(fā)送數(shù)據(jù),CAN1接收數(shù)據(jù)來(lái)模擬CAN總線的收發(fā)過(guò)程。通過(guò)對(duì)定時(shí)器溢出次數(shù)的控制,每隔500 ms通過(guò)CAN0將轉(zhuǎn)速數(shù)據(jù)發(fā)送出去,將CAN1接收到的轉(zhuǎn)速通過(guò)串口顯示。

根據(jù)前面設(shè)計(jì)的控制系統(tǒng),外加BLDCM,構(gòu)成了典型的BLDCM控制系統(tǒng)。采用SW57系列BLDCM,額定電壓36 V,空載最大轉(zhuǎn)速5 500 r/min,電機(jī)極對(duì)數(shù)為 2。通過(guò)單片機(jī)CAN0將轉(zhuǎn)速發(fā)送,CAN1將收到的轉(zhuǎn)速通過(guò)串口調(diào)試工具顯示,系統(tǒng)工作正常。為了驗(yàn)證濾波電路的重要性,通過(guò)示波器測(cè)出了霍爾脈沖波形,圖8為濾波前的波形,圖9為濾波后的波形。由圖8可發(fā)現(xiàn),未進(jìn)行濾波時(shí),波形中具有大量高頻干擾,嚴(yán)重影響數(shù)據(jù)測(cè)量,通過(guò)串口會(huì)發(fā)現(xiàn)出現(xiàn)8 000 r/min明顯的錯(cuò)誤和較大的波動(dòng)。濾波后測(cè)得的數(shù)據(jù)波動(dòng)在20 r/min以內(nèi),消除了高頻干擾,達(dá)到了預(yù)期效果。

基于CAN總線的控制系統(tǒng)硬件電路簡(jiǎn)單、易于拓展,針對(duì)汽車(chē)SCR系統(tǒng)中計(jì)量泵要精確控制電機(jī)轉(zhuǎn)速的需求,提出了一種采用CAN總線的BLDCM控制系統(tǒng),試驗(yàn)結(jié)果表明該系統(tǒng)能夠正常工作,CAN模塊能夠正常收發(fā)數(shù)據(jù),具有很好的市場(chǎng)前景。
[1]王宜懷,劉曉升.嵌入式系統(tǒng)——使用HCS12微控制器的設(shè)計(jì)與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008.
[2]郭農(nóng)斐.一種擴(kuò)展MC33035芯片起、制動(dòng)性能的附加電路設(shè)計(jì)[J].北華大學(xué)學(xué)報(bào):自然科學(xué)版,2007(6):569-572.
[3]周孝鋒,陳曉寧,劉俊義,等.簡(jiǎn)易無(wú)刷直流電機(jī)測(cè)速儀的設(shè)計(jì)與實(shí)現(xiàn)[J].微電機(jī),2009(11):86-88.
[4]李真花,崔健.CAN總線輕松入門(mén)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2011.