應用於AIOT之診斷與技術中

振動分析技術開發


摘要

工業4.0的時代已然來臨,智慧機械已是時代所趨。而在此同時,許多廠商正大力導入各種智慧化的機台監測系統,希望能就此協助工廠進行機台的維護與保養,即時反應機台異常之情況,以提升工廠效率與產值。

本專題透過機器學習,將自工廠接收而來的數據進行處理後,透過AI進行分析,分辨數據所代表的異常成因,以協助工廠診斷機台哪部分零件故障。藉由本專題,能透過數據分析與AI分析,監控機台狀況是否正常、找出機台故障的零件並且顯示在雲端資料庫,讓工程師能即時監控並且維修。我們希望透過這樣的研究成果,能提高機台狀況穩定度、提高產品良率,實現工廠智慧化診斷與監控系統。

架構

本專題使用RX64M開發版與e2 studio進行振動收值。

透過邊緣運算系統與MySQL,使工廠端資料能直接上傳到雲端資料庫 ; 並使用Matlab進行資料的分析與特徵值預測,同時透過anaconda、pandas、tensorflow、keras進行機器學習和結果預測,以及pymysql連結MySQL資料庫進行資料匯入上傳與結果顯示。

步驟

MCU,MicroController Unit

MCU,MicroController Unit,微控制器單元,也就是單晶片,或稱為微處理器。MCU可以說是簡化版的電腦,單價較便宜、體積小、功耗低,在工具機上主要可以用來收集、傳輸資料並且可以對工具機做指定的動作。

此專題中,我們使用MCU代替電腦,作為連接感測器與雲端資料庫的橋樑,接收並傳輸資料。

MCU,MicroController Unit,微控制器單元,也就是單晶片,或稱為微處理器。MCU可以說是簡化版的電腦,單價較便宜、體積小、功耗低,在工具機上主要可以用來收集、傳輸資料並且可以對工具機做指定的動作。

此專題中,我們使用MCU代替電腦,作為連接感測器與雲端資料庫的橋樑,接收並傳輸資料。

  • 如何控制MCU ?

透過MCU手冊了解原理後,我們便可編寫程式(也就是韌體),寫入我們所需要的功能、達成控制MCU。

邊緣運算系統

利用瑞薩32位元MCU結合感測器協助收取震動數值,並將邊緣運算系統安裝至工廠機台上,自動收集振動數值並匯入雲端資料庫。

MYSQL資料庫管理系統

MySQL是一種開源的資料庫管理系統,廣泛應用在中小型的網站中,用來配合如PHP、ASP或ASP.NET等網頁程式語言,儲存大量數據。

簡單來說,資料庫是用來放置大量資料與檔案的一個倉庫,SQL是跟網站倉庫溝通的管員,而MySQL是用來管理倉庫的系統。如此,我們可以透過MySQL系統請SQL與倉庫溝通,管理資料庫中的資料。

資料庫建立完成後,便可將量測到的震動資料匯入資料庫中,並新增”ID”欄位,方便之後查詢資料、刪除資料。另外再新增一個”predict”欄位,用來儲存預測數值。


由於振動資料是放在資料庫中,而機器學習與結果預測需要在python中執行,因此需要”pymysql”這個library連接MySQL和python。

在python中import pymysql,在程式中寫好資料庫的使用者名稱與密碼,便可以和資料庫建立連結,再用指令讀取特定表格中的振動資料,便可以將震動資料讀取到python中分析、機器學習並預測結果,再將預測結果自動回傳至MySQL中。這樣能讓研究與管理資料的過程更方便,不需要手動管理與上傳資料。

震動分析

透過Matlab進行訊號濾波與資料特徵萃取,分析特徵點出現的頻率,讓AI能過進行特徵進行分類。

使用 Python Tensorflow 和 Keras 的AI機器學習

  • 將振動資料分成訓練資料集與測試資料集:訓練資料集用來調整、訓練模型,測試資料集用來讓模型預測沒看過的資料,測試預測準確度。

  • 在python中利用keras與tensorflow訓練模型:由於這次主要預測的有兩個問題,背隙和磨潤不足,兩個問題在工具機上發生異常的位置不同,收值的位置不同,因此我們決定針對兩個問題分別訓練模型,並根據預測結果調整參數達到最佳狀態,將模型儲存。

  • 根據模型預測結果:用pymysql連結MySQL資料庫,讀取振動資料(測試資料集),將主軸資料放到磨潤不足的模型裡判斷是否有磨潤不足的問題,將x軸資料放到背隙模型中判斷是否有背隙問題。

  • 回傳預測結果:將兩個問題的預測結果分別上傳至資料庫對應的欄位中,方便使用者查看資料。


分別學習與測試上述提到之技術後,將其整合並測試成果有無問題:

  • 將MCU實際裝在在機台上收值得到振動資料,整理並分析振動資料後將其匯入建立好的資料庫中。
  • 在python中用keras進行機器學習,並調整參數,訓練出準確率較高的模型後連接資料庫,讀取振動資料,用訓練好的模型預測新資料,再將結果回傳至MySQL(最終成果)。

成果

左圖為mysql上的背隙的資料集,尚未讓AI預測工具機狀態,predict欄位是空的。

ERR欄位為0表示是機台正常時的資料,1表示是機器異常時的資料。(為了方便觀察預測是否正確,將err值也放上去,但是預測時只有用到前面振動資料的欄位。)

執行程式後,根據先前訓練好的模型進行預測並上傳結果,可以在predict的欄位看到預測值。

背隙的測試資料集的預測準確率約為93%

結論

本次研究,我們利用MCU結合感測器之邊緣運算系統對工具機進行收值、資料前處理與濾波分析,再連結MySql資料庫,使工廠端的資料能更方便地上傳管理與監測,最後使用Python Tensorflow 和Keras 的 AI 機器學習,對資料庫中背隙和磨潤不足的數據建立模型,讓模型能根據振動資料預測工具機是否有背隙與磨潤不足之問題。

主程式利用訓練好的模型進行預測,並將預測結果自動回傳至雲端資料庫。

雖然工廠機台的耗損避不可避。但經過對機台進行數據分析及診斷,便可以透過監督式學習,遠端監控機台狀況,並對機台的磨耗等問題即時進行反應及處理,避免了因為機台異常造成產品品質不佳的損失。

地址

407224

台中市西屯區台灣大道四段1727號-電機工程學系

(東海大學-人文暨科技館)

電話

04-23590121 #33918

服務時段

周一~周五 09:00~17:00