培訓(xùn):從臺架接線到PUMA聯(lián)調(diào)的完整鏈路)
簡介這份PDF面向使用AVL測功機(jī)進(jìn)行發(fā)動機(jī)性能測試的工程師與技術(shù)人員聚焦溫度傳感器在測功機(jī)系統(tǒng)中的集成配置流程。內(nèi)容圍繞為溫度傳感器定義標(biāo)準(zhǔn)化normname、在系統(tǒng)參數(shù)中完成傳感器添加以及參數(shù)定義后的數(shù)據(jù)讀取與顯示操作展開涉及advanced tools/PAM/SYS/FFS路徑、FFS表格各列含義、F-FEM模塊與通道編號、采集頻率、傳感器類型及Points標(biāo)定方式等關(guān)鍵配置項(xiàng)并說明monitor界面Reload與Alphanumeric display子窗口選擇normname的后續(xù)步驟。資源包共1個(gè)PDF文件大小約85KB篇幅精煉適合作為操作時(shí)的速查參考。目前已有188人學(xué)習(xí)可幫助讀者理解溫度傳感器信號如何準(zhǔn)確傳輸至PUMA系統(tǒng)掌握從參數(shù)配置到監(jiān)控界面顯示的完整鏈路為汽車研發(fā)、性能優(yōu)化與故障診斷中的發(fā)動機(jī)性能評估提供支持。1. AVL測功機(jī)培訓(xùn)到底在訓(xùn)什么從臺架接線到PUMA聯(lián)調(diào)的完整鏈路很多人第一次拿到「AVL測功機(jī)培訓(xùn)」這類資料腦子里浮現(xiàn)的是操作手冊——按幾個(gè)按鈕、點(diǎn)幾下鼠標(biāo)就完事。真到了臺架上才發(fā)現(xiàn)測功機(jī)不是一臺孤立的機(jī)器它是一整套「被測對象 測功機(jī) 測控系統(tǒng) 冷卻/供油/進(jìn)氣調(diào)節(jié)」的耦合系統(tǒng)。培訓(xùn)真正要解決的是讓你理解這套系統(tǒng)里每個(gè)環(huán)節(jié)的信號怎么走、參數(shù)怎么設(shè)、出問題先看哪里。AVL在動力總成測試領(lǐng)域是繞不開的名字它的測功機(jī)產(chǎn)品線覆蓋交流電力測功機(jī)、水力測功機(jī)到用于電機(jī)和電驅(qū)的測功機(jī)。而PUMA系列測控系統(tǒng)是AVL臺架自動化的核心負(fù)責(zé)試驗(yàn)流程編排、數(shù)據(jù)采集、安全聯(lián)鎖和與測功機(jī)控制器的實(shí)時(shí)通訊。培訓(xùn)的核心目標(biāo)就三個(gè)能獨(dú)立完成臺架搭建與安全檢查、能用PUMA跑通一個(gè)穩(wěn)態(tài)或瞬態(tài)試驗(yàn)、能在數(shù)據(jù)異常時(shí)定位是測功機(jī)側(cè)還是被測件側(cè)的問題。適合剛進(jìn)臺架試驗(yàn)室的新人、從整車轉(zhuǎn)臺架的工程師以及需要自己搭小臺架做驗(yàn)證的標(biāo)定人員。2. 測功機(jī)與PUMA的通訊鏈路信號從哪來、到哪去2.1 測功機(jī)控制器的三種控制模式與切換邏輯AVL測功機(jī)控制器通常支持轉(zhuǎn)速控制、轉(zhuǎn)矩控制和道路阻力模擬三種模式。轉(zhuǎn)速模式下測功機(jī)維持設(shè)定轉(zhuǎn)速被測件的輸出轉(zhuǎn)矩由測功機(jī)吸收或補(bǔ)償轉(zhuǎn)矩模式下測功機(jī)輸出恒定轉(zhuǎn)矩轉(zhuǎn)速隨被測件變化道路阻力模擬則是根據(jù)車速和坡度實(shí)時(shí)計(jì)算阻力矩用于整車工況模擬。切換模式時(shí)最容易翻車的地方是「帶載切換」。比如從轉(zhuǎn)速模式切到轉(zhuǎn)矩模式如果當(dāng)前測功機(jī)正在輸出較大制動轉(zhuǎn)矩直接切換會導(dǎo)致轉(zhuǎn)矩沖擊。常見做法是先把轉(zhuǎn)矩降到接近零再切模式然后緩慢加載。PUMA里對應(yīng)的參數(shù)是模式切換的斜坡時(shí)間一般設(shè)0.5到2秒具體看被測件慣量和臺架機(jī)械間隙。2.2 PUMA與測功機(jī)控制器的實(shí)時(shí)通訊配置PUMA與測功機(jī)控制器之間通常走CAN總線或以太網(wǎng)。以CAN為例需要配置波特率、報(bào)文ID映射和信號縮放系數(shù)。下面是一個(gè)典型的CAN信號配置片段用Python的cantools庫解析DBC后做信號映射import cantools # 加載DBC文件里面定義了測功機(jī)控制器和PUMA之間的報(bào)文 db cantools.database.load_file(avl_dyno.dbc) # 找到測功機(jī)狀態(tài)報(bào)文假設(shè)ID為0x180 dyno_status db.get_message_by_name(DynoStatus) # 解析一幀原始數(shù)據(jù) raw b\x00\x10\x27\x00\x00\x00\x00\x00 decoded dyno_status.decode(raw) print(decoded) # 輸出示例{Dyno_Speed: 1500.0, Dyno_Torque: 200.0, Dyno_Mode: 2} # 反向把PUMA下發(fā)的目標(biāo)值編碼成CAN幀 target {Target_Speed: 2000.0, Target_Torque: 0.0, Control_Mode: 1} cmd_msg db.get_message_by_name(DynoCmd) encoded cmd_msg.encode(target) print(encoded.hex())這段代碼的邏輯是DBC文件定義了報(bào)文的字節(jié)序、起始位、長度和縮放。decode把原始字節(jié)轉(zhuǎn)成物理值encode把物理值轉(zhuǎn)成字節(jié)。參數(shù)說明Dyno_Speed的縮放通常是0.125 rpm/bitDyno_Torque是0.5 Nm/bit具體以實(shí)際DBC為準(zhǔn)。如果解析出來的轉(zhuǎn)速明顯偏大或偏小先檢查縮放系數(shù)和字節(jié)序這是最常見的兩個(gè)坑。2.3 臺架安全聯(lián)鎖的硬件與軟件雙重保護(hù)安全聯(lián)鎖不是可選項(xiàng)。硬件側(cè)通常有急停回路、超速繼電器、超溫繼電器這些直接切斷測功機(jī)使能。軟件側(cè)在PUMA里配置限值監(jiān)控比如轉(zhuǎn)速超過設(shè)定值110%持續(xù)200ms就觸發(fā)降扭或斷使能。配置時(shí)要注意軟件限值必須比硬件限值更早觸發(fā)否則硬件動作時(shí)沖擊更大。我一般把軟件超速限值設(shè)在硬件限值的90%到95%。另外聯(lián)鎖觸發(fā)后的復(fù)位邏輯要明確——是自動復(fù)位還是手動確認(rèn)這取決于臺架的安全等級要求。3. 用PUMA跑通一個(gè)穩(wěn)態(tài)試驗(yàn)從建工程到出報(bào)告3.1 新建PUMA工程與測功機(jī)設(shè)備描述文件導(dǎo)入打開PUMA后第一步是新建工程并導(dǎo)入設(shè)備描述文件。AVL的設(shè)備描述文件通常以.dev或.xml格式提供里面定義了測功機(jī)的量程、精度、控制模式和支持的接口。導(dǎo)入后需要在PUMA的設(shè)備配置界面里綁定實(shí)際通訊通道比如CAN1對應(yīng)測功機(jī)控制器CAN2對應(yīng)被測件ECU。這一步的常見問題是設(shè)備描述文件版本與PUMA版本不匹配。如果導(dǎo)入時(shí)報(bào)「設(shè)備類型未知」先確認(rèn)PUMA的版本號然后找AVL要對應(yīng)版本的描述文件。不要試圖手動改描述文件里的版本字段改完可能能導(dǎo)入但運(yùn)行時(shí)會出更隱蔽的問題。3.2 試驗(yàn)步序編排轉(zhuǎn)速斜坡、轉(zhuǎn)矩保持與數(shù)據(jù)采集觸發(fā)一個(gè)典型的穩(wěn)態(tài)試驗(yàn)步序是這樣的暖機(jī)→拉到目標(biāo)轉(zhuǎn)速→穩(wěn)定30秒→加載到目標(biāo)轉(zhuǎn)矩→穩(wěn)定60秒→采集數(shù)據(jù)→降載→降速→停機(jī)。在PUMA的步序編輯器里每個(gè)步驟對應(yīng)一個(gè)「Step」Step里可以設(shè)目標(biāo)值、斜坡時(shí)間、保持時(shí)間和觸發(fā)條件。數(shù)據(jù)采集的觸發(fā)條件很關(guān)鍵。常見做法是在轉(zhuǎn)矩穩(wěn)定后延遲5秒開始采集采集頻率設(shè)10Hz到100Hz。如果采集頻率太高而PUMA的實(shí)時(shí)周期跟不上會出現(xiàn)數(shù)據(jù)丟點(diǎn)。我一般先確認(rèn)PUMA的實(shí)時(shí)任務(wù)周期采集頻率不超過實(shí)時(shí)周期的1/2。下面是一個(gè)用PUMA的腳本接口基于Python批量生成試驗(yàn)步序的示例# 假設(shè)PUMA提供了puma_api模塊用于步序生成 from puma_api import TestSequence, Step seq TestSequence(nameSteadyState_Test) # 暖機(jī)步轉(zhuǎn)速1000rpm轉(zhuǎn)矩0持續(xù)120秒 seq.add_step(Step(target_speed1000, target_torque0, ramp_time10, hold_time120, modespeed)) # 加載步轉(zhuǎn)速保持1000rpm轉(zhuǎn)矩從0升到150Nm斜坡20秒 seq.add_step(Step(target_speed1000, target_torque150, ramp_time20, hold_time60, modespeed)) # 采集步保持當(dāng)前工況觸發(fā)數(shù)據(jù)記錄 seq.add_step(Step(target_speed1000, target_torque150, ramp_time0, hold_time30, modespeed, trigger_recordTrue, record_rate50)) # 降載步 seq.add_step(Step(target_speed1000, target_torque0, ramp_time15, hold_time10, modespeed)) # 停機(jī)步 seq.add_step(Step(target_speed0, target_torque0, ramp_time30, hold_time5, modespeed)) seq.export(steady_state_test.seq)邏輯說明每個(gè)Step定義了目標(biāo)轉(zhuǎn)速、目標(biāo)轉(zhuǎn)矩、斜坡時(shí)間、保持時(shí)間和控制模式。trigger_recordTrue表示該步觸發(fā)數(shù)據(jù)記錄record_rate50表示50Hz。參數(shù)調(diào)整建議斜坡時(shí)間根據(jù)被測件慣量調(diào)整慣量大的話斜坡時(shí)間要加長否則轉(zhuǎn)速超調(diào)。保持時(shí)間要足夠讓溫度和油溫穩(wěn)定一般至少60秒。3.3 試驗(yàn)數(shù)據(jù)導(dǎo)出與關(guān)鍵曲線檢查試驗(yàn)跑完后PUMA會生成數(shù)據(jù)文件通常是.dat或.mf4格式。導(dǎo)出后第一件事不是看漂亮曲線而是檢查三樣轉(zhuǎn)速跟蹤誤差、轉(zhuǎn)矩波動、溫度趨勢。轉(zhuǎn)速跟蹤誤差在穩(wěn)態(tài)段應(yīng)該小于設(shè)定值的1%轉(zhuǎn)矩波動在±2%以內(nèi)。如果轉(zhuǎn)速跟蹤誤差大先看測功機(jī)的PID參數(shù)比例增益太小會導(dǎo)致響應(yīng)慢太大會導(dǎo)致振蕩。溫度趨勢是判斷試驗(yàn)是否有效的關(guān)鍵。如果機(jī)油溫度在采集段還在快速上升說明還沒熱穩(wěn)定數(shù)據(jù)不可用。我一般要求采集段前后溫度變化小于2°C。4. 避坑與排查臺架調(diào)試中最容易翻車的五個(gè)點(diǎn)4.1 現(xiàn)象測功機(jī)使能后轉(zhuǎn)速飛升急停才停下原因轉(zhuǎn)速控制模式下測功機(jī)的轉(zhuǎn)向與被測件轉(zhuǎn)向相反或者轉(zhuǎn)速設(shè)定值符號搞反了。AVL測功機(jī)通常規(guī)定正轉(zhuǎn)速對應(yīng)正轉(zhuǎn)矩方向如果被測件是反轉(zhuǎn)輸出需要把測功機(jī)轉(zhuǎn)向參數(shù)取反。解決使能前先手動盤車確認(rèn)機(jī)械轉(zhuǎn)向然后在PUMA里檢查轉(zhuǎn)速設(shè)定值的符號。首次使能時(shí)把轉(zhuǎn)速限值設(shè)得很低比如200rpm確認(rèn)轉(zhuǎn)向正確后再逐步放開。4.2 現(xiàn)象PUMA顯示轉(zhuǎn)矩正常但功率計(jì)算值明顯偏大原因轉(zhuǎn)矩信號的縮放系數(shù)錯(cuò)了。比如DBC里定義的是0.5 Nm/bit實(shí)際配置成了1 Nm/bit導(dǎo)致顯示值翻倍。功率轉(zhuǎn)矩×轉(zhuǎn)速轉(zhuǎn)矩翻倍功率就翻倍。解決用標(biāo)準(zhǔn)砝碼或扭矩校準(zhǔn)儀標(biāo)定轉(zhuǎn)矩通道。如果沒有校準(zhǔn)設(shè)備至少用兩個(gè)已知工況交叉驗(yàn)證——比如同一轉(zhuǎn)速下測功機(jī)顯示的被測件轉(zhuǎn)矩應(yīng)該和被測件ECU報(bào)的轉(zhuǎn)矩接近。4.3 現(xiàn)象試驗(yàn)跑了一半PUMA報(bào)通訊超時(shí)步序中斷原因CAN總線負(fù)載率過高。如果臺架上同時(shí)有測功機(jī)、被測件ECU、冷卻系統(tǒng)、數(shù)據(jù)采集等多個(gè)節(jié)點(diǎn)總線負(fù)載可能超過70%導(dǎo)致報(bào)文延遲或丟失。解決用CAN分析儀看總線負(fù)載率超過60%就要優(yōu)化。把非關(guān)鍵報(bào)文降頻比如溫度信號從100ms改成500ms。如果還不行把測功機(jī)控制器單獨(dú)走一路CAN。4.4 現(xiàn)象穩(wěn)態(tài)工況下轉(zhuǎn)矩波動超過5%數(shù)據(jù)沒法用原因測功機(jī)的PID參數(shù)沒調(diào)好或者機(jī)械連接有間隙。AVL測功機(jī)的轉(zhuǎn)矩環(huán)PID通常有默認(rèn)值但換了不同慣量的被測件后需要重新整定。解決先把比例增益降到默認(rèn)值的50%然后逐步增加直到響應(yīng)快但不振蕩。積分時(shí)間一般設(shè)0.1到0.5秒。如果調(diào)PID沒用檢查聯(lián)軸器和花鍵有沒有磨損。4.5 現(xiàn)象PUMA里設(shè)備狀態(tài)顯示在線但下發(fā)指令沒反應(yīng)原因PUMA的實(shí)時(shí)任務(wù)沒有啟動或者設(shè)備使能條件沒滿足。AVL PUMA通常需要先啟動實(shí)時(shí)任務(wù)再使能設(shè)備。另外有些安全聯(lián)鎖條件沒復(fù)位也會導(dǎo)致指令被攔截。解決檢查PUMA的任務(wù)管理器確認(rèn)實(shí)時(shí)任務(wù)狀態(tài)是Running。然后看設(shè)備使能條件列表逐條確認(rèn)。常見的是急?;芈窙]復(fù)位、超速繼電器沒復(fù)位、冷卻水流量低。5. 從穩(wěn)態(tài)到瞬態(tài)用PUMA做WLTC工況模擬的進(jìn)階技巧穩(wěn)態(tài)跑通之后下一步通常是瞬態(tài)工況模擬比如WLTC。瞬態(tài)和穩(wěn)態(tài)最大的區(qū)別是轉(zhuǎn)速和轉(zhuǎn)矩都在快速變化測功機(jī)要同時(shí)跟蹤轉(zhuǎn)速和轉(zhuǎn)矩對控制帶寬要求高得多。在PUMA里做WLTC核心是「工況文件導(dǎo)入 動態(tài)跟蹤 數(shù)據(jù)同步」。工況文件通常是.csv或.dcd格式包含時(shí)間、目標(biāo)車速、目標(biāo)擋位。PUMA根據(jù)車速和傳動比反算目標(biāo)轉(zhuǎn)速再根據(jù)道路阻力模型算目標(biāo)轉(zhuǎn)矩。import pandas as pd # 讀取WLTC工況文件 wltc pd.read_csv(wltc_class3.csv) # 假設(shè)列time_s, speed_kmh, gear # 反算發(fā)動機(jī)目標(biāo)轉(zhuǎn)速假設(shè)主減速比3.7輪胎滾動半徑0.31m final_drive 3.7 tire_radius 0.31 # m gear_ratios {1: 3.5, 2: 2.1, 3: 1.4, 4: 1.0, 5: 0.8, 6: 0.65} def calc_target_rpm(row): if row[gear] 0: return 0 wheel_rpm (row[speed_kmh] / 3.6) / (2 * 3.14159 * tire_radius) * 60 engine_rpm wheel_rpm * final_drive * gear_ratios[row[gear]] return engine_rpm wltc[target_rpm] wltc.apply(calc_target_rpm, axis1) # 生成PUMA可導(dǎo)入的工況文件 wltc_out wltc[[time_s, target_rpm]].copy() wltc_out.columns [Time, Speed] wltc_out.to_csv(wltc_puma_input.csv, indexFalse)邏輯說明這段代碼把WLTC的車速工況轉(zhuǎn)成發(fā)動機(jī)轉(zhuǎn)速工況。calc_target_rpm根據(jù)擋位、主減速比和輪胎半徑反算轉(zhuǎn)速。參數(shù)說明主減速比和輪胎半徑必須用臺架實(shí)際值否則轉(zhuǎn)速對不上。擋位速比也要用實(shí)際變速箱的數(shù)據(jù)。導(dǎo)入PUMA后需要設(shè)置動態(tài)跟蹤的前饋和反饋。前饋用工況文件的目標(biāo)值直接給測功機(jī)反饋用PID修正偏差。前饋比例一般設(shè)0.7到0.9太高會振蕩太低跟蹤滯后。數(shù)據(jù)同步方面瞬態(tài)工況下數(shù)據(jù)采集頻率建議不低于100Hz否則會丟失動態(tài)細(xì)節(jié)。同時(shí)要記錄測功機(jī)的實(shí)際轉(zhuǎn)速和轉(zhuǎn)矩和工況文件的目標(biāo)值做對比。WLTC的轉(zhuǎn)速跟蹤誤差在瞬態(tài)段允許到3%到5%穩(wěn)態(tài)段還是1%。一個(gè)我踩過的坑WLTC工況里有大量減速斷油段這時(shí)候被測件不輸出轉(zhuǎn)矩測功機(jī)如果還在轉(zhuǎn)矩控制模式會倒拖被測件。正確做法是在斷油段切到轉(zhuǎn)速控制模式讓測功機(jī)維持轉(zhuǎn)速被測件自然倒拖。PUMA里可以用條件步序?qū)崿F(xiàn)模式自動切換條件是「目標(biāo)轉(zhuǎn)矩小于零且實(shí)際轉(zhuǎn)矩小于零」。最后說一個(gè)驗(yàn)證方法跑完WLTC后把實(shí)際車速反算出來和工況文件對比。反算公式是實(shí)際轉(zhuǎn)速除以傳動比和輪胎半徑。如果反算車速和工況車速的偏差在全程都小于2km/h說明跟蹤沒問題。如果某些段偏差大先看是換擋點(diǎn)附近還是大加速度段換擋點(diǎn)附近偏差大通常是擋位信號延遲大加速度段偏差大通常是測功機(jī)轉(zhuǎn)矩響應(yīng)不夠快。我自己的習(xí)慣是每次跑瞬態(tài)之前先用穩(wěn)態(tài)工況把測功機(jī)的動態(tài)響應(yīng)摸一遍——給一個(gè)階躍轉(zhuǎn)矩指令看實(shí)際轉(zhuǎn)矩上升到90%需要多少毫秒。這個(gè)時(shí)間決定了你能跟蹤多快的工況。如果階躍響應(yīng)時(shí)間超過100msWLTC的瞬態(tài)段基本跑不準(zhǔn)得先調(diào)測功機(jī)電流環(huán)或者換更小慣量的測功機(jī)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取