主要内容

利用设计六西格玛技术改进发动机冷却风扇

本例展示了如何通过使用定义、测量、分析、改进和控制(DMAIC)的六西格玛设计方法来提高发动机冷却风扇的性能。初始风扇不能通过散热器循环足够的空气来保持发动机在恶劣条件下的冷却。首先,这个例子展示了如何设计一个实验来研究三个性能因素的影响:风扇距离散热器,叶尖间隙和叶片俯仰角。然后展示了如何估计每个因素的最佳值,从而设计出超出875英尺目标的气流3.每分钟使用测试数据。最后展示了如何使用模拟来验证新设计在超过99.999%的风机中产生了符合规格的气流。本例使用MATLAB®、统计和机器学习工具箱™和优化工具箱™。

定义问题

本例针对的是发动机冷却风扇设计,该设计无法在艰难的条件下(如走走停停的交通或炎热的天气)将足够的空气通过散热器来保持发动机的冷却。假设你估计你需要至少875英尺的气流3./min以保持发动机在困难条件下的冷却。您需要评估当前的设计,并开发一种可以实现目标气流的替代设计。

评估冷却风扇性能

加载样例数据。

负载(fullfile (matlabroot“帮助/工具箱/统计/例子”“OriginalFan.mat”))

该数据由现有冷却风扇性能的10,000次测量(历史生产数据)组成。

绘制数据以分析当前风扇的性能。

情节(originalfan)包含(“观察”) ylabel (最大气流(ft^3/min))标题(“历史生产数据”

数据的中心在842英尺左右3./min,大多数数值在约8英尺的范围内3./分钟。然而,该图表并不能说明数据的底层分布。绘制直方图并拟合数据的正态分布。

图()histfit (originalfan)正态分布拟合的直方图格式shortg包含(的气流(英国《金融时报》^ 3 /分钟)) ylabel (的频率(计数))标题(“气流柱状图”

Pd = fitdist(original alfan,“正常”拟合数据的正态分布
正态分布mu = 841.652 [841.616, 841.689] sigma = 1.8768 [1.85114, 1.90318]

fitdist拟合数据的正态分布,并从数据中估计参数。估计的平均气流速度为841.652英尺3./min,平均风速的95%置信区间为(841.616,841.689)。这一估计值清楚地表明,目前的风扇还没有接近所需的875英尺3./分钟。有必要改进风机设计,以达到目标气流。

确定影响风扇性能的因素

利用实验设计(DOE)评估影响冷却风扇性能的因素。响应是冷却风扇的气流速率(英尺3./分钟)。假设你可以修改和控制的因素是:

  • 距离散热器的距离

  • 螺旋角

  • 叶尖间隙

一般来说,流体系统具有非线性特性。因此,使用响应面设计来估计各因素之间的非线性相互作用。生成a的实验运行Box-Behnken设计在编码(规范化)变量[- 1,0,+1]中。

CodedValue = bbdesign(3)
CodedValue = -1 -1 0 -1 1 0 1 -1 0 1 1 0 -1 0 -1 -1 0 1 1 0 -1 1 0 1 1 0 -1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

第一列是到散热器的距离,第二列是俯仰角,第三列是叶尖间隙。假设您希望在以下最小值和最大值处测试变量的影响。

距离散热器:1 ~ 1.5英寸
俯仰角度:15 ~ 35度
刀尖间隙:1至2英寸

随机化运行的顺序,将编码的设计值转换为实际单位,并按指定的顺序执行实验。

Runorder = randperm(15);%随机排列的运行Bounds = [1 1.5;15 35;1 2];%每个因素的最小值和最大值RealValue = 0 (size(CodedValue));i = 1:size(CodedValue,2)将编码值转换为实际单位zmax = max(CodedValue(:,i));zmin = min(code值(:,i));RealValue(:,我)= interp1 ([zmin zmax],界限(我,:),CodedValue(:,我));结束

假设在实验结束时,您在变量中收集了以下响应值TestResult

TestResult = [837 864 829 856 880 879 872 874 834 833 860 859 874 876 875]';

显示设计值和响应。

disp ({“运行数量”“距离”“节”“清除”“气流”}) disp(sortrows([runorder' RealValue TestResult]))
运行数量的“距离”“节”“间隙”“气流”1 1.5 35 1.5 856 2 1.25 25 25 1.5 876 1.5 25 1 872 4 1.25 1.5 1.5 875 5 1 35 1.5 864 6 1.25 25 874 833 1.25 15 2 8 1 1.25 1.5 1.5 829 9 834 874 1 15 1.5 1.5 837年11 25 2 12 1 25 880 13 1.25 35 860 14 1 25 2 879 15 1.25 35 2 859

保存设计值和响应表格

Expmt = table(runorder', CodedValue(:,1), CodedValue(:,2), CodedValue(:,3),...TestResult,“VariableNames”,{“RunNumber”' D '“P”“C”“气流”});

D代表距离P代表球场, C代表间隙.根据实验测试结果,气流速率对变化因素值很敏感。此外,四段实验井段达到或超过了875英尺的目标气流速率3./分钟(运行2,4,12和14)。然而,目前还不清楚这些运行中哪一个(如果有的话)是最优的。此外,对于这些因素的变化,设计的鲁棒性并不明显。基于当前的实验数据创建一个模型,并使用该模型来估计最佳因子设置。

提高冷却风扇性能

Box-Behnken设计使您能够测试非线性(二次)效应。二次模型的形式为:

一个 F β 0 + β 1 D 年代 t 一个 n c e + β 2 P t c h + β 3. C l e 一个 r 一个 n c e + β 4 D 年代 t 一个 n c e P t c h + β 5 D 年代 t 一个 n c e C l e 一个 r 一个 n c e + β 6 P t c h C l e 一个 r 一个 n c e + β 7 D 年代 t 一个 n c e 2 + β 8 P t c h 2 + β 9 C l e 一个 r 一个 n c e 2

在哪里房颤气流的速率和B是这一项的系数吗.估计该模型的系数fitlm函数从统计和机器学习工具箱。

mdl = fitlm(Expmt,“气流~ D * P * C - D: P: C + D P ^ ^ 2 + 2 + C ^ 2》);

在条形图中显示系数的大小(用于标准化值)。

figure() h = bar(mdl.Coefficients.Estimate(2:10));集(h,“facecolor”,[0.8 0.8 0.9])“系数”)设置(gcf“单位”“归一化”“位置”,[0.05 0.4 0.35 0.4])集合(gca,“xticklabel”mdl.CoefficientNames (2:10)) ylabel (的气流(英国《金融时报》^ 3 /分钟))包含(的归一化系数)标题(“二次模型系数”

柱状图显示了这一点球场而且球场2都是主导因素。您可以通过生成响应曲面图来查看多个输入变量和一个输出变量之间的关系。使用plotSlice为模型生成响应面图mdl交互。

plotSlice (mdl)

该图显示了气流与螺距的非线性关系。移动蓝色虚线,看看不同因素对气流的影响。尽管你可以用plotSlice要确定最优因子设置,还可以使用“优化工具箱”自动执行该任务。

使用约束优化函数找到最优因子设置fmincon

写出目标函数。

F = @(x) -x2fx(x,“二次”) * mdl.Coefficients.Estimate;

目标函数是与数据拟合的二次响应面。尽量减少负气流的使用fmincon和最大化原始目标函数是一样的。约束是测试的上限和下限(以编码值表示)。设定初始起点为设计实验测试矩阵的中心。

Lb = [-1 -1 -1];%下界Ub = [1 1 1];%上限X0 = [0 0 0];%起点[optfactors, fval] = fmincon (f, x0 ,[],[],[],[], 磅,乌兰巴托,[]);调用求解器
找到满足约束条件的局部最小值。优化完成是因为目标函数在可行方向上不递减,到函数容差默认值以内,约束条件满足到约束容差默认值以内。

将结果转换为最大化问题和实际单位。

Maxval = -fval;Maxloc = (optfactors + 1)';Bounds = [1 1.5;15 35;1 2];maxloc =边界(:1)+ maxloc。*((边界(:,2)范围(:1))/ 2);disp (的最优值:) disp ({“距离”“节”“清除”“气流”}) disp([maxloc' maxval])
最佳值:“距离”“间距”“间隙”“气流”1 27.275 1 882.26

优化结果表明,将新风扇放置在距离散热器1英寸的地方,风扇叶片尖端与护罩之间留有1英寸的间隙。

由于俯仰角对气流的影响非常大,因此需要进行额外的分析来验证27.3度俯仰角是最优的。

负载(fullfile (matlabroot“帮助/工具箱/统计/例子”“AirflowData.mat”)) TBL =表(节距,气流);Mdl2 = fitlm(tbl,“气流球场~ ^ 2”);mdl2.Rsquared.Ordinary
Ans = 0.99632

结果表明,二次型模型较好地解释了俯仰对气流的影响。

绘制对气流的俯仰角,并施加拟合模型。

图()图(音高,气流,“r”)举行Ylim ([840 885]) line(pitch,mdl2.)合身,“颜色”“b”)标题(“拟合模型和数据”)包含(“俯仰角(度)”) ylabel (的气流(英国《金融时报》^ 3 /分钟))传说(“测试数据”“二次模型”“位置”“本身”)举行

找出与最大气流相对应的螺距值。

音高(找到(气流= = max(气流)))
Ans = 27

进一步的分析表明,27.3度俯仰角是最优的。

改进的冷却风扇设计满足了气流要求。你也有一个模型,基于你可以修改的设计因素,很好地接近风扇性能。通过执行灵敏度分析,确保风扇性能对制造和安装中的可变性具有鲁棒性。

敏感性分析

根据历史经验,假设制造不确定性如下。

因素 真实的值 编码值
距离散热器的距离 1.00±0.05英寸 1.00±0.20英寸
叶片俯仰角 27.3±0.25度 0.227±0.028度
叶尖间隙 1.00±0.125英寸 -1.00±0.25英寸

验证这些因素的变化将能够围绕目标气流保持稳健的设计。六西格玛的目标是每100万个风扇的不良率不超过3.4个。也就是说,风扇必须击中875英尺3.99.999%的时间都能达到/min的目标。

您可以使用蒙特卡罗模拟验证设计。为三个具有指定容差的因子生成10,000个随机数。首先,设置随机数生成器的状态,使结果在不同的运行中保持一致。

rng (“默认”

执行蒙特卡罗模拟。包括一个与拟合模型中的噪声成比例的噪声变量,mdl(即模型的均方根误差)。因为模型系数是在编码变量中,所以必须生成经销球场,间隙使用编码定义。

区域=随机的(“正常”, optfactors (1), 0.20, 10000 [1]);音高=随机(“正常”optfactors (2), 0.028, 10000 [1]);间隙=随机(“正常”, optfactors (3), 0.25, 10000 [1]);噪音=随机(“正常”0 mdl2。RMSE, 10000 [1]);

使用该模型计算10,000个随机因子组合的气流。

Simfactor = [dist pitch clearance];X = x2fx(simfactor,“二次”);

向模型中添加噪声(模型没有考虑到的数据变化)。

simflow = X* mll . coefficients . estimate +noise;

使用直方图评估模型预测气流的变化。为了估计平均值和标准偏差,拟合数据的正态分布。

Pd = fitdist(simflow,“正常”);histfit (simflow)文本(pd.mu + 2300,”的意思是:“num2str(圆(pd.mu))])文本(pd.mu + 2280,'标准差:'num2str(圆(pd.sigma))])包含(的气流(英国《金融时报》^ 3 /分钟)) ylabel (“频率”)标题(“蒙特卡罗模拟结果”

结果看起来很有希望。平均气流为882英尺3./min,优于875 ft3./min为大多数数据。

确定气流在875英尺处的概率3./min或以下。

格式Pfail = cdf(pd,875) pass = (1-pfail)*100
Pfail = 1.509289008603141e-07 pass = 99.999984907109919

该设计看起来至少达到了875英尺3.在99.999%的时间内,每分钟的气流。

利用仿真结果来估计工艺能力。

S = capability(simflow,[875.0 890]) pass = (1-S.Pl)*100
S = mu: 8.822982645666709e+02 sigma: 1.424806876923940 P: 0.999999816749816 Pl: 1.509289008603141e-07 Pu: 3.232128339675335e-08 Cp: 1.754623760237126 Cpl: 1.707427788957002 Cpu: 1.801819731517250 Cpk: 1.707427788957002 pass = 99.9999849071099

Cp取值为1.75。当以下情况时,流程被认为是高质量的Cp大于等于1.6。的肌酸磷酸激酶类似于Cp值,该值指示流程居中。现在实现这个设计。监控它,以验证设计过程,并确保冷却风扇提供高质量的性能。

改进冷却风扇的控制制造

用户可以通过控制图对新风机的制造和安装过程进行监控和评估。评估新冷却风扇生产的前30天。最初,每天生产5个冷却风扇。首先,从新流程加载样例数据。

负载(fullfile (matlabroot“帮助/工具箱/统计/例子”“spcdata.mat”))

画出X酒吧和年代图表。

图()controlchart (spcflow,“图”,{“xbar”“年代”})%将数据重塑为每日集包含(“天”

根据结果,生产过程处于统计控制中,这表明随着时间的推移,数据中没有违反控制限制或非随机模式。您还可以在数据上运行功能分析以评估流程。

[row,col] = size(spcflow);S2 = capability(重塑(spcflow,row*col,1),[875.0 890]) pass = (1- s . pl)*100
S2 = mu: 8.821061141685465e+02 sigma: 1.423887508874697 P: 0.999999684316149 Pl: 3.008932155898586e-07 Pu: 1.479063578225176e-08 Cp: 1.755756676295137 Cpl: 1.663547652525458 Cpu: 1.847965700064817 Cpk: 1.663547652525458 pass = 99.9999699106784

Cp1.755的值与1.73的估计值非常相似。的肌酸磷酸激酶1.66的值小于Cp价值。然而,只有一个肌酸磷酸激酶小于1.33的值(表示流程显著地转向了流程限制之一)是值得关注的。该过程完全在限制范围内,达到了目标气流(875英尺)3./分钟)超过99.999%的时间。