隨著電子技術的迅速發展,電子設備的性能得到了很大的提高。模擬電路是電子設備中最易發生故障的薄弱環節,所以對其進行故障診斷具有重要意義。模擬電路故障診斷中最基本的是故障樣本數據的獲取。最常用的是利用Matlab和PSpice聯合仿真提取故障樣本數據。PSpi ce是一款電路仿真軟件,可以得到精確的仿真結果;Matlab由主開發環境、工具箱、simulink仿真環境等內容組成,具有強大的數據處理功能。將PSpice和Matlab結合,利用各自優勢完成模擬電路故障樣本的獲取,為故障特征提取做準備。
PSpice軟件運行的數據結果以。out或。txt文本形式輸出,包括輸入文件,元件模型參數等內容。吳昊用的方法是先用Str2num函數去掉。out文件中不相干內容,再通過textread函數讀取所需內容。滿高華先用任選項設置(options)來簡化。out文件內容,再用feof等函數讀取有價值數據。楊博文先將。txt文件中的第一行字段名刪除并保存為。dat格式,再用importdat函數提取有用數據。
上述方法都需要等PSpice仿真文件形成以后再進行數據操作,且后續操作的前提是電路文件不變。如若用故障字典法、神經網絡或遺傳算法等方法來進行模擬電路故障診斷,需要一次次的手動注入故障再進行仿真獲取故障樣本數據。尤其是利用遺傳算法時需要成千上萬次的樣本提取,會消耗大量時間,所以故障注入及故障樣本數據獲取的自動化顯得尤為重要。文中采用基于SLPS的模擬電路故障樣本獲取技術,實現了故障注入,樣本提取的自動化。
1 基于SLPS的模擬電路故障樣本獲取流程
1.1 SLPS功能簡介
SLPS是Cadence Design Systems公司針對PSpice模擬仿真器與Mathworks公司的Matlab建模工具推出的接口軟件。該接口可用于電路系統的仿真。SLPS主要是鏈接PSpice至Matlab中的simulink仿真器。對于完整的機電系統的電子仿真,用戶可通過一個原型來實現一個系統設計。
1.2 故障樣本獲取技術流程
故障樣本獲取技術流程圖如圖1所示。
圖1 故障樣本獲取技術流程圖
1)在PSpiee中建立正常電路
在PSpice內部繪制電路圖,設置參數選項。并運行一次仿真,產生。cir文件。
2)建立simulink子系統,加入SLPS模塊
在Matlab中新建model文檔,打開slpslib,加入SLPS模塊,鏈接其輸入輸出,運行產生。mdl文件。并產生相應的SLPS_*.cir、SLPS_ *.net文件。在Matlab的Command Window窗口中輸入open_system(*)即可打開系統查看,并手動修改設置參數。simulink中simulation-confignration parameters選項可按電路設置slover、max step size,仿真時間等參數,確定仿真時間內的采樣點數。數據結果輸出的方式可在simulink下sink中選擇,選擇simout將仿真數據輸出到workspace工作區瀏覽器進行處理。
3)建立電路故障表
按照電路元件編號有序列出所有可能存在的故障,建立電路故障表。
4)運行程序自動讀取故障表獲取故障樣本數據編寫。m文件,運行程序自動讀取故障表,調用子系統生成故障電路樣本數據。
2 程序設計實現流程
上述流程中1)~3),是自動獲取技術實現前的準備工作,而4)是自動獲取技術的關鍵步驟。具體的程序設計實現流程如圖2所示。
圖2 程序設計流程圖
1)讀取故障表并進行故障注入 讀取故障表,按照故障表逐個設置故障。研究發現。cir文件中又調用了。net文件,實驗證明,直接修改。net文件內容即可修改元器件名稱及參數形成故障電路。編寫。m文件,用fopen語句打開。net文檔并修改其元件參數,形成故障電路。
2)在Matlab中調用系統并運行 用load_system命令重新載入修改參數后的系統,sim命令運行系統。
3)輸出故障樣本數據 將輸出的故障樣本數據存儲在一個矩陣中,每一列為一個故障樣本,行數由周期內采樣點數和采樣時間決定。矩陣列數由故障表內故障個數決定,為故障樣本個數。
4)恢復正常電路 將故障表中的故障作為變量,調用子程序,將故障電路參數修改回正常電路參數。為下次的故障設置做好準備。
3 應用實例分析
文中采用實例驗證上述方法的可行性及樣本數據的精準性。實例采取元件級仿真電路,圖3電路為低通濾波電路。此電路是Intemation al Test Conference(ITC'97)中發布的一個模擬電路基準測試電路。
圖3 低通濾波電路
在PSpice中畫好此電路圖,并進行瞬態仿真。建立testmodel系統,加入SLPS模塊,雙擊SLPS模塊,打開SLPSsetting,將sine wave代替PSpice中原本的輸入,選擇simout方式輸出到Matlab中。Testmodel系統如圖4所示。
圖4 Testmodel系統
設置輸入VAMPL為1 V,FREQ為1 k的信號源。maxstep size為1 μs,仿真時間設為2 ms,即仿真兩個周期。系統建立完成后根據電路圖建立故障表。文中以硬故障為例,每個元件有短路、開路、正常3種狀態,現考慮R1、R2、R3、C4 4個元件,一共是34=81種狀態,其中80種故障,一種正常狀態。在PSpice中不得出現節點懸空,否則無法通過編譯,所以故障建模時開路狀態選用99 999kΩ的電阻表示,短路則用0.0 05 5μΩ的電阻表示。打開Matlab運行程序,每個狀態能在workspace中得到2002x1的樣本數據矩陣,即單個故障樣本。故障表為81種狀態,則最后得到2002x81的矩陣,即電路樣本數據集。
畫圖對比驗證樣本數據獲取的準確性。舉例設置故障電路:R1開路,R2開路,R3短路,C4正常,將此故障電路在PSpice中畫出,同樣設置最大步長為1μs,仿真時長為2 ms,并進行瞬態仿真得出圖5.在matlab中運行系統,得到的樣本數據用plot(tout,testvout)命令畫出波形圖如圖6所示。由對比圖可見,文中采用的方法可以獲得正確的樣本數據。且程序運行結果表明本文采用的方法獲得的數據精準度高,且程序運行一次完成81種故障樣本數據的采集。從修改電路到完成仿真,獲取故障樣本僅需不到30s的時間。
圖5 PSpice中故障電路波形圖
圖6 自動獲取技術波形圖
4 結論
經實例驗證,文中采用的方法操作簡便,收集到的樣本數據精準,自動化程度高。此方法大大提高了模擬電路故障樣本獲取的速度,為建立故障字典及模擬電路故障診斷提供了極大的方便。
-
神經網絡
+關注
關注
42文章
4774瀏覽量
100897 -
仿真器
+關注
關注
14文章
1019瀏覽量
83807 -
電子技術
+關注
關注
18文章
897瀏覽量
56114
發布評論請先 登錄
相關推薦
評論