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