未來工廠:利用搭載人工智能的傳感器在邊緣做出決策——第2部分
發布時間:2025-09-09 責任編輯:lina
【導讀】在現代工業智能化轉型中,融合人工智能技術的傳感器正成為關鍵推動力。其中,將邊緣與雲端人工智能(AI)技術融入配備模擬和數字器件的傳感器,成為極具潛力的方向。由於AI技術手段繁多,傳感器設計人員在推進這一融合時,麵臨著諸多相互製約的挑戰,像決策延遲、網絡帶寬占用、功耗與電池壽命,以及適配機器的AI模型選擇等問題。前文已對基於AI的無線狀態監控傳感器Voyager4的概況與硬件設計做了介紹,本文將深入剖析為智能邊緣傳感器構建的軟件架構、AI算法,以及在Voyager4上開發AI模型的全係統級方法。
摘要
在現代工業智能化轉型中,融合人工智能技術的傳感器正成為關鍵推動力。其中,將邊緣與雲端人工智能(AI)技術融入配備模擬和數字器件的傳感器,成為極具潛力的方向。由於AI技術手段繁多,傳感器設計人員在推進這一融合時,麵臨著諸多相互製約的挑戰,像決策延遲、網絡帶寬占用、功耗與電池壽命,以及適配機器的AI模型選擇等問題。前文已對基於AI的無線狀態監控傳感器Voyager4的概況與硬件設計做了介紹,本文將深入剖析為智能邊緣傳感器構建的軟件架構、AI算法,以及在Voyager4上開發AI模型的全係統級方法。
狀態監控傳感器的軟件設計
Voyager4 是由ADI公司開發的無線狀態監控平台,開發人員借助它能夠快速將無線解決方案部署到機器或測試設置並進行測試。Voyager4等電機健康狀況監控解決方案廣泛應用於各行各業,例如機器人以及渦輪機、風扇、泵、電機等旋轉機械。
weizheyangdewuxianbianyuanshebeikaifaruanjiankenenghenkunnan。congchuanganqishejidezaoqijieduankaishi,kaifarenyuanjiubixukaolvzhengtixitongjiagou,xitongdegegebufenruheyunxing,ruhejichengbutongzujianyixietonggongzuo,yijiruheyingyonghebushuyouyongdesuanfayufenxigongju(如神經網絡)來提升邊緣智能水平。
對於此類項目,主要目標就是為邊緣設備和所連主機創建易於理解、可修改、可升級的軟件。Voyager4內部有兩個微控製器和許多外設,包括傳感器、電源管理板、閃存和通信接口。開發旨在控製和整合每個部分的代碼是一項艱巨的任務。
本文希望通過展示Voyager4的開發設計過程,重點說明所采取的步驟,並提供一些具體的實現案例,以幫助讀者更好地了解自行開發邊緣傳感器的方法。
這是闡述Voyager4狀態監控平台開發的三部分係列文章的第2部分。
►本係列文章的第1部分介紹了Voyager4無線狀態監控傳感器,包括傳感器架構的關鍵元素、硬件設計、功耗分析和機械集成。
►本係列文章的第2部分將重點討論軟件架構和AI算法,並說明在Voyager4上開發和部署AI模型的完整係統級方法。
►本係列文章的第3部分將討論AI算法的實際實現,以及Voyager4可以檢測的各種故障,例如不平衡、未對準和軸承缺陷。
概述
這裏簡要回顧了Voyager的工作原理。有關狀態監控傳感器的更多信息,以及關於Voyager4項目的專有硬件、功耗和安全特性的詳細信息,請參閱本係列文章的第1部分。

圖1.Voyager4工作模式。
圖1顯示了Voyager4的傳感器工作原理。ADXL382 三軸8 kHz數字微機電係統(MEMS)加速度計用於采集振動數據。采集的數據會依據工作模式遵循不同的路徑。
路徑A是最初采用的路徑,原始振動數據直接發送到MAX32666 低功耗藍牙®(BLE)處理器。然後,數據可以通過無線BLE或USB發送給用戶。路徑B是一種替代工作模式,可以在利用Voyager采集原始數據並通過MAX78000外部工具訓練模型後使用該模式。數據不會發送給用戶,而是傳遞給邊緣AI算法來預測機器故障。路徑C和D分別代表檢測到和未檢測到電機故障的用例。如果檢測到故障,則可以通過BLE處理器向主機發送故障標誌或用戶警報。如果未檢測到故障,傳感器將返回休眠模式,直到發生下一次檢測事件。
該架構是Voyager4軟件和AI算法開發的重點。為了從係統層麵全麵理解該架構,本文將討論以下幾方麵:
►BLE術語
►BLE外圍設備的實現
►BLE中心設備的實現
►AI算法的訓練和部署
BLE背景知識
設計工業邊緣傳感器時,連接是關鍵設計因素之一。根據可用或所需的功率,連接會影響覆蓋範圍、可靠性、設備整體壽命和尺寸等方方麵麵。如表1所示,與其他連接標準相比,BLE擁有一些特別的優勢。對於我們的工業監控用例而言,BLE的覆蓋範圍、功率和可靠性尤為重要。要了解BLE邊緣設備的設計和開發,首先必須了解所有BLE項目都會使用的一些基本術語。
表1.無線連接標準比較

全麵介紹BLE的所有特性將需要一本書的篇幅。本文將重點介紹實現BLE設備時需要考慮的一些關鍵概念,包括:
►軟件堆棧
►外圍設備/中心設備模型
►協議和配置文件
BLE軟件堆棧
BLE軟件堆棧是一係列標準協議的集合,設備必須支持這些協議才能被視為與BLE兼容。為了幫助讀者更輕鬆地理解這個術語,圖2zhanshileduizhanneibutongxieyidefencengfangshi。duiyuyonghutongxinheshebeilianjiedenggaojigongneng,xuyaofuzeshujufengzhuanghejiexidengjibenrenwudejiaodijixieyitigongzhichi。
幸(xing)運(yun)的(de)是(shi),開(kai)發(fa)人(ren)員(yuan)對(dui)堆(dui)棧(zhan)組(zu)成(cheng)部(bu)分(fen)有(you)基(ji)本(ben)的(de)了(le)解(jie)通(tong)常(chang)就(jiu)足(zu)夠(gou)了(le),他(ta)們(men)可(ke)以(yi)從(cong)一(yi)係(xi)列(lie)已(yi)經(jing)實(shi)現(xian)各(ge)自(zi)版(ban)本(ben)堆(dui)棧(zhan)的(de)硬(ying)件(jian)設(she)備(bei)中(zhong)進(jin)行(xing)選(xuan)擇(ze)。用(yong)戶(hu)隻(zhi)需(xu)開(kai)發(fa)應(ying)用(yong)程(cheng)序(xu)中(zhong)負(fu)責(ze)控(kong)製(zhi)設(she)備(bei)本(ben)身(shen)的(de)部(bu)分(fen),並(bing)利(li)用(yong)預(yu)構(gou)建(jian)的(de)BLE堆棧即可。

圖2.BLE堆棧。
BLE堆棧通常由三個不同部分組成:應用程序、主機和控製器。應用程序定義用戶接口和用戶實現的具體應用代碼(振動監測)。主機是指BLE軟件堆棧的上層,它控製配置文件和協議等高級功能。控製器是指BLE堆棧的底層,它處理鏈路層和物理層,如2.4 GHz無線電本身。此項目選擇使用MAX32666 BLE微控製器。這是一款低功耗Arm® Cortex®-M4微控製器,搭載低功耗藍牙5無線電,支持遠距離(4×)通信和高數據吞吐速率(2 Mbps)。
外圍設備/中心設備模型
根據BLE設(she)備(bei)的(de)作(zuo)用(yong),可(ke)以(yi)將(jiang)其(qi)定(ding)義(yi)為(wei)外(wai)圍(wei)設(she)備(bei)或(huo)中(zhong)心(xin)設(she)備(bei)。數(shu)據(ju)可(ke)以(yi)雙(shuang)向(xiang)流(liu)動(dong),兩(liang)者(zhe)之(zhi)間(jian)最(zui)大(da)的(de)區(qu)別(bie)之(zhi)一(yi)是(shi)其(qi)連(lian)接(jie)方(fang)式(shi)。在(zai)連(lian)接(jie)之(zhi)前(qian),外(wai)圍(wei)設(she)備(bei)會(hui)通(tong)告(gao)其(qi)能(neng)否(fou)連(lian)接(jie),中(zhong)心(xin)設(she)備(bei)則(ze)掃(sao)描(miao)可(ke)供(gong)連(lian)接(jie)的(de)外(wai)圍(wei)設(she)備(bei)並(bing)發(fa)起(qi)連(lian)接(jie)。數(shu)據(ju)可(ke)以(yi)在(zai)外(wai)圍(wei)設(she)備(bei)和(he)中(zhong)心(xin)設(she)備(bei)之(zhi)間(jian)雙(shuang)向(xiang)流(liu)動(dong),但(dan)中(zhong)心(xin)設(she)備(bei)被(bei)視(shi)為(wei)主(zhu)機(ji)。舊(jiu)版(ban)BLE文獻也將外圍設備和中心設備分別稱為服務器和客戶端。

圖3.外圍設備/中心設備1:1模型。
在我們的係統中,將Voyager平台定義為外圍設備,它收集數據並將其發送到中心設備。對於這個項目,為了簡化開發和便於理解,我們首先研究最簡單的情形:單個中心設備與單個外圍設備交互,如圖3所示。
協議和配置文件
在藍牙的命名術語中,協議和配置文件很容易混淆。簡單地說,協議是定義設備操作的基本功能塊:數據封裝、格式、路lu由you等deng。配pei置zhi文wen件jian是shi組zu合he在zai一yi起qi以yi支zhi持chi基ji本ben工gong作zuo模mo式shi的de功gong能neng包bao。它ta本ben質zhi上shang是shi多duo種zhong協xie議yi的de組zu合he,以yi實shi現xian某mou種zhong整zheng體ti功gong能neng。例li如ru,電dian池chi服fu務wu配pei置zhi文wen件jian可ke用yong於yu查zha詢xun設she備bei的de剩sheng餘yu電dian池chi電dian量liang。所suo有youBLE設備都必須實現至關重要的通用訪問配置文件(GAP)和通用屬性配置文件(GATT),以便能夠連接到其他BLE設備。GAP負責處理底層各項功能:廣播、設備發現和連接管理。GATT負責管理設備之間的高級數據組織和傳輸,使它們能夠通過已建立的連接執行讀寫操作。
其他配置文件是可選的附加項,用於為設備提供額外功能,例如接近配置文件(Proximity Profile)。這些配置文件包括由藍牙技術聯盟(SIG)創(chuang)建(jian)的(de)預(yu)定(ding)義(yi)配(pei)置(zhi)文(wen)件(jian)。開(kai)發(fa)智(zhi)能(neng)手(shou)表(biao)或(huo)智(zhi)能(neng)電(dian)表(biao)等(deng)典(dian)型(xing)設(she)備(bei)時(shi),使(shi)用(yong)一(yi)組(zu)預(yu)定(ding)義(yi)的(de)配(pei)置(zhi)文(wen)件(jian)可(ke)能(neng)很(hen)有(you)用(yong),但(dan)對(dui)於(yu)需(xu)要(yao)實(shi)現(xian)大(da)量(liang)自(zi)定(ding)義(yi)功(gong)能(neng)的(de)設(she)備(bei)而(er)言(yan),預(yu)定(ding)義(yi)配(pei)置(zhi)文(wen)件(jian)可(ke)能(neng)會(hui)帶(dai)來(lai)限(xian)製(zhi)。
開發人員還可以使用並非由藍牙SIG創(chuang)建(jian)的(de)自(zi)定(ding)義(yi)配(pei)置(zhi)文(wen)件(jian),這(zhe)樣(yang)做(zuo)可(ke)以(yi)提(ti)升(sheng)設(she)計(ji)靈(ling)活(huo)性(xing),但(dan)會(hui)犧(xi)牲(sheng)一(yi)定(ding)的(de)可(ke)移(yi)植(zhi)性(xing)。每(mei)個(ge)配(pei)置(zhi)文(wen)件(jian)將(jiang)其(qi)數(shu)據(ju)組(zu)織(zhi)成(cheng)服(fu)務(wu),服(fu)務(wu)由(you)多(duo)個(ge)特(te)性(xing)組(zu)成(cheng),如(ru)圖(tu)4所示。

圖4.自定義命令服務器配置文件。
當中心設備和外圍設備之間形成連接時,中心設備可以請求與該外圍設備關聯的配置文件和服務。圖5顯示了中心設備發出請求時,Voyager的GAP、GATT和自定義配置文件(及其服務)的結構。

圖5.Voyager配置文件結構。
對於Voyager,除了基本的GAP和GATTpeizhiwenjian,womenhaidingyileyigeyongzuominglingfuwuqidezidingyipeizhiwenjian,tachulilaizizhongxinshebeidemingling,bingfanhuishujuhuogengxinwaiweishebeibenshendepeizhi。
固件實現
BLE微控製器是該係統的核心,它確保所有外圍傳感器和設備的數據都可以由相連的BLE中心設備檢索或修改。
設備配置
我們利用MAX32666上預先構建的BLE堆棧,通過填充相關配置功能來構建外圍設備的外觀。例如,在圖6中,我們為掃描數據發現數組提供了數據長度、廣播類型和一係列字符,每次Voyager上電時,外圍設備設置函數都會調用該數組。

圖6.設置Voyager掃描數據。
像這樣的BLE設(she)備(bei)將(jiang)有(you)大(da)量(liang)的(de)設(she)置(zhi)需(xu)要(yao)配(pei)置(zhi),包(bao)括(kuo)無(wu)線(xian)電(dian)的(de)傳(chuan)輸(shu)功(gong)率(lv)和(he)返(fan)回(hui)數(shu)據(ju)類(lei)型(xing)。建(jian)議(yi)從(cong)所(suo)使(shi)用(yong)硬(ying)件(jian)附(fu)帶(dai)的(de)預(yu)構(gou)建(jian)示(shi)例(li)入(ru)手(shou),然(ran)後(hou)在(zai)其(qi)基(ji)礎(chu)上(shang)進(jin)行(xing)自(zi)定(ding)義(yi)修(xiu)改(gai)。MAX32666提供了一個BLE數據服務器(外圍設備)的示例代碼,名為BLE DATS,Voyager項目就是以此為基礎構建的。配置後,當中心設備掃描可用設備時,外圍設備的名稱顯示為Voyager。這也可以用於過濾搜索列表,以便中心設備僅顯示預期名稱的設備。如圖7所示,設備名稱與設備MAC地址和接收信號強度指示(RSSI)一同顯示。

圖7.中心設備中顯示的Voyager。
堆棧內的其他配置設置控製設備其他模式的預期名稱和行為,例如製造商ID、對讀/寫命令的響應等。

圖8.Voyager4硬件框圖,采用了MAX3207E、DS28C40A、ADXL382、ADG1634、MAX32666、ADXL367、MAX78000、MAX17262、MAX20335和MAX38642。
命令服務器
Voyager4應用的中心端和外圍端是同步設計的,因此可以利用含有單個BLE服務的自定義配置文件來簡化外圍設備接口。該配置文件將負責接收來自中心設備的命令,並以加速度計數據、溫度數據和其他設備信息的形式返回響應。
對於像Voyager這樣複雜的設備,采用該單一自定義服務進行BLE通信是不同尋常的做法,但卻帶來了幾點好處。這種做法不僅支持Voyager版本之間的向後兼容性,而且增強了命令靈活性,因為通過將字符串用作Voyager外圍設備的命令輸入,應用可以根據數據的解析方式,靈活支持各種類型的命令和值。
一旦外圍設備和中心設備之間形成連接,為了建立雙向通信,中心設備就會向自定義特性發出通知命令,如圖11suoshi。zheyangjiuzaiwaiweiduanjianlileyigetongzhixitong,bingzaizhongxinduanzhidinglexiangyingdehuitiaohanshu。zheyiweizhe,meidangyougengxindeshujufenpeigeigaizidingyitexingshi,douhuitongzhizhongxinshebei,chuanshuxinshuju,bingchufazhongxinshebeidehuitiaohanshu。
固件架構
圖8中的硬件示意圖顯示了Voyager中包含的各種元器件以及相關的數據路徑和電源。大多數軟件開發都是在BLE微控製器上進行的,因為它作為命令中心,負責協調設備的BLE接口以及傳感器和微控製器數據的內部管道。為了與係統中的不同傳感器和微控製器進行交互,我們必須開發供BLE微控製器和AI部分中討論的AI微控製器使用的設備驅動程序。實際上,這些驅動程序的開發和集成占了聯網邊緣傳感器所需編程工作的很大一部分。
編寫可移植代碼
開(kai)發(fa)固(gu)件(jian)時(shi),我(wo)們(men)將(jiang)代(dai)碼(ma)劃(hua)分(fen)成(cheng)幾(ji)個(ge)抽(chou)象(xiang)層(ceng),以(yi)將(jiang)特(te)定(ding)微(wei)控(kong)製(zhi)器(qi)的(de)具(ju)體(ti)細(xi)節(jie)與(yu)應(ying)用(yong)程(cheng)序(xu)和(he)驅(qu)動(dong)程(cheng)序(xu)代(dai)碼(ma)區(qu)分(fen)開(kai)來(lai)。這(zhe)種(zhong)做(zuo)法(fa)很(hen)常(chang)見(jian),通(tong)常(chang)會(hui)在(zai)應(ying)用(yong)層(ceng)之(zhi)外(wai)再(zai)劃(hua)分(fen)出(chu)三(san)個(ge)明(ming)確(que)的(de)層(ceng)次(ci)來(lai)管(guan)理(li)不(bu)同(tong)的(de)代(dai)碼(ma)功(gong)能(neng),即(ji)硬(ying)件(jian)抽(chou)象(xiang)層(ceng)(HAL)、板支持包(BSP)和驅動程序層。此架構如圖9所示。

圖9.通用BSP-HAL架構。
HAL為程序與不同硬件的交互提供了一種統一方法,程序無需知道每個設備的具體細節。BSP定義了依賴於硬件的軟件,而驅動程序層定義了各個設備的更具體細節,如寄存器映射。例如,Voyager有兩個微控製器,MAX32666用於BLE連接,MAX78000 帶有一個板載卷積神經網絡(CNN)加速器。如圖10所示,Voyager中的HAL定義了微控製器、SPI和I2C將使用的基本通信命令。舉例來說,任何設備驅動程序發出任何SPI通信請求時,此任務最初都會被委托給HAL中的SPI函數,然後HAL查找BSP的具體信息,以便針對該微控製器使用正確的SPI命令。
對於係統中的每個電路板,HAL保持不變,但對於每個微控製器,BSP會更新。BSP還負責定義係統的通用構建模塊,以將應用程序調用與所使用的具體設備解耦。在圖10中,BSP中的MAIN_ADXL模塊是所使用的底層加速度計的抽象塊。任何加速度計的常用命令(如初始化和讀取)都在BSP層中定義,而低級函數(如get_raw_xyz_data)則在ADXL382模塊中的驅動程序級別上定義。將驅動程序代碼從MAX32666移植到MAX78000微控製器時,加速度計代碼保持不變,因為它僅與加速度計本身有關。隻有BSP層中的文件需要更新,以便能夠與新微控製器通信。
這對於係統中部件的更換或升級來說,也具有明顯的優勢。在Voyager中,一個真實例子是我們決定升級所用的主加速度計。升級僅需更新驅動程序層中的代碼,維護、修改和測試工作都得以簡化。

圖10.Voyager BSP HAL架構。
數據管道和BLE中心設備
雖然溫度和電池信息可根據要求提供給BLE中心設備應用程序,但Voyager的(de)主(zhu)要(yao)作(zuo)用(yong)是(shi)作(zuo)為(wei)狀(zhuang)態(tai)監(jian)控(kong)器(qi)和(he)振(zhen)動(dong)傳(chuan)感(gan)器(qi)。關(guan)於(yu)數(shu)據(ju)吞(tun)吐(tu)速(su)率(lv)和(he)數(shu)據(ju)發(fa)送(song)頻(pin)率(lv),我(wo)們(men)重(zhong)點(dian)考(kao)慮(lv)振(zhen)動(dong)傳(chuan)感(gan)器(qi)和(he)典(dian)型(xing)狀(zhuang)態(tai)監(jian)控(kong)場(chang)景(jing),比(bi)如(ru)每(mei)天(tian)進(jin)行(xing)一(yi)次(ci)短(duan)暫(zan)測(ce)量(liang)。BLE不支持高數據吞吐速率。ADXL382是一款高帶寬、3軸加速度計,在高性能模式下每秒每軸采集16,000個樣本。根據係統所包含的元器件,有幾種數據發送方式可供選擇。
發送實時數據
沒(mei)有(you)任(ren)何(he)形(xing)式(shi)的(de)緩(huan)衝(chong),當(dang)中(zhong)心(xin)設(she)備(bei)請(qing)求(qiu)數(shu)據(ju)時(shi),隻(zhi)要(yao)數(shu)據(ju)可(ke)用(yong),便(bian)立(li)即(ji)發(fa)送(song)。這(zhe)種(zhong)方(fang)式(shi)在(zai)演(yan)示(shi)模(mo)式(shi)下(xia)很(hen)有(you)用(yong),可(ke)以(yi)實(shi)時(shi)展(zhan)示(shi)高(gao)性(xing)能(neng)加(jia)速(su)度(du)計(ji)數(shu)據(ju),但(dan)是(shi)電(dian)池(chi)電(dian)量(liang)很(hen)快(kuai)就(jiu)會(hui)耗(hao)盡(jin),並(bing)且(qie)由(you)於(yu)生(sheng)成(cheng)數(shu)據(ju)的(de)速(su)度(du)超(chao)過(guo)發(fa)送(song)的(de)速(su)度(du),數(shu)據(ju)包(bao)會(hui)被(bei)丟(diu)棄(qi)或(huo)損(sun)壞(huai)。
從存儲器發送數據
lingyizhongfangshishijiangshujubaocundaoshancunzhong。zheyang,womenjiukeyianquandijilujiasudujishuju,erbubidanxinfugaiyiqiandezhi。baocundeshujusuihouhuizhijiefasongdaozhongxinshebei,huozaishoudaozhongxinshebeideminglinghoujinxingbaogao。gaixitongbuzaishishishide(數據可能是幾分鍾甚至幾天前的),因此我們還可以利用BLE對數據包的應答係統,確保數據完整無缺地到達中心設備,如有任何數據丟失則重新發送。
對於典型的工業狀態監控場景而言,這種方案更為實用,但設備的電池壽命大部分浪費在發送每天變化不大的振動信息上。
在邊緣執行分析
為(wei)了(le)延(yan)長(chang)電(dian)池(chi)續(xu)航(hang)時(shi)間(jian),在(zai)邊(bian)緣(yuan)執(zhi)行(xing)一(yi)些(xie)分(fen)析(xi)會(hui)更(geng)好(hao),確(que)保(bao)僅(jin)相(xiang)關(guan)數(shu)據(ju)才(cai)通(tong)過(guo)無(wu)線(xian)電(dian)鏈(lian)路(lu)傳(chuan)輸(shu)。當(dang)然(ran),這(zhe)隻(zhi)有(you)在(zai)邊(bian)緣(yuan)產(chan)生(sheng)有(you)意(yi)義(yi)洞(dong)察(cha)所(suo)需(xu)的(de)功(gong)耗(hao)明(ming)顯(xian)低(di)於(yu)通(tong)過(guo)BLE發送數據所需的功耗時才是可行的(有關這方麵的更多信息,請參閱本係列文章的第1部分)。
在圖8中可以看到,加速度計與兩個微控製器都有直接數據路徑。在我們於邊緣執行某些分析的用例中,AI微控製器可以直接從加速度計讀取振動數據,並使用板載AI模型進行分析。

圖11.Voyager中心/外圍設備架構。
設計中心設備用戶界麵
BLE外圍設備與Voyager外圍設備同步設計,因此兩者的交互方式存在非常大的靈活性。一般來說,中心設備需要掃描並連接Voyager外圍設備,然後發送字符串命令並處理其返回值。初次連接後,所有BLE命令都直接發送到外圍設備的自定義服務進行解析。在本例中,中心設備是Windows PC上的圖形用戶界麵(GUI),用Python編寫,並利用BLE外圍設備庫(BLEak)發出標準BLE命令。BLEak建立在Python的asyncio標準庫之上,允許BLE命令異步運行,確保用戶界麵保持可交互狀態且不會凍結。
當GUI成功連接到外圍設備時,係統會自動向Voyager的單個自定義特性發出通知命令,如圖11所示。這樣可確保對此特性的任何更新都會報告給中心設備。這一點很重要,因為Voyager會對後續命令給出應答或響應,表明這些命令是否已成功執行。
如何請求數據?
始終使用簡單的字符串命令來請求數據。例如,中心設備可以發出setphy 2命令,指示Voyager使用其2M無線電。這會提升數據通信速度,但覆蓋範圍和可靠性會受到一定的影響。外圍設備會解析此命令以確保其有效,然後以輸入值2調用自己的內部setphy函數,從而切換所用的無線電。如果Voyager成功執行了此函數,則Return: OK命令會被發回中心設備並顯示給用戶。
解譯加速度計數據
接收數據之前,GUI用戶可以選擇使用setadxlcfg命令配置所連Voyager的(de)加(jia)速(su)度(du)計(ji)。一(yi)旦(dan)外(wai)圍(wei)設(she)備(bei)發(fa)出(chu)啟(qi)動(dong)命(ming)令(ling),加(jia)速(su)度(du)計(ji)數(shu)據(ju)就(jiu)會(hui)從(cong)外(wai)圍(wei)設(she)備(bei)流(liu)向(xiang)中(zhong)心(xin)設(she)備(bei)。默(mo)認(ren)情(qing)況(kuang)下(xia),中(zhong)心(xin)設(she)備(bei)和(he)外(wai)圍(wei)設(she)備(bei)以(yi)實(shi)時(shi)數(shu)據(ju)模(mo)式(shi)運(yun)行(xing),這(zhe)對(dui)於(yu)演(yan)示(shi)目(mu)的(de)很(hen)有(you)用(yong)。
在外圍設備端,內部先進先出(FIFO)緩衝區按照用戶指定的采樣速率填充新數據。一旦FIFO填滿,係統就會在Voyager自定義服務上設置一個標誌,通知外圍設備有新數據可用。然後,數據被發送到外圍設備並進行解析,轉化為x、y、z三個軸的加速度數據的格式化數組。數據始終以圖形方式顯示,用戶可以選擇“保存數據”選項,以將數據保存到csv文件供以後分析。

圖12.Voyager4中心設備GUI繪圖數據。
AI算法設計
本項目的目標是檢測電機的健康狀況何時開始下降。邊緣AI分析旨在通過分析音頻、溫度、zhendongdengyizhonghuoduozhongshurushuju,shengchengdianjijiankangzhuangkuangdezhibiaohuotezheng,congerqudaihuobuchongrenleishujufenxi。zhendongfenxishidangjinzhuangtaijiankongyingyongzhongchangyongdejishushouduan。
輸入
許多邊緣AI處理器往往非常耗電,這與無線狀態監控解決方案的目標之一(即延長續航時間)背道而馳。MAX78000(如前所述)能夠快速、低功耗地進行AI推理,其總功耗比使用無線BLE還要低。但是,在使用低功耗邊緣AI處理器時,應注意神經網絡的規模不能超出電路板的規格。該板搭載一個512 kB數據內存的CNN加速器。它主要用於目標檢測、音頻處理和時間序列數據處理。
我wo們men解jie決jue方fang案an可ke用yong的de數shu據ju是shi加jia速su度du時shi間jian序xu列lie。為wei了le盡jin量liang提ti高gao所suo訓xun練lian算suan法fa的de性xing能neng,我wo們men嚐chang試shi了le幾ji種zhong預yu處chu理li方fang法fa,以yi確que定ding哪na種zhong方fang法fa對dui準zhun確que度du影ying響xiang最zui大da。本ben係xi列lie文wen章zhang的de第di3部分將對此加以詳細討論。
訓練
在線資源“Analog Devices AI”GitHub詳細說明了訓練神經網絡並將其部署到MAX78000的過程。一般來說,首先使用PyTorch®或TensorFlow®等常規工具集在主機PC上創建模型。此模型需要訓練數據,這些數據必須由目標設備保存並傳輸到PC。輸入的一部分成為訓練集,專門用於訓練模型。還有一部分成為驗證集,用於觀察損失函數(網絡性能的衡量標準)在訓練期間如何變化。
根gen據ju所suo用yong的de模mo型xing類lei型xing,可ke能neng需xu要yao不bu同tong類lei型xing和he數shu量liang的de數shu據ju。要yao識shi別bie特te定ding的de電dian機ji故gu障zhang,您nin需xu要yao使shi用yong標biao注zhu好hao的de數shu據ju訓xun練lian模mo型xing。這zhe些xie數shu據ju不bu僅jin要yao包bao含han各ge種zhong故gu障zhang狀zhuang態tai下xia的de振zhen動dong信xin息xi,還hai要yao包bao含han無wu故gu障zhang的de正zheng常chang狀zhuang態tai下xia的de振zhen動dong數shu據ju作zuo為wei對dui比bi。

圖13.Voyager健康狀況訓練數據。
Voyager最(zui)初(chu)采(cai)用(yong)自(zi)動(dong)編(bian)碼(ma)器(qi)類(lei)型(xing)的(de)神(shen)經(jing)網(wang)絡(luo)開(kai)發(fa)。自(zi)動(dong)編(bian)碼(ma)器(qi)無(wu)需(xu)借(jie)助(zhu)數(shu)據(ju)標(biao)簽(qian)就(jiu)能(neng)學(xue)會(hui)如(ru)何(he)對(dui)數(shu)據(ju)進(jin)行(xing)分(fen)類(lei)。雖(sui)然(ran)這(zhe)種(zhong)類(lei)型(xing)的(de)模(mo)型(xing)不(bu)適(shi)合(he)複(fu)雜(za)的(de)故(gu)障(zhang)分(fen)類(lei),但(dan)它(ta)可(ke)以(yi)快(kuai)速(su)完(wan)成(cheng)訓(xun)練(lian),並(bing)且(qie)僅(jin)需(xu)使(shi)用(yong)客(ke)戶(hu)已(yi)有(you)的(de)數(shu)據(ju),例(li)如(ru)正(zheng)常(chang)運(yun)行(xing)電(dian)機(ji)數(shu)據(ju)。
訓練所需的理想數據量因具體情況而異。關鍵在於擁有足夠的數據來學習正常運行電機數據的一般趨勢,同時避免過擬合。Voyager部署的默認示例僅使用了30秒的正常運行加速度計數據進行訓練。同時保存了同樣數量的存在不平衡故障的數據以供驗證。兩個數據集均通過Python GUI直接保存到訓練PC中。

圖14.Voyager故障測試數據。
shurushujuyongyuxunlianmoxingzhiqian,jingguoleyuchuli。ranhou,xunlianjiaobenanshunxuyunxingjicixunliandiedai,bingtiaoxuanchubiaoxiantuchudemoxing。weileceshimude,xuyaoyixieguzhangshurushuju。jiyuzhengchangyunxingshujuxunlianmoxinghou,wubixianyongguzhangshujujinxingceshi,zheyangcainengquebaojieguodekekaoxing。
如何部署算法?
模型訓練完成後,必須使用ADI公gong司si的de在zai線xian工gong具ju集ji進jin行xing量liang化hua和he合he成cheng。量liang化hua步bu驟zhou通tong過guo舍she入ru或huo截jie斷duan,將jiang所suo生sheng成cheng模mo型xing的de權quan重zhong映ying射she到dao更geng小xiao的de數shu值zhi區qu間jian集ji合he,從cong而er減jian少shao模mo型xing存cun儲chu所suo需xu的de內nei存cun。這zhe是shi將jiang神shen經jing網wang絡luo部bu署shu到dao較jiao小xiao邊bian緣yuan設she備bei的de標biao準zhun步bu驟zhou。合he成cheng步bu驟zhou將jiang量liang化hua模mo型xing轉zhuan換huan成cheng微wei控kong製zhi器qi可ke理li解jie的deC文件。
此步驟生成三個文件,隨後必須將這些文件複製到微控製器的活動項目中,並在下次固件更新時加載。其中兩個文件(cnn.h和cnn.c)包含用於CNN配置的寄存器寫入操作,以及所加載模型的其他有用功能。第三個文件(weights.h)包含訓練(和量化)得到的模型權重。
通過有線更新(借助調試端口)或無線(OTA)更新加載新固件後,就完成了模型部署,BLE微控製器就能按需查詢模型,執行AI推理。
部署後如何使用?
一旦部署新固件,AI微控製器就會作為有限狀態機運行,通過SPI接受並響應來自BLE控製器的命令。

圖15.微控製器SPI通信。
收到推理請求時,AI微(wei)控(kong)製(zhi)器(qi)會(hui)喚(huan)醒(xing),並(bing)向(xiang)加(jia)速(su)度(du)計(ji)請(qing)求(qiu)數(shu)據(ju)。重(zhong)要(yao)的(de)一(yi)點(dian)是(shi),它(ta)隨(sui)後(hou)會(hui)對(dui)該(gai)時(shi)間(jian)序(xu)列(lie)數(shu)據(ju)執(zhi)行(xing)與(yu)訓(xun)練(lian)時(shi)相(xiang)同(tong)的(de)預(yu)處(chu)理(li)步(bu)驟(zhou)。最(zui)後(hou),此(ci)預(yu)處(chu)理(li)的(de)輸(shu)出(chu)會(hui)送(song)到(dao)已(yi)部(bu)署(shu)的(de)神(shen)經(jing)網(wang)絡(luo),由(you)其(qi)報(bao)告(gao)分(fen)類(lei)結(jie)果(guo)。

圖16.AI推理狀態機。
出於省電考慮,AI微控製器被設計成在喚醒時自動執行推理。因此,BLE微控製器可以僅在需要進行分析時才啟動AI微控製器。
在典型設置中,BLE微控製器可以每天短暫地從低功耗休眠模式喚醒,請求對現有加速度計數據進行AI推理,如果數據不滿足用戶設定的條件,比如模型以99%的置信度判斷數據正常,則返回休眠模式。反之,如果數據看起來異常或無法判斷是否正常時,則BLE微控製器可以連接到附近的BLE主機並共享數據。通過這種方式,在邊緣進行分析就無需主機係統理解數據,從而節省了電池電量。
結語
本文介紹了無線振動監測係統Voyager4,它采用邊緣AI分析來提升其作為狀態監控工具的智能水平和電池續航時間。設計有效的狀態監控傳感器需要考慮多個方麵。我們討論了Voyager4的硬件信號鏈、用於將不同係統元素集成在一起的固件,以及該設備作為BLE外圍設備的外觀。我們還探討了AI在Voyager中的應用,並提供了有關如何開發和部署邊緣AI模型的一些見解。
推薦閱讀:
超越傳統:空心線圈如何重塑RF與自動化領域——工程師必備選型指南
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 芯科科技Tech Talks與藍牙亞洲大會聯動,線上線下賦能物聯網創新
- 冬季續航縮水怎麼辦?揭秘熱管理係統背後的芯片力量
- 從HDMI 2.1到UFS 5.0:SmartDV以領先IP矩陣夯實邊緣計算基石
- 小空間也能實現低噪供電!精密測量雙極性電源選型指南,覆蓋小功率到大電流全場景
- 直擊藍牙亞洲大會 2026:Nordic 九大核心場景演繹“萬物互聯”新體驗
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





