基于實(shí)時(shí)內(nèi)核的電動(dòng)車電子差速算法仿真
需要注意的是,對(duì)于4個(gè)執(zhí)行機(jī)構(gòu)BLDC來(lái)說(shuō),所需要的輸入信號(hào)是角速度值ωx。它與V的關(guān)系是:本文引用地址:http://www.ex-cimer.com/article/152447.htm
r是輪子的半徑。
在本實(shí)驗(yàn)系統(tǒng)中,將加速手把的轉(zhuǎn)速設(shè)定值ωr(參考角速度)定義為與最大速輪的轉(zhuǎn)速,即左轉(zhuǎn)時(shí),右前輪角速度為ωr;右轉(zhuǎn)時(shí),左前輪角速度為ωr(也可另行定義)。
很顯然,如果在程序中直接套用上面的公式,則運(yùn)算量將非常大,運(yùn)算時(shí)間也會(huì)很長(zhǎng);但可以看出,只要方向盤的轉(zhuǎn)角δ定,則4個(gè)輪子的轉(zhuǎn)速與參考角速度的比值ω1/ωr、ω2/ωr、ω3/ωr、ω4/ωr是唯一確定的。所以在程序運(yùn)行當(dāng)中,完全可以預(yù)先將0。到最大轉(zhuǎn)向角問(wèn)分成若干等份,再將不同的δ值對(duì)應(yīng)的4個(gè)速度比率列成表格,用查表與內(nèi)插值的方法簡(jiǎn)化運(yùn)算的過(guò)程。
值得一提的是,上述的算法可以在Matlab/Simulink中搭建模型,它將使表格的查詢與線性內(nèi)插值的處理變得十分方便。整個(gè)算法模型完成之后,還可以利用Matlab的自動(dòng)代碼生成功能,直接生成C語(yǔ)言代碼,嵌入到控制系統(tǒng)當(dāng)中去,這極大地縮短了系統(tǒng)開(kāi)發(fā)的時(shí)間。
2 XCl64CS微處理器
對(duì)于四輪驅(qū)動(dòng)電動(dòng)車的控制應(yīng)用,要求微處理器提供系統(tǒng)安全和故障保險(xiǎn)機(jī)制,以及有效的措施以降低器件的功耗,并且具有強(qiáng)大的運(yùn)算能力與穩(wěn)定性能,同時(shí)保證系統(tǒng)具有足夠用于整車系統(tǒng)進(jìn)一步改進(jìn)與升級(jí)所需的資源。為此,選用了Infineon公司的高性能16位微控制器XCl64CS。
XCl64內(nèi)核結(jié)構(gòu)結(jié)合了RISC和CISC處理器的優(yōu)點(diǎn),這種強(qiáng)大的計(jì)算和控制能力通過(guò)MAC單元的DSP功能實(shí)現(xiàn)。XCl64把功能強(qiáng)勁的CPU內(nèi)核和一整套強(qiáng)大的外設(shè)單元集成于一塊芯片上,并有效連接。同時(shí),在XCl64上應(yīng)用的LXBus是眾多總線中的一條,是外部總線接口的內(nèi)部代表。這個(gè)總線為XCl64的衍生產(chǎn)品集成附加的特殊應(yīng)用外設(shè)提供標(biāo)準(zhǔn)途徑。
3 實(shí)時(shí)操作系統(tǒng)內(nèi)核ARTXl66
由于電子差速器只是中央控制系統(tǒng)功能的一部分,為了提高整車控制系統(tǒng)的實(shí)時(shí)性與可靠性,同時(shí)便于系統(tǒng)進(jìn)一步的擴(kuò)展(例如電池管理系統(tǒng)、車燈管理系統(tǒng)),在控制器中采用了嵌入式實(shí)時(shí)操作系統(tǒng)。
實(shí)時(shí)操作是基于并行任務(wù)(進(jìn)程)的思想,將應(yīng)用分解成若干個(gè)獨(dú)立的任務(wù),并將各任務(wù)要做的事、任務(wù)問(wèn)的關(guān)系向?qū)崟r(shí)多任務(wù)內(nèi)核交代清楚,讓實(shí)時(shí)多任務(wù)內(nèi)核去管理這些任務(wù)。
實(shí)驗(yàn)系統(tǒng)中采用的ARTXl66實(shí)時(shí)內(nèi)核是由Keil公司發(fā)布的,一個(gè)易于在英飛凌XCl6x系列微處理器上使用的多任務(wù)實(shí)時(shí)操作系統(tǒng)。它允許建立最多達(dá)255個(gè)任務(wù),任務(wù)間的切換主要通過(guò)Round-Robin循環(huán)的模式進(jìn)行。這是一種準(zhǔn)并行的方式,將CPU時(shí)間劃分成時(shí)間片,每個(gè)時(shí)間片內(nèi)運(yùn)行一個(gè)任務(wù),由實(shí)時(shí)內(nèi)核按照任務(wù)號(hào)依次將控制權(quán)傳遞給準(zhǔn)備好的任務(wù)。由于時(shí)間片很短,所以看起來(lái)任務(wù)像是同時(shí)在運(yùn)行。
如果Round-Robin循環(huán)模式被用戶禁用,則任務(wù)與任務(wù)間的切換必須通過(guò)調(diào)用os-tsK-pass()函數(shù)來(lái)完成,它將立刻切換到下一個(gè)準(zhǔn)備好的任務(wù)。除此之外,還可以通過(guò)給任務(wù)分配不同的優(yōu)先級(jí),按優(yōu)先級(jí)搶占調(diào)度的時(shí)序運(yùn)行。
在ARTXl66實(shí)時(shí)內(nèi)核中,任務(wù)或進(jìn)程間的通信主要采用了以下4種方法:
①事件標(biāo)記。它主要用于任務(wù)間的同步,每個(gè)任務(wù)分配有多達(dá)16個(gè)事件標(biāo)記,任務(wù)的繼續(xù)(或喚醒)可以選擇等待所有的事件標(biāo)記或是只等待其中的一個(gè)或幾個(gè)。事件標(biāo)記也可以通過(guò)外部中斷程序進(jìn)行設(shè)定,從而與外部事件進(jìn)行同步。
②信號(hào)量。它是載有虛擬令牌的二進(jìn)制信號(hào)量,用于解決多個(gè)任務(wù)占用公共資源的情況。在同一時(shí)間內(nèi),該令牌只能交給一個(gè)任務(wù),避免了任務(wù)間的干擾。沒(méi)有令牌的任務(wù)將處于睡眠狀態(tài),只有在得到令牌之后,該任務(wù)才會(huì)被喚醒。另外,為了防止進(jìn)入錯(cuò)誤狀態(tài),可以為等待令牌設(shè)置一個(gè)時(shí)限。
③互斥鎖。它用于鎖定共同資源,只允許一個(gè)任務(wù)占用,其他任務(wù)是封鎖的,直到互斥鎖被釋放。
④郵箱。它主要用于任務(wù)之間信息的交換。
4 電子差速系統(tǒng)及其控制流程
電子差速系統(tǒng)是一種基于CAN總線的分布式四輪電子差速系統(tǒng)。它由1個(gè)中央控制器、4個(gè)電動(dòng)輪控制器及CAN總線網(wǎng)絡(luò)3個(gè)部分組成。
該分布式系統(tǒng)的電子差速實(shí)時(shí)控制過(guò)程為:中央控制器通過(guò)A/D采樣獲得來(lái)自轉(zhuǎn)向傳感器的車輛轉(zhuǎn)向角度信號(hào)以及來(lái)自手柄轉(zhuǎn)把中的車速設(shè)定信號(hào),經(jīng)過(guò)整車差速算法,分別獲得4個(gè)車輪當(dāng)前各自應(yīng)有的轉(zhuǎn)速,并將這一結(jié)果作為當(dāng)前時(shí)刻對(duì)應(yīng)車輪的轉(zhuǎn)速控制設(shè)定值,通過(guò)CAN總線發(fā)送給相應(yīng)的電動(dòng)輪控制器;4個(gè)車輪控制器以從CAN總線收到的轉(zhuǎn)速設(shè)定值為控制目標(biāo),使用電動(dòng)轉(zhuǎn)速控制算法對(duì)各自的電動(dòng)輪進(jìn)行控制,使各個(gè)電動(dòng)輪的實(shí)際轉(zhuǎn)速實(shí)時(shí)滿足整車差速算法的要求,進(jìn)而實(shí)現(xiàn)電動(dòng)車輛的平順轉(zhuǎn)向。
評(píng)論