implementaçãodeumlimiaradaptativopara detecçãodefalhas...

56
Thiago Cabral de Souza Implementação de um limiar adaptativo para detecção de falhas- Estudo de Caso: Falhas em um Motor DC Campos dos Goytacazes 2018

Upload: vanphuc

Post on 25-Jan-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Thiago Cabral de Souza

Implementação de um limiar adaptativo paradetecção de falhas- Estudo de Caso: Falhas em

um Motor DC

Campos dos Goytacazes

2018

Page 2: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Thiago Cabral de Souza

Implementação de um limiar adaptativo para detecção defalhas- Estudo de Caso: Falhas em um Motor DC

Trabalho de conclusão de curso apresentadoao Instituto Federal de Educação, Ciência eTecnologia Fluminense como requisito par-cial para conclusão do curso de Bachareladoem Engenharia de Controle e Automação.

Instituto Federal Fluminense – IFF

Campus Campos Centro

Engenharia de Controle e Automação

Orientador: Dr. Alexandre Carvalho Leite

Campos dos Goytacazes2018

Page 3: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Thiago Cabral de SouzaImplementação de um limiar adaptativo para detecção de falhas- Estudo de

Caso: Falhas em um Motor DC/ Thiago Cabral de Souza. – Campos dos Goyta-cazes, 2018-

55

Orientador: Dr. Alexandre Carvalho LeiteCoorientador: Paulo Victor Padrão Lopes

Trabalho de Conclusão de Curso – Instituto Federal Fluminense – IFFCampus Campos CentroEngenharia de Controle e Automação, 2018.

I. Detecção de Falhas. II. Instituto Federal Fluminense. III. Campus CamposCentro. IV. Implementação de um limiar adaptativo para detecção de falhas-Estudo de Caso: Falhas em um Motor DC

CDU

Page 4: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Thiago Cabral de Souza

Implementação de um limiar adaptativo para detecção defalhas- Estudo de Caso: Falhas em um Motor DC

Trabalho de conclusão de curso apresentadoao Instituto Federal de Educação, Ciência eTecnologia Fluminense como requisito par-cial para conclusão do curso de Bachareladoem Engenharia de Controle e Automação.

Trabalho aprovado. Campos dos Goytacazes, 03 de agosto de 2018:

Dr. Alexandre Carvalho LeiteINSTITUTO FEDERAL

FLUMINENSEOrientador

Paulo Victor Padrão LopesINSTITUTO FEDERAL

FLUMINENSECoorientador

Yago Pessanha CorrêaINSTITUTO FEDERAL

FLUMINENSEConvidado 1

Alexandre Dias Luciano LimaMWF SERVICES

Convidado 2

Campos dos Goytacazes2018

Page 5: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

À minha mãe e avó que sempre fizeram de tudo para meu potencial ser desenvolvido.

Page 6: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Agradecimentos

Agradeço a minha avó, Sônia Cabral, que é professora de matemática e desde queeu aprendi a falar, aprendi a ver os números no mundo. E irei carregar isso comigo atémeu último momento, que meu último suspiro seja minha última conta.

Agradeço a minha mãe, Maria das Graças, que foi minha mãe e pai. Meu suporteemocional. Agradeço por sempre ter valorizado a minha educação e me incentivar o raci-ocínio lógico desde criança. Obrigado por se esforçar ao máximo para me dar uma ótimaeducação.

Um agradecimento especial ao meu orientador, Prof. Alexandre Leite. Uma pessoaao qual eu tive uma grande identificação pois é altamente competente e apaixonado peloque estuda. Uma pessoa que a cada palavra proferida, eu prestava muita atenção ao pontode praticamente decora-las. E sempre que eu me pego pensando nelas, eu percebo que emtudo o que ele fala, nos passa conhecimento.

Ao meu co-orientador, Paulo Victor Padrão. No começo dessa jornada, eu o viacomo um chefe da bolsa; mas ao decorrer desse ano eu o vejo como um amigo que emtodas conversas estamos falando da nossa profissão e estudando, até mesmo sem perceber.

Obrigado ao meu caro amigo, Rodrigo Brasil. Um exêmplo de ser humano incrívelque quando eu mais precisei, esteve lá comigo. Um irmão que sempre carregarei no meupeito, independente da distância e fase da vida.

Obrigado a minha parceira de todas as horas, Dayana Botelho, que sempre me deusuporte quando precisei. A pessoa que sempre me nutriu de amor. Obrigado, meu amor.

Agradeço a todos que me ajudaram, me incentivaram ou me ensinaram algo. Agra-deço a todos os professores que me ensinaram nessa caminhada, em especial a CarlaAzevedo, Marcos Moulin, Ronaldo Freitas e ao Marcelo Almada.

Page 7: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

People think dreams aren’t real just because they aren’t made of matter, of particles.Dreams are real. But they are made of viewpoints, of images, of memories and puns and

lost hopes (Neil Gaiman)

Page 8: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

ResumoToda aplicação de engenharia é suscetível a ocorrência de falhas que podem causar grandesdanos a equipamentos, suas missões e seus usuários. Para detectar essas falhas, métodosclássicos podem ser usados, como por exemplo os limiares fixos, limiares adaptativose geração de resíduos estruturados. Este trabalho descreve e implementa um algoritmoem C para cálculo de um limiar adaptativo ATLMS, uma técnica baseada em filtragemadaptativa e teste sequencial por razão de probabilidades. A eficiência dessa técnica seráavaliada pela curva característica de operação do receptor (i.e. curva ROC). Esta relacionaas taxas de alarmes falsos e perdidos. E por fim, o ATLMS é aplicado em um estudo decaso sobre um motor DC simulando três tipos diferentes de falhas. Os resultados sãosatisfatórios, pois o desempenho da implementação corresponde com baixo erro àquele doseu modelo de simulação.

Palavras-chaves: Detecção de falhas. ATLMS, Curva ROC, Linguagem C, Residuosestruturados.

Page 9: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Abstract

Any engineering application is vulnerable to fault occurrence which may cause a ma-jor damage on equipments, mission or its users. In order to detect these faults, classicalmethods can be employed, such as fixed thresholds and structured residues. This work im-plements a C algorithm and discusses its application on fault detection using the ATLMS,an adaptive threshold technique based on LMS adaptive filtering and sequential probabil-ity ratio test. The performance of the technique could be assessed by a Receiver OperatingCharacteristic (ROC) curve, that is used to evaluate tradeoff between true positive andthe false positive rates. Lastly, the ATLMS is apllied in a study case with a DC motor sim-ulating three different types of faults. The results are satisfactory, since the implementedATLMS reproduces the behavior of the simulated version with small errors.

Key words: Fault Detection, ATLMS, ROC Curve, C programming, Structured Resid-uals

Page 10: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Lista de ilustrações

Figura 1 – Esquema de processo influenciado pelas falhas (Isermann, 2005) . . . . 16Figura 2 – Estrutura geral para detecção de falhas. . . . . . . . . . . . . . . . . . 20Figura 3 – Diagrama de blocos do erro polinomial (Isermann, 2005) . . . . . . . . 21Figura 4 – Esquemático simplificado de um motor DC. (Dorf,2011) . . . . . . . . 22Figura 5 – Unidade Mecânica do Kit Digital de Servo (Feedback, 2007) . . . . . . 22Figura 6 – Estrutura básica de um filtro adaptativo (Chassaing,2002) . . . . . . . 25Figura 7 – Filtragem adaptativa com mínimos quadrados (Lima,2017) . . . . . . . 26Figura 8 – Filtragem não adaptativa (Chassaing,2002) . . . . . . . . . . . . . . . . 26Figura 9 – Filtragem adaptativa (Chassaing,2002) . . . . . . . . . . . . . . . . . . 26Figura 10 – ATLMS - Técnica de limiares adaptativos (Lima,2015) . . . . . . . . . 28Figura 11 – Resposta de um Limiar Adaptativo . . . . . . . . . . . . . . . . . . . . 30Figura 12 – Blockset do ATLMS (Lima,2015) . . . . . . . . . . . . . . . . . . . . . 31Figura 13 – Máscara toolbox (Lima,2015) . . . . . . . . . . . . . . . . . . . . . . . 31Figura 14 – Loop Algébrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Figura 15 – Funcionamento DSP (Kuo Lee,2001) . . . . . . . . . . . . . . . . . . . 33Figura 16 – Filtragem adaptativa (Lima,2015) . . . . . . . . . . . . . . . . . . . . . 37Figura 17 – S-Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Figura 18 – Comparação entre S-function e Toolbox . . . . . . . . . . . . . . . . . 41Figura 19 – Diferença entre uma curva ROC usada para limiares fixos e adaptativos

(Leite,2012) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Figura 20 – Sinal falhado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Figura 21 – Resposta ROC de um Limiar Fixo . . . . . . . . . . . . . . . . . . . . 43Figura 22 – Resposta ROC do ATLMS . . . . . . . . . . . . . . . . . . . . . . . . . 44Figura 23 – Resposta ROC do ATLMS com zoom . . . . . . . . . . . . . . . . . . . 44Figura 24 – Comportamento da Falha 1 . . . . . . . . . . . . . . . . . . . . . . . . 49Figura 25 – Resíduos Estruturados da Falha 1 . . . . . . . . . . . . . . . . . . . . . 49Figura 26 – Flag do ATLMS para Falha 1 . . . . . . . . . . . . . . . . . . . . . . . 50Figura 27 – Comportamento da Falha 2 . . . . . . . . . . . . . . . . . . . . . . . . 50Figura 28 – Resíduos Estruturados da Falha 2 . . . . . . . . . . . . . . . . . . . . . 51Figura 29 – Flag do ATLMS para Falha 2 . . . . . . . . . . . . . . . . . . . . . . . 51Figura 30 – Comportamento da Falha 3 . . . . . . . . . . . . . . . . . . . . . . . . 52Figura 31 – Resíduos Estruturados da Falha 3 . . . . . . . . . . . . . . . . . . . . . 52Figura 32 – Flag do ATLMS para Falha 3 . . . . . . . . . . . . . . . . . . . . . . . 53

Page 11: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Lista de tabelas

Tabela 1 – Parâmetros do modelo do motor DC . . . . . . . . . . . . . . . . . . . 23Tabela 2 – Parâmetros do ATLMS . . . . . . . . . . . . . . . . . . . . . . . . . . 29Tabela 3 – Variáveis da Falha 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Tabela 4 – Variáveis da Falha 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Tabela 5 – Variáveis da Falha 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Page 12: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Lista de algoritmos

4.1 StandaloneATLMS.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2 SfunctionCode.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.3 legacyCode.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Page 13: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Lista de abreviaturas e siglas

a Sensibilidade à tendência do SPRT;

ATLMS Adaptive Threshold Least Mean Squares;

b Motor Viscous Friction Constante (Constante de Atrito Viscoso);

DC Direct Current (Corrente contínua);

DLR Deutsches Zentrum für Luft- und Raumfahrt (Centro Aerospacial Ale-mão);

e0 Distância segura entre o limiar e o resíduo;

FDD Fault detection and diagnosis (Detecção e diagnóstico de falhas);

FIR Finite Impulse Response(Resposta de Duração Finita ao Impulso);

FN False Negative (Falso Negativo, Perda de Alarme);

FP False Positive (Falso Positivo, Alarme Falso);

FPR False Positive Rate (Proporção de Falsos Positivos, Taxa de Falso Alarme);

i𝐴(𝑡 Corrente da Armadura do Motor;

IIR Infinite Impulse Response (Responsa de Duração Infinita ao Impulso);

J𝑇 Rotor Moment of Inertia (Momento de Inércia do Rotor);

K Gain (Ganho);

K𝐴 Gain on the Amplifier (Ganho do Amplificador);

K𝐵 EMF constant (Constante de Força Eletromotriz);

K𝑇 Motor Torque Constant (Constante de Torque do Motor);

L𝐴 Armature Induntance (Induntância da Armadura);

LMS Least Mean Squares (Mínimos quadrados);

M Número de atuadores;

MATLAB®/SIMULINK Programa usado para cálculos e simulações;

o Diferença entre 𝑦𝑘−1 do filtro e resíduo sensível;

Page 14: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

ord Número de pesos do filtro;

R𝐴 Armature Resistance (Resistência da Armadura);

ROC Receiver Operating Characteristic (Característica de Operação do Re-ceptor);

S-Function System Function, Recurso do MATLAB;

s0 Probabilidade de 𝐻0 verdadeiro no momento que o limiar assume essahípotese;

SPRT Sequential Probability Ratio Test (Taxa Sequêncial de Verossimilhança);

T𝑠 Tempo de amostragem;

TN True Negative (Verdadeiro Negativo, Não-Alarme Correto);

TP True Positive (Verdadeiro Positivo, Alarme Correto);

TPR True Positive Rate (Taxa de Verdadeiros Positivos);

V𝑖𝑛 Motor input voltage (Voltagem de entrada do motor DC);

W Pesos do filtro;

Φ Vetor de entrada do ATLMS;

𝜇 Ganho variável do limiar adaptativo;

Ω Motor Angular Velocity (Velocidade angular do motor).

Page 15: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.1 Objetivo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2 Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 REVISÃO BIBLIOGRÁFICA . . . . . . . . . . . . . . . . . . . . . . 192.1 Terminologia básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2 Resíduos estruturados . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.3 Motor DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4 Limiares Fixos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.5 Curva ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3 ATLMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.1 Limiares adaptativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2 Filtro LMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3 ATLMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4 IMPLEMENTAÇÃO DO ATLMS . . . . . . . . . . . . . . . . . . . . 314.1 ATLMS - Simulink Blockset . . . . . . . . . . . . . . . . . . . . . . . 314.2 ATLMS - C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.3 ATLMS S-Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.4 Desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.4.1 Sinal falhado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.4.2 Teste de eficiência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.4.2.1 Limiar Fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.4.2.2 ATLMS-Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5 ESTUDO DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.1 Modelagem da falha . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.1.1 Falha 1: Rotação do motor próxima de zero . . . . . . . . . . . . . . . . . 455.1.2 Falha 2: Último Valor de Memória . . . . . . . . . . . . . . . . . . . . . . 455.1.3 Falha 3: Valor máximo de Rotação do motor excedido . . . . . . . . . . . 465.2 Resultados e Discussão . . . . . . . . . . . . . . . . . . . . . . . . . . 475.2.1 Resíduos estruturados do Motor DC . . . . . . . . . . . . . . . . . . . . . 475.2.2 Simulação Falha 1: Rotação próxima de 0 RPM . . . . . . . . . . . . . . . 495.2.3 Simulação falha 2: Último valor . . . . . . . . . . . . . . . . . . . . . . . 50

Page 16: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

5.2.4 Simulacão falha 3: Valor máximo excedido . . . . . . . . . . . . . . . . . . 51

6 CONCLUSÃO E TRABALHOS FUTUROS . . . . . . . . . . . . . . 546.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Page 17: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

16

1 Introdução

A área de detecção e o diagnóstico de falhas (FDD - Fault Detection and Diagnosis)e supervisão tem desempenhado um papel importante em processos industriais complexosdevido à crescente demanda por disponibilidade no meio industrial. No passado, os siste-mas de detecção e diagnóstico de falhas só permitiam o reconhecimento de um alarme apartir de uma variável ter excedido o seu limite pré estabelecido (Isermann,1984). Alémde ser uma maneira rudimentar de realizar a detecção, a falha só era detectada muitotempo após acontecer. Esta demora é capaz de causar danos ao processo.

Entretanto, métodos de detecção e diagnóstico de falhas foram desenvolvidos aolongo dos anos oferecendo vantagens como (Iserman,2005):

1. Detecção predititivas de pequenas falhas, sejam abruptas ou incipientes;

2. Diagnóstico das falhas nos atuadores, componentes dos processos ou sensores;

3. Detecção de falhas em malha fechada;

4. Supervisão de processos em estado transitório.

Com técnicas modernas de FDD pode-se atingir o aumento na confiabilidade dosistema, aumento no tempo de vida de componentes monitorados e redução da probabi-lidade global de falha do sistema (Gertler, 2015),(Chiang, Russel, 2001).

A teoria de detecção e diagnósticos desenvolve métodos que podem ser usadospara dar ao operador um melhor entendimento da falha antes e decidir a melhor açãooperacional a ser realizada. Isto se aplica tanto a falhas causadas por fatores externosquanto internos à planta, Fig. 1:

Figura 1 – Esquema de processo influenciado pelas falhas (Isermann, 2005)

Há inúmeras maneiras de projetar um sistema FDD, algumas delas são:

• Modelo de Falhas e Processos que são baseadas em uma aproximação matemáticados sistemas e suas respectivas falhas;

Page 18: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 1. Introdução 17

• Verificação de Limites baseado em registros de quando o valor de uma variávelexcede o valor de um limiar;

• Modelos de sinais baseados em sinais determinísticos e estocásticos;

• Identificação de processos, utilizando métodos de estimação de parâmetros;

• Observadores de Estados e Estimadores, baseados na representação de espaço deestados de um sistema;

• Equações de paridade que usam resíduos para determinar quando o sistema estáapresentando um comportamento normal ou falhado.

Para avaliar um sistema FDD temos que levar em consideração vários fatores,como por exemplo:

1. Tempo de processamento;

2. Número de alarmes perdidos;

3. Número de alarmes falsos.

É sempre desejado um baixo índice de alarmes perdidos e falsos alarmes, além dedetecção rápida com análise da tendência dos resíduos. Naturalmente, estas característicasnão devem surgir a um custo de processamento elevado nos cálculos de detecção.

1.1 Objetivo geralEsse trabalho está dividido em 3 partes. Na primeira será feita uma atualiza-

ção na toolbox do ATLMS (Adaptive Threshold Least-Mean Square). Além disto, serádesenvolvido um código tanto em Linguagem C quanto em MATLAB S-function para aimplementação do ATLMS. Na sequência será feita uma avaliação utilizando a curva ROCpara verificar o desempenho do sistema de detecção. Por fim, apresentamos um estudo decaso simulado utilizando o ATLMS para realizar a detecção de falhas em um motor DC.

1.2 Objetivos específicos

• Atualização da toolbox do ATLMS;

• Desenvolvimento, em linguagem C, do algoritmo do ATLMS;

• Desenvolvimento, em MATLAB S-function, do algoritmo do ATLMS;

• Análise de desempenho através da curva ROC;

Page 19: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 1. Introdução 18

• Estudo de caso em motor DC.

1.3 JustificativaQualquer sistema ou aplicação de engenharia está suscetível a falhas que podem

causar sérios danos ao processo, inclusive aos operadores. O ATLMS propõe uma detecçãorápida e robusta, a implementação deste algoritmo em C é um passo fundamental para ofuturo da embarcação deste código em hardware específico.

Page 20: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

19

2 Revisão bibliográfica

2.1 Terminologia básicaApesar da área de detecção e diagnóstico de falhas possuir uma vasta aplicabili-

dade, não há uma terminologia amplamente aceita (Alexandre,2009). Por consequência, aFederação de Controle Automático (IFAC) no comitê SAFEPROCESS sugeriu definiçõespreliminares para alguns termos da área de detecção de falhas(Isermann,2006):

• Falha: Comportamento que difere do padrão aceitável em pelo menos uma caracte-rística, propriedade ou parâmetro do sistema.

• Erro: Diferença entre valores medidos e o valores esperados.

• Detecção de Falhas: determinação da presença de uma falha e o tempo em que elaocorreu.

• Isolamento de falhas: Determinação do tipo, localização e do tempo de detecção dafalha.

• Identificação de falhas: Determinação do tamanho e do comportamento temporalda falha.

• Monitoramento: Sistema contínuo que funciona em tempo real para detectar, reco-nhecer e indicar anomalias de comportamento.

2.2 Resíduos estruturadosUma das maneiras de determinar a ocorrência de uma falha em um processo é

usando a comparação entre o modelo matemático e o sinal medido pelos sensores. Essadiferença é chamada de resíduo.

Os resíduos têm um papel essencial em algoritmos e técnicas de detecção e diagnós-tico de falhas. Geralmente, os resíduos são usados para comparar o comportamento falhadoe o comportamento normal da planta (Frisk,2001),(Isermann,2005) e (Nyberg,1999).

Dessa maneira eles são projetados para terem um valor igual a zero em um pro-cesso sem falhas e diferente de zero na ocorrência de uma falha. Entretanto, resíduos têma tendência de variar de acordo com a imprecisão do modelo, distúrbios e ruído. Algu-mas maneiras de minimizar essas variações indesejadas é aumentando a robustez do seu

Page 21: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 2. Revisão bibliográfica 20

modelo, sensibilidade às falhas ou usar thresholds adaptativos, dependendo do sinal deentrada.

Um sistema de detecção de falhas por resíduos nesse trabalho é composto poretapas, como mostrado na Fig. 2:

Figura 2 – Estrutura geral para detecção de falhas.

A geração de resíduos pode ser feita a partir de abordagens diferentes como:

• Resíduos direcionais: A principal idéia é gerar um vetor residual que é sensível adiferentes falhas.

• Resíduos estruturados: A principal ideia é desensolver um resíduo que é insensívela algumas falhas e sensível a outras.

.

Os resíduos estruturados considerando um processo descrito pela Eq. 2.1:

𝐺𝑝(𝑠) = 𝑦𝑝(𝑠)𝑢(𝑠) = 𝐵𝑝(𝑠)

𝐴𝑝(𝑠) (2.1)

E modelo do processo- assumido com parâmetros fixos descrito pela Eq. 2.2:

𝐺𝑚(𝑠) = 𝑦𝑚(𝑠)𝑢(𝑠) = 𝐵𝑚(𝑠)

𝐴𝑚(𝑠) (2.2)

E processo linear descrito pela Eq. 2.3:

𝐺𝑝(𝑠) = 𝐺𝑚(𝑠) + Δ𝐺𝑚(𝑠) (2.3)

Onde 𝑟 é o erro. Representado pelo sistema de blocos Fig. 3 de blocos a seguir:

Os residuos são descritos em Eq. 2.4

𝑟(𝑠) = 𝐴𝑚(𝑠)𝑦𝑝(𝑠)−𝐵𝑚(𝑠)𝑢(𝑠) (2.4)

Page 22: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 2. Revisão bibliográfica 21

Figura 3 – Diagrama de blocos do erro polinomial (Isermann, 2005)

E deverá ser desacoplado das falhas para identificar onde a falha ocorreu. Final-mente, os resíduos estruturados são definidos pela Eq. 2.5:

r*(𝑠) = 𝑊 (𝑠)

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

⎡⎢⎢⎢⎢⎢⎢⎣𝐴1(𝑠) 0 · · · 0

0 𝐴2(𝑠). . .

0 0 · · · 𝐴𝑟(𝑠)

⎤⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎣𝑦1(𝑠)𝑦2(𝑠)

...𝑦𝑟(𝑠)

⎤⎥⎥⎥⎥⎥⎥⎦−⎡⎢⎢⎢⎢⎢⎢⎣𝐵1(𝑠) 0 · · · 0

0 𝐵2(𝑠). . .

0 0 · · · 𝐵𝑝(𝑠)

⎤⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎣𝑢1(𝑠)𝑢2(𝑠)

...𝑢𝑝(𝑠)

⎤⎥⎥⎥⎥⎥⎥⎦

⎫⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭(2.5)

Onde 𝑊 (𝑠) é a matriz geradora dos resíduos estruturados (Isermann,2006).

2.3 Motor DCO motor DC usado no estudo de caso desse trabalho é parte do Mechanical Unit of

the Digital Servo Kit mostrado na Fig. 5. O sistema usado foi uma simplicação do motorDC (Dorf, 2011), como feito em (Leite, Kuga e Lopes, 2006), mostrado na Fig. 4:

A Eq. 2.6 descreve a relação entre a tensão de entrada do motor 𝑉𝑖𝑛(𝑠), e a velo-cidade angular Ω(𝑠), como descrito em (Dorf, 2011).

Ω(𝑠)𝑉𝑖𝑛(𝑠) = 𝐾𝐴𝐾𝑇

(𝐿𝐴𝐽𝑇 )𝑠2+(𝑅𝐴𝐽𝑇 +𝐿𝐴𝑏)𝑠+(𝑅𝐴𝑏+𝐾𝐵𝐾𝑇 ) (2.6)

Page 23: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 2. Revisão bibliográfica 22

Figura 4 – Esquemático simplificado de um motor DC. (Dorf,2011)

Figura 5 – Unidade Mecânica do Kit Digital de Servo (Feedback, 2007)

Beseado na estimação de parâmetros, (Leite, Kuga and Lopes, 2006) o modeloapresentado na Eq.2.6 pode ser simplificado desprezando os efeitos da indutância daarmadura, 𝐿𝐴. Portanto, o motor de primeira ordem simplificado é dado pela Eq 2.7 :

Ω(𝑠)𝑉𝑖𝑛(𝑠) = 𝐾𝐴𝐾𝑇

(𝑅𝐴𝐽𝑇 +𝐿𝐴𝑏)𝑠+(𝑅𝐴𝑏+𝐾𝐵𝐾𝑇 ) (2.7)

2.4 Limiares FixosQuando uma variável excede um determinado limite constante, uma falha será

indicada (isermann,2005). Esse método apresenta desvantagens conhecidas como:

1. Sensibilidade a ruídos e disturbios;

2. Sensibilidade ao sinal de controle.

Page 24: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 2. Revisão bibliográfica 23

Tabela 1 – Parâmetros do modelo do motor DC

Parâmetros do modelo do motor DC𝑉𝑖𝑛(𝑡) Tensão de entrada do motor (Volts)Ω(𝑡) Velocidade angular do motor𝑖𝐴(𝑡) Corrente da armadura (Ampères)

𝑏 Constante de atrito viscoso𝐽𝑇 Momento de inércia do rotor (𝐾𝑔.𝑚2)𝐾𝐴 Ganho do amplificador𝐾𝐵 Constante de FEM (𝑉 𝑜𝑙𝑡.𝑠/𝑟𝑎𝑑)𝐾𝑇 Constante de torque do motor (𝑁.𝑚/𝐴)𝐿𝐴 Indutância da armadura (Henry)𝑅𝐴 Resistência da armadura (Ohms)

Apesar desse método ter suas desvantagens é o mais usado na indústria, visto queé de fácil implementação e não possui alta complexidade teórica.

2.5 Curva ROCA curva ROC (Receiver Operating Characteristic) é uma ferramenta poderosa para

medir e especificar desempenho de um classificador binário (Braga,2000), pois percorretodos valores possíveis de limiares e assim determina a ocorrência de falha ou operaçãonormal do processo.

Esta análise permite estudar a taxa de alarmes falsos e alarmes perdidos paradiferentes valores de limiar.

Page 25: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 2. Revisão bibliográfica 24

Para determinar o desempenho do classificador é calculado a taxa de falso positivose a taxa de verdadeiros positivos, como pode ser visto nas Eq.2.8 e Eq.2.9.

𝑇𝑃𝑅 = 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑅𝑒𝑎𝑙 𝐴𝑙𝑎𝑟𝑚𝑠 𝐷𝑒𝑡𝑒𝑐𝑡𝑒𝑑

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝐹𝑎𝑢𝑙𝑡𝑦 𝑆𝑎𝑚𝑝𝑙𝑒𝑠(2.8)

E o FPR é calculado por

𝐹𝑃𝑅 = 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝐹𝑎𝑙𝑠𝑒 𝐴𝑙𝑎𝑟𝑚𝑠 𝐷𝑒𝑡𝑒𝑐𝑡𝑒𝑑

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑁𝑜𝑟𝑚𝑎𝑙 𝑆𝑎𝑚𝑝𝑙𝑒𝑠(2.9)

Page 26: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

25

3 ATLMS

3.1 Limiares adaptativosUma maneira de criar um sistema robusto em relação a erros de modelagem é

utilizando limiares adaptativos. Os limiares adaptativos têm um importante papel nasincronização do sistema, pois os resíduos podem sofrer oscilações mesmo em casos semfalhas e limiares fixos não incorporam dinâmica para desviarem destas oscilações. Nessecaso, a presença de um limiar adaptativo pode trazer vantagens como por exemplo:

1. Insensibilidade a ruídos e perturbações;

2. Insensibilidade ao sinal de controle;

3. Capacidade de detectar a tendência do resíduo.

3.2 Filtro LMSDe acordo com (Chassaing,2002), filtros adaptativos são usados em casos onde os

sinais de entrada ou parâmetros do sistema estão mudando lentamente e o filtro precisaser ajustado para compensar essas mudanças, como pode ser visto em Fig. 6:

Figura 6 – Estrutura básica de um filtro adaptativo (Chassaing,2002)

O filtro adaptativo Least Mean Squares (LMS) tem a estrutura da Fig. 9:

Page 27: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 3. ATLMS 26

Figura 7 – Filtragem adaptativa com mínimos quadrados (Lima,2017)

Uma das maneiras de se aplicar o algoritmo LMS é utilizando um Filtro FIR(Widrow,1985). O filtro FIR é inerentemente estável, visto que é calculado a partir deuma soma finita dos valores de entrada mostrados na Fig. 8. Porém a realimentação naadaptação faz com que o sistema adaptativo seja passível de instabilidade, como mostradopela Fig. 9.

Figura 8 – Filtragem não adaptativa (Chassaing,2002)

Figura 9 – Filtragem adaptativa (Chassaing,2002)

Page 28: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 3. ATLMS 27

Este filtro adaptativo também pode ser implementado em um IIR (que original-mente já exige análise de estabilidade mesmo sem ganhos variáveis) (Chassaing,2002).

A figura 9 representa fielmente um filtro FIR com seus pesos mudando a cada valorde erro. Nela são extraídas as seguintes informações (Lima,Chassaing Widrow):

Definição da entrada:

𝑋𝑘 = [𝑥𝑘𝑥𝑘−1 ... 𝑥𝑘−𝐿] (3.1)

Definição do valor de pesos:

𝑊𝑘 = [𝑊0𝑘𝑊1𝑘 ... 𝑥𝐿𝐾 ]𝑇 (3.2)

Definição do erro:𝑒𝑘 = 𝑑𝑘 − 𝑦𝑘 = 𝑑𝑘 −𝑋𝑘𝑊𝑘 (3.3)

Relação entrada saída:

𝑦𝑘 =𝐿∑︁

𝑙=0= 𝑋𝑘−𝐿 *𝑊𝑙𝑘 (3.4)

Relação entrada saída em forma vetorial:

𝑦𝑘 = 𝑋𝑘𝑊𝑘 = 𝑊 𝑇𝑘 𝑋𝑇

𝑘 (3.5)

Relação de atualização dos pesos:

𝑊𝑘+1 = 𝑊𝑘 + 2𝜇𝜖𝑘𝑋𝑘 (3.6)

Page 29: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 3. ATLMS 28

3.3 ATLMSO ATLMS (Adaptive Threshold Least Mean Squares) foi desenvolvido por (Leite,2012).

Nessa técnica, foi combinado o Sequencial Probability Ratio Test (SPRT) em conjuntocom um filtro LMS do tipo FIR como mostrado na Fig. 10 :

Figura 10 – ATLMS - Técnica de limiares adaptativos (Lima,2015)

Onde:

• 𝑢: Sinal de controle;

• 𝑦0: Resíduo insensível à falha a ser detectada;

• 𝑦1: Resíduo sensível à falha a ser detectada;

• 𝑟: Resultado instanâneo do SPRT;

• 𝑊 : Pesos do filtro FIR.

• 𝑓 : Limiar adaptativo

Um alarme de falha é ativado pela comparação entre 𝑦0 e 𝑓 , que está em funçãodo 𝑦0. Esses resíduos usados, podem ser gerados usando resíduos estruturados [19].

SPRT é um teste estatístico com a finalidade de decidir sobre duas hipoteses:

𝐻0 → Hipótese sem falha;

𝐻1 → Hipótese com falha;

Onde o valor atual do teste de razão de verossimilhança é fornecido pela Eq 3.7:

𝐿𝑘 = 𝐿𝑘−1 + 𝑙𝑛𝑝0(𝑦0 𝑘|𝑦0 𝑘−1, ..., 𝑦0 𝑘−𝑑

𝑝1(𝑦1 𝑘|𝑦1 𝑘−1, ..., 𝑦1 𝑘−𝑑

(3.7)

E ao considerar uma distribuíção normal de média zero e mesma variância 𝜎2𝑝 a

proporção 𝑝0

𝑝1pode ser substituída por Eq. 3.8:

𝑦20 − 𝑦2

1𝜎2

𝑝

(3.8)

Page 30: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 3. ATLMS 29

Isso demonstra a utilidade do SPRT pois ele representa direções opostas em dife-rentes hipóteses, Eq. 3.9 e Eq. 3.10:

𝐸{𝑦20𝑘 − 𝑦2

1𝑘

2Φ2𝑝

|𝐻0} < 0 −→ 𝐿𝑘 < 0 (3.9)

𝐸{︂

𝑦20𝑘 − 𝑦2

1𝑘

2Φ2𝑝

|𝐻0

}︂> 0 −→ 𝐿𝑘 > 0 (3.10)

Que combinada com o algoritmo LMS, Eq. 3.11:

𝑊𝑘 = 𝑊𝑘−1 + 𝜇[−𝛿(𝑜𝑘 − 𝑒𝑘)2

𝛿𝑊]𝑊 =𝑊𝑘−1

(3.11)

Resultando em Eq.3.12 e Eq. 3.13:

𝑓𝑘 = Φ𝑇𝑘 𝑊𝑘 (3.12)

𝑊𝑘 = 𝑊𝑘−1 − 2𝜇(𝑜𝑘 − 𝑒𝑘)Φ𝑘 (3.13)

Essa técnica permite ser realizado um ajuste fino nos limiares por parâmetrosconhecidos previamente, independente do processo aplicado. Como mostrado na Tab. 2:

Tabela 2 – Parâmetros do ATLMS

Lista de parâmetros𝑒0 Safety offset𝑎 Rate

𝑠𝑖𝑔𝑚𝑎0 Desvio padrão da hipotese H0𝑚𝑢 Convergência do filtro𝑀 Número de atuadores𝑜𝑟𝑑 Ordem do filtro𝑇𝑠 Tempo de amostragem

Page 31: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 3. ATLMS 30

Quando o limiar adaptativo se localizar abaixo do 𝑦0, será emitida uma sinalizaçãode falha (Flag), fig 11

0 1 2 3 4 5 6 7 8 9 10-3

-2

-1

0

1

2

3

Insensitive Residual

ATLMS Response

0 1 2 3 4 5 6 7 8 9 10

Time (seconds)

0

0.2

0.4

0.6

0.8

1

ATLMS Flag Response

Figura 11 – Resposta de um Limiar Adaptativo

Page 32: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

31

4 Implementação do ATLMS

A primeira vez que o ATLMS foi aplicado no DLR, por Alexandre Leite em 2012;simulado em script do MATLAB conhecido como 𝑚− 𝑓𝑖𝑙𝑒.

4.1 ATLMS - Simulink BlocksetO blockset do Simulink para ATLMS, mostrado na Fig.12, é uma ferramenta que

possui recursos gráficos para fácil utilização do ATLMS (Lima,2015).

Figura 12 – Blockset do ATLMS (Lima,2015)

As alterações de parâmetros são realizadas por uma máscara, Fig.13 :

Figura 13 – Máscara toolbox (Lima,2015)

Page 33: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 32

O blockset foi atualizado neste trabalho ao eliminar um loop algébrico, como podeser visto na Fig. 14:

Figura 14 – Loop Algébrico

O loop algébrico era uma indicação que a implementação estava sendo realizadaatravés de um filtro FIR não causal, pois dependia da saída futura para determinar a atual.Esse é um problema que o matlab resolve através de algoritmos iterativos do simulink,porém ao ser implementado em um microcontrolador, apresentaria problemas.

Como parte deste trabalho o blockset foi atualizado para sua versão 2.0. Com aatualização dessa ferramenta pode ser detectado vantangens como:

1. Algoritmo teve seu tempo de processamento diminuído;

2. Implementações para tempo real podem ser comparadas com maior fidelidade.

Page 34: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 33

4.2 ATLMS - CSegundo (Kuo Lee,2001) a linguagem em C se tornou uma das linguagens mais

usadas nos Digital Signal Processors (DSPs), principalmente por ser mais fácil de migrarpara outras plataformas. O código do ATLMS em C deve ser portável para ser aplicadoem microcontroladores e em MATLAB via S-Function, Fig. 15:

Figura 15 – Funcionamento DSP (Kuo Lee,2001)

Page 35: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 34

Algoritmo 4.1 – StandaloneATLMS.c1 #inc lude <s t d i o . h>2 #inc lude <s t d l i b . h>3 #inc lude <math . h>4

5 double ∗controlSignal , ∗insensitiveResidue , ∗sensitiveResidue , ∗time ; //←˒Input s i g n a l s

6 double Ts , mu , e0 , s0 , a , endTime , samples , ∗phi , ∗applingUpdateFilter , ←˒distance , SPRT , adaptiveThreshold , ∗weights , updateFilter , f0 , dif ; //←˒ATLMS Parameters & Var iab l e s

7 void dataRequest ( void ) ;8 i n t ATLMS ( double insensitiveLocal , double sensitiveLocal , double ∗←˒

controlLocal ) ;9 void atlmsParameters ( void ) ;

10 void atlmsPreProcessing ( void ) ;11 i n t count , M , ord , flag , j=1;12

13

14

15 i n t main ( void ) {16 double ∗control ;17 atlmsParameters ( ) ; // Se t t i ng Parameters18 dataRequest ( ) ; // Request ing S i g n a l s19 control=(double ∗) malloc ( M∗ s i z e o f ( double ) ) ;20

21

22 // Prepar ing i n s e n s i t i v e r e s i d u a l s23 f o r ( count=0;count<samples ; count++){24

25 // Prepar ing c o n t r o l S i gna l26 f o r ( j=0;j<M ; j++)27 control [ j ]=controlSignal [ 2∗ count+j ] ;28

29 // Ca l l i ng ATLMS func t i on30 flag=ATLMS ( insensitiveResidue [ count ] , sensitiveResidue [ count ] , control )←˒

;31

32 // Flag Result from ATLMS33 printf ( "The f l a g response at %d i s %d\n" , count+1,flag ) ;34 }35

36

37 re turn (0 ) ;38 }39

40

41 void atlmsParameters ( ) {

Page 36: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 35

42 // Se t t i ng parameters43 ord=5;44 Ts =0.01;45 samples =1000;46 M=2;47 e0 =1050.27;48 a=−0.2373;49 s0 =0.2621;50 mu =0.0020;51

52

53 // Se t t i ng number o f weights and inputs54 applingUpdateFilter=(double ∗) malloc ( ord∗ s i z e o f ( double ) ) ;55 weights=(double ∗) malloc ( ord∗ s i z e o f ( double ) ) ;56 phi=(double ∗) malloc ( ord∗ s i z e o f ( double ) ) ;57

58 // Se t t i ng i n i t i a l c o n d i t i on s59 f o r ( j=0;j<ord ; j++) weights [ j ]=0;60 adaptiveThreshold=0;61 }62

63 i n t ATLMS ( double insensitiveLocal , double sensitiveLocal , double ∗←˒controlLocal ) {

64 i n t j , flagLocal=−5;65

66 // Ca l cu l a t ing inputs from Contro lS igna l67 f o r ( j=0;j<M ; j++)68 phi [ j ]=controlLocal [ j ] ;69

70 // Ca l cu l a t ing inputs from I n s e n s i t i v e R e s i d u e s71

72 f o r ( j=ord−2;j>=M ; j−−){73 i f ( j==M ) phi [ j ]=insensitiveLocal ;74 e l s e i f (j>=count+M )75 phi [ j ]=insensitiveLocal ;76 e l s e77 phi [ j ]=phi [ j−1] ;78 }79 // Ca l cu l a t ing inputs from StandartDeviat ion80 phi [ ord−1]=s0 ∗3 ;81

82 // Ca l cu l a t ing d i s tance , in s tantaneous SPRT and Update83 distance=e0−((a /( pow ( s0 , 2 ) ∗2∗Ts ) ) ∗( pow ( insensitiveLocal , 2 )−pow (←˒

sensitiveLocal , 2 ) ) ) ;84

85 SPRT=−sensitiveLocal−distance+adaptiveThreshold ;86 updateFilter=SPRT∗mu ∗2 ;

Page 37: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 36

87 adaptiveThreshold=0;88

89 // Ca l cu l a t ing f i l t e r updated , new thre sho ld and new weight va lue90 f o r ( j=0;j<ord ; j++){91 applingUpdateFilter [ j ]=phi [ j ] ∗ updateFilter ;92 adaptiveThreshold=phi [ j ] ∗ weights [ j ]+adaptiveThreshold ;93 weights [ j ]=weights [ j]−applingUpdateFilter [ j ] ;94 }95

96 // Test f o r the f l a g97 dif=adaptiveThreshold−insensitiveLocal ;98 i f ( dif>0)99 flagLocal=0;

100 e l s e101 flagLocal=1;102 // Return Flag103 re turn ( flagLocal ) ;104 }105 void dataRequest ( void ) {106 FILE ∗controlSignalFile , ∗insensitiveResidueFile , ∗←˒

sensitiveResidueFile , ∗timeFile ;107

108 //Openning input f i l e s109 controlSignalFile= fopen ( " c o n t r o l S i g n a l F i l e . dat " , " rb " ) ;110 insensitiveResidueFile=fopen ( " i n s e n s i t i v e R e s i d u e F i l e . dat " , " rb " ) ;111 sensitiveResidueFile=fopen ( " s e n s i t i v e R e s i d u e F i l e . dat " , " rb " ) ;112 // Se t t i ng number o f samples113 controlSignal= ( double ∗) malloc ( M∗samples∗ s i z e o f ( controlSignalFile ) ) ;114 insensitiveResidue=(double ∗) malloc ( samples∗ s i z e o f (←˒

insensitiveResidueFile ) ) ;115 sensitiveResidue=(double ∗) malloc ( samples∗ s i z e o f ( sensitiveResidueFile )←˒

) ;116 // Reading input S i g n a l s117 fread ( controlSignal , s i z e o f ( double ) , M∗samples , controlSignalFile ) ;118 fread ( insensitiveResidue , s i z e o f ( double ) , samples , insensitiveResidueFile←˒

) ;119 fread ( sensitiveResidue , s i z e o f ( double ) , samples , sensitiveResidueFile ) ;120 // Clos ing F i l e s121 fclose ( controlSignalFile ) ;122 fclose ( insensitiveResidueFile ) ;123 fclose ( sensitiveResidueFile ) ;124 }

Page 38: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 37

O código 𝑆𝑡𝑎𝑛𝑑𝑎𝑙𝑜𝑛𝑒𝐴𝑇𝐿𝑀𝑆.𝑐 foi executado standalone pelo programa Dev C++,foi feita uma simulação utilizando o sinal do exemplo feito por (Lima,2015) e comparandoos resultados com a 𝑏𝑙𝑜𝑐𝑘𝑠𝑒𝑡2.0, afim de verificar, obtém-se a Fig. 16:

0 100 200 300 400 500 600 700 800 900 1000

Samples

-1200

-1000

-800

-600

-400

-200

0

200

400

Am

plit

ud

e

ATLMS Response

Toolbox

C-code

Source

Figura 16 – Filtragem adaptativa (Lima,2015)

A resposta do ATLMS da Toolbox obteve o mesmo resultado do código em C.Mostrando assim a eficiencia e a capacidade do algoritmo de realizar o ATLMS.

4.3 ATLMS S-FunctionA S-Function é um recurso do Simulink que permite a execução de códigos em C

neste ambiente gráfico. Neste trabalho será implementado um código em C que representao ATLMS e será convertido para um MEX file para utilização no Simulink:

Algoritmo 4.2 – SfunctionCode.c1 #inc lude <math . h>2 #inc lude <add_lib . h>3 #inc lude "mex . h "4

5

Page 39: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 38

6 double adaptiveThreshold=0,weights [ 5 ] , phi [ 5 ] , count ;7

8

9 double add_2 ( double insensitiveResidue , double sensitiveResidue , double ←˒controlSignal , double controlSignal2 , double time )

10 {11 // Se t t i ng parameters12 i n t ord=5;13 double Ts =0.01;14 i n t i , j ;15 i n t M=2;16 double e0 =900.27;17 double a=−0.2373;18 double s0 =0.2621;19 double mu =0.0020;20 double applingUpdateFilter [ 5 ] , distance , flag , SPRT , updateFilter , dif ;21 i=time/Ts ;22

23 // Ca l cu l a t ing inputs from Contro lS igna l24 phi [1 ]= controlSignal ;25 phi [2 ]= controlSignal2 ;26

27 // Ca l cu l a t ing inputs from I n s e n s i t i v e R e s i d u e s28 f o r ( j=ord−1;j>M ; j−−){29 i f ( j==M+1) phi [ j ]=insensitiveResidue ;30 e l s e i f (j>=count+M )31 phi [ j ]=insensitiveResidue ;32 e l s e33 phi [ j ]=phi [ j−1] ;34 }35 // Ca l cu l a t ing inputs from StandartDeviat ion36 phi [ ord ]=3∗s0 ;37

38 // Ca l cu l a t ing d i s tance , in s tantaneous SPRT and Update39 distance=e0−((a /( pow ( s0 , 2 ) ∗2∗Ts ) ) ∗( pow ( insensitiveResidue , 2 )−pow (←˒

sensitiveResidue , 2 ) ) ) ;40 SPRT= −insensitiveResidue−distance+adaptiveThreshold ;41 updateFilter=SPRT∗mu ∗2 ;42 adaptiveThreshold=0;43

44 // Ca l cu l a t ing f i l t e r updated , new thre sho ld and new weight va lue45 f o r ( j=1;j<=ord ; j++){46 applingUpdateFilter [ j ]=phi [ j ] ∗ updateFilter ;47

48 i f (i>2){49 adaptiveThreshold=phi [ j ] ∗ weights [ j ]+adaptiveThreshold ;50 weights [ j ]=weights [ j]−applingUpdateFilter [ j ] ;

Page 40: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 39

51 }52 e l s e53 weights [ j]=−applingUpdateFilter [ j ] ;54 }55 // Test f o r the f l a g56 dif=adaptiveThreshold−insensitiveResidue ;57 i f ( dif>0)58 flag=0;59 e l s e60 flag=1;61 // Return Flag62 re turn ( flag ) ;63 }

O código acima é puramente em C e para o MATLAB realizar essa conexão entreeles foi usado uma função MEX. Ela serve como uma espécie de compilador, que irá tornara linguagem em C passível de ser lida pelo MATLAB. Este código pode ser integrado pormeio de legacy code:

Algoritmo 4.3 – legacyCode.m1 clear2 clc34 ATLMS=legacy_code('initialize')5 ATLMS.SFunctionName= 'ATLMS'6 ATLMS.SourceFiles={'main.c'}7 ATLMS.HeaderFiles={'add_lib.h'}8 ATLMS.OutputFcnSpec= 'double y1= add_2 (double u1, double u2, double u3,←˒

double u4, double u5)'9

10 legacy_code('sfcn_cmex_generate',ATLMS)11 legacy_code('compile',ATLMS)

Page 41: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 40

E como resultado será obtido um bloco no simulink que irá executar o código emC por trás de sua interface de bloco, Fig. 17:

Figura 17 – S-Function

A vantagem dessa abordagem em relação à toolbox é que agora pode-se rodar omesmo código embarcável. Para ser testada a efetividade desse código, o mesmo sinal queé mostrado no exemplo usado por (Lima,2015), que quando comparado com o resultadoda toolbox, teremos aFig. 18 :

Page 42: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 41

0 1 2 3 4 5 6 7 8 9 10

Samples

-1200

-1000

-800

-600

-400

-200

0

200

400A

mp

litu

de

ATLMS Response

Toolbox

S-Function

Source

Figura 18 – Comparação entre S-function e Toolbox

Como visto na Fig. 18, os algoritmos são compatíveis, independente da implemen-tação.

4.4 DesempenhoNormalmente a ROC se comporta como uma curva; entretanto, no caso de um

threshold adaptativo se torna um ponto, veja Fig. 19:

Page 43: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 42

Figura 19 – Diferença entre uma curva ROC usada para limiares fixos e adaptativos(Leite,2012)

4.4.1 Sinal falhado

O sinal usado foi um ruído Gaussiano, pois é comumente utilizado em projetosde engenharia como um sinal aleatório plausível e frequente em diversas aplicações, esteserve para analisar os problemas que podem ser causados pelo ruído, 20.

0 1 2 3 4 5 6 7 8 9 10

Time (seconds)

-10

-8

-6

-4

-2

0

2

4

6

8

10

Am

plit

ud

e

Faulty Signal:

Figura 20 – Sinal falhado

Page 44: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 43

4.4.2 Teste de eficiência

4.4.2.1 Limiar Fixo

Primeiro, a simulação foi feita usando uma técnica de limiar fixo. Esse sinal passoupor 1000 simulações, cada simulação usando um limiar diferente. De uma simulação paraa outra o limiar teve sua amplitude variada em 0.02. Assim, todo o sinal foi processado eusado para calcular o FPR e TPR. O resultado pode ser mostrado na fig:

0 0.2 0.4 0.6 0.8 1

False Positive Rate

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Tru

e P

os

itiv

e R

ate

ROC Analysis

Figura 21 – Resposta ROC de um Limiar Fixo

Na Fig. 21 é demonstrado que independente do ponto o threshold nunca alcan-çará o par ordenado (0,1). Esse ponto significaria nenhum alarme falso e todos falhasforam detectadas corretamente. Isso não ocorre porque há pontos de intersecção entre asdistribuição do sinal falhado e do sinal normal e esse método não é capaz de detectar atendência do sinal, somente o valor bruto. Isso ocorre porque é impossível um limitar ficotratar diferente pontos em intersecção.

4.4.2.2 ATLMS-Toolbox

O resultado quando usado o limiar fixo não é aceitável. Para demonstrar a eficiênciado ATLMS foram simuladas 5𝑚𝑖𝑙ℎõ𝑒𝑠 de simulações. Cada simulação usava um sinalfalhado diferente, porém com média zero e desvio padrão um. As simulações iniciais

Page 45: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 4. Implementação do ATLMS 44

foram feitas na toolbox do ATLMS, com cada ponto da ROC expressando uma simulaçãodiferente Fig.22

Figura 22 – Resposta ROC do ATLMS

Na Fig. 23, podemos ver um zoom na região de interesse:

Figura 23 – Resposta ROC do ATLMS com zoom

Page 46: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

45

5 Estudo de Caso

5.1 Modelagem da falhaPara garantir a eficiência do método de detecção, falhas diferentes foram aplicadas

ao sistema e a resultados residuais aplicados ao ATLMS.

5.1.1 Falha 1: Rotação do motor próxima de zero

Essa falha acontece na roda. Isso significa que independente do sinal de entrada,a roda não irá responder e a velocidade angular irá se aproximar de zero. Nessa falha, asvariáveis usadas para sua modelagem estão dispostas na Tab. 3:

Tabela 3 – Variáveis da Falha 1

Lista de Variáveis𝑇 (𝑠) Torque fornecido pelo motor𝑈𝑒(𝑠) Referência de torque

𝐾 Ganho 𝐾 = 7.510−3

Ω Velocidade angular𝑡𝑓1 Tempo de ocorrência da falha𝑑𝑓1 Duração da falha

Portanto, o modelo matemático da falha 1 é apresentado na Eq. 5.1:

𝑇 (𝑠) = 𝐾

⎡⎣𝑈𝑒(𝑠)1− 𝑒−𝑡𝑓1𝑠 + 𝑒−(𝑡𝑓1+𝑑𝑓1)𝑠

𝑠

⎤⎦ (5.1)

Quando a falha ocorre, o sistema não responde a qualquer variação na tensão de entrada,resultando em um torque nulo Eq 5.1.

5.1.2 Falha 2: Último Valor de Memória

Considerando o degrau deslocado:

1(𝑡− 𝑎) =

⎧⎪⎨⎪⎩0, 𝑖𝑓 𝑡 < 𝑎

1, 𝑖𝑓 𝑡 ≥ 𝑎(5.2)

Page 47: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 5. Estudo de Caso 46

Essa falha, mantém o valor de saída fixo quando 𝑡 = 𝑡𝑓2. Esse valor é modeladopela amplitude do degrau aplicado no tempo 𝑡𝑓2.∫︁ ∞

−∞𝑓(𝑡)𝛿(𝑡− 𝑎)𝑑𝑡 = 𝑓(𝑎) (5.3)

Com variáveis apresentadas na Tab. 4

Tabela 4 – Variáveis da Falha 2

Lista de variáveis𝑌 (𝑡) Sensor de saída

𝑌𝐹 2(𝑡) Saída do sensor falhado𝑌0(𝑡) Entrada física real𝑌𝑧 Velocidade angular𝑡𝑓2 Quando a falha ocorre𝑑𝑓2 Duração da falha

Nesse caso, 𝑑𝑓2 → ∞ desde que a falha permaneça até o fim da simulação apósocorrer no 𝑡𝑓2, (Leite, 2007). Portanto o modelo da falha é descrito por 5.4

𝑌𝑓2(𝑡, 𝑡𝑓2) = 𝜃𝑌0(𝑡)− 𝑌𝑧(𝑡) + 𝑌𝑠𝑒(𝑡) (5.4)

5.1.3 Falha 3: Valor máximo de Rotação do motor excedido

A velocidade máxima permitida pelo manual do equipamento é 8000𝑅𝑃𝑀 , e osistema tem uma proteção interna para evitar essa situação (FBK, 2001). Entretando,quando essa falha ocorre, o motor produz um torque resultante que excede os valorespermitidos. A causa principal para esse comportamente pode ser algum problema nocircuito de controle, com variáveis a serem utilizadas em seu modelo encontradas em Tab.5:

Tabela 5 – Variáveis da Falha 3

Lista de Variáveis𝑇 (𝑠) Torque Fornecido pelo Motor (𝑁𝑚)𝐼𝑧 Momento da inércia da roda

𝑈𝑒(𝑠) Referência do torque𝑓3 Velocidade Angular𝐾 Ganho = 7.510−3

Ω(𝑠) Velocidade angular da roda𝑡𝑓3 Tempo quando a falha ocorre𝑑𝑓3 Duração da falha

Page 48: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 5. Estudo de Caso 47

Quando a falha ocorre em 𝑡𝑓1, o circuito de comando irá saturar a referência (𝑉 )e isso continuará enquanto a falha continuar Eq.5.5:

𝑇 (𝑠) =𝐾

⎡⎣𝑈𝑒(𝑠)1− 𝑒−𝑡𝑓3𝑠 + 𝑒−(𝑡𝑓3+𝑑𝑓3)

𝑠

+ 𝑒−𝑡𝑓3𝑠 − 𝑒−(𝑡𝑓3+𝑑𝑓3)𝑠

𝑠𝑓3

⎤⎦ (5.5)

Com velocidade angular Eq. 5.6:

Ω(𝑠) = 𝑇 (𝑠) 1𝐼𝑧

1𝑠

(5.6)

5.2 Resultados e Discussão

5.2.1 Resíduos estruturados do Motor DC

A função de transferência do motor DC pode ser dividida em duas funções inter-mediárias, como mostrado em 5.7 e 5.8. A Eq. 5.7 relaciona a corrente da armadura domotor e sua voltagem de entrada, enquanto a Eq. 5.7 relaciona a velocidade angular coma corrente da armadura.

𝐼𝑎(𝑠)𝑈𝐴(𝑠) = 𝑠

𝑇𝑠 + 1 (5.7)

Ω(𝑠)𝐼𝑎(𝑠) = 𝑘

𝑠(5.8)

Portanto, a corrente de armadura e tensão do motor DC são definidas nas Eq. 5.9e 5.10:

𝐼𝑎(𝑠) = 1𝑘𝑇

[︁𝑘𝑈𝑎(𝑠)− Ω𝑎(𝑠)

]︁(5.9)

𝑈𝑎(𝑠) = 𝑇𝐼𝑎(𝑠) + 𝐼𝑎(𝑠)𝑠

(5.10)

Reescrevendo as equações 5.9 e 5.10 em forma matricial, conclui-se Eq 5.11:

⎡⎣00

⎤⎦ =⎡⎣−1

1𝑇

⎤⎦ 𝑈𝑎(𝑠) +⎡⎣𝑇 + 1

𝑠

−1

⎤⎦ 𝐼𝑎(𝑠) +⎡⎣ 0− 1

𝑘𝑇

⎤⎦ Ω𝑎(𝑠) (5.11)

Page 49: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 5. Estudo de Caso 48

Para ser realizado o desacoplamento das variáveis 𝑈𝑎(𝑠), 𝐼𝑎(𝑠), and Ω(𝑠), os resí-duos são calculados a seguir:

𝑟(𝑠) = 𝑊 (𝑠)⎡⎣ 0 𝑇 + 1

𝑠−1𝑘𝑇

−1

⎤⎦ ⎡⎣Ω𝑎(𝑠)𝐼𝑎(𝑠)

⎤⎦ +⎡⎣−1

1𝑇

⎤⎦ 𝑈𝑎(𝑠) (5.12)

onde

𝑊 𝑇1 (𝑠) =

⎡⎣−11𝑇

⎤⎦ = 0⇒ 𝑊 𝑇1 (𝑠) =

[︁1𝑇

1]︁

(5.13)

𝑊 𝑇2 (𝑠) =

⎡⎣𝑇 + 1𝑠

−1

⎤⎦ = 0⇒ 𝑊 𝑇2 (𝑠) =

[︁1 𝑇 + 1

𝑠

]︁(5.14)

𝑊 𝑇3 (𝑠) =

⎡⎣ 0−1𝑘𝑇

⎤⎦ = 0⇒ 𝑊 𝑇3 (𝑠) =

[︁1 0

]︁(5.15)

Finalmente aplicando a Eq. 2.5

⎡⎢⎢⎢⎣𝑟*

1

𝑟*2

𝑟*3

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎣1𝑇

11 𝑇 + 1

𝑠

1 0

⎤⎥⎥⎥⎦⎡⎣−𝑈𝑎(𝑠) + 𝑇𝐼𝑎(𝑠) + 𝐼𝑎(𝑠)

𝑠1𝑇

𝑈𝑎(𝑠)− 𝐼𝑎(𝑠)− Ω(𝑠)𝑘𝑇

⎤⎦ (5.16)

Portanto,𝑟*

1 = 𝐼𝑎(𝑠)𝑇𝑠− Ω(𝑠)

𝑘𝑇(5.17)

𝑟*2 = (−𝑇𝑠− 1)Ω(𝑠)

𝑘𝑇𝑠+ 𝑘𝑈𝑎(𝑠)

𝑘𝑇𝑠(5.18)

𝑟*3 = −𝑈𝑎(𝑠) + (𝑇𝑠 + 1)𝐼𝑎(𝑠)

𝑠(5.19)

Page 50: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 5. Estudo de Caso 49

5.2.2 Simulação Falha 1: Rotação próxima de 0 RPM

Situação 1 representa uma falha no motor. Quando essa falha ocorre, a velocidadedo motor diminui gradualmente até chegar a zero Fig. 24:

0 2 4 6 8 10

Time (seconds)

-3000

-2500

-2000

-1500

-1000

-500

0

RP

M

Fault 1: Zero DC Motor Rotation

faulty

normal

Figura 24 – Comportamento da Falha 1

No tempo 𝑡 = 3𝑠, a falha acontece e a roda ignora qualquer sinal de controleoriundo do circuito de controle. Para analisar essa falha, resíduos sensiveis e resíduosinsensíveis foram gerados. Figura 25 mostra os resíduos um e dois em conjunto com aresposta do ATLMS. O resíduo 3 é insensível à falha aplicada, enquanto o resíduo 1 e 3são sensiveis.

0 5 10-50

0

50

100

Am

plitu

de

Residual 1

0 5 10-100

-50

0Residual 2

0 5 10

Time (seconds)

-2

-1

0

1

Am

plitu

de

10-14 Residual 3

0 5 10

Time (seconds)

-5

0

5105ATLMS Response

Figura 25 – Resíduos Estruturados da Falha 1

O ATLMS produz através de um filtro FIR um limiar adaptativo que será deter-minado pelo comportamento dos sinais de entrada. A Fig. 26 mostra a detecção da falha(flag=1). Em relação à falha 1, o ATLMS detectou um desvio do comportamento normal edisparou o flag no tempo de 3.01 segundos, resultando em apenas 0.01 segundos de atrasodesde a ocorrência da falha.

Page 51: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 5. Estudo de Caso 50

0 2 4 6 8 10

-4

-2

0

2

Am

plitu

de

105 ATLMS Response

Insensitive Residual

ATLMS

0 2 4 6 8 10

Time (seconds)

0

0.5

1

Am

plitu

de

Flag Response

Figura 26 – Flag do ATLMS para Falha 1

5.2.3 Simulação falha 2: Último valor

Como descrito pela Fig. 27, o motor recebe um sinal de entrada do circuito decontrole, mas permanece em estado falhado, mostrando sempre o último valor de RPMantes da ocorrência da falha.

Figura 27 – Comportamento da Falha 2

A Fig. 28, mostra que os resíduos 2 e 3 são sensíveis à falha, enquanto o 1 éinsensível.

Page 52: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 5. Estudo de Caso 51

0 5 10-5

0

5

Am

plitu

de

10-13 Residual 1

0 5 10-100

-50

0Residual 2

0 5 10

Time (seconds)

-50

0

50

Am

pli

tud

e

Residual 3

0 5 10

Time (seconds)

-10000

-5000

0

5000ATLMS Response

Figura 28 – Resíduos Estruturados da Falha 2

Como pode ser visto na Fig. 29, a falha é registrada no tempo 0.21 segundos, sendodetectada novamente somente a 0.01 segundos depois de sua ocorrência.

0 1 2 3 4 5 6 7 8 9 10

-4

-2

0

2

Am

pli

tud

e

104 ATLMS Response

Insensitive Residual

ATLMS

0 1 2 3 4 5 6 7 8 9 10

Time (seconds)

0

0.5

1

1.5

Am

pli

tud

e

Flag Response

Figura 29 – Flag do ATLMS para Falha 2

5.2.4 Simulacão falha 3: Valor máximo excedido

A falha 3 pode ser descrita por um mal funcionamento no circuito de controle queresulta em um erro na voltagem. O motor não pode exceder a rotação de 8000𝑅𝑃𝑀 comoespecíficado por (FBK,2001). O comportamento da falha pode ser visto em Fig. 30 :

Page 53: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 5. Estudo de Caso 52

0 2 4 6 8 10 Time (seconds)

0

2000

4000

6000

8000

10000

12000

RP

M

Fault 3: Exceeding Maximum RPM Value

Faulty

Normal

Figura 30 – Comportamento da Falha 3

Durante a ocorrência da falha, a tensão de entrada varia de 8𝑉 para 30𝑉 , causandoum impacto crítico na velocidade do motor. A falha 3 produz uma variação significantevariação nos resíduos como pode ser visto em Fig. 31:

0 5 10-200

-100

0

100

Am

pli

tud

e

Residual 1

0 5 100

100

200Residual 2

0 5 10

Time (seconds)

-1

0

1

2

Am

plitu

de

10-14 Residual 3

0 5 10

Time (seconds)

-4

-2

0

2107 ATLMS Response

Figura 31 – Resíduos Estruturados da Falha 3

Page 54: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

Capítulo 5. Estudo de Caso 53

Os resíduos 1 e 2 são sensíveis enquanto o resíduo 3 é insensivel para a falhaaplicada. A falha 3 foi injetada no tempo 𝑡 = 4𝑠 e o ATLMS a acionou um flag no tempode 4.3𝑠, resultando em 0.3𝑠 de atraso desde a ocorrência da falha, como é representadana Fig. 32.

0 2 4 6 8 10-4

-2

0

2

Am

plitu

de

107 ATLMS Response

Insensitive Residual

ATLMS

0 2 4 6 8 10

Time (seconds)

0

0.5

1

Am

plitu

de

Flag Response

Figura 32 – Flag do ATLMS para Falha 3

Page 55: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

54

6 Conclusão e Trabalhos Futuros

6.1 ConclusãoO ATLMS se provou uma ferramente muito eficaz e robusta para realizar a detecção

de falhas. As falhas foram capazes de ser detectadas com um alto indice de TPR e umbaixo índice de FPR, tanto no caso do motor DC quando no caso de geração de sinaisaleatórios para exemplo. O algoritmo desensolvido para a implementação do ATLMSem um microprocessador foi capazes de reproduzir o comportamento do seu modelo desimulação disponível no blockset ATLMS 2.0.

6.2 Trabalhos FuturosPara trabalhos futuros, sugiro a aplicação em um microprocessador ou DSP. Pois

o código em C foi desenvolvido e testado de forma incipiente, o próximo passo é aplicá-loa um hardware programável.

Page 56: Implementaçãodeumlimiaradaptativopara detecçãodefalhas ...bd.centro.iff.edu.br/bitstream/123456789/2131/1/Texto.pdf · caso sobre um motor DC ... Um sistema de detecção de falhas

55

Referências

[1] R. Chassaing. DSP Applications Using C and the TMS320C6x. 2002.

[2] A. C. da Silva Braga. Curvas ROC: Aspectos Funcionais e Aplicações. 2000.

[3] FBK. Analogue Servo - Fundamentals Trainer. 2001.

[4] E. Frisk. Model-based fault diagnosis applied to an SI-Engine. 1996.

[5] E. Frisk. Residual Generation for Fault Diagnosis. 2001.

[6] J. Gertler. Fault Detection and Diagnosis in Engineering Systems. 2015.

[7] https://tc.ifac-control.org/6/4/terminology/terminology-in-the-area-of-fault mana-gement. Terminology in the Area of Fault Management. 18-08-2018.

[8] R. Isermann. Model-based fault-detection and diagnosis – status and applications.2005.

[9] R. Isermann. Fault-Diagnosis Systems. Springer-Verlag., 1st edition, 2006.

[10] A. C. Leite. Detecção e diagnóstico de falhas em sensores e atuadores da plataformamultimissão. 2007.

[11] A. C. Leite. Fault Detection, Diagnosis and Reconfiguration for Optimized Design ofSafe Space Vehicles Applied to the PMM and Planetary Rovers. 2012.

[12] R. B. L.H. Chiang, E.L. Russell. Fault Detection and Diagnosis in Industrial Systems.2001.

[13] A. D. L. Lima. Toolbox ATLMS. Não publicado, 2015.

[14] A. D. L. Lima. Observador adaptativo de tração em rovers planetários. 2017.

[15] M. Nyberg. Model Based Fault Diagnosis Methods, Theory, and Automotive EngineApplications. 1999.

[16] R. H. Richard C. Dorf, Bishop. Modern Control Systems. Addison-Wesley, 8thedition, 1998.

[17] B. H. L. Sen M Kuo. Real-Time Digital Signal Processing. 2001.