無刷直流電機在汽車系統(tǒng)的設計
由于汽車總線技術(shù)的日趨成熟,汽車內(nèi)多個電機單元的控制方式正從傳統(tǒng)的集中式線束控制向分布式總線控制轉(zhuǎn)變。分布式總線控制可以減少線束,降低成本,便于各個電機控制單元和車內(nèi)其它電控單元一起形成一個綜合協(xié)調(diào)的控制系統(tǒng),提高各控制單元的運行可靠性,減少冗余的傳感器及相應的軟硬件配置,實現(xiàn)信息交換和資源共享。目前常用的汽車總線包括CAN、LIN等,其中LIN面向低速場合的應用。作者設計基于LIN總線的無刷直流電機控制器,該控制器以文獻中介紹的MC68HC908MR16單片機、PC33896前置驅(qū)動器、MC33399LIN收發(fā)器為核心構(gòu)成,以低廉的成本獲得了較好的控制性能。
本文引用地址:http://m.butianyuan.cn/article/201611/317978.htm2、基于LIN總線的無刷直流電機控制系統(tǒng)
LIN總線是一種新型的低成本汽車車身總線,1999年由歐洲汽車制造商Audi、BMW、Daimler2Chrysler、Volvo、 Volkswagen、VCT等公司和半導體廠商Motorola共同組成的LIN協(xié)會推出,從2003年開始投入使用。
LIN總線使用串行通信協(xié)議,它有下面的特性:單主機多從機組織(即無需總線仲裁) ;基于普通UART/SCI接口的低成本硬件實現(xiàn),低成本軟件或作為純狀態(tài)機;從機節(jié)點不需要石英或陶瓷諧振器即可以實現(xiàn)自同步;保證信號傳輸?shù)难舆t時間;低成本的單線通信介質(zhì),通信速率最大可達20kb/s。一個LIN網(wǎng)絡由1個主節(jié)點、最多不超過15個從節(jié)點組成。所有節(jié)點都有一個從機任務,從機任務分為接收任務和發(fā)送任務,主節(jié)點還有一個主機任務。LIN網(wǎng)絡上的通信總是由主機任務所發(fā)起,主機任務傳輸報文幀頭,報文幀頭包括同步間隔場、同步場和標志符場;從機任務作出報文響應,報文響應包括2、4或8字節(jié)的數(shù)據(jù)場和校驗場,報文幀頭和報文響應組成完整的報文幀。
LIN總線作為CAN總線的補充,主要用于車身控制。車身網(wǎng)絡主要連接對象有座椅、車門、空調(diào)和儀表顯示等系統(tǒng)?;贚IN總線的全自動空調(diào)系統(tǒng)結(jié)構(gòu)框圖如圖1 所示。其中空調(diào)中央控制單元起CAN /LIN網(wǎng)關(guān)和LIN主節(jié)點的作用,其他單元為從節(jié)點,分為傳感器從節(jié)點和執(zhí)行從節(jié)點。傳感器從節(jié)點將溫度、濕度、日照強度等環(huán)境狀態(tài)值發(fā)送給主節(jié)點,主節(jié)點根據(jù)這些狀態(tài)值以及駕駛員設定的車內(nèi)溫度等參數(shù)進行綜合決策,向執(zhí)行從節(jié)點傳達控制命令,執(zhí)行從節(jié)點依據(jù)命令進行相應的動作。這樣的空調(diào)系統(tǒng)有效實現(xiàn)節(jié)點的分布式控制,減少汽車上的安裝線束,同時實現(xiàn)真正的全自動控制,使得空調(diào)系統(tǒng)各部件協(xié)調(diào)運行,從而使室內(nèi)溫度達到并保持在駕駛員設定值上,創(chuàng)造一個舒適的室內(nèi)環(huán)境。由于無刷直流電機擁有良好的調(diào)速性能,所以空調(diào)系統(tǒng)中一些執(zhí)行從節(jié)點把它作為驅(qū)動部件,如壓縮機、鼓風機、冷卻風扇等。這些從節(jié)點分別和主節(jié)點之間構(gòu)成了基于LIN總線的無刷直流電機速度閉環(huán)控制,主節(jié)點通過決策算法給定電機轉(zhuǎn)速,轉(zhuǎn)速的反饋和控制算法由從節(jié)點來完成,從節(jié)點即是作者所要設計的控制器。
圖1 基于LIN總線的空調(diào)系統(tǒng)
3、控制器硬件結(jié)構(gòu)
控制器結(jié)構(gòu)框圖如圖2所示,圖中包括:電源管理模塊、MC68HC908MR16 單片機控制模塊、PC33896 前置驅(qū)動模塊、三相FET 全橋模塊、MC33399LIN物理層通信模塊。
圖2 控制器結(jié)構(gòu)框圖
霍爾傳感器檢測電機轉(zhuǎn)子的位置,它是3個脈寬為180°(電角度) 、互差120°(電角度)的信號。單片機的定時器輸入捕捉單元捕捉到位置信號的變化,實現(xiàn)定子繞組電流的換向,確保定子產(chǎn)生的磁場與轉(zhuǎn)子永磁磁場保持平均的垂直關(guān)系,以利產(chǎn)生最大轉(zhuǎn)矩。同時,通過定時器記錄的2次換向之間的時間間隔,可計算出電機的轉(zhuǎn)速,根據(jù)目標轉(zhuǎn)速與計算轉(zhuǎn)速之間的差值通過PI算法調(diào)節(jié) PWM占空比,從而控制電機的轉(zhuǎn)速。電機的目標轉(zhuǎn)速、起/停、正/反轉(zhuǎn)等信息來自LIN總線的報文幀。
3.1 電源管理模塊
現(xiàn)代汽車內(nèi)部的電氣負載不斷增加,未來汽車上將采用42V電系代替現(xiàn)有的12V 電系供電。但要完全實現(xiàn)這一轉(zhuǎn)變,還有諸多問題尚未解決,現(xiàn)主要采用42V /12V的雙電源供電來作為一種過渡方案。作者設計的控制器考慮這一發(fā)展趨勢,在12V的電機應用中,控制器采用單12V電源供電;在42V的電機應用中,控制器采用42V /12V 雙電源供電。同時電源管理模塊中含有一塊12V /5V的電源調(diào)壓芯片LT1211。
3.2 單片機控制模塊
單片機控制模塊以MC68HC908MR16單片機為核心,它是一款專門用于電機控制的8 位單片機。工作溫度范圍達到- 40~105℃,完全適應汽車內(nèi)的工作環(huán)境。片內(nèi)帶有12位、6通道PWM模塊,產(chǎn)生6路PWM邏輯信號(可設定為6路獨立或者3對兩兩互補) ;定時器A的0, 1, 2三個通道用來捕捉位置傳感器信號的變化,通道3負責記錄通道2的位置信號產(chǎn)生變化的時刻; 10位A /D轉(zhuǎn)換器,轉(zhuǎn)換時間為16 - 17μs,能快速完成電池電壓監(jiān)測任務;出錯信號輸入,用于發(fā)生在過流或過熱的情況下產(chǎn)生中斷,進而封鎖PWM輸出;特有的快速8位乘法和16位除法指令,使得它具有較高的運算能力,能完成較為復雜的控制算法; 768B 片內(nèi)RAM 和16kB 片內(nèi)Flash存儲器,具有在線編程能力和保密功能;系統(tǒng)保護特性,包括看門狗復位、低電壓禁止復位等增強了程序的穩(wěn)定性和可靠性。
3.3 前置驅(qū)動模塊
前置驅(qū)動模塊的核心是PC33896,它是新推出的專用于汽車電子42V /12V 系統(tǒng)的三相FET前置驅(qū)動器。片內(nèi)含有DC /DC降壓電路、電流采樣放大器、SPI 通信口及各種保護電路等。PC33896直接接收來自單片機的6路PWM邏輯信號,將其轉(zhuǎn)換成用來驅(qū)動6個FET柵極的驅(qū)動信號。若汽車系統(tǒng)供電電壓是新的42V電系,片內(nèi)的DC /DC將之降到大約15V 左右用于FET柵極電路驅(qū)動,節(jié)省了開通和關(guān)斷FET所耗散的功率;若汽車電源供電電壓采用的是現(xiàn)行的12V電系,某些場合電源電壓會不足以驅(qū)動FET柵極,此時電荷泵電路將之提升到至少10V左右,確保FET的正常驅(qū)動。內(nèi)部電流采樣放大器用來測量直流母線電流。單片機能通過SP I口發(fā)送指令,配置PC33896 (如DC /DC和電荷泵的工作與否、電流放大器的放大倍數(shù)等)以及診斷其故障。
3.4 LIN物理層通信模塊
MC33399是面向汽車電子應用的LIN收發(fā)器芯片,它和單片機的SCI口構(gòu)成LIN通信的物理基礎。它有正常和睡眠兩種工作模式,總線上的喚醒幀可將其從睡眠模式喚醒。
4、控制器的軟件設計
由于單片機的內(nèi)嵌硬件模塊和PC33896功能較強,使單片機有足夠的資源完成較為復雜的控制策略,從而使控制器的性能大大提高。
4.1 主程序結(jié)構(gòu)
系統(tǒng)的程序采用前后臺結(jié)構(gòu)。前臺是中斷級,后臺是任務級。任務級由一個死循環(huán)和一個LIN通信服務程序構(gòu)成。死循環(huán)內(nèi)包含一個有限狀態(tài)機和一個10ms服務程序,有限狀態(tài)機如圖3所示。系統(tǒng)上電,完成初始化任務后進入死循環(huán)。一旦發(fā)生SCI接收中斷,中斷服務程序判斷接收到的是否為同步間隔場。若為同步間隔場,程序在退出中斷服務時并不返回到死循環(huán)中,而是進入LIN通信服務程序,進行報文幀的接收和處理。完成通信服務后,程序重新返回死循環(huán)。依據(jù)接收的報文幀,有限狀態(tài)機切換到相應的狀態(tài)。為保護電機,圖中正轉(zhuǎn)態(tài)和反轉(zhuǎn)態(tài)之間的轉(zhuǎn)換強制經(jīng)歷了中間的停止態(tài)過渡。當發(fā)生過流或者低電壓等出錯事件時,控制器進入出錯態(tài),它關(guān)斷所有PWM輸出,并記錄錯誤代碼??刂破鹘邮盏娇偩€的睡眠幀后,進入睡眠態(tài),總線的喚醒信號將重新激活控制器。在正轉(zhuǎn)態(tài)或反轉(zhuǎn)態(tài)時,死循環(huán)內(nèi)的10ms服務程序每間隔10ms執(zhí)行一次,完成電機轉(zhuǎn)速計算、PI控制算法、電池電壓讀取等任務。
圖3 主程序有限狀態(tài)機
4.2 LIN通信報文幀的定制
LIN總線是一種主從機通信模式,報文幀的定制在LIN網(wǎng)絡軟件總體設計時進行。文中的無刷直流電機控制器是總線上的一個從節(jié)點,它響應的報文幀如表1所示。標志符“0x3C”是下載命令幀,用于主節(jié)點向所有從節(jié)點廣播命令和數(shù)據(jù),其中第一個數(shù)據(jù)字節(jié)為“00”的是睡眠幀。標志符“0x3D”是上傳命令幀,它觸發(fā)一個從節(jié)點(由一個優(yōu)先的下載幀編址)向主機上傳數(shù)據(jù)。標志符“0x20”是無刷電機控制幀,用于控制器接收主節(jié)點的控制信息,第一個數(shù)據(jù)字節(jié)為“01”要求電機正轉(zhuǎn),為“02”是反轉(zhuǎn),為“04”是停止,第三、第四兩個數(shù)據(jù)字節(jié)是電機轉(zhuǎn)速的給定值。標志符“0x21”是電機狀態(tài)幀,用于控制器向主節(jié)點傳輸信息,第一、第二兩個數(shù)據(jù)字節(jié)是電機的實際轉(zhuǎn)速,第三、第四兩個字節(jié)表示電池電壓。
表1 控制器響應的LIN報文幀
4.3 軟件中的中斷服務程序
4.3.1 定時器A0、A1、A2輸入捕捉中斷( inputcap2ture ISR1)
當定時器A0、A1、A2監(jiān)測到位置信號有跳變沿時,引起輸入捕捉中斷inputcap ture ISR1。中斷程序中通過讀取3個引腳的當前電平,并結(jié)合前一次中斷中讀入的值,查詢換向表完成換向。
4.3.2 定時器A3輸入捕捉中斷( inputcap ture ISR2)
定時器A3監(jiān)測到A2 通道的位置信號有上升沿跳變時,引起輸入捕捉中斷inputcap ture ISR2。中斷程序讀取定時器A3通道捕捉寄存器的當前值,結(jié)合前一次中斷中讀入的值和定時器A的溢出次數(shù),算出一個位置脈沖周期內(nèi)對定時器A的高頻時鐘脈沖的計數(shù),結(jié)果用于速度的計算。
4.3.3 定時器B溢出中斷(TIMERB ISR)
定時器B每隔10ms溢出中斷一次,中斷程序中置位標志位timerflag,從而使得主程序死循環(huán)內(nèi)的10ms服務程序能被執(zhí)行。
定時器A3、定時器B的中斷允許在LIN通信服務程序中被關(guān)閉,而換向中斷被保留,從而保證了通信的可靠性和電機的運行穩(wěn)定。
5、試驗結(jié)果
采用所設計的控制器,以一臺無刷直流電機(其規(guī)格等同于額定電壓為48V、額定功率為150W 的客車空調(diào)鼓風機驅(qū)動用無刷電機)為試驗對象,試驗圖如圖4所示。
圖4 試驗圖
圖4中控制器采用42V /12V雙電壓供電。LIN圖4 試驗圖總線的主節(jié)點由PC機來模擬,它通過RS232 串口經(jīng)由一塊RS232轉(zhuǎn)LIN的接口卡PC card與LIN總線相連,其LIN 通信的軟件利用Labview界面環(huán)境開發(fā)。
實際運行結(jié)果表明:電機能快速起動、制動、準確及時跟蹤主節(jié)點的給定速度,控制器運行穩(wěn)定、可靠,能滿足實時控制的要求。
6、結(jié)論
作者所設計基于LIN總線的無刷直流電機控制器,硬件電路結(jié)構(gòu)簡單,兼容未來汽車的42V供電電系,具有高的性價比。此外,由于LIN總線是一種開放的協(xié)議,該控制器不僅適用于汽車電子領域,還可用于工業(yè)控制、家電等其他領域。
評論