• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

【RT-Thread作品秀】基于深度學(xué)習(xí)的機(jī)器故障智能檢測(cè)設(shè)備

2020/12/14
630
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

代碼地址.txt

共2個(gè)文件

基于深度學(xué)習(xí)的機(jī)器故障智能檢測(cè)設(shè)備

作者:徐華

應(yīng)用背景

  在智能制造時(shí)代,隨著工廠設(shè)備自動(dòng)化程度不斷越高,設(shè)備的預(yù)測(cè)性維護(hù)工作在生產(chǎn)中起著越來(lái)越重要的作用。預(yù)測(cè)性維護(hù)技術(shù)是未來(lái)智慧工廠重要構(gòu)成部分,通過部署各種傳感器,采集工廠設(shè)備各種運(yùn)行狀態(tài)數(shù)據(jù),研究檢測(cè)數(shù)據(jù)分析、預(yù)測(cè)算法微型化實(shí)現(xiàn),快速便捷的對(duì)工業(yè)設(shè)備健康狀況進(jìn)行檢測(cè),在設(shè)備健康狀況發(fā)生惡化之前做出合理的維護(hù)決策,消除設(shè)備的安全隱患。

實(shí)現(xiàn)功能

  本項(xiàng)目基于RT-Thread、STM32開發(fā)板(NUCLEO-H743ZI2做了演示版本,ART-Pi只驗(yàn)證調(diào)試了傳感器,跑通了流程,存在模擬i2c通信效率問題)、STM32 LSM6DSOX傳感器、1.12OLED屏,SHT31溫濕度傳感器(溫濕度數(shù)據(jù)暫時(shí)未參與建模)以及按鍵和指示燈設(shè)計(jì)一個(gè)MEMS振動(dòng)監(jiān)控設(shè)備。實(shí)際要求是利用檢測(cè)設(shè)備運(yùn)行狀態(tài)數(shù)據(jù)預(yù)測(cè)機(jī)器的健康狀況,但本項(xiàng)目只是一個(gè)原型設(shè)計(jì),驗(yàn)證MCU采集傳感器數(shù)據(jù),并驗(yàn)證運(yùn)行CNN學(xué)習(xí)模型離線預(yù)測(cè)的可行性,最終預(yù)測(cè)結(jié)果輸出到OLED屏。

RT-Thread 使用情況概述

本項(xiàng)目功能基于RT-Thread開發(fā),由于使用了Tensorflow,采用C/C++混合編程。NUCLEO-H743ZI2ART-Pi開發(fā)板分別基于KEIL MDKRT-Thread Studio開發(fā)。I2C分別采用了STM32HAL庫(kù)(H743)和RT-Thread  GPIO軟件模擬(H750)調(diào)試開發(fā)。

硬件框架說(shuō)明

NUCLEO-H743ZI2開發(fā)板,傳感器OLED屏幕接I2C2_SDAI2C2_SCL。BUTTONPD_1, 指示燈接PD_0。引腳對(duì)照如下:

ART-Pi開發(fā)板,傳感器及OLED屏幕接PH11PH12。BUTTONPH14, 指示燈接PC7。

軟件框架說(shuō)明

程序大體工作流程如下:

 

軟件模塊說(shuō)明

NUCLEO-H743ZI2開發(fā)板軟件:

Source目錄:Tensorflow Lite for Micro相關(guān)代碼,收集傳感器數(shù)據(jù),基于訓(xùn)練的模型預(yù)測(cè)傳感器狀態(tài),并在OLED上顯示結(jié)果;

Applications目錄:main.c主程序,其中增加了RT-Thread shell commands用于測(cè)試和調(diào)試。Sht31_sensor命令用于讀取溫濕度傳感器值,實(shí)際暫時(shí)未參與建模和預(yù)測(cè);sh1107g_oled命令為OLED顯示測(cè)試命令;collect命令采集各狀態(tài)傳感器數(shù)據(jù),輸出到PC側(cè),整理標(biāo)注后用于建模。Check命令為采集預(yù)測(cè)功能。主程序啟動(dòng)后,屏幕上顯示提示信息,按button,開始運(yùn)行。

Sensors:分別為LSM6DSOXSHT31,OLED驅(qū)動(dòng)程序。

首先以RT-Thread shell commands形式,調(diào)試用到的各個(gè)外圍設(shè)備。其中collect命令調(diào)試LSM6DSOX,并采集數(shù)據(jù)用于建模,采集的數(shù)據(jù)歸為四類,在PC上構(gòu)建CNN并訓(xùn)練模型,并保存模型文件。

通過xxd -i my_model.tflite > my_model_.cc命令,把模型文件轉(zhuǎn)為數(shù)組形式。

Tensorflow相關(guān)代碼用C++寫,直接編譯可能報(bào)如下錯(cuò)誤,需要調(diào)整ARM Compile,以及不勾選Use MicroLIB。

ART-Pi開發(fā)板軟件:

NUCLEO-H743ZI2基本類似,最大區(qū)別是Tensorflow Lite是通過RT-Thread Settings添加的,i2cgpio軟件模擬的。檢測(cè)識(shí)別代碼放于下圖紅色標(biāo)注處。

作品完整圖片

視頻演示效果 

  首先是復(fù)位狀態(tài),屏幕上顯示

Measuring System

Test for RT-Thread

Test for Tensorflow Lite Micro

Press button to start or stop

button,開始運(yùn)行,屏幕顯示預(yù)測(cè)狀態(tài)。

調(diào)整傳感器狀態(tài),MCU依據(jù)訓(xùn)練好的深度學(xué)習(xí)模型進(jìn)行預(yù)測(cè),屏幕上結(jié)果也跟著變化。

串口工具顯示預(yù)測(cè)過程日志信息。

 

 

寫在最后:

      

     首先感謝活動(dòng)的組織者。作品只是一個(gè)原型設(shè)計(jì),跑通了基本流程。算法沒有優(yōu)化。同時(shí)在ART-Pi上模擬I2C還在存在通信效率問題,還在優(yōu)化。最后再次感謝組織者??!

  • 代碼地址.txt
    下載
    描述:代碼地址
  • RTThread.docx
    下載

相關(guān)推薦

  • 以RT-Thread 為例,分享一下我的學(xué)習(xí)方法
  • 玩轉(zhuǎn)RT-Thread之消息隊(duì)列的應(yīng)用
    文章
    1786
    2024/07/23