基于SLPS的模拟电路故障样本自动获取技术

2012-09-19 10:28胡志忠浦建开
电子设计工程 2012年1期
关键词:故障诊断电路设置

竺 琼,胡志忠,浦建开

(南京航空航天大学 电子信息工程学院,江苏 南京 210016)

随着电子技术的迅速发展,电子设备的性能得到了很大的提高。模拟电路是电子设备中最易发生故障的薄弱环节,所以对其进行故障诊断具有重要意义。模拟电路故障诊断中最基本的是故障样本数据的获取。最常用的是利用Matlab和PSpice联合仿真提取故障样本数据。PSpice是一款电路仿真软件,可以得到精确的仿真结果;Matlab由主开发环境、工具箱、simulink仿真环境等内容组成,具有强大的数据处理功能。将PSpice和Matlab结合,利用各自优势完成模拟电路故障样本的获取,为故障特征提取做准备。

PSpice软件运行的数据结果以.out或.txt文本形式输出,包括输入文件,元件模型参数等内容。吴昊[1]用的方法是先用Str2num函数去掉.out文件中不相干内容,再通过textread函数读取所需内容。满高华[2]先用任选项设置(options)来简化.out文件内容,再用feof等函数读取有价值数据。杨博文[3]先将.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)在PSpice中建立正常电路

在PSpice内部绘制电路图,设置参数选项。并运行一次仿真,产生.cir文件。

2)建立simulink子系统,加入SLPS模块

在Matlab中新建model文档,打开slpslib,加入 SLPS模块,链接其输入输出,运行产生.mdl文件。并产生相应的SLPS_*.cir、SLPS_*.net文件。 在 Matlab的 Command Window窗口中输入open_system('*')即可打开系统查看,并手动修改设置参数。simulink中simulation-configuration parameters选项可按电路设置slover、max step size,仿真时间等参数,确定仿真时间内的采样点数。数据结果输出的方式可在simulink下sink中选择,选择simout将仿真数据输出到workspace工作区浏览器进行处理[4-5]。

3)建立电路故障表

按照电路元件编号有序列出所有可能存在的故障,建立电路故障表。

4)运行程序自动读取故障表获取故障样本数据

编写.m文件,运行程序自动读取故障表,调用子系统生成故障电路样本数据。

图1 故障样本获取技术流程图Fig.1 Flow chart of fault samples acquisition technology

2 程序设计实现流程

上述流程中1)~3)是自动获取技术实现前的准备工作,而4)是自动获取技术的关键步骤。具体的程序设计实现流程如图2所示

1)读取故障表并进行故障注入 读取故障表,按照故障表逐个设置故障。研究发现.cir文件中又调用了.net文件,实验证明,直接修改.net文件内容即可修改元器件名称及参数形成故障电路。编写.m文件,用fopen语句打开.net文档并修改其元件参数,形成故障电路。

2)在Matlab中调用系统并运行 用load_system命令重新载入修改参数后的系统,sim命令运行系统。

3)输出故障样本数据 将输出的故障样本数据存储在一个矩阵中,每一列为一个故障样本,行数由周期内采样点数和采样时间决定。矩阵列数由故障表内故障个数决定,为故障样本个数。

4)恢复正常电路 将故障表中的故障作为变量,调用子程序,将故障电路参数修改回正常电路参数。为下次的故障设置做好准备。

3 应用实例分析

文中采用实例验证上述方法的可行性及样本数据的精准性。实例采取元件级仿真电路,图3电路为低通滤波电路。此电路是 International Test Conference(ITC’97)中发布的一个模拟电路基准测试电路[6]。

在PSpice中画好此电路图,并进行瞬态仿真。建立testmodel系统,加入SLPS模块,双击SLPS模块,打开SLPS setting,将sine wave代替PSpice中原本的输入,选择 simout方式输出到Matlab中。Testmodel系统如图4所示。

图2 程序设计流程图Fig.2 Flow chart of program design

图3 低通滤波电路Fig.3 Low pass filter

图4 testmodel系统Fig.4 System of testmodel

设置输入 VAMPL为 1 V,FREQ为 1 k的信号源,max step size为1 μs,仿真时间设为2 ms,即仿真两个周期。系统建立完成后根据电路图建立故障表。文中以硬故障为例,每个元件有短路、开路、正常 3 种状态,现考虑 R1、R2、R3、C44个元件,一共是34=81种状态,其中80种故障,一种正常状态。在PSpice中不得出现节点悬空,否则无法通过编译,所以故障建模时开路状态选用99 999 kΩ的电阻表示,短路则用0.005 5 μΩ的电阻表示。打开Matlab运行程序,每个状态能在workspace中得到2002×1的样本数据矩阵,即单个故障样本。故障表为81种状态,则最后得到2002×81的矩阵,即电路样本数据集[7]。

画图对比验证样本数据获取的准确性。举例设置故障电路:R1开路,R2开路,R3短路,C4正常, 将此故障电路在PSpice中画出,同样设置最大步长为1 μs,仿真时长为2 ms,并进行瞬态仿真得出图5。在matlab中运行系统,得到的样本数据用plot(tout,testvout)命令画出波形图如图6所示。由对比图可见,文中采用的方法可以获得正确的样本数据。且程序运行结果表明本文采用的方法获得的数据精准度高,且程序运行一次完成81种故障样本数据的采集。从修改电路到完成仿真,获取故障样本仅需不到30 s的时间。

图5 PSpice中故障电路波形图Fig.5 Waveform of fault circuit in PSpice

图6 自动获取技术波形图Fig.6 Waveform of automatic acquisition technology

4 结 论

经实例验证,文中采用的方法操作简便,收集到的样本数据精准,自动化程度高。此方法大大提高了模拟电路故障样本获取的速度,为建立故障字典及模拟电路故障诊断提供了极大的方便。

[1]吴昊,宁元中,梁颖.Matlab与Pspice的数据接口技术[J].电气电子教学学报,2005,27(1):35-38.

WU Hao,NING Yuan-zhong,LIANG Ying.The data transfer from Pspice to Matlab[J].Journal of IEEE,2005,27(1):35-38.

[2]满高华,胡桂明,金浙良,等.MATLAB结合PSPICE用于模拟电路故障诊断的方法[J].装备制造技术,2009(4):88-90.

MAN Gao-hua, HU Gui-ming, JIN Zhe-liang, etal.Integrating MATLAB with PSPICE for the simulation of analog circuit fault diagnosis[J].Equipment Manufacturing Technology,2009(4):88-90.

[3]杨博文,刘飞.PSpice与Matlab的数据通讯技术[J].四川兵工学报,2010,31(11):79-80.

YANG Bo-wen,LIU Fei. Statistics communications technology based on PSpice and Matlab[J].Journal of sichuan Ordnance, 2010,31(11):79-80.

[4]Moslehpour S,Kulcu E K,Alnajjar H.Model-based control design using SLPS Simulink PSpice Interface[J].Journal of Communication and Computer,2010,7(5):68-77.

[5]王永龙,张兆忠,张桂红.MATLAB语言基础与应用[M].北京:电子工业出版社,2010.

[6]Kaminska B, Arabi K, Bell I,et al.Analog and mixed-signal benchmarkcircuits-firstrelease[C]//ProceedingsofInternational Test Conference,1997:183-190.

[7]戚新波,刘宏飞,郑先锋.电路的计算机辅助分析-MATLAB与PSpice应用技术[M].北京:电子工业出版社,2006.

猜你喜欢
故障诊断电路设置
电路的保护
基于包络解调原理的低转速滚动轴承故障诊断
中队岗位该如何设置
解读电路
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路
数控机床电气系统的故障诊断与维修
因果图定性分析法及其在故障诊断中的应用
中俄临床医学专业课程设置的比较与思考
基于LCD和排列熵的滚动轴承故障诊断