閆偉,南金瑞
(1.中北大學,山西 太原 030051;2.北京理工大學,北京 100081)
基于集成開發環境的EHPS控制器的軟件設計
閆偉1,南金瑞2
(1.中北大學,山西 太原 030051;2.北京理工大學,北京 100081)
為了讓電控液壓助力轉向系統(EHPS)控制器能夠正常的工作起來,只有硬件是不行的,必須滿足相匹配功能的軟件系統。本文基于瑞薩公司的集成開發環境平臺,采用C語言編程主控芯片,結合模塊化的編程思路,設計了以完成系統初始化、電機啟動工作的主程序和實現控制算法的子程序。程序經過在線編譯調試,達到了先期的設計目標。有效地提高了軟件的可移植性和運行效率,對EHPS控制功能最終實現起著關鍵性的作用。
EHPS;模塊化;控制算法
CLC NO.:U463.4Document Code:AArticle ID:1671-7988(2014)02-57-04
本文基于瑞薩公司一系列的集編輯、編譯、鏈接、在線仿真、硬件調試以及實時數據跟蹤功能的集成開發環境,使得程序開發變得簡單易行。軟件程序依循完成硬件相應動作設計,采用瑞薩電子專門為NEC系列單片機開發的集成開發環境PM+編譯,界面如圖1所示。最后使用NEC公司V850系列32位單片機調試的MINICUBE2仿真器實現微控制器調試接口與主機之間的通信。
EHPS的軟件設計要求是根據車速和方向盤轉角傳感器的信號確定電機的目標轉速,并根據霍爾位置傳感器和電流采樣信號對電機進行換向控制,通過調節PWM占空比來實現對電機轉速進行控制的目的。根據控制器要實現的功能制定了控制器程序流程圖,如圖2所示。
該控制系統軟件工程主要包括兩部分:主程序和對應的子程序。主程序的功能主要是要完成整個控制系統的初始化并啟動電機至怠速狀態運行,系統上電后,首先對各模塊進行初始化,主要包括系統時鐘、看門狗、I/O端口狀態、系統中斷等初始化操作。在初始化過程中,需要禁止所有中斷防止意外的中斷請求。
2.1 系統初始化
控制器正式進入工作狀態前,需要對各模塊進行初始化操作,初始化工作主要包括系統控制模塊初始化、參數變量初始化、各外設模塊的初始化、中斷向量初始化以及各級中斷的使能等等。具體流程圖如圖3所示。
(1)系統控制模塊的初始化
系統控制模塊的初始化主要為系統分配時鐘并處理看門狗電路,為了調試程序方便,在初始化程序中將看門狗電路關閉。完成控制模塊的初始化之后需要將中斷關閉,以防在接下來的初始化過程中產生意外的中斷請求。然后對程序中要用到的全局變量進行初始化賦值。
(2)外設模塊的初始化
外設模塊初始化主要是對將要使用的外設模塊的各控制寄存器及各外設對應使用的引腳端口進行初始化操作。
2.2 電機啟動
直流無刷電機采用的是電子換向,所以需要處理器不斷檢測轉子的位置并確定逆變器功率開關管的導通狀態。電機啟動和霍爾信號中斷捕捉模塊就是讀取三個霍爾位置傳感器的狀態,以確定逆變器的換相順序。電機啟動程序的流程圖如圖4所示。
這里只需要設置比較單元的比較寄存器,給電機首次運行設置一個合適的PWM占空比,然后將CAP1~3引腳設定為IO功能,用于查詢此時霍爾傳
感器輸入信號從而得到電機轉子的當前位置。電機運轉起來之后,霍爾信號的狀態就會發生改變,從而產生捕獲中斷,進入到捕獲中斷程序,根據當前霍爾信號的狀態改變PWM輸出引腳的電平,電機就可以連續旋轉起來了。給電機預設一個怠速值,通過中斷子程序的調速即可使電機啟動后提供助力并穩定在一個目標怠速狀態。
整個控制系統的算法實現主要是在子程序中完成的,對于子程序而言,大部分都是通過中斷實現的。就本設計而言,主要應用的中斷源有定時器中斷和AD中斷,對于電機的換相和驅動主要是通過事件管理器模塊的比較中斷和捕捉中斷實現的,與上位機的通訊主要是通過CAN總線中斷來實現的。
3.1 AD中斷
AD中斷完成EHPS系統下層軟件控制策略即電機電流的采樣和處理即電流閉環及電機是否出現過流情況,這里設置AD采集模塊的內部時鐘頻率為1MHz,工作在級聯/順序采樣模式,主要流程圖如圖5所示。
AD模塊對一個序列的通道開始轉換必須要有一個啟動信號,通常情況下,可以由軟件啟動、事件啟動或外部引腳觸發啟動等。本設計采用定時器周期中斷的方式作為AD轉換的觸發信號。當定時器定時時間到產生定時中斷時,AD開始對ANI0通道進行采樣,當序列發生器轉換結束時便產生一個AD中斷,進入AD中斷程序。在中斷程序中首先要對AD模塊的轉換數據進行存儲和濾波處理,然后再完成電機目標轉速的計算和輸出。
在實際的控制系統中,檢測信號會摻雜一些干擾信號,除了一些必要的硬件濾波之外,很多濾波任務都是有數字濾波器來完成的。數字濾波器實際上是一種數字處理方法,是由計算機程序實現的一系列數學運算。與硬件濾波相比,它主要有以下幾大優點:成本低、修改方便、可以實現硬件濾波難以實現的濾波效果。常用的數字濾波方法主要有:算數平均值法、加權算數平均法、中值濾波法、中值平均濾波法等。
為了達到很好的濾波效果,本設計應用到了數字濾波中的中值濾波法,因為系統需要對電流信號進行采樣,中值平均濾波法不但可以消除干擾,還可以平滑濾波,對快、慢干擾都有很好的抑制作用。
3.2 定時器周期中斷
在定時器的周期中斷子程序內,主要是完成EHPS系統下層軟件控制策略的實現,即對電機轉速進行速度外環電流內環的雙閉環調節。具體的程序流程圖如圖6所示。
進入定時周期中斷子程序后,首先對流過電機的電流進行檢測,如果出現了過流的問題,將切斷助力退出程序,如果系統工作正常則開始調節轉速和電流。
從該中斷流程圖中可以看出,為了對負載的變化響應快,使得電流環的調節比轉速環要快,在本控制系統的設計過程中,電流環的調節速率是速度環的20倍,既能保證對瞬時電流的抑制,也能保證
速度控制的平穩。
3.3 捕獲中斷
捕獲中斷程序主要是實現電機的換相保證電機可以連續旋轉,另外一個功能就是根據捕獲到的轉子位置信號計算電機的實際轉速,用于轉速的閉環PI調節。其流程圖如圖7所示。
當電機啟動后,霍爾位置傳感器輸出的表示轉子位置信號的矩形波的跳變沿被捕捉引腳捕獲到就會觸發捕獲中斷,進入捕獲中斷子程序。進入此程序后,換相流程跟前提到的電機啟動時的流程類似,通過CAP1~3引腳的分時復用實現位置信號電平的檢測來確定轉子的位置,從而實現換相。
在執行完該中斷程序退出之前,要將CAP1~3引腳的功能由I/O口恢復為捕獲功能。
在捕獲中斷子程序中,讀完位置信號后,就會調用換相子程序。另外為了實時監測電機的轉速值,需要不斷的將測到的電機轉速值通過CAN總線接口發送到上位機實時顯示出來,以方便PI參數的調節。
對于本設計,車速信號、轉向盤轉角信號和上位機監控軟件與下位機的通信都采用的是CAN總線通信,因此在這里必須對CAN模塊進行初始化。在CAN模塊正式使用之前,要通過軟件設置CnGMCS寄存器中的系統時鐘,并且在CAN模塊工作的時候不要改變這一系統時鐘。通過設置CnGMCTRL寄存器即可啟動CAN模塊。
在本設計中,用 MINICUBE2硬件設備連接電腦主機、目標板進行通訊,連接方式如圖8所示。
本文主要闡述了EHPS控制器的軟件設計過程,著重介紹程序的設計思路及流程,經過不斷在線編譯調試,達到了先期的設計目標。然后配合硬件。
[1] 許陽坡.電動液壓助力轉向(EHPS)系統控制算法研究及實現[D].天津大學碩士學位論文.2006.
[2] 王曉明.電動機的單片機控制(第2版)[M].北京:北京航空航天大學出版社,2007,84,-90.
[3] 徐藝文,陳忠輝.單片機應用系統的軟件抗干擾技術[J].寧德師專學報(自然科學版).2002(03):226~229.
[4] Hong tei Eric Tseng Beh rouz A shraft D inu Madau The develo pment of vehicle stability control at ford.[J].IEEE/ ASME Transactions on Mechatronics.1999(3):223~234.
The software design of EHPS controller based on the integrated development environment
Yan Wei1, Nan JinRui2
(1.North University of China, ShanxiTaiyuan 030051; 2.Beijing Institute of Technology, Beijing 100081)
Not only the hardware is not, but also match the functional of the software system that can make the Electrically Hydraulic Power Steering(EHPS)controller work normally. The paper based on the platform of the RENESAS company which develop the integration, program the chip by using C language and combining the modular idea. Design to complete the main program about the system initialization and the motor starting and achieve subroutines of controlling algorithm. The programachieves the design goal in advance through online debugging. Improve the software portability and efficiency effectively, and play a key role to finish the EHPS control function finally.
EHPS; Modularize; Control Algorithms
U463.4
A
1671-7988(2014)02-57-04
閆偉,就讀于中北大學。