Análise de empilhamento de tolerâncias: pior caso, RSS ou Monte Carlo?
Neste exemplo, o pior caso (a soma das seis tolerâncias) deixa a folga encolher até 0,120 mm, mas o RSS prevê que só 3,29% dos conjuntos ficam abaixo dos 0,4 mm exigidos, e uma simulação de Monte Carlo com 20.000 conjuntos encontra 3,21%. O pior caso diz se todo conjunto montado encaixa com garantia; o RSS e o Monte Carlo dizem com que frequência algum não vai encaixar.
O exemplo é uma carcaça de 100,00 ± 0,10 mm que comporta cinco peças com uma folga nominal de 0,500 mm. Se cada tolerância vale três desvios padrão, a raiz da soma dos quadrados (RSS) dá à folga um desvio padrão de 0,0544 mm. Com as mesmas hipóteses de normalidade, uma folga tão pequena quanto a do pior caso apareceria cerca de uma vez a cada 730 bilhões de conjuntos montados: na prática, nunca.
O modelo
A planilha é uma tabela de tolerâncias de uma só aba, chamada Stack: uma carcaça e cinco peças empilhadas de ponta a ponta dentro dela, cada uma com uma dimensão nominal (coluna B, em mm) e uma tolerância ± (coluna C). A coluna D, Actual, traz cada dimensão como fabricada; no arquivo salvo, ela é igual ao nominal. A folga em D9 é a carcaça menos as peças, =D2-SUM(D3:D7), e D10 calcula do mesmo modo a folga nominal, a partir da coluna B. Não há funções de suplemento.
Na simulação, cada célula Actual (D2 a D7) é uma distribuição normal com o nominal como média e um terço da tolerância como desvio padrão. A tolerância vale três desvios padrão (3σ), então 99,73% das peças ficam dentro dela. A meta considera falha uma folga abaixo de 0,4 mm: pense nela como a folga mínima de que o conjunto precisa, por exemplo para deixar espaço para a dilatação térmica.
As distribuições e a meta vêm com o exemplo quando você o abre no xellstorm. O arquivo para baixar contém apenas as dimensões, as tolerâncias e as fórmulas, como uma tabela de tolerâncias comum. Os desvios padrão são digitados na configuração da simulação, e não vinculados à coluna C; por isso, se você mudar uma tolerância na planilha, mude também o desvio padrão dela.
| Dimensão | Nominal | Tolerância | Desvio padrão |
|---|---|---|---|
| Carcaça | 100,00 | ±0,10 | 0,0333 |
| Peça 1 | 19,80 | ±0,05 | 0,0167 |
| Peça 2 | 24,60 | ±0,06 | 0,0200 |
| Peça 3 | 15,30 | ±0,04 | 0,0133 |
| Peça 4 | 20,10 | ±0,05 | 0,0167 |
| Peça 5 | 19,70 | ±0,08 | 0,0267 |
Pior caso: somar as tolerâncias
Uma cadeia de pior caso (aritmética) supõe que toda dimensão esteja ao mesmo tempo no seu limite menos favorável: a carcaça no mínimo, 99,90 mm, e cada peça no máximo. A tolerância da folga é então a soma das seis tolerâncias, ±0,38 mm, e a folga fica entre 0,120 e 0,880 mm.
Isso é uma garantia: nenhum conjunto montado com peças dentro da tolerância pode ficar fora dessa faixa. Diante do mínimo de 0,4 mm, porém, o projeto falha no papel. Para passar, as tolerâncias teriam de somar no máximo os 0,100 mm entre a folga nominal e o mínimo; reduzindo todas na mesma proporção, cada uma fica com 26% do valor. O que o pior caso não diz é com que frequência a folga de fato fica abaixo do mínimo.
RSS: raiz da soma dos quadrados
Quando as dimensões variam de forma independente, o que se soma são as variâncias, não as tolerâncias. Com cada desvio padrão em um terço da tolerância, o desvio padrão da folga é a raiz quadrada da soma das seis variâncias: 0,0544 mm. Dito de outro modo, a tolerância RSS, a raiz quadrada da soma das tolerâncias ao quadrado, é ±0,163 mm, três desvios padrão da folga: 99,73% das folgas ficam entre 0,337 e 0,663 mm. Lido como faixa ±, o RSS também reprova o projeto, pois 0,337 mm fica abaixo do mínimo.
Mas o RSS também dá uma taxa. A soma de dimensões normais independentes também é normal, centrada na folga nominal de 0,500 mm, então a chance de uma folga abaixo de 0,4 mm sai direto da distribuição normal. O mínimo fica 1,84 desvios padrão abaixo da folga nominal, e 3,29% de uma distribuição normal fica além desse ponto. Nesta planilha, o Excel dá o mesmo número com =NORM.DIST(0.4, D10, SQRT(SUMSQ(C2:C7))/3, TRUE).
Essa taxa depende de hipóteses: as dimensões são independentes, normais e centradas nos seus nominais, cada tolerância vale três desvios padrão e a folga é uma soma simples.
Monte Carlo: montar o conjunto 20.000 vezes
Uma simulação de Monte Carlo monta o conjunto repetidas vezes: cada iteração sorteia as seis dimensões das suas distribuições, recalcula a planilha e registra a folga. Das 20.000 folgas simuladas, 641 (3,21%) ficam abaixo de 0,4 mm, contra 3,29% pelo valor exato. A diferença é ruído amostral: com 20.000 iterações, uma parcela próxima de 3,29% tem incerteza de cerca de ±0,13 ponto percentual. Esse é um erro padrão da amostragem aleatória simples; a amostragem por Hipercubo Latino, a padrão, sorteia cada dimensão uma vez em cada uma de 20.000 fatias igualmente prováveis da distribuição e costuma sair um pouco melhor, nunca pior quando o resultado se move em um só sentido a cada entrada, como aqui. A média e o desvio padrão simulados também coincidem com os valores do RSS.
| RSS, exato | Simulado | |
|---|---|---|
| Folga média | 0,5000 | 0,5000 |
| Desvio padrão | 0,0544 | 0,0543 |
| Folga abaixo de 0,4 mm (a meta) | 3,29% | 3,21% |
| Folga abaixo de 0,337 mm (limite do RSS, 3σ) | 0,135% | 0,105% |
| Folga abaixo de 0,120 mm (limite do pior caso) | 1,4 × 10−12 | nenhuma de 20.000 |
Quão conservador é o pior caso?
| Método | Faixa da folga | Abaixo de 0,4 mm |
|---|---|---|
| Pior caso: somar as tolerâncias | 0,120–0,880 | pode ocorrer (sem taxa) |
| RSS: raiz da soma dos quadrados, ±3σ | 0,337–0,663 | 3,29% |
| Monte Carlo: todas as 20.000 iterações | 0,287–0,719 | 3,21% |
Muito. Para a folga chegar a 0,120 mm, as dimensões juntas precisam sair 0,38 mm para o lado desfavorável, o que, com todas as peças dentro da tolerância, exige as seis nos limites ao mesmo tempo. Com as mesmas hipóteses de normalidade, uma folga tão pequena fica 6,99 desvios padrão abaixo da folga nominal, e a chance é 1,4 × 10−12: cerca de um conjunto em 730 bilhões. Poucos processos reais seguem uma normal tão longe nas caudas, e a inspeção retira as peças fora da tolerância; por isso, leia isso apenas como “praticamente nunca”. A simulação diz o mesmo do jeito dela: a menor das 20.000 folgas simuladas é 0,287 mm.
A garantia tem um preço. Para atingir 0,4 mm no pior caso, tolerâncias reduzidas na mesma proporção precisam cair para 26% dos valores; pelo RSS a 3σ, para 61%, e mesmo assim 0,135% das folgas ficam abaixo do mínimo. Tolerâncias mais apertadas custam mais para usinar e inspecionar. Se 3,29% dos conjuntos abaixo de 0,4 mm é aceitável, ou se vale pagar para reduzir isso, é uma decisão de projeto; o resultado estatístico mostra entre o que você está escolhendo.
Qual tolerância apertar primeiro
Em uma cadeia linear em que toda tolerância é 3σ, a parcela de cada dimensão na variância da folga é a tolerância dela ao quadrado dividida pela soma das tolerâncias ao quadrado. Os ±0,10 mm da carcaça respondem por 37,6%, os ±0,08 mm da Peça 5, por 24,1%, e os ±0,04 mm da Peça 3, por apenas 6,0%. Como as tolerâncias entram ao quadrado, as maiores dominam. Pela fórmula do RSS, cortar pela metade a tolerância da carcaça, para ±0,05 mm, faz a parcela de folgas abaixo de 0,4 mm cair de 3,29% para 1,50%, enquanto cortar pela metade a da Peça 3, para ±0,02 mm, só a leva a 2,99%.
| Dimensão | Tolerância, mm | Parcela exata | App (simulada) |
|---|---|---|---|
| Carcaça | ±0,10 | 37,6% | 38,0% |
| Peça 5 | ±0,08 | 24,1% | 24,0% |
| Peça 2 | ±0,06 | 13,5% | 13,6% |
| Peça 1 | ±0,05 | 9,4% | 9,4% |
| Peça 4 | ±0,05 | 9,4% | 9,3% |
| Peça 3 | ±0,04 | 6,0% | 5,8% |
A tabela de contribuição para a variância do app estima as mesmas parcelas a partir dos postos das iterações simuladas: 38,0% para a carcaça, contra 37,6% pela fórmula exata. Em modelos sem fórmula para as parcelas, é essa tabela, junto com o gráfico de tornado, que mostra qual dimensão apertar; veja gráficos de tornado e análise de sensibilidade.
Quando o Monte Carlo vale a pena
O RSS e o Monte Carlo concordam aqui porque o exemplo atende a todas as hipóteses do RSS. A que mais pesa é que cada tolerância equivale a três desvios padrão de uma distribuição normal. Suponha, em vez disso, que as dimensões se espalhem por igual pelas faixas de tolerância, por exemplo porque uma ferramenta de corte se desgasta de forma contínua ao longo de um lote. Cada dimensão passa a ser uniforme, com desvio padrão igual à tolerância dividida por √3, 1,73 vez o da normal.
Rodada como cenário sobre os mesmos sorteios, com cada dimensão uniforme entre nominal − tolerância e nominal + tolerância, a simulação dá 14,99% de folgas abaixo de 0,4 mm, contra 3,21% antes. A solução exata para dimensões uniformes, a partir da distribuição de uma soma de uniformes, é 15,03%. O RSS com os desvios padrão das uniformes (0,0942 mm para a folga) dá 14,41%: perto, mas abaixo, porque ainda trata a folga como normal, e seis dimensões, uma delas com 37,6% da variância, não a tornam exatamente normal. O pior caso não muda: ignora como as dimensões se distribuem.
Ou seja, para uma soma simples de dimensões independentes, o RSS com os desvios padrão certos chega perto. O Monte Carlo compensa quando a cadeia é menos simples: uma folga que depende de ângulos ou raios, ou de um MAX ou IF na fórmula; distribuições assimétricas ou cortadas pela inspeção; dimensões que variam em conjunto; ou um modelo que já está em uma planilha. O xellstorm recalcula a planilha a cada iteração, então a folga é o que as fórmulas da própria planilha fazem com as dimensões, e não uma soma reescrita para a análise.
Experimente
- Abra o modelo no xellstorm. As seis dimensões são entradas, a folga em D9 é a saída e uma folga abaixo de 0,4 mm é a meta; não precisa instalar nada nem fazer cadastro, e a planilha é calculada no navegador.
- Rode a simulação: com a mesma semente e 20.000 iterações, aparecem os números desta página (o app arredonda as parcelas para uma casa decimal, por exemplo 3,2%). Os resultados mostram a folga média, a chance de uma folga abaixo de 0,4 mm e o P10, 0,430 mm, valor que 90% dos conjuntos superam; a tabela de percentis vai até P1.
- Digite outro mínimo na caixa de probabilidade, como o limite do RSS de 0,337 mm, ou passe o mouse sobre a curva S para ver a chance de uma folga abaixo de qualquer valor.
- Na etapa Distributions, adicione um cenário chamado “Uniforme dentro da tolerância”, mude a distribuição de cada dimensão para Uniform com min em nominal − tolerância e max em nominal + tolerância (para a carcaça, 99,90 e 100,10) e rode de novo: a tabela de cenários compara esse cenário com o caso-base, nos mesmos sorteios. Um segundo cenário pode cortar o sd da carcaça pela metade, de 0,0333 para 0,0167, para ver o que se ganha com uma tolerância mais apertada na carcaça.
- Depois, abra a sua tabela de tolerâncias, faça de cada dimensão uma entrada normal com sd = tolerância / 3 (ou a dispersão que os dados do seu processo mostram) e escolha a folga como saída.
Dá para fazer só com o Excel?
Sim. A taxa do RSS é uma só fórmula NORM.DIST, a que aparece acima. Para uma simulação de Monte Carlo, substitua cada valor Actual por uma fórmula como =NORM.INV(RAND(), B2, C2/3), repita o cálculo alguns milhares de vezes com uma tabela de dados e conte as folgas abaixo de 0,4 mm com COUNTIF. Simulação de Monte Carlo no Excel explica como fazer, e o que muda quando uma ferramenta roda a planilha para você.
Perguntas
O que é um empilhamento de tolerâncias?
Um empilhamento de tolerâncias é o cálculo de como as tolerâncias de várias peças se combinam em uma dimensão que depende de todas elas, como a folga que sobra entre uma carcaça e as peças dentro dela. Os três métodos comuns são o pior caso (somar as tolerâncias), o RSS (combiná-las como variações aleatórias independentes) e a simulação de Monte Carlo (montar o conjunto muitas vezes a partir de dimensões aleatórias).
Qual é a diferença entre a análise de tolerâncias de pior caso e a RSS?
A análise de tolerâncias de pior caso soma as tolerâncias; com isso cobre toda combinação de peças dentro da tolerância, mas supõe que todas estejam nos limites ao mesmo tempo. O RSS (raiz da soma dos quadrados) toma a raiz quadrada da soma das tolerâncias ao quadrado: trata as variações como independentes e aleatórias e dá a faixa que contém 99,73% dos conjuntos quando cada tolerância equivale a três desvios padrão. Para esta cadeia, o pior caso dá ±0,38 mm e o RSS, ±0,163 mm.
Por que tratar uma tolerância como três desvios padrão?
Tratar uma tolerância como três desvios padrão (3σ) descreve um processo centrado e normalmente distribuído em que 99,73% das peças ficam dentro da tolerância, um índice de capacidade do processo (Cp) igual a 1. Um processo mais capaz tem desvio padrão menor e menos falhas. Um processo cuja saída se espalha por igual pela faixa tem mais, como mostra o cenário uniforme acima, e um que trabalha descentrado põe mais peças fora da tolerância e desloca a folga para um lado ou para o outro. Quando houver medições, use a média e o desvio padrão do próprio processo.
De quantas iterações precisa uma simulação de tolerâncias?
Uma simulação de tolerâncias precisa de iterações suficientes para contar muitas vezes as falhas de interesse. Com cerca de 3,29% abaixo de 0,4 mm, 20.000 iterações contam 641 dessas folgas e estimam a parcela com margem de cerca de ±0,13 ponto percentual (um erro padrão da amostragem aleatória simples; a amostragem por Hipercubo Latino, a padrão, costuma sair um pouco melhor). Taxas de falha em partes por milhão exigem milhões de iterações, ou uma fórmula exata, quando as hipóteses se aplicam.
As dimensões podem ser correlacionadas?
As dimensões podem ser correlacionadas no xellstorm: dê a um par uma correlação de postos na etapa Distributions, por exemplo duas peças cortadas da mesma barra. Uma correlação positiva entre duas peças amplia a dispersão da folga, e uma entre a carcaça e uma peça a estreita, porque a folga subtrai as peças da carcaça. A fórmula simples do RSS supõe independência e não capta nenhum dos dois efeitos.
Veja também
- Confiabilidade de equipamentos
Qual a chance de um sistema em série falhar em um ano?
Quatro componentes em série com tempos de vida Weibull: 79,0% das unidades falham em um ano (8.760 h) e a vida média é de 5.712 h. Simulado x exato. - Guia
Gráfico de tornado e análise de sensibilidade: o que é e como ler
No xellstorm, o gráfico de tornado move cada entrada isoladamente, de P10 a P90 por padrão. Em uma estimativa de obra, um único risco muda o custo em 150 (milhares de US$). - Guia
Simulação de Monte Carlo no Excel, com ou sem suplemento
Três formas de rodar uma simulação de Monte Carlo em um modelo do Excel: RAND() e uma tabela de dados, um suplemento ou uma ferramenta no navegador, sem suplemento. Fórmula PERT incluída.
O xellstorm é uma ferramenta de simulação de Monte Carlo para modelos do Excel, que roda no navegador: sem suplemento, e o arquivo nunca sai do seu computador.