《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于CAN總線的自動離合器控制器設(shè)計
基于CAN總線的自動離合器控制器設(shè)計
來源:微型機與應(yīng)用2011年第2期
童 杰, 孔慧芳, 張崇巍
(合肥工業(yè)大學 電氣與自動化工程學院,安徽 合肥230009)
摘要: 設(shè)計了一種基于CAN總線的自動離合器控制器,采用高性能微處理器XC878完成離合器控制器軟硬件開發(fā)。設(shè)計了離合器執(zhí)行電機的驅(qū)動電路及自動離合器控制程序。針對離合器與發(fā)動機協(xié)調(diào)控制的需要,設(shè)計了CAN總線節(jié)點接口電路及一套簡單、實用、高效的CAN總線通信協(xié)議。試驗表明,所設(shè)計的自動離合器控制器在功能上滿足實際應(yīng)用的需要,CAN通信模塊能夠準確無誤地收發(fā)數(shù)據(jù),可靠性高。
Abstract:
Key words :

摘  要: 設(shè)計了一種基于CAN總線的自動離合器控制器,采用高性能微處理器XC878完成離合器控制器軟硬件開發(fā)。設(shè)計了離合器執(zhí)行電機的驅(qū)動電路及自動離合器控制程序。針對離合器與發(fā)動機協(xié)調(diào)控制的需要,設(shè)計了CAN總線節(jié)點接口電路及一套簡單、實用、高效的CAN總線通信協(xié)議。試驗表明,所設(shè)計的自動離合器控制器在功能上滿足實際應(yīng)用的需要,CAN通信模塊能夠準確無誤地收發(fā)數(shù)據(jù),可靠性高。
關(guān)鍵詞: CAN總線; ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS" title="ACS">ACS; XC878單片機

    隨著社會的發(fā)展,人們對汽車的舒適性和安全性要求越來越高,而手動檔汽車因其繁重的選換檔及離合器操作增加了駕駛難度。對于駕駛新手而言,又會產(chǎn)生坡道起步易熄火、油耗大、離合器磨損嚴重等問題[1]。自動檔汽車雖然駕駛操作簡單,但其造價高,開發(fā)難度大。本文設(shè)計的電控自動離合器ACS(Automatic Clutch System)是在手動變速箱基礎(chǔ)上安裝電控系統(tǒng),取消離合踏板,實現(xiàn)自動離合。ACS的優(yōu)勢十分明顯:與手動擋相比,其駕駛操控更為簡單,具有加速快、駕駛舒適的特點;與自動變速器汽車相比,ACS具有造價便宜、維修方便、經(jīng)濟、省油。
1 系統(tǒng)功能
    ACS將現(xiàn)代電子控制技術(shù)用于控制干式摩擦離合器,模擬優(yōu)秀駕駛員的操縱動作和感覺,實現(xiàn)最佳的離合器結(jié)合規(guī)律,其實質(zhì)是為汽車駕駛員配備一個操縱離合器的機械人,實現(xiàn)自動離合器的功能。本文設(shè)計的ACS控制器主要實現(xiàn)了如下幾大功能。
    (1)換檔離合:控制器接收到換檔信號后,離合器迅速自動分離,換檔到位后離合器自動結(jié)合,結(jié)合規(guī)律由電控單元依據(jù)汽車行駛工況確定。
    (2)坡道起步:駕駛員踩制動踏板,啟動發(fā)動機,將換檔手柄置于一檔或倒檔,松開手制動器,解除制動后不踩油門踏板汽車能夠自動慢速行駛,起步平穩(wěn),沖擊小,不熄火。
    (3)熄火保護:汽車行駛過程中,車速和發(fā)動機轉(zhuǎn)速低于設(shè)定值后離合器自動分離,車速和發(fā)動機轉(zhuǎn)速高于設(shè)定值后離合器再自動結(jié)合。
    (4)CAN通信:ACS控制器通過CAN總線接口與發(fā)動機控制器實現(xiàn)數(shù)據(jù)通信,為離合器與發(fā)動機的協(xié)調(diào)控制提供數(shù)據(jù)支持。
2 系統(tǒng)的硬件設(shè)計
2.1 控制器組成

  自動離合器控制器原理框圖如圖1所示。本系統(tǒng)的微處理器選用英飛凌高性能的8位微處理器XC878CM,工作頻率最高可達27 MHz,其片內(nèi)硬件資源十分豐富,片內(nèi)集成了MultiCAN控制器、捕獲/比較單元6(CCU6)、高性能ADC模塊等。XC878CM出色的性能完全滿足本系統(tǒng)的設(shè)計需要。本系統(tǒng)的硬件部分主要包括電源模塊、數(shù)據(jù)采集模塊、CAN通信模塊、執(zhí)行電機驅(qū)動模塊等。

    (1)電源模塊  整車低壓控制系統(tǒng)通過12 V電池供電,8位MCU采用5 V供電。所以本系統(tǒng)需要采用電源芯片進行電壓的轉(zhuǎn)換和隔離。本系統(tǒng)選用英飛凌電源芯片TLE4290,該芯片可提供穩(wěn)定的5 V電壓,誤差在2%以內(nèi),輸入電壓最高可達42 V。經(jīng)測試,其工作可靠,滿足系統(tǒng)要求。
    (2)CAN通信模塊  CAN通信模塊使用XC878CM片內(nèi)MultiCAN控制器和英飛凌高速CAN收發(fā)器IFX1050G作為CAN通信的硬件組成。CAN模塊負責離合器控制器和發(fā)動機控制器之間的數(shù)據(jù)交換和共享,為發(fā)動機與離合器的協(xié)調(diào)控制提供數(shù)據(jù)通信支持。
    (3)執(zhí)行電機驅(qū)動模塊  本系統(tǒng)使用的執(zhí)行電機為額定電壓為12V的直流電機。單片機使用一個IO口控制執(zhí)行電機的轉(zhuǎn)動方向,一路PWM輸出控制電機的轉(zhuǎn)速。PWM波由單片機內(nèi)含的CCU6模塊配置為比較模式產(chǎn)生。單片機通過英飛凌電機驅(qū)動芯片BTS7810K實現(xiàn)對執(zhí)行電機的控制。
    (4)數(shù)據(jù)采集模塊 本系統(tǒng)采集的數(shù)據(jù)主要有三種類型:開關(guān)量、模擬量、頻率量。開關(guān)量主要是指點火信號和駕駛員的掛檔信號等,通過單片機的I/O口采集。XC878CM單片機片內(nèi)集成一個帶有8路模擬輸入選擇的高性能10 bit模數(shù)轉(zhuǎn)換器,可方便地用于模擬量的采集。XC878CM內(nèi)含的CCU6模塊可配置工作在捕獲模式,用于采集車速傳感器發(fā)送來的頻率量信號。由于汽車環(huán)境干擾較大,信號采集電路需添加濾波、電壓調(diào)理等電路。此外,對于頻率量采集,由于接收的是脈沖信號,還需要使用施密特觸發(fā)器進行脈沖信號的整形。
2.2 電機驅(qū)動電路設(shè)計
    離合器執(zhí)行機構(gòu)采用12 V直流電機驅(qū)動,單片機采用脈寬調(diào)制PWM技術(shù)控制電機轉(zhuǎn)速。PWM調(diào)速方法以控制簡單、動態(tài)響應(yīng)效果好、調(diào)速范圍寬等優(yōu)點成為應(yīng)用十分廣泛的調(diào)速方法[2]。對直流電機轉(zhuǎn)動方向的控制需要通過搭建H橋電路實現(xiàn),由于自行搭建的H橋電路及柵極驅(qū)動電路往往在可靠性方面很難保證。因此,本文選擇了集成的電機驅(qū)動芯片BTS7810K來驅(qū)動離合器執(zhí)行電機。芯片BTS7810K是一款全橋電機驅(qū)動芯片,其內(nèi)部集成了H橋電機驅(qū)動電路及柵極驅(qū)動電路,其工作頻率高達1 kHz以上,可方便可靠地實現(xiàn)對直流電機的控制。BTS7810K正常工作模式的輸入輸出特性如表1所示。

    電機驅(qū)動電路如圖2所示,單片機使用一個I/O口輸出控制電機轉(zhuǎn)向,一路PWM輸出控制電機轉(zhuǎn)速。兩路控制信號通過一個與門和兩個非門組成的接口電路連接到驅(qū)動芯片的輸入端IH1、IH2。這樣做是為了保證兩個輸入端不同時為高電平,防止橋臂直通問題的出現(xiàn),提高系統(tǒng)的安全性和可靠性。

2.3 CAN節(jié)點接口設(shè)計
     CAN總線是德國Bosch公司20世紀90年代初為解決現(xiàn)代汽車中眾多控制與測試儀器之間的信息交換而開發(fā)的一種串行通信協(xié)議網(wǎng)絡(luò)[3]。它具有傳輸速率高、可靠性強和實時性好等特點,正好符合ACS與發(fā)動機協(xié)調(diào)控制的通信需要。對發(fā)動機和離合器進行綜合控制,充分利用發(fā)動機電子控制系統(tǒng)控制發(fā)動機轉(zhuǎn)速及時、準確的特點, 使之與離合器相互協(xié)調(diào)配合,將有利于離合器取得更好的控制效果,進而提高換擋品質(zhì)[4]。
    CAN節(jié)點硬件電路主要包括:帶有 CAN 控制器的微控制器和用于數(shù)據(jù)收發(fā)的CAN 收發(fā)器。本文選用的微處理器XC878CM帶有片內(nèi)的CAN控制器,主要負責CAN的初始化和數(shù)據(jù)處理。MultiCAN模塊集成了除收發(fā)器外CAN總線控制器的所有功能。此外,MultiCAN還具有先進的驗收濾波功能、先進的數(shù)據(jù)管理、先進的中斷管理等優(yōu)良特性。CAN 的收發(fā)器種類很多,本設(shè)計中選用英飛凌公司的高速收發(fā)器IFX1050G。CAN節(jié)點的接口電路圖如圖3所示。

3 軟件設(shè)計
    電控單元ECU的控制軟件主要由離合器控制程序和CAN總線通信程序組成。
3.1 離合器控制軟件設(shè)計
    離合器的控制程序包括三個部分:離合器分離控制程序、起步結(jié)合控制程序、換擋結(jié)合控制程序。其中分離控制程序比較簡單,ECU得到分離指令后,離合器全速分離,并且準確地在完全分離點停止即可。離合器的控制難點在于起步結(jié)合控制。離合器的起步結(jié)合過程既要保證車輛起步的平穩(wěn)性、舒適性、起步不熄火,又要保證起步的快速性,減少滑摩功的產(chǎn)生,延長離合器使用壽命。因此,要取得較好的控制效果除了對離合器的結(jié)合量進行控制外,還要對離合器的結(jié)合速度進行控制,并通過與發(fā)動機的協(xié)調(diào)控制,提高控制效果。圖4為起步結(jié)合控制軟件流程圖。換擋過程中離合器的結(jié)合控制與起步控制在控制策略上類似,在此不再贅述。

3.2 CAN通信協(xié)議設(shè)計
    CAN通信協(xié)議包括物理層、數(shù)據(jù)鏈路層和應(yīng)用層。物理層和數(shù)據(jù)鏈路層是通過硬件實現(xiàn)的,在使用CAN通信時,需要開發(fā)者自行定義應(yīng)用層協(xié)議。構(gòu)造應(yīng)用層協(xié)議的主要任務(wù)是ID分配、定義消息周期、確定信號與消息的映射關(guān)系。設(shè)計要考慮的主要因素有數(shù)據(jù)傳輸?shù)膶崟r性要求、數(shù)據(jù)的相對重要程度、與數(shù)據(jù)相關(guān)的應(yīng)用控制算法對數(shù)據(jù)的時間要求等。國際上存在一些現(xiàn)有的標準,如CANopen、SAE J1939等。在一些利用簡單的通信協(xié)議就可以滿足要求的情況下,采用復雜的協(xié)議會造成資源浪費,用戶在應(yīng)用時也會覺得諸多不便,反而限制了靈活性。本文設(shè)計的CAN總線網(wǎng)絡(luò)中僅有離合器控制器和發(fā)動機控制器兩個節(jié)點。針對僅有兩個節(jié)點的實驗平臺,本文從協(xié)議實現(xiàn)的代碼量、目標系統(tǒng)的信息量、軟件的開發(fā)成本等角度出發(fā),定義一種簡單可靠的CAN協(xié)議。具體的通信協(xié)議定義如表2所示,標識符用來表示信息的優(yōu)先級,標識符越小優(yōu)先級越高。

4 CAN通信測試實驗
    本文實驗是在自行搭建的離合器模擬實驗平臺上進行的。本實驗平臺是由離合器控制板、加速踏板、剎車踏板、相關(guān)傳感器、離合器執(zhí)行機構(gòu)及發(fā)動機模擬控制板組成。離合器控制板與發(fā)動機模擬控制板之間通過CAN總線通信。圖5為實驗過程中通過CAN總線傳送的檔位變化信息,圖6為通過CAN總線傳遞的加速踏板開度信號。

    本文提出了一套電控自動離合器的控制器方案,并進行了系統(tǒng)的軟硬件開發(fā),初步實現(xiàn)了自動離合器的基本功能,設(shè)計了CAN總線接口。在實驗平臺上驗證了控制器方案及CAN通信模塊的可行性和可靠性,為實車試驗打下基礎(chǔ)。
參考文獻
[1] 許曉紅.AMT汽車離合器自動控制系統(tǒng)的研制[D].蘇州:蘇州大學,2008.
[2] 莫易敏,姚琳,湯春球. 基于ATmega16的無刷直流電機調(diào)速系統(tǒng)[J].機電工程,2010,27(6):58-60.
[3] 吳慧英.基于CAN總線的工業(yè)測控系統(tǒng)應(yīng)用研究[D].北京:北京航空航天大學,1996.
[4] 李永軍, 牛銘奎, 葛安林. 基于CAN總線的機械式自動 變速器綜合控制研究[J].農(nóng)業(yè)機械學報,2000,31(2):12-
15.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。