物實(shí)時(shí)仿真測(cè)試系統(tǒng):PMSM電機(jī)控制器調(diào)試的內(nèi)核級(jí)能力加持)
干了這么多年電機(jī)控制我最深的體會(huì)就是PMSM 永磁同步電機(jī)控制器的調(diào)試真正卡脖子的環(huán)節(jié)往往不在算法仿真而在“仿真和實(shí)物之間的那堵墻”。以前我在純軟件環(huán)境里跑 FOC 跑得飛起空載、加載、轉(zhuǎn)速階躍都做得漂漂亮亮結(jié)果一接上真實(shí)電機(jī)和驅(qū)動(dòng)板電流噪聲、傳感器延遲、PWM 死區(qū)效應(yīng)全冒出來了查問題查到懷疑人生。后來我把測(cè)試平臺(tái)整個(gè)切換到半實(shí)物實(shí)時(shí)仿真測(cè)試系統(tǒng)才算是把這堵墻拆掉了一大半。今天這篇文章我就圍繞“內(nèi)核級(jí)能力加持”這條主線把我搭建和使用 PMSM 半實(shí)物實(shí)時(shí)仿真測(cè)試系統(tǒng)的思路、操作細(xì)節(jié)、踩坑記錄一次性講清楚。這套系統(tǒng)解決的痛點(diǎn)是讓真實(shí)控制器或者待測(cè)的驅(qū)動(dòng)板去驅(qū)動(dòng)一個(gè)運(yùn)行在實(shí)時(shí)仿真器里的“虛擬電機(jī)”而不是直接接物理電機(jī)。它本質(zhì)上是把 PMSM 的數(shù)學(xué)模型、逆變器開關(guān)邏輯、傳感器信號(hào)放到一個(gè)能硬實(shí)時(shí)運(yùn)行的內(nèi)核里用微秒級(jí)甚至納秒級(jí)的時(shí)間精度去模擬電機(jī)的電氣特性。適合誰看正在做無感 FOC、做醫(yī)療器械/伺服驅(qū)動(dòng)器、或者做車載電機(jī)控制器預(yù)研的工程師以及那些被“仿真挺好、上機(jī)就炸”折騰過的人。1. 內(nèi)核級(jí)實(shí)時(shí)性半實(shí)物仿真區(qū)別于普通仿真的關(guān)鍵1.1 為什么純軟件仿真救不了控制器調(diào)試先聊聊背景。我們常說的 Simulink 仿真、Python 仿真本質(zhì)上是“離線數(shù)值求解”它的時(shí)間軸是由求解器步長(zhǎng)決定的但跑完一個(gè)步長(zhǎng)用多少墻鐘時(shí)間完全不可控。你仿真一個(gè) PMSM 電機(jī)的動(dòng)態(tài)過程可能算了 10 分鐘才模擬出 1 秒的電機(jī)行為。這對(duì)算法理解沒問題但對(duì)控制器硬件來說完全沒用——控制器輸出的 PWM 是實(shí)打?qū)嵉奈锢硇盘?hào)它以 10kHz、20kHz 的頻率一直在輸出它可不會(huì)等你的電腦把這一步算完再輸出下一步。半實(shí)物實(shí)時(shí)仿真測(cè)試系統(tǒng)就不一樣了。它的核心是“實(shí)時(shí)內(nèi)核”也就是仿真模型必須在嚴(yán)格的時(shí)間約束內(nèi)完成計(jì)算。比如你設(shè)定仿真步長(zhǎng)是 1 微秒那么每個(gè)步長(zhǎng)的計(jì)算必須在這 1 微秒內(nèi)完成否則那個(gè)中斷就超時(shí)了模型就失真了。這個(gè)要求聽著簡(jiǎn)單做起來非??量桃?yàn)殡姍C(jī)模型、逆變器模型、信號(hào)轉(zhuǎn)換全都要擠在這段時(shí)間里跑完。我常說普通仿真是“用時(shí)間來換精度”實(shí)時(shí)仿真是“用精度來換時(shí)間”整個(gè)系統(tǒng)的設(shè)計(jì)哲學(xué)都是圍繞這個(gè)倒過來的邏輯展開的。所以標(biāo)題里那個(gè)“內(nèi)核級(jí)能力加持”真不是營(yíng)銷詞它意味著仿真器底層的任務(wù)調(diào)度、中斷響應(yīng)、I/O 刷新全都得為實(shí)時(shí)性服務(wù)。1.2 內(nèi)核實(shí)測(cè)延遲從哪里來到哪里去所謂“內(nèi)核級(jí)”拆開看大概有三層含義。第一層是仿真內(nèi)核本身。PMSM 的電壓方程、磁鏈方程、機(jī)械運(yùn)動(dòng)方程這些數(shù)學(xué)運(yùn)算必須在目標(biāo)機(jī)通常是多核處理器或者 FPGA上以固定步長(zhǎng)執(zhí)行。如果用的是某個(gè)變步長(zhǎng)求解器哪怕它精度再高也不適合 HIL因?yàn)樽儾介L(zhǎng)就意味著每個(gè)步長(zhǎng)的執(zhí)行時(shí)間不確定實(shí)時(shí)系統(tǒng)的任務(wù)調(diào)度直接亂套。所以我在搭建測(cè)試系統(tǒng)時(shí)第一件事就是把模型改成固定步長(zhǎng)離散化步長(zhǎng)我習(xí)慣用 1 微秒或 500 納秒級(jí)別的配置這才能覆蓋 PMSM 開關(guān)頻率帶來的電流紋波。第二層是中斷響應(yīng)能力。實(shí)時(shí)仿真器要跟外部控制器通信外部控制器發(fā)出 PWM 信號(hào)仿真器要捕獲這些脈沖沿還要精確測(cè)量占空比和頻率。如果中斷響應(yīng)的抖動(dòng)達(dá)到幾十微秒那測(cè)出來的 PWM 占空比就是錯(cuò)的誤差直接反映到電機(jī)相電壓上整個(gè)測(cè)試就沒意義了。實(shí)測(cè)下來稍微好一點(diǎn)的實(shí)時(shí)系統(tǒng)PWM 捕獲抖動(dòng)應(yīng)該控制在幾百納秒以內(nèi)這也是“內(nèi)核級(jí)”和“普通工控機(jī)跑模型”最本質(zhì)的差別。第三層是I/O 刷新同步。電機(jī)控制器的電流采樣、編碼器信號(hào)、霍爾信號(hào)都需要和仿真內(nèi)核同步刷新不然控制器讀到的反饋和模型計(jì)算用的不是同一個(gè)時(shí)刻的狀態(tài)會(huì)出現(xiàn)“時(shí)間錯(cuò)位”這在閉環(huán)控制里很容易引發(fā)振蕩。我在實(shí)際項(xiàng)目里用的系統(tǒng)結(jié)構(gòu)大概是這樣DUT 側(cè)是一塊真實(shí)的電機(jī)驅(qū)動(dòng)板輸出 PWM 到仿真器的數(shù)字輸入口仿真器內(nèi)部運(yùn)行 PMSM 模型把相電流、轉(zhuǎn)子位置、轉(zhuǎn)速通過模擬量或者數(shù)字量輸出給 DUT 的采樣端口??刂破鞯碾娏鳝h(huán)、速度環(huán)、無感觀測(cè)器全都以為是真實(shí)電機(jī)在轉(zhuǎn)動(dòng)實(shí)際上驅(qū)動(dòng)的是一個(gè)高保真虛擬電機(jī)。這套路子的核心價(jià)值就在于控制器這邊一個(gè)代碼都不用改就能在實(shí)驗(yàn)室復(fù)現(xiàn)真實(shí)工況的電壓、電流、轉(zhuǎn)速行為。1.3 PMSM 控制開發(fā)中的典型測(cè)試場(chǎng)景半實(shí)物系統(tǒng)在 PMSM 控制器開發(fā)中能干的活非常具體。我最常用的三個(gè)場(chǎng)景是無感 FOC 觀測(cè)器調(diào)試真實(shí)電機(jī)做零速和低速反電動(dòng)勢(shì)觀測(cè)有很大難度因?yàn)檫@時(shí)候反電動(dòng)勢(shì)信號(hào)太小而且你不知道真實(shí)轉(zhuǎn)子位置作為參照。在半實(shí)物系統(tǒng)里模型內(nèi)部知道真實(shí)轉(zhuǎn)子位置你可以把觀測(cè)器的估算值和模型真值直接對(duì)比量化觀測(cè)誤差這在真實(shí)電機(jī)臺(tái)架上幾乎不可能做到這么干凈。弱磁控制極限工況測(cè)試PMSM 跑弱磁區(qū)電壓余量吃緊電流環(huán)容易出現(xiàn)飽和和振蕩。半實(shí)物可以隨意設(shè)定直流母線電壓、反電動(dòng)勢(shì)常數(shù)、電感飽和曲線把極限工況重復(fù)跑一萬遍也不會(huì)燒電機(jī)。故障注入測(cè)試比如把 Hall 傳感器某一相斷掉、把電流采樣偏置加大、把逆變器某一橋臂模擬成開路看控制器能不能正確響應(yīng)。在真實(shí)臺(tái)架上做這些測(cè)試有硬件損壞風(fēng)險(xiǎn)但在半實(shí)物系統(tǒng)里故障是模型層注入的隨便折騰。2. PMSM 模型到底怎么建模才能讓測(cè)試有意義2.1 數(shù)學(xué)模型與實(shí)時(shí)仿真的折中PMSM 的數(shù)學(xué)模型大家都熟d-q 軸電壓方程ud Rs * id Ld * did/dt - wr * Lq * iq uq Rs * iq Lq * diq/dt wr * (Ld * id Flux_f)電磁轉(zhuǎn)矩方程Te 1.5 * p * (Flux_f * iq (Ld - Lq) * id * iq)但這只是“電機(jī)本體的理想方程”。半實(shí)物要真實(shí)還得把逆變器模型加進(jìn)來也就是根據(jù) DUT 輸出的 PWM 狀態(tài)計(jì)算每一相電壓作用于電機(jī)端口的實(shí)際效果。這個(gè)環(huán)節(jié)是不能省的因?yàn)槟阍谡鎸?shí)驅(qū)動(dòng)板上關(guān)心的死區(qū)時(shí)間、導(dǎo)通壓降、開關(guān)延遲全都體現(xiàn)在這里。還有一個(gè)關(guān)鍵參數(shù)是開關(guān)頻率。PMSM 驅(qū)動(dòng)板一般跑 8kHz 到 20kHz 的 PWM你在離線仿真里可以隨意設(shè)定 PWM 精度但半實(shí)物系統(tǒng)必須考慮實(shí)時(shí)仿真步長(zhǎng)是否足夠支撐開關(guān)頻率的解析。如果仿真步長(zhǎng)是 10 微秒PWM 周期是 50 微秒那一個(gè)周期只有 5 個(gè)采樣點(diǎn)電流紋波的形狀根本還原不出來。所以我選擇步長(zhǎng)的原則是仿真步長(zhǎng)至少要比 PWM 周期小一個(gè)數(shù)量級(jí)。20kHz 的 PWM 對(duì)應(yīng) 50 微秒周期步長(zhǎng)選擇 1 微秒一個(gè)開關(guān)周期能有 50 個(gè)步長(zhǎng)點(diǎn)電流紋波細(xì)節(jié)就很像樣了。2.2 無感 FOC 對(duì)半實(shí)物系統(tǒng)的特殊要求無感 FOC 控制是這幾年 PMSM 圈子里最熱的方向之一標(biāo)題熱搜詞里就有 pmsm無感foc控制說明做這塊的人非常多。無感控制的難點(diǎn)在于低速和中高速采用的方法不一樣低速一般用高頻注入法利用電機(jī)的凸極性中高速用反電動(dòng)勢(shì)觀測(cè)器或者滑模觀測(cè)器。半實(shí)物系統(tǒng)要支持無感 FOC 測(cè)試就得把這個(gè)“凸極性”和“反電動(dòng)勢(shì)”都真實(shí)建模。我遇到過一個(gè)坑早期用比較簡(jiǎn)單的表貼式 PMSM 模型做無感測(cè)試高頻注入法死活收斂不出來。后來查下來問題出在模型里沒有模擬飽和導(dǎo)致的電感變化而電感飽和恰恰是高頻注入法利用的核心非線性特性之一。所以在半實(shí)物系統(tǒng)里我強(qiáng)烈建議至少把 Ld、Lq 設(shè)置成隨電流變化的二維查表甚至用帶飽和效應(yīng)的磁鏈模型。雖然這會(huì)增加實(shí)時(shí)計(jì)算量但換來的是觀測(cè)器行為跟真實(shí)電機(jī)更接近尤其是零速和低速段。另外無感 FOC 對(duì)反電動(dòng)勢(shì)的幅值和相位很敏感。真實(shí)電機(jī)在高速段反電動(dòng)勢(shì)大如果半實(shí)物模型的反電動(dòng)勢(shì)波形諧波太少、太“干凈”反而測(cè)不出控制器的真正抗干擾能力。我一般會(huì)在模型里加入 5、7 次諧波跟真實(shí)電機(jī)的反電動(dòng)勢(shì)諧波特征對(duì)齊。這樣做不是為了讓波形花哨而是讓諧波影響下的觀測(cè)器波動(dòng)、電流諧波失真得以復(fù)現(xiàn)。2.3 開關(guān)頻率和信號(hào)調(diào)理的配合半實(shí)物實(shí)時(shí)仿真測(cè)試系統(tǒng)里DUT 輸出的 PWM 信號(hào)要經(jīng)過信號(hào)調(diào)理板轉(zhuǎn)換成仿真器能采的電壓范圍。這里有個(gè)很容易被忽略的細(xì)節(jié)PWM 信號(hào)的邊沿抖動(dòng)、電平閾值、有效占空比范圍直接影響仿真器內(nèi)部的相電壓計(jì)算。我曾遇到過調(diào)理板的濾波電容太大導(dǎo)致 PWM 上升沿被延遲了幾百納秒最后測(cè)出來的占空比跟 DUT 內(nèi)部寄存器里的值差了 0.1%。0.1% 的占空比誤差在低頻沒什么但在 20kHz 開關(guān)頻率下等效的電壓誤差可能達(dá)到幾十伏足夠讓電流環(huán)跑出一個(gè)明顯的穩(wěn)態(tài)誤差。所以我的經(jīng)驗(yàn)是半實(shí)物系統(tǒng)里對(duì) PWM 通道一定要做“脈寬測(cè)量精度測(cè)試”簡(jiǎn)單說就是用已知占空比信號(hào)去校準(zhǔn)把每路 PWM 的固定延遲記錄下來在仿真器里做補(bǔ)償。如果系統(tǒng)支持占空比直通模式也就是不測(cè)脈寬而是直接讀 DUT 內(nèi)部計(jì)算出來的占空比值那我建議優(yōu)先用這種方式雖然犧牲了一點(diǎn)真實(shí)性但避免了很多信號(hào)調(diào)理的麻煩。3. 從零搭一套半實(shí)物測(cè)試系統(tǒng)的實(shí)操流程3.1 硬件拓?fù)渑c控制結(jié)構(gòu)設(shè)計(jì)搭建系統(tǒng)的第一步是確定拓?fù)?。以我最近做的一?PMSM 無感控制測(cè)試平臺(tái)為例拓?fù)涫沁@樣的DUT一塊自研的 PMSM 驅(qū)動(dòng)板主控是某款 Cortex-M7 內(nèi)核的 MCU跑 16kHz 的 PWM配置了無感 FOC 代碼。實(shí)時(shí)仿真器一臺(tái)基于多核 CPU FPGA 的 HIL 設(shè)備FPGA 負(fù)責(zé)高速 PWM 捕獲和模擬量輸出CPU 負(fù)責(zé)跑電機(jī)模型。信號(hào)適配板負(fù)責(zé)把 DUT 的 PWM 電平轉(zhuǎn)換成 FPGA 能接受的電平同時(shí)把 FPGA 的模擬量輸出轉(zhuǎn)換成 DUT 的 ADC 采樣范圍。接線流程我按三層來理功率層直流母線電壓仿真由仿真器模擬通過模擬量輸出給定控制層PWM 輸出、電流反饋、位置反饋由仿真器和 DUT 之間通過物理 I/O 交互通信層如調(diào)試串口、CAN 報(bào)文用于觀察 DUT 內(nèi)部變量和控制測(cè)試啟停。3.2 配置 PMSM 模型的詳細(xì)步驟模型配置看起來不復(fù)雜但每一步都有講究。我以某款 60kW 車用電機(jī)參數(shù)為例參數(shù)名數(shù)值說明極對(duì)數(shù)4影響電氣頻率和機(jī)械轉(zhuǎn)速換算定子電阻 Rs0.008 Ω溫度變化影響較大d 軸電感 Ld0.12 mH低速弱磁時(shí)很關(guān)鍵q 軸電感 Lq0.29 mH凸極率約 2.4永磁磁鏈 Flux0.105 Wb反電動(dòng)勢(shì)系數(shù)阻尼系數(shù) B0.001 N·m·s影響機(jī)械響應(yīng)負(fù)載轉(zhuǎn)矩可外部給定模擬加載配置完成后先跑開環(huán)驗(yàn)證給定 DUT 一個(gè) V/f 曲線電機(jī)模型應(yīng)該平滑起動(dòng)并達(dá)到目標(biāo)轉(zhuǎn)速。這時(shí)重點(diǎn)看電流波形是否正弦、轉(zhuǎn)速是否平穩(wěn)。如果電流波形有明顯畸變我會(huì)先檢查是不是仿真步長(zhǎng)太大再檢查 PWM 捕獲是否正確。之后才切換無感 FOC 模式。把編碼器或旋變信號(hào)通道關(guān)掉模型只輸出相電流給 DUTDUT 的觀測(cè)器開始工作。此時(shí)我會(huì)讓仿真器同時(shí)輸出“模型真實(shí)轉(zhuǎn)子位置”到一個(gè)記錄通道這樣就能直接畫出觀測(cè)器誤差曲線。3.3 數(shù)據(jù)采集與自動(dòng)化測(cè)試腳本半實(shí)物最有價(jià)值的就是能自動(dòng)重復(fù)測(cè)試。我在上位機(jī)里用 Python 腳本控制仿真器的啟停批量跑轉(zhuǎn)速掃描、負(fù)載掃描、母線電壓掃描。每個(gè)工況重復(fù) 3 次記錄啟動(dòng)時(shí)間、穩(wěn)態(tài)誤差、電流諧波、觀測(cè)器誤差均值等指標(biāo)最后自動(dòng)生成報(bào)告。腳本結(jié)構(gòu)大概長(zhǎng)這樣import time import hil_sdk def run_speed_sweep(speed_list, load_list): results [] for speed in speed_list: for load in load_list: hil_sdk.set_speed(speed) hil_sdk.set_load(load) time.sleep(2) data hil_sdk.capture_udp(channels[id, iq, pos_err, speed], duration1.0) results.append(analyze(data)) return results這樣做的好處是當(dāng)天晚上掛機(jī)第二天早上就能拿到一百多個(gè)工況的測(cè)試結(jié)果而且每個(gè)工況的邊界條件完全一致。如果 DUT 代碼有改動(dòng)重跑一遍同一批工況出來的回歸報(bào)告比手動(dòng)去臺(tái)架逐個(gè)驗(yàn)證高效得多。4. 常見問題與排查技巧實(shí)錄4.1 問題速查表我在半實(shí)物測(cè)試系統(tǒng)上跑過不少項(xiàng)目積累了一些高頻率出現(xiàn)的坑整理成表格現(xiàn)象可能原因排查方法電流環(huán)振蕩仿真步長(zhǎng)過大或 PWM 捕獲延遲補(bǔ)償不對(duì)逐步減小仿真步長(zhǎng)測(cè)量 PWM 捕獲延遲無感零速段觀測(cè)器發(fā)散模型沒有模擬電感飽和或凸極效應(yīng)把 Ld、Lq 改為隨電流變化的查表控制器報(bào)過流故障DUT 電流采樣時(shí)序與模擬量輸出刷新不同步調(diào)整仿真器模擬量輸出刷新率加硬件同步轉(zhuǎn)速響應(yīng)比真實(shí)電極慢負(fù)載轉(zhuǎn)矩設(shè)置過高或慣量參數(shù)偏大核對(duì)轉(zhuǎn)動(dòng)慣量和負(fù)載轉(zhuǎn)矩給定值高溫工況不穩(wěn)定模型定子電阻固定沒有溫度修正加入電阻溫升模型或外接溫度查找表電壓利用率偏低PWM 死區(qū)時(shí)間設(shè)置與實(shí)際驅(qū)動(dòng)板不一致檢查 DUT 死區(qū)配置與仿真器死區(qū)參數(shù)對(duì)齊這些坑看著都不難但每一個(gè)都要搭配合適的測(cè)試工具才能快速定位。比如懷疑 PWM 捕獲延遲的時(shí)候直接用示波器同時(shí)看 DUT 輸出的 PWM 和仿真器記錄的占空比數(shù)值一眼就能看出偏差。4.2 時(shí)間同步問題排查我踩過的最深的坑我最深刻的教訓(xùn)是DUT 的 PWM 輸出和仿真器的模擬量輸出之間的同步關(guān)系比想象中敏感得多。DUT 在一個(gè) PWM 周期開始的時(shí)候采樣電流然后進(jìn)行 FOC 計(jì)算再更新占空比。仿真的理想行為是DUT 采到的電流是“當(dāng)前 PWM 周期”的相電流平均值或瞬時(shí)值。但如果仿真器的模擬量輸出刷新和 DUT 的 ADC 采樣周期沒對(duì)齊DUT 采到的可能是上一個(gè) PWM 周期的電流等效于在電流環(huán)里注入了一個(gè)拍延遲。這個(gè)拍延遲在小電感電機(jī)上影響非常明顯。我調(diào)試某套 20kHz 開關(guān)頻率的驅(qū)動(dòng)板時(shí)電流環(huán)比例增益稍微調(diào)大一點(diǎn)就開始振蕩怎么調(diào)都?jí)翰蛔?。后來我在仿真器里把電流反饋的刷新點(diǎn)對(duì)齊到 PWM 周期的中心點(diǎn)振蕩就消失了。這個(gè)現(xiàn)象說明半實(shí)物測(cè)試測(cè)出來的不只是“控制器算法好不好”還包括“控制器和反饋通道的時(shí)序匹配得好不好”這恰恰是真實(shí)臺(tái)架測(cè)試?yán)镒铍y控制的地方。4.3 模型復(fù)雜度取舍的個(gè)人經(jīng)驗(yàn)實(shí)時(shí)仿真模型不是越復(fù)雜越好。我見過有人把電機(jī)模型做到有限元精度每個(gè)步長(zhǎng)算一大堆磁鏈數(shù)據(jù)結(jié)果仿真步長(zhǎng)被迫拉大反而把開關(guān)頻率細(xì)節(jié)丟掉了。我的原則是先保證步長(zhǎng)能支撐開關(guān)頻率再用多余算力增加非線性細(xì)節(jié)。優(yōu)先加入的依次是逆變器非線性死區(qū)和管壓降、電感電流飽和、反電動(dòng)勢(shì)諧波、溫度影響的電阻變化。那些對(duì)控制器行為影響極小的因素比如鐵損、渦流損耗能省就省要不就讓它們?cè)趽p耗計(jì)算環(huán)節(jié)近似一下就好別塞到核心實(shí)時(shí)環(huán)路里。5. 這套系統(tǒng)還能往哪里延伸半實(shí)物系統(tǒng)一旦跑順了后期擴(kuò)能力非常快。我現(xiàn)在這套平臺(tái)在擴(kuò)展方向上至少有這么幾個(gè)一是把 PMSM 模型從單一電機(jī)擴(kuò)展成雙電機(jī)或者是電機(jī)減速箱整車負(fù)載的模型直接在控制器層面上測(cè)試扭矩協(xié)調(diào)邏輯二是加入 dSPACE 風(fēng)格的自動(dòng)化故障注入庫把傳感器斷線、對(duì)地短路、相間短路這些故障都做成可腳本化觸發(fā)用于可靠性驗(yàn)證三是接入 BMS 模擬器組合成完整的電驅(qū)動(dòng)系統(tǒng)級(jí) HIL 環(huán)境從控制器測(cè)試升級(jí)到整車控制策略測(cè)試。如果你已經(jīng)在用半實(shí)物系統(tǒng)我建議你優(yōu)先把無感和弱磁兩個(gè)場(chǎng)景吃透因?yàn)檫@兩個(gè)是最能體現(xiàn)“半實(shí)物比真實(shí)臺(tái)架更高效”的場(chǎng)景。無感場(chǎng)景你不用等電機(jī)轉(zhuǎn)起來就能在低速段反復(fù)驗(yàn)證觀測(cè)器收斂性弱磁場(chǎng)景你可以放心大膽地把母線電壓往極限里壓不用心疼電機(jī)和功率器件。最后再分享一個(gè)實(shí)操心得半實(shí)物平臺(tái)搭好之后前兩周別急著跑自動(dòng)化先花時(shí)間做“信號(hào)完整性校準(zhǔn)”。把每一路 PWM、每一路模擬量、每一路編碼器通道都單獨(dú)驗(yàn)證一遍把所有延遲和偏置記錄在案。這套校準(zhǔn)數(shù)據(jù)會(huì)伴隨整個(gè)平臺(tái)生命周期后期所有測(cè)試結(jié)果的可信度都建立在它上面。我當(dāng)時(shí)忽略了這個(gè)環(huán)節(jié)后來為了排查一個(gè)電流偏置問題多花了兩天時(shí)間這筆時(shí)間買來的教訓(xùn)希望能幫你省下。