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