測性維護(hù)系統(tǒng):邊緣AI與振動(dòng)分析實(shí)戰(zhàn))
1. 整體方案選型與架構(gòu)思路1.1 為什么是MCU而不是邊緣網(wǎng)關(guān)先聊一個(gè)很多人上來就會(huì)問的問題做預(yù)測性維護(hù)工控機(jī)上跑Python、用邊緣網(wǎng)關(guān)做推理不是更省事嗎為什么非要往MCU上擠這個(gè)問題的答案得從實(shí)際部署場景說起。我去過不少工廠現(xiàn)場振動(dòng)傳感器裝在電機(jī)軸承座旁邊溫度傳感器貼在泵體外壁這些位置通常離控制柜幾十米遠(yuǎn)有的甚至在戶外、在高空、在潮濕環(huán)境里。你把數(shù)據(jù)通過線纜傳到集中式網(wǎng)關(guān)先不說布線成本光是信號(hào)衰減和干擾就夠你喝一壺。更關(guān)鍵的是很多老舊產(chǎn)線根本沒有預(yù)留工業(yè)以太網(wǎng)接口你總不能為了加一套預(yù)測系統(tǒng)就去改造整條產(chǎn)線的網(wǎng)絡(luò)架構(gòu)。MCU方案的優(yōu)勢恰恰體現(xiàn)在這里。一顆指甲蓋大小的芯片放在傳感器旁邊直接在數(shù)據(jù)源頭完成采集、處理和推理只把異常結(jié)論和少量特征值上報(bào)給上層系統(tǒng)。這種邊緣計(jì)算模式有三個(gè)直接好處一是通信開銷極小哪怕用RS485、CAN甚至LoRa這種低速通道都綽綽有余二是實(shí)時(shí)性有保障本地推理的延遲在毫秒級(jí)不像云端方案那樣受網(wǎng)絡(luò)波動(dòng)影響三是數(shù)據(jù)不出本地對不少制造業(yè)客戶來說這直接關(guān)系到數(shù)據(jù)安全合規(guī)的問題。1.2 從“被動(dòng)報(bào)警”到“主動(dòng)預(yù)測”的思維轉(zhuǎn)換傳統(tǒng)維護(hù)策略是定期保養(yǎng)加事后維修。定期保養(yǎng)的問題在于不管你設(shè)備狀態(tài)好不好到點(diǎn)就換件很多零件其實(shí)遠(yuǎn)沒到壽命極限白白浪費(fèi)成本事后維修更被動(dòng)設(shè)備一旦停機(jī)產(chǎn)線損失按分鐘計(jì)算碰上關(guān)鍵設(shè)備故障一天損失幾十萬都有可能。預(yù)測性維護(hù)的邏輯完全不同。它通過對設(shè)備運(yùn)行數(shù)據(jù)的持續(xù)監(jiān)測建立設(shè)備健康狀態(tài)的基線模型當(dāng)特征指標(biāo)出現(xiàn)趨勢性偏移時(shí)提前預(yù)警告訴你“這臺(tái)電機(jī)大概還有兩周會(huì)出問題”。這樣維護(hù)人員可以提前安排在計(jì)劃停機(jī)窗口期內(nèi)更換部件既避開生產(chǎn)高峰期又不至于過度保養(yǎng)。這里面最關(guān)鍵的一點(diǎn)是預(yù)測性維護(hù)不是“預(yù)測設(shè)備什么時(shí)候壞”而是“預(yù)測設(shè)備健康狀態(tài)偏離基線的程度”。這個(gè)思路轉(zhuǎn)過來之后算法選型和特征工程的方向就完全不一樣了。我們不需要精確到某天的故障預(yù)測只需要在異常趨勢形成時(shí)及時(shí)拉響警報(bào)這就是MCU算力能夠勝任的范疇。1.3 可行的架構(gòu)分層參考我在幾個(gè)項(xiàng)目里的實(shí)踐經(jīng)驗(yàn)一套基于MCU的預(yù)測性維護(hù)系統(tǒng)通常分三層第一層是感知層負(fù)責(zé)數(shù)據(jù)采集。傳感器選型根據(jù)監(jiān)測對象來定振動(dòng)加速度傳感器ICP型或MEMS型、溫度傳感器、電流互感器是最常用的三種。采樣率方面振動(dòng)信號(hào)一般需要10kHz以上溫度信號(hào)只需要1Hz就夠。這一層的核心矛盾是采樣率越高數(shù)據(jù)量越大MCU的存儲(chǔ)和傳輸壓力就越大所以必須做邊緣預(yù)處理。第二層是推理層也就是MCU本身在干的活。它運(yùn)行兩個(gè)任務(wù)實(shí)時(shí)特征提取和異常判定。特征提取用的是滑動(dòng)窗口方式對時(shí)域信號(hào)計(jì)算均方根值、峰值因子、峭度等統(tǒng)計(jì)指標(biāo)對頻域信號(hào)做FFT提取特征頻率分量。這些特征值會(huì)作為多維向量輸入到輕量化預(yù)測模型里模型輸出的是設(shè)備健康分?jǐn)?shù)或者異常概率。第三層是決策層通常在本地工控機(jī)、SCADA系統(tǒng)或者云平臺(tái)上。MCU上傳的不是原始波形而是壓縮后的特征數(shù)據(jù)和判定結(jié)果由上層系統(tǒng)負(fù)責(zé)趨勢分析、維護(hù)工單生成和可視化展示。這個(gè)架構(gòu)的優(yōu)勢是邊界清晰每一層只干自己該干的事MCU不需要跑太重的東西上層平臺(tái)也不需要對每臺(tái)設(shè)備都做高頻輪詢。2. 核心算法原理與模型選型2.1 預(yù)測性維護(hù)里“AI”到底在做什么在MCU上做AI預(yù)測性維護(hù)很多人以為就是把某個(gè)深度學(xué)習(xí)模型壓縮塞進(jìn)去跑。實(shí)際上真正工程落地時(shí)算法選擇特別務(wù)實(shí)要看數(shù)據(jù)形態(tài)、算力預(yù)算和精度要求來綜合判斷。拿振動(dòng)信號(hào)舉例健康的軸承振動(dòng)波形近似高斯分布出現(xiàn)疲勞裂紋時(shí)周期性沖擊成分會(huì)逐漸增強(qiáng)反映在頻譜上是特定頻段的能量上升。這種變化用傳統(tǒng)的統(tǒng)計(jì)特征就能捕捉到一部分比如峭度Kurtosis對沖擊信號(hào)特別敏感正常軸承的峭度值在3左右出現(xiàn)剝落時(shí)可能飆到5甚至10以上。但統(tǒng)計(jì)特征有個(gè)局限它只能反映當(dāng)前狀態(tài)很難預(yù)測未來趨勢。所以真正的“預(yù)測”部分要靠第二種算法——時(shí)間序列預(yù)測模型。用過去N個(gè)時(shí)刻的特征值去預(yù)測未來M個(gè)時(shí)刻的數(shù)值當(dāng)預(yù)測值和實(shí)際值之間的殘差持續(xù)超過閾值時(shí)判定為異常趨勢。2.2 適合MCU的模型家族圖譜我從實(shí)際可部署性的角度把候選模型分成了三檔第一檔是統(tǒng)計(jì)基準(zhǔn)模型包括移動(dòng)平均、指數(shù)平滑、閾值判斷。這類模型內(nèi)存占用極小一個(gè)滑動(dòng)窗口數(shù)組加幾個(gè)浮點(diǎn)變量就能實(shí)現(xiàn)在8位MCU上都能跑。它們適合工況相對穩(wěn)定的設(shè)備比如恒速運(yùn)行的泵和風(fēng)機(jī)。第二檔是經(jīng)典機(jī)器學(xué)習(xí)模型包括孤立森林、隨機(jī)森林、支持向量機(jī)。這些模型在訓(xùn)練階段跑在PC或服務(wù)器上推理階段用到MCU上的是一個(gè)參數(shù)矩陣加上若干判斷邏輯。以隨機(jī)森林為例一棵樹就是一組特征閾值比較節(jié)點(diǎn)幾十棵樹組合在一起對非線性故障模式的識(shí)別能力遠(yuǎn)超過單閾值。模型大小通常在幾十KB對于具備浮點(diǎn)運(yùn)算能力或者用CMSIS-DSP庫做定點(diǎn)優(yōu)化的MCU來說完全跑得動(dòng)。第三檔是輕量化神經(jīng)網(wǎng)絡(luò)比如TinyML領(lǐng)域常用的MobileNetV1極簡版、1D-CNN、LSTM的量化版。這類模型適合端到端學(xué)習(xí)無需手工設(shè)計(jì)特征。但代價(jià)是Flash占用較大一般需要幾百KB到1MB以上RAM需求也高通常只有帶外部PSRAM的高端MCU才跑得舒服。在多數(shù)工業(yè)振動(dòng)監(jiān)測場景里第二檔模型已經(jīng)能取得和第三檔接近的效果工程收益比明顯更高。我做過的項(xiàng)目里最終落地最多的是“統(tǒng)計(jì)特征孤立森林”組合先提取多維時(shí)頻特征再用孤立森林檢測特征向量是否偏離正常簇。這個(gè)組合在Cortex-M4F內(nèi)核的MCU上單次推理時(shí)間大概2-3毫秒Flash占用不超過32KB效果比單純用閾值的方案強(qiáng)了一個(gè)檔次。2.3 一個(gè)關(guān)鍵原則模型訓(xùn)練和推理解耦MCU上跑推理不代表要在MCU上訓(xùn)練模型。這個(gè)認(rèn)知很重要。標(biāo)準(zhǔn)的流程是在PC端用Python完成數(shù)據(jù)采集腳本、特征提取、模型訓(xùn)練和驗(yàn)證確認(rèn)模型指標(biāo)達(dá)標(biāo)后將模型參數(shù)導(dǎo)出為C數(shù)組或者二進(jìn)制文件再集成到MCU固件工程里。MCU端的代碼邏輯是固定的只負(fù)責(zé)把輸入特征喂給模型得到輸出結(jié)果后做閾值判定。這樣做的好處很多。一是迭代速度快算法工程師可以在PC上反復(fù)調(diào)整特征組合和模型超參數(shù)不用每次改完都燒錄固件二是風(fēng)險(xiǎn)可控MCU端代碼一旦測試穩(wěn)定基本就不再改動(dòng)不容易引入新Bug三是模型更新靈活只需要替換參數(shù)文件下次升級(jí)固件時(shí)燒錄新版參數(shù)即可。3. 從數(shù)據(jù)采集到推理的完整落地流程3.1 傳感器選型與信號(hào)調(diào)理傳感器是整個(gè)系統(tǒng)的數(shù)據(jù)源頭選錯(cuò)了后面全是白忙。振動(dòng)監(jiān)測場景下我會(huì)優(yōu)先考慮MEMS加速度計(jì)比如ADI的ADXL355或者ST的IIS3DWB。MEMS方案的優(yōu)點(diǎn)是沒有ICP傳感器的供電和耦合電路直接數(shù)字輸出方便MCU通過SPI或I2C讀取。ADXL355的噪聲密度在25μg/√Hz左右適合監(jiān)測低速旋轉(zhuǎn)設(shè)備IIS3DWB帶寬能到6kHz適合齒輪箱這類高頻振動(dòng)場景。如果監(jiān)測對象是高速主軸帶寬要求更高就得考慮ICP傳感器加外部ADC的方案了。電流監(jiān)測則選擇電流互感器或者霍爾傳感器。電流信號(hào)的采樣率要求不高幾kHz就夠但要注意相位對齊的問題如果同時(shí)采集三相電流各通道之間的采樣時(shí)刻必須同步否則后續(xù)算出的功率特征會(huì)有誤差。溫度監(jiān)測最簡單NTC熱敏電阻或者DS18B20數(shù)字溫度傳感器都行采樣率1Hz足夠。但要注意安裝位置真的能反映軸承溫度而不是測到環(huán)境溫度這個(gè)靠現(xiàn)場勘察來確定別想當(dāng)然裝在殼體上就完事。3.2 邊緣側(cè)特征提取的工程實(shí)現(xiàn)特征提取是MCU端計(jì)算量最大的環(huán)節(jié)需要仔細(xì)設(shè)計(jì)。以振動(dòng)信號(hào)為例我常用的特征是時(shí)域的均方根值反映振動(dòng)能量水平、峰值因子反映沖擊特性、峭度反映波形尖銳程度頻域的特定頻帶能量占比通過FFT計(jì)算1X、2X轉(zhuǎn)頻分量以及高頻段能量的和。對于轉(zhuǎn)速已知的旋轉(zhuǎn)設(shè)備轉(zhuǎn)頻和邊頻帶的計(jì)算非常有效。工程實(shí)現(xiàn)上采樣數(shù)據(jù)一般先存入DMA環(huán)形緩沖區(qū)攢夠一個(gè)窗口比如1024點(diǎn)后觸發(fā)一次處理。FFT運(yùn)算用CMSIS-DSP庫的arm_rfft_fast_f32函數(shù)在180MHz的Cortex-M4上算完1024點(diǎn)FFT大約是幾微秒級(jí)別毫無壓力。值得注意的一個(gè)細(xì)節(jié)滑動(dòng)窗口應(yīng)該設(shè)置重疊率一般50%重疊。比如窗口長度1024點(diǎn)每次滑512點(diǎn)做一次特征提取。重疊率高會(huì)增加計(jì)算量但不會(huì)漏掉瞬態(tài)沖擊信號(hào)重疊率太低則可能把一次短暫的沖擊事件算在兩個(gè)窗口里各占一半導(dǎo)致峰值特征被平均掉。3.3 模型訓(xùn)練到部署的完整鏈路我以“隨機(jī)森林異常檢測”為例梳理一遍全流程第一步是數(shù)據(jù)采集階段。在設(shè)備正常工作狀態(tài)下連續(xù)采集三到五天的數(shù)據(jù)覆蓋不同負(fù)載、不同轉(zhuǎn)速的工況作為訓(xùn)練集的正常樣本。有條件的話再找一臺(tái)同型號(hào)的故障設(shè)備或者人為注入故障信號(hào)采集少量異常樣本用于驗(yàn)證集。第二步是特征提取與數(shù)據(jù)集構(gòu)建。在PC端用Python的numpy和scipy庫復(fù)刻MCU端的特征提取邏輯確保兩邊的特征口徑完全一致。這是個(gè)容易踩坑的點(diǎn)如果PC端和MCU端窗口長度、重疊率、FFT點(diǎn)數(shù)設(shè)置不一致模型在PC上驗(yàn)證效果好部署到MCU上就廢了。第三步是訓(xùn)練孤立森林模型。scikit-learn的IsolationForest接口很簡單關(guān)鍵是調(diào)整兩個(gè)參數(shù)contamination異常比例和n_estimators樹的數(shù)量。實(shí)測下來contamination取0.05到0.1之間比較合理樹的數(shù)量100棵以內(nèi)就夠再增加對精度提升有限但模型體積會(huì)線性增長。第四步是模型導(dǎo)出。scikit-learn模型的內(nèi)部結(jié)構(gòu)是一片二叉樹的數(shù)組每個(gè)節(jié)點(diǎn)的存儲(chǔ)結(jié)構(gòu)是特征索引uint8_t類型、分割閾值float類型、左子節(jié)點(diǎn)索引、右子節(jié)點(diǎn)索引。把這些數(shù)組用Python腳本轉(zhuǎn)成C頭文件就得到可以直接編譯進(jìn)MCU工程的模型參數(shù)。第五步是MCU端實(shí)現(xiàn)。編寫推理代碼按照同樣的特征提取邏輯計(jì)算特征向量然后遍歷所有樹每棵樹從根節(jié)點(diǎn)開始逐級(jí)比較特征值和閾值走到葉子節(jié)點(diǎn)得到一個(gè)路徑深度。所有樹的深度平均值除以樹的深度期望值得到該樣本的異常分?jǐn)?shù)。當(dāng)分?jǐn)?shù)超過設(shè)定閾值時(shí)觸發(fā)報(bào)警。4. 實(shí)戰(zhàn)案例電機(jī)軸承預(yù)測性維護(hù)系統(tǒng)4.1 項(xiàng)目背景與硬件配置去年我參與了一個(gè)食品加工廠的電機(jī)群監(jiān)測項(xiàng)目該廠有42臺(tái)驅(qū)動(dòng)傳送帶的三相異步電機(jī)功率范圍從2.2kW到11kW不等轉(zhuǎn)速在1450-2950rpm之間。以前靠人工巡檢每月一次振動(dòng)測量但去年半年內(nèi)連續(xù)發(fā)生兩次軸承損壞導(dǎo)致的非計(jì)劃停機(jī)每次停產(chǎn)損失約五萬元工廠這才下決心上預(yù)測性維護(hù)系統(tǒng)。硬件的最終配置是主控用STM32F407VET6Cortex-M4F內(nèi)核168MHz主頻192KB RAM512KB Flash振動(dòng)傳感器用ADXL355SPI接口溫度用集成的DS18B20通信用RS485走M(jìn)odbus RTU協(xié)議把處理結(jié)果上傳到工控機(jī)。選STM32F407也是因?yàn)镕lash空間足夠畫個(gè)板子丟進(jìn)電機(jī)接線盒里用導(dǎo)軌固定替換以前的接線端子位置比較方便。4.2 數(shù)據(jù)采集與特征配置細(xì)節(jié)振動(dòng)采樣率配置為4096Hz窗口長度1024點(diǎn)窗口重疊率50%每個(gè)特征窗口約250ms產(chǎn)生一組特征。這樣配置在168MHz主頻下CPU占用率只有大約15%留給協(xié)議棧和通信任務(wù)足夠的余量。采集的參數(shù)方面四個(gè)時(shí)域指標(biāo)和三個(gè)頻域指標(biāo)組合使用均方根值反映整體振動(dòng)能量、峰值因子反映沖擊信號(hào)、峭度反映波形分布尖銳程度、波形因子反映波形形狀變化再加上1倍轉(zhuǎn)頻幅值、2倍轉(zhuǎn)頻幅值和10kHz以上高頻振動(dòng)能量占比。實(shí)測效果里軸承早期故障最先變化的是峭度和高頻段能量等均方根值明顯上升的時(shí)候故障往往已經(jīng)進(jìn)入中后期了。4.3 模型訓(xùn)練效果和部署結(jié)果采集正常工況數(shù)據(jù)三天一共獲得約十萬組特征向量PC端清洗掉開停機(jī)過渡段的數(shù)據(jù)后剩八萬多組。用IsolationForest訓(xùn)練樹的數(shù)量定為100棵contamination設(shè)為0.08。部署之后三個(gè)月內(nèi)的實(shí)際效果系統(tǒng)成功識(shí)別出三臺(tái)電機(jī)出現(xiàn)異常趨勢。第一臺(tái)電機(jī)在峭度和10kHz高頻能量指標(biāo)上連續(xù)三天持續(xù)攀升系統(tǒng)在第5天發(fā)出預(yù)警檢修人員檢查發(fā)現(xiàn)軸承潤滑脂已經(jīng)明顯劣化補(bǔ)脂后指標(biāo)恢復(fù)正常第二臺(tái)電機(jī)在第8天預(yù)警拆解后確認(rèn)滾動(dòng)體出現(xiàn)輕微點(diǎn)蝕更換軸承第三臺(tái)預(yù)警虛驚一場后來查明是聯(lián)軸器對中不良導(dǎo)致的振動(dòng)偏移不是軸承問題。這個(gè)結(jié)果印證了一個(gè)經(jīng)驗(yàn)預(yù)測性維護(hù)模型輸出的是“偏離健康狀態(tài)的程度”但偏離原因需要結(jié)合設(shè)備知識(shí)做二次判斷。MCUAI解決的是“及時(shí)發(fā)現(xiàn)”而“準(zhǔn)確歸因”仍然需要維護(hù)工程師的經(jīng)驗(yàn)。另外一個(gè)值得記錄的細(xì)節(jié)是連續(xù)兩周的數(shù)據(jù)被系統(tǒng)判定為正常但我觀察發(fā)現(xiàn)其中一臺(tái)電機(jī)的均方根值雖然沒超限卻有緩慢的單調(diào)上升趨勢。當(dāng)時(shí)我手動(dòng)提高了報(bào)警靈敏度結(jié)果一周后果然開始報(bào)異常。這個(gè)經(jīng)驗(yàn)說明單純的閾值判斷會(huì)漏掉趨勢性異常最好在MCU端加一個(gè)簡單的趨勢監(jiān)測邏輯對最近N組特征值做線性回歸看斜率是否持續(xù)為正。5. 常見問題與排查技巧實(shí)錄5.1 數(shù)據(jù)抖動(dòng)和誤報(bào)問題預(yù)測性維護(hù)系統(tǒng)上線初期最容易遇到的就是誤報(bào)問題。工廠環(huán)境復(fù)雜設(shè)備啟停、負(fù)載波動(dòng)、相鄰設(shè)備干擾都會(huì)讓特征值出現(xiàn)瞬態(tài)異常。如果模型對這種瞬態(tài)異常敏感就會(huì)頻繁誤報(bào)警讓維護(hù)人員失去信任。我用兩個(gè)手段解決這個(gè)問題一是報(bào)警延遲確認(rèn)機(jī)制連續(xù)三個(gè)窗口都判定為異常才觸發(fā)預(yù)警單窗口異常不動(dòng)作二是在特征向量中增加轉(zhuǎn)速歸一化處理把振動(dòng)指標(biāo)除以當(dāng)前的轉(zhuǎn)頻值消除負(fù)載和轉(zhuǎn)速變化帶來的基線漂移。5.2 MCU性能瓶頸的定位方法如果MCU端推理時(shí)間超出預(yù)期優(yōu)先排查三件事第一是FFT的計(jì)算是否走了CMSIS-DSP庫手寫的FFT實(shí)現(xiàn)性能通常差五倍以上第二是特征提取時(shí)的浮點(diǎn)運(yùn)算是否觸發(fā)了硬faultCortex-M4F有FPU但如果沒有在編譯選項(xiàng)里開啟硬浮點(diǎn)所有fload計(jì)算都會(huì)走軟件模擬速度慢得離譜第三是DMA配置是否正確如果數(shù)據(jù)搬運(yùn)占用CPU時(shí)間過多會(huì)直接影響窗口計(jì)算頻率。排查工具我一般用調(diào)試器的周期計(jì)數(shù)寄存器DWT-CYCCNT把關(guān)鍵函數(shù)的執(zhí)行周期測出來對比理論預(yù)期偏差過大的地方就是優(yōu)化目標(biāo)。5.3 模型精度不足的改善方向模型在PC端驗(yàn)證很好、部署到現(xiàn)場后精度下降的情況也遇到過幾次。大部分原因是訓(xùn)練數(shù)據(jù)和現(xiàn)場數(shù)據(jù)分布不一致比如訓(xùn)練時(shí)用的電機(jī)轉(zhuǎn)速是額定轉(zhuǎn)速1480rpm現(xiàn)場實(shí)際運(yùn)行在1350-1500rpm之間波動(dòng)。解決辦法是訓(xùn)練數(shù)據(jù)盡量覆蓋現(xiàn)場的全部工況范圍最好在設(shè)備實(shí)際運(yùn)行的負(fù)載條件下采集數(shù)據(jù)。如果提升數(shù)據(jù)覆蓋范圍后精度還不夠下一步加特征維度比如增加包絡(luò)譜特征這對軸承故障診斷特別有效。包絡(luò)譜分析的原理是把高頻振動(dòng)信號(hào)經(jīng)過帶通濾波和包絡(luò)檢波后再對包絡(luò)信號(hào)做FFT能夠把軸承故障的特征頻率從高頻載波中解調(diào)出來。這個(gè)方法需要額外的濾波和解調(diào)計(jì)算在MCU上做要注意實(shí)時(shí)性一般只在疑似異常時(shí)觸發(fā)細(xì)粒度分析不作為常態(tài)計(jì)算。5.4 快速問題速查表現(xiàn)象可能原因排查方法所有設(shè)備數(shù)據(jù)全為0傳感器供電異?;騍PI通信初始化失敗檢查傳感器供電電壓用邏輯分析儀查看SPI時(shí)序單臺(tái)設(shè)備數(shù)據(jù)異常偏高傳感器安裝松動(dòng)檢查傳感器固定螺絲力矩重新涂抹耦合劑誤報(bào)頻繁窗口重疊率太低導(dǎo)致瞬態(tài)沖擊漏檢適當(dāng)提高重疊率并增加報(bào)警延遲確認(rèn)機(jī)制推理時(shí)間過長浮點(diǎn)運(yùn)算未啟用FPU編譯選項(xiàng)中開啟FPU使用__FPU_USED1模型部署后精度下降訓(xùn)練數(shù)據(jù)和現(xiàn)場數(shù)據(jù)分布不一致擴(kuò)充訓(xùn)練集覆蓋現(xiàn)場各工況通信數(shù)據(jù)丟包RS485總線終端電阻缺失總線兩端加120歐姆終端匹配電阻從我這幾個(gè)項(xiàng)目的經(jīng)驗(yàn)來看MCU方案做預(yù)測性維護(hù)重要的不是把算法做得多復(fù)雜而是把數(shù)據(jù)質(zhì)量、特征口徑、模型部署鏈路這幾件事做扎實(shí)。設(shè)備端的數(shù)據(jù)鏈路一旦穩(wěn)定跑通后續(xù)迭代基本上就是水到渠成的事。