辛龍威, 李曉卉, 方康玲
(武漢科技大學信息科學與工程學院,湖北武漢 430081)
隨著人們對空氣質量的要求不斷提高,汽車排放問題引起了廣泛關注。隨著未來排放法規(guī)的推出,對柴油機排出的氮氧化物(NOx)和微粒(PM)限制越來越嚴格。采用尿素選擇性催化還原(Selective Catalytic Reduction,SCR)技術的發(fā)動機可以更有效地降低NOx的排放,并且有明顯的節(jié)能特點,它將是我國重型柴油機達到第Ⅳ階段排放標準的最佳選擇。
計量泵是柴油機SCR系統(tǒng)的重要組成部分,通常采用直流無刷電機(Brushless DC Motor,BLDCM)往計量泵中泵入尿素溶液以達到對尿素的噴射進行控制。但是,電機在控制尿素噴射的同時,還需要通過 CAN總線與汽車門控單元(Door Control Unit,DCU)保持通信,以保證車輛的正常運轉。針對該需求,本文在分析了CAN總線的主要特性基礎上,提出了一種基于CAN總線的BLDCM控制系統(tǒng)。
CAN總線最早是由德國Bosch公司推出,用于汽車內部測量與執(zhí)行部件之間的數(shù)據通信協(xié)議。隨著CAN總線在車輛上的廣泛運用,為規(guī)范通信系統(tǒng)和各系統(tǒng)的兼容性,1993年11月ISO頒布了道路交通運輸工具數(shù)據信息交換高速通信局域網(CAN)國際標準ISO11898,為控制局域網的標準化和規(guī)范化鋪平了道路。根據ISO定義的OSI模型,CAN2.0B規(guī)范定義了物理層和數(shù)據鏈路層規(guī)范,這為不同的CAN總線用戶制定符合自身需要的應用層協(xié)議提供了很大的便利,如果需要建立更加完善的系統(tǒng),還需要在CAN2.0B的基礎上選擇合適的應用層協(xié)議,CAN 2.0B協(xié)議包括標準幀和擴展幀兩種報文格式。
CAN總線的主要特性如下:
(1)工作于多主方式,每個節(jié)點都可成為主機。
(2)通信介質可為雙絞線,同軸電纜或光纖。
(3)CAN的通信距離最遠可達10 km,通信速率最高達1 Mbps。
(4)CAN協(xié)議采用CRC檢驗,并可提供相應的錯誤處理功能,保證了數(shù)據通信的可靠性。
(5)具有點對點、一點對多點和全局廣播等多種傳播方式。
(6)自動關閉。CAN總線可以判斷出總線上錯誤的類型是暫時的數(shù)據錯誤還是持續(xù)的數(shù)據錯誤。當節(jié)點發(fā)生持續(xù)的數(shù)據錯誤時,可自動關閉,脫離總線。
基于CAN總線的BLDCM控制系統(tǒng)主要包括單片機控制電路、以MC33035為核心的驅動電路、BLDCM(包含霍爾位置傳感器)、D/A轉換電路、CAN收發(fā)器電路和測速用到的濾波電路組成,系統(tǒng)結構框圖如圖1所示。
在本驅動電路中(見圖2),MC33035為電機控制器,MC33039為電子測速器,MPM3003為集成MOS管驅動芯片。霍爾的信號反饋到測速電路,測速電路經F/V變換,將位置傳感器的輸出信號變換成正比于電機轉速的電壓信號,經主控電路實現(xiàn)電機精確調速控制;位置傳感器反饋信號經主控電路譯碼成六路驅動輸出信號,控制逆變橋電路正常工作;為了更清晰地觀察到測速效果,采用滑動變阻器來代替 D/A電路,通過MC33035的11腳來調節(jié)無刷電機的轉速。
圖2 電機驅動模塊
圖1 系統(tǒng)結構框圖
本系統(tǒng)采用飛思卡爾的MC9S12DP512單片機,MC9S12DP512單片機是Freescale公司HCS12系列16位單片機的一種,其內部主要由MCU的基本部分和CAN功能模塊組成[1]。無刷電機存在起動死區(qū)問題,所謂“起動死區(qū)”是指某些BLDCM轉子處于特定位置時,起動轉矩小,帶載起動能力差,無論是加大電流、改變方向,還是斷電重起都不能起動,只有人為讓電機轉動1個角度,避開死點,電機才能正常起動的偶發(fā)現(xiàn)象[2]。本文詳細給出了MC33035電機驅動模塊、測速濾波模塊和CAN收發(fā)器模塊的設計。
基于單片機的轉速測量的方法很多,主要有頻率測速法(M法)、周期測速法(T法)、MT測速法等。在本系統(tǒng)中采用的是T測速法,及通過測量霍爾傳感器發(fā)出的相鄰脈沖之間的時間T來計算出無刷電機的轉速。通過利用一個定時器來測量兩個脈沖間的時間T,上升沿觸發(fā)定時器中斷,對于T大于定時周期的情況,利用定時器溢出中斷來計算。在脈沖信號送入MCU前須進行濾波限幅處理,這樣不僅可以提高脈沖采集精度,而且可以有效防止線上干擾的瞬間突變對芯片I/O口造成的損壞。圖3所示為濾波限幅電路,R1,C1,R2構成了一個一階有源低通濾波器。
圖3 測速濾波電路
CAN總線上信號使用差分方式傳送,用顯性(Dominant)和隱性(Recessive)分別表示邏輯“0”和邏輯“1”,兩條信號線被稱為CAN_H和CAN_L。在隱性狀態(tài)時,CAN_H和CAN_L的電壓差近似為0;在顯性狀態(tài)時,此時CAN_H=3.5 V和CAN_L=1.5 V。為了實現(xiàn)MCU與CAN總線之間信號的正常收發(fā),必須在MCU和CAN總線之間接上總線驅動器。CAN總線驅動器根據不同的CAN物理層協(xié)議分為高速CAN總線驅動器和容錯CAN總線驅動器[4]。在本系統(tǒng)中采用的是高速CAN總線驅動器PAC82C250,收發(fā)器電路如圖4所示。
圖4 CAN收發(fā)器電路
單片機軟件完成的功能主要是PLL鎖相環(huán)倍頻、串口通信、CAN總線通信、電機脈沖測速、無刷電機死區(qū)起動和D/A轉換。主程序流程圖如圖5所示,硬件初始化包括串口初始化、定時器初始化和CAN模塊初始化。當順利完成系統(tǒng)初始化之后,通過檢測位置傳感器的位置,給出下一組編碼來完成人為起動,從而避免進入起動死區(qū)。然后主程序進入循環(huán),等待定時器溢出中斷和端口輸入捕捉中斷,并調用相應的中斷處理函數(shù)。在程序中,轉速是一個全局變量,當霍爾脈沖下降沿來時,觸發(fā)輸入捕捉中斷,更新轉速。
CAN總線部分為軟件的核心部分,因此在圖6、圖7中給出了詳細的流程圖。通過用單片機的CAN0發(fā)送數(shù)據,CAN1接收數(shù)據來模擬CAN總線的收發(fā)過程。通過對定時器溢出次數(shù)的控制,每隔500 ms通過CAN0將轉速數(shù)據發(fā)送出去,將CAN1接收到的轉速通過串口顯示。
根據前面設計的控制系統(tǒng),外加BLDCM,構成了典型的BLDCM控制系統(tǒng)。采用SW57系列BLDCM,額定電壓36 V,空載最大轉速5 500 r/min,電機極對數(shù)為 2。通過單片機CAN0將轉速發(fā)送,CAN1將收到的轉速通過串口調試工具顯示,系統(tǒng)工作正常。為了驗證濾波電路的重要性,通過示波器測出了霍爾脈沖波形,圖8為濾波前的波形,圖9為濾波后的波形。由圖8可發(fā)現(xiàn),未進行濾波時,波形中具有大量高頻干擾,嚴重影響數(shù)據測量,通過串口會發(fā)現(xiàn)出現(xiàn)8 000 r/min明顯的錯誤和較大的波動。濾波后測得的數(shù)據波動在20 r/min以內,消除了高頻干擾,達到了預期效果。
基于CAN總線的控制系統(tǒng)硬件電路簡單、易于拓展,針對汽車SCR系統(tǒng)中計量泵要精確控制電機轉速的需求,提出了一種采用CAN總線的BLDCM控制系統(tǒng),試驗結果表明該系統(tǒng)能夠正常工作,CAN模塊能夠正常收發(fā)數(shù)據,具有很好的市場前景。
[1]王宜懷,劉曉升.嵌入式系統(tǒng)——使用HCS12微控制器的設計與應用[M].北京:北京航空航天大學出版社,2008.
[2]郭農斐.一種擴展MC33035芯片起、制動性能的附加電路設計[J].北華大學學報:自然科學版,2007(6):569-572.
[3]周孝鋒,陳曉寧,劉俊義,等.簡易無刷直流電機測速儀的設計與實現(xiàn)[J].微電機,2009(11):86-88.
[4]李真花,崔健.CAN總線輕松入門與實踐[M].北京:北京航空航天大學出版社,2011.