




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 燕山大學課 程 設 計 說 明 書題目:機械振動信號分析與故障報警學院(系): 電氣工程學院 年級專業: 10級儀表3班 電氣工程學院課程設計任務書課程名稱:“單片機原理與應用數字信號處理”課程設計 院(系):電氣工程學院 基層教學單位: 自動化儀表系學號1001030201學生(專業)班級自動化儀表3班設計題目機械振動信號分析與故障報警設計技術參數1、了解加速度傳感器工作原理。2、掌握單片機串口通信協議。3、連接硬件實驗線路,實現所要求的功能。4、基于Matlab信號處理工具箱實現功能5、完成設計,提交課程設計報告。設計要求1、利用加速度傳感器采集軸承正常與故障狀態下的振動信號,基于Mat
2、lab對振動信號進行時域和頻域(包括FFT,功率譜,倒譜)分析,提取時域波形指標如均值、峰峰值、峭度、偏度等。設計相應的信號分析與顯示界面。2、基于振動信號分析結果,通過串口發送命令給單片機系統,根據振提取的特征指標判斷軸承是否故障,若有故障驅動蜂鳴器報警。3、擴展:也控制相應的數碼管或LED發光顯示相應振動信號參數(幅度、頻率參數等)。工作量軟件編程與硬件調試相結合,繪制設計流程圖,編制相應軟件界面,實現單片機控制與信號處理任務的綜合應用參考資料1)微型計算機控制系統 賴壽宏,機械工業(教材)2)單片機與應用大友,高等教育(教材)3)信號處理原理與應用 平 等 機械工業(教材)4)Matla
3、b程序設計與其在信號處理中的應用聶祥飛等 西南交通大學周次第一周第二周應完成容熟悉偉福單片機編程環境,調試單片機各基本功能模塊;熟悉matlab信號處理工具箱,信號處理系統基本功能模塊學習和調試單片機系統與信號處理系統綜合進行硬件調試,撰寫課程設計報告指導教師簽字基層教學單位主任簽字說明:1、此表一式四份,系、指導教師、學生各一份,報送院教務科一份。 2、學生那份任務書要求裝訂到課程設計報告前面。目錄第一章 摘要第二章 總體設計方案第三章 基本原理第四章 MATLAB界面設計第五章 各模塊設計與程序第六章 設計心得與總結參考文獻第一章 摘要機械振動信號分析是現代機械故障診斷的一個有效方法。在諸
4、多信號分析的手段中,小波分析與傅氏變換相結合的方法得到廣泛應用。因為這種方法更適合于提取微弱機械振動的特征信號。但是與其他分析工具一樣,小波分析工具有自己的特點,如果不能正確使用,反而會影響對信號的正確分析。從本質上說,小波分析是用小波函數與被被分析的信號函數做一系列的互相關運算,因此選用小波函數不當會引起分析的誤差或誤判。第二章 總體設計方案對機械振動信號進行采樣,把采樣的數據進行時域和頻域上的分析,包括FFT,功率譜,倒譜分析。提取時域波形指標如均值、峰峰值、峭度、偏度、脈沖因數等。以一種指標為標準,分析振動信號產生的變化。本次課設利用matlab軟件,實現對機械振動信號時頻域的分析以與故
5、障的判斷。因為頻域分析特征值的提取較麻煩,這里我們用其中一種參數的計算量為標準來判斷是否發生故障。第三章 基本原理3.1小波變換 與Fourier變換相比,小波變換是空間(時間)和頻率的局部變換,因而能有效地從信號中提取信息。通過伸縮和平移等運算功能可對函數或信號進行多尺度的細化分析,解決了Fourier變換不能解決的許多困難問題。小波變換聯系了應用數學、物理學、計算機科學、信號與信息處理、圖像處理、地震勘探等多個學科。數學家認為,小波分析是一個新的數學分支,它是泛函分析、Fourier分析、樣調分析、數值分析的完美結晶;信號和信息處理專家認為,小波分析是時間尺度分析和多分辨分析的一種新技術,
6、它在信號分析、語音合成、圖像識別、計算機視覺、數據壓縮、地震勘探、大氣與海洋波分析等方面的研究都取得了有科學意義和應用價值的成果。信號分析的主要目的是尋找一種簡單有效的信號變換方法,使信號所包含的重要信息能顯現出來。小波分析屬于信號時頻分析的一種,在小波分析出現之前,傅立葉變換是信號處理領域應用最廣泛、效果最好的一種分析手段。傅立葉變換是時域到頻域互相轉化的工具,從物理意義上講,傅立葉變換的實質是把這個波形分解成不同頻率的正弦波的疊加和。正是傅立葉變換的這種重要的物理意義,決定了傅立葉變換在信號分析和信號處理中的獨特地位。傅立葉變換用在兩個方向上都無限伸展的正弦曲線波作為正交基函數,把周期函數
7、展成傅立葉級數,把非周期函數展成傅立葉積分,利用傅立葉變換對函數作頻譜分析,反映了整個信號的時間頻譜特性,較好地揭示了平穩信號的特征。小波變換是一種新的變換分析方法,它繼承和發展了短時傅立葉變換局部化的思想,同時又克服了窗口大小不隨頻率變化等缺點,能夠提供一個隨頻率改變的時間一頻率窗口,是進行信號時頻分析和處理的理想工具。它的主要特點是通過變換能夠充分突出問題某些方面的特征,因此,小波變換在許多領域都得到了成功的應用,特別是小波變換的離散數字算法已被廣泛用于許多問題的變換研究中。從此,小波變換越來越引起人們的重視,其應用領域來越來越廣泛。3.2 傅里葉變換有限長序列可以通過離散傅里葉變換(DF
8、T)將其頻域也離散化成有限長序列.但其計算量太大,很難實時地處理問題,因此引出了快速傅里葉變換(FFT). 1965年,Cooley和Tukey提出了計算離散傅里葉變換(DFT)的快速算法,將DFT的運算量減少了幾個數量級。從此,對快速傅里葉變換(FFT)算法的研究便不斷深入,數字信號處理這門新興學科也隨FFT的出現和發展而迅速發展。根據對序列分解與選取方法的不同而產生了FFT的多種算法,基本算法是基DIT和基DIF。FFT在離散傅里葉反變換、線性卷積和線性相關等方面也有重要應用。快速傅氏變換(FFT),是離散傅氏變換的快速算法,它是根據離散傅氏變換的奇、偶、虛、實等特性,對離散傅立葉變換的算
9、法進行改進獲得的。它對傅氏變換的理論并沒有新的發現,但是對于在計算機系統或者說數字系統中應用離散傅立葉變換,可以說是進了一大步。設x(n)為N項的復數序列,由DFT變換,任一X(m)的計算都需要N次復數乘法和N-1次復數加法,而一次復數乘法等于四次實數乘法和兩次實數加法,一次復數加法等于兩次實數加法,即使把一次復數乘法和一次復數加法定義成一次“運算”(四次實數乘法和四次實數加法),那么求出N項復數序列的X(m),即N點DFT變換大約就需要N2次運算。當N=1024點甚至更多的時候,需要N2=1048576次運算,在FFT中,利用WN的周期性和對稱性,把一個N項序列(設N=2k,k為正整數),分
10、為兩個N/2項的子序列,每個N/2點DFT變換需要(N/2)2次運算,再用N次運算把兩個N/2點的DFT變換組合成一個N點的DFT變換。這樣變換以后,總的運算次數就變成N+2(N/2)2=N+N2/2。繼續上面的例子,N=1024時,總的運算次數就變成了525312次,節省了大約50%的運算量。而如果我們將這種“一分為二”的思想不斷進行下去,直到分成兩兩一組的DFT運算單元,那么N點的DFT變換就只需要Nlog2N次的運算,N在1024點時,運算量僅有10240次,是先前的直接算法的1%,點數越多,運算量的節約就越大,這就是FFT的優越性。離散傅里葉變換X(k)可看成是z變換在單位圓上的等距離
11、采樣值。同樣,X(k)也可看作是序列傅氏變換的采樣,采樣間隔為N=2/N 。由此看出,離散傅里葉變換實質上是其頻譜的離散頻域采樣,對頻率具有選擇性(k=2k/N),在這些點上反映了信號的頻譜。 根據采樣定律,一個頻帶有限的信號,可以對它進行時域采樣而不丟失任何信息,FFT變換則說明對于時間有限的信號(有限長序列),也可以對其進行頻域采樣,而不丟失任何信息。所以只要時間序列足夠長,采樣足夠密,頻域采樣也就可較好地反映信號的頻譜趨勢,所以FFT可以用以進行連續信號的頻譜分析。第4章 MATLAB界面設計兩個畫圖按鈕簡化成了一個下拉菜單,坐標圖一和二分別顯示時域和頻域波形,計算按鈕進行計算并把數值放
12、到下面四個文本框中。判斷按鈕判斷是否故障并通過發送按鈕把特征值傳輸到單片機中。第5章 各模塊設計與程序1、 時域和頻域分析與畫圖%時域波形% figure(1);set(gcf,'CurrentAxes',handles.time);plot(xdata);xlabel('樣本序號 n/個');ylabel('電壓 V/v');%db10小波進行4層分解%一維小波分解c,l=wavedec(xdata,4,'db10');%第一層細節信號的包絡譜y=hilbert(d1);ydata=abs(y);y=y-mean(y);nfft
13、=200;p=abs(fft(ydata,nfft);% figure(3);set(gcf,'CurrentAxes',handles.frequency);plot(0:nfft/2-1)/nfft*fs,p(1:nfft/2);xlabel('頻率 f/Hz');ylabel('功率譜 p/w');故障信號的時域和頻域圖如下正常信號的時域和頻域圖如下可見其頻域有較大的差別2、 計算部分這里,我們調用matlab中已有的程序來計算需要得到的指標,所編程序如下fs=10000;fid=fopen('bearingout.dat'
14、,'r');load Normal.matfid=fopen('Normal.mat');N=1000;xdata=fread(fid,N,'int16');xdata=fread(fid,N,'int16');fclose(fid);xdata=(xdata-mean(xdata)/std(xdata,1);A=mean(xdata); % 平均值set(handles.edit1,'string',num2str(A); B=max(xdata); % 最大值C=min(xdata); % 最小值D=B-C;
15、% 峰峰值set(handles.edit2,'string',num2str(D);E=kurtosis(xdata);%峭度set(handles.edit3,'string',num2str(E);F=skewness(xdata);%偏度;set(handles.edit4,'string',num2str(F);3、 判斷程序這里我們根據兩種不同信號偏度的不同來判斷是否有故障,定義偏度<=-0.05時為正常信號。global Fglobal Jglobal FF if (FF<=-0.05) J=0;else J=1;end
16、set(handles.edit6,'string',num2str(J)Matlab中本實驗所得數據計算界面如下:故障數據正常數據:第6章 設計心得與總結剛開始設計時,因為對matlab的使用不是十分地了解,所以有很多的困難,覺得無從下手,經過這么多天的學習以與查閱資料,已經能初步完成一些簡單的語言編程,這使我感到非常有成就感,使我體會到了自主學習的樂趣。通過這次課程設計,我對數字信號處理與傅里葉變換的實際應用有了深刻的理解,尤其加深了我對快速傅里葉變換的理解。在這次課程設計中,我還對小波變換在數字信號處理中的應用有了一定的理解,在對信號的細節進行分析時,小波變換是非常常見和
17、方便的一種方法。總之,經過這次數字信號處理的課程設計,使我收獲頗多。不僅鞏固了理論知識,增強了自主學習能力,還學會了團隊合作和互相幫助,使我受益良多。參考文獻1)微型計算機控制系統 賴壽宏,機械工業(教材)2)單片機與應用大友,高等教育(教材)3)信號處理原理與應用 平 等 機械工業(教材)4)Matlab程序設計與其在信號處理中的應用聶祥飛等 西南交通大學附錄一 matlab總程序function varargout = keshe0628(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename,
18、 . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', keshe0628_OpeningFcn, . 'gui_OutputFcn', keshe0628_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout vara
19、rgout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction keshe0628_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = keshe0628_OutputFcn(hObject, eventdata, handles) function jisuan_Ca
20、llback(hObject, eventdata, handles)global xdataglobal Jglobal Fglobal FFA=mean(xdata); % 平均值set(handles.edit1,'string',num2str(A); B=max(xdata); % 最大值C=min(xdata); % 最小值D=B-C; % 峰峰值set(handles.edit2,'string',num2str(D);E=kurtosis(xdata);%峭度set(handles.edit3,'string',num2str(E
21、);F=skewness(xdata);%偏度;FF=Fset(handles.edit4,'string',num2str(F);function edit1_Callback(hObject, eventdata, handles)function edit1_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(h
22、Object,'BackgroundColor','white');endfunction edit2_Callback(hObject, eventdata, handles)function edit2_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'Backgroun
23、dColor','white');endfunction edit3_Callback(hObject, eventdata, handles)function edit3_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','whit
24、e');endfunction edit4_Callback(hObject, eventdata, handles)function edit4_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction e
25、dit5_Callback(hObject, eventdata, handles)function edit5_CreateFcn(hObject, eventdata, handles)if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction pushbutton2_Callback(h
26、Object, eventdata, handles)global Fglobal Jglobal FFglobal ssss=serial('com1');ss.BaudRate=2400;ss.DataBits=8;ss.Parity='none'ss.StopBits=1;ss.TimeOut=60;ss.DataTerminalReady='off'ss.RequestToSend='off'ss.FlowControl='none'ss.InputBufferSize=1000;fopen(ss);fwr
27、ite(ss,J);fclose(ss);clear ssfunction pushbutton3_Callback(hObject, eventdata, handles)global Fglobal Jglobal FFif (FF<=-0.05) J=0;else J=1;endset(handles.edit6,'string',num2str(J)function edit6_Callback(hObject, eventdata, handles)function edit6_CreateFcn(hObject, eventdata, handles)if i
28、spc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor') set(hObject,'BackgroundColor','white');endfunction time_CreateFcn(hObject, eventdata, handles)function frequency_CreateFcn(hObject, eventdata, handles)function huatu1_Callb
29、ack(hObject, eventdata, handles)global xdataglobal Fglobal FFglobal Jfs=10000;load Abnormal.matfid=fopen('Abnormal.mat');N=1000;xdata=fread(fid,N,'int16');fclose(fid);xdata=(xdata-mean(xdata)/std(xdata,1);set(gcf,'CurrentAxes',handles.time);plot(xdata);xlabel('樣本序號 n/個
30、9;);ylabel('電壓 V/v');%db10小波進行4層分解%一維小波分解c,l=wavedec(xdata,4,'db10');d4=wrcoef('d',c,l,'db10',4);d3=wrcoef('d',c,l,'db10',3);d2=wrcoef('d',c,l,'db10',2);d1=wrcoef('d',c,l,'db10',1);%第一層細節信號的包絡譜y=hilbert(d1);ydata=abs(y);y=y-mean(y);nfft=200;p=abs(fft(ydata,nfft);set(gcf,'CurrentAxes',handles.frequency);plot(0:nfft/2-1)/nfft*fs,p(1:nfft/2);xlabel('頻率 f/Hz');ylabel('功率譜 p/w');function huatu2_Callback(hObject, eventdata, handles)global xdatagloba
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 貴州煙草專賣局試題附答案
- 中國拋光鋁隔條項目投資可行性研究報告
- 2025年 防城港市市級機關遴選考試筆試試題附答案
- 2025年中國柔性顯示行業市場發展監測及投資潛力預測報告
- 2022-2027年中國定制酒行業市場全景評估及發展戰略規劃報告
- 項目課程的概念原理與設計
- 中國廈門市汽車服務市場調查研究及行業投資潛力預測報告
- 中國馬靴型反光鞋套行業市場發展前景及發展趨勢與投資戰略研究報告(2024-2030)
- 昆明數控刀柄項目投資分析報告模板范本
- 2020-2025年中國公共廁所行業市場前景預測及投資戰略研究報告
- 2024年湖南融通資源循環產業有限公司技能崗位招聘真題
- 2025年安徽省農業職業技能大賽(水生物病害防治員)備賽試題庫(含答案)
- 靜電放電(ESD)及其防護措施培訓課件
- 城市更新中歷史文化街區非物質文化遺產保護與開發報告
- 家裝修泥水工合同協議
- 2023承壓設備產品焊接試件的力學性能檢驗
- ESG趨勢下企業財務管理新挑戰
- 2024年公安機關理論考試題庫500道(基礎題)
- 2024年11月-礦山隱蔽致災因素普查
- DBJ51T 163-2021 成都軌道交通設計防火標準
- 加熱爐安全操作規程培訓課件
評論
0/150
提交評論