德爾福使用LabVIEW和CompactRIO開發(fā)助力轉(zhuǎn)向仿真反饋系統(tǒng)
“我們?cè)诙潭虄蓚€(gè)月時(shí)間里就利用NI CompactRIO硬件和NI LabVIEW軟件開發(fā)了一套包含復(fù)雜算法的轉(zhuǎn)向反作用力仿真系統(tǒng)。“
挑戰(zhàn):
開發(fā)一個(gè)轉(zhuǎn)向反作用力仿真系統(tǒng),可以從不同傳感器采集數(shù)據(jù),進(jìn)行計(jì)算、信息匹配、并產(chǎn)生輸出,并能夠可靠地執(zhí)行一系列需要快速響應(yīng)的實(shí)時(shí)任務(wù)。
解決方案:
使用NI CompactRIO硬件和NI LabVIEW軟件在短短兩個(gè)月內(nèi)開發(fā)一個(gè)基于復(fù)雜算法的轉(zhuǎn)向反作用力仿真系統(tǒng)。
對(duì)駕駛過程中轉(zhuǎn)向反作用力的仿真一直是動(dòng)態(tài)變化的,因?yàn)樗Q于車速、轉(zhuǎn)向角度以及道路狀況。另外,此仿真系統(tǒng)還必須具備快速響應(yīng)時(shí)間,以便通過部件產(chǎn)生反作用力。
在車速、轉(zhuǎn)向角度、轉(zhuǎn)向角加速度數(shù)據(jù)的基礎(chǔ)上我們得到了轉(zhuǎn)向力矩?cái)?shù)據(jù)圖,并根據(jù)此圖計(jì)算出最終的反作用力。然后,我們把這些值傳給一個(gè)液壓系統(tǒng)來仿真實(shí)現(xiàn)最終的反作用力。我們?cè)O(shè)計(jì)系統(tǒng)邏輯,從不同傳感器獲得數(shù)據(jù)、計(jì)算數(shù)據(jù)、匹配地圖數(shù)據(jù),產(chǎn)生輸出,并可靠、快速地執(zhí)行一系列實(shí)時(shí)任務(wù)。
系統(tǒng)概述
我們選擇LabVIEW和CompactRIO來創(chuàng)建我們的系統(tǒng)。我們選擇了可擴(kuò)展的8槽NI cRIO-9116機(jī)箱。它有一個(gè)Xilinx Virtex-5現(xiàn)場(chǎng)可編程門陣列(FPGA),以幫助實(shí)現(xiàn)控制邏輯,并保證快速響應(yīng)時(shí)間。我們還選擇了 NI的一款配備了實(shí)時(shí)操作系統(tǒng)(VxWorks)的cRIO-9024實(shí)時(shí)控制器。
cRIO-9024控制器具有4 GB的存儲(chǔ)空間,512 MB DRAM和800 MHz的CPU,這將有助于快速采集、記錄和處理大量數(shù)據(jù)。此外,借助兩個(gè)以太網(wǎng)端口和一個(gè)RS232接口,系統(tǒng)很容易便可與外部設(shè)備相連。USB端口可以很容易地用于擴(kuò)展外部存儲(chǔ)器介質(zhì)。
我們使用兩個(gè)4通道NI9215模擬輸入模塊處理8路模擬傳感器信號(hào)。使用一個(gè)2端口NI9853控制器區(qū)域網(wǎng)絡(luò)(CAN)模塊來與正在開發(fā)的電子穩(wěn)定程序(ESP)電子控制單元(ECU)進(jìn)行CAN通信。
我們使用NI9474模塊產(chǎn)生8路數(shù)字輸出作為脈沖寬度調(diào)制(PWM)信號(hào),仿真車輛速度。然后將此PWM信號(hào)發(fā)送到EPS ECU來虛擬一個(gè)車輛。這個(gè)信號(hào)會(huì)使用通道間相互隔離的NI9269模塊來進(jìn)行模擬信號(hào)輸出,從而消除了信號(hào)之間的干擾,以確保用于液壓系統(tǒng)的模擬輸出足夠精確。
除了精確控制數(shù)字和模擬輸出,CompactRIO的配置還可以仿真車輛中動(dòng)態(tài)變化的傳感器信號(hào)和CAN信號(hào)(一種車輛通信信號(hào))。我們利用FPGA和實(shí)時(shí)操作系統(tǒng)創(chuàng)建了一個(gè)快速并且高度可靠的車輛仿真系統(tǒng)。
我們?yōu)槭裁催x擇NI產(chǎn)品
考慮到該系統(tǒng)對(duì)于處理時(shí)間的精確性要求嚴(yán)格,我們需要通過FPGA實(shí)現(xiàn)高速數(shù)據(jù)采集、處理,并保證精確的數(shù)字和模擬控制信號(hào)輸出。我們還需要實(shí)時(shí)、動(dòng)態(tài)控制,以真實(shí)地仿真車輛行駛工況,快速計(jì)算出整車轉(zhuǎn)向反作用力矩的數(shù)據(jù),并構(gòu)建出一個(gè)不受PC限制的嵌入式系統(tǒng)。LabVIEW減少了我們的軟件開發(fā)時(shí)間,并提供了一個(gè)強(qiáng)大的函數(shù)庫幫助我們開發(fā)算法。
系統(tǒng)配置
圖1: 系統(tǒng)配置
如圖1所示,8路傳感器信號(hào)(NI9215)和CAN通信數(shù)據(jù)(NI9853)各自從它們的輸入對(duì)象接收信號(hào)。FPGA以100 μs的采樣周期從EPS ECU采集信號(hào),并使用PWM波(0 km/h~250 km/h: 1.41 Hz~353 Hz, 占空比50%)提供車速信號(hào)(NI9269),并最終傳輸給EPS ECU。
通過先入先出(FIFO)的模式,所收集的數(shù)據(jù)將通過實(shí)時(shí)處理器(cRIO-9024)進(jìn)行分析和邏輯處理,并轉(zhuǎn)化為有效值。然后,在實(shí)時(shí)處理器中,系統(tǒng)使用一種快速映射算法(對(duì)應(yīng)于標(biāo)準(zhǔn)地圖數(shù)據(jù)存儲(chǔ)的反作用力值)由參考數(shù)據(jù)計(jì)算出最后的控制量,并將它通過一個(gè)FPGA算法產(chǎn)生模擬輸出量。NI 9269模塊則提供±10 V的范圍內(nèi)的控制信號(hào)至液壓執(zhí)行器。
輸入的傳感器信號(hào)和最終的液壓系統(tǒng)控制值控制了液壓系統(tǒng)。他們同時(shí)還保存在隊(duì)列中,然后通過TCP / IP通信發(fā)送到PC主機(jī)。這種配置使得PC主機(jī)可以監(jiān)控反作用力仿真器的性能和狀態(tài)。此外,該系統(tǒng)在保證動(dòng)態(tài)控制的同時(shí)還提供給用戶多個(gè)信號(hào)的控制權(quán)利。
圖2: FPGA程序框圖
圖2顯示了FPGA程序框圖,用于處理傳感器輸入信號(hào)的程序以及處理CAN通信的消息的程序。EPS反作用力輸出程序和PWM生成程序分別用于產(chǎn)生液壓執(zhí)行器的控制輸出信號(hào),和將車輛速度轉(zhuǎn)化為PWM波信號(hào)。
圖3 實(shí)時(shí)程序框圖
在圖3中,程序框圖運(yùn)行于實(shí)時(shí)操作系統(tǒng)中,進(jìn)行數(shù)據(jù)采集、FPGA輸出從數(shù)據(jù)庫中獲取數(shù)據(jù),并傳出最終值給FPGA,然后再將數(shù)據(jù)經(jīng)過TCP/IP傳給主機(jī)。
圖4 2D數(shù)據(jù)插值程序框圖
該系統(tǒng)最重要的部分就是一個(gè)可以根據(jù)從傳感器采集的標(biāo)準(zhǔn)值而計(jì)算出不同地圖數(shù)據(jù)的算法(見圖4)。將輸入?yún)⒖夹畔⑴c標(biāo)準(zhǔn)值相減后,數(shù)據(jù)減小了,為了保持線性,數(shù)值將從插值中提取出來。
圖5:主機(jī)前面板
圖5顯示了主機(jī)前面板,用于監(jiān)測(cè)EPS仿真器和不同傳感器的狀態(tài)變量。其中大多數(shù)數(shù)據(jù)都將歷史值顯示在圖表上,重要參數(shù)被分開單獨(dú)顯示。
圖6:CompactRIO
結(jié)論
我們有4個(gè)月的時(shí)間來開發(fā)這個(gè)應(yīng)用程序,但實(shí)際僅使用了短短兩個(gè)月內(nèi)就完成了。我們使用LabVIEW編程完成了FPGA程序的快速功能實(shí)現(xiàn)和調(diào)試,而這往往需要大量時(shí)間和經(jīng)驗(yàn)。在部署FPGA邏輯的同時(shí),我們還實(shí)現(xiàn)了快速的數(shù)據(jù)采集。
該實(shí)時(shí)操作系統(tǒng)通過運(yùn)用一個(gè)已獲驗(yàn)證的操作系統(tǒng)(VxWorks),保證了高度安全、可靠的數(shù)據(jù)處理。因?yàn)槟繕?biāo)控制的總循環(huán)時(shí)間為50毫秒,這就使得一個(gè)高效的控制效果成為了可能。這比為液壓執(zhí)行器提供所需的響應(yīng)更快。
軟件開發(fā)完畢后,將被下載至CompactRIO中獨(dú)立運(yùn)行,在沒有PC控制下,平滑地控制反作用力仿真器。通過匹配整車級(jí)別的反作用力力矩?cái)?shù)據(jù),我們可以在cRIO-9024存儲(chǔ)器中更新不同駕駛條件下的數(shù)據(jù),用于更準(zhǔn)確的實(shí)現(xiàn)實(shí)驗(yàn)室級(jí)的仿真環(huán)境。因?yàn)闄C(jī)箱插槽的可擴(kuò)展性,我們只要再添加一個(gè)模塊,就可以添加出更多樣化的車輛行駛工況。這意味著我們可以使用最初的CompactRIO系統(tǒng)設(shè)計(jì)來輕松、經(jīng)濟(jì)、高效地適應(yīng)新變化。
使用LabVIEW和CompactRIO作為解決方案的最大優(yōu)勢(shì)是,只要使用簡(jiǎn)單的組合或者簡(jiǎn)單的變量變化,它就能幫助我們快速、方便、準(zhǔn)確地建立復(fù)雜的算法。