Sistema de Inspeção Visual Automática de Resistores de Montagem em Superfície Anderson Castellar Departamento de Engenharia Elétrica EESC - Escola de Engenharia de São Carlos USP - Universidade de São Paulo [email protected] Evandro L. L. Rodrigues Departamento de Engenharia Elétrica EESC - Escola de Engenharia de São Carlos USP - Universidade de São Paulo [email protected] Resumo Este trabalho apresenta um sistema de baixo custo de inspeção de valores de resistores de montagem em superfície em placas de circuito impresso, utilizando uma rede neural artificial do tipo LVQ (Learnig Vector Quantization) com 7000 entradas binárias. O sistema tem como objetivo principal verificar se o valor do resistor inserido na posição cartesiana X,Y em uma nova placa de circuito impresso é igual ao valor do resistor (na mesma posição cartesiana) apresentado por uma placa padrão durante a fase de treinamento do sistema. A implementação do sistema mostrou o elevado tempo de treinamento da rede neural artificial e a viabilidade do sistema para a inspeção de resistores de montagem em superfície. 1. Introdução O avanço dos equipamentos eletrônicos nos dias atuais é notável. Com a miniaturização e com o aumento das funcionalidades dos equipamentos eletrônicos como câmeras digitais, notebooks, telefones celulares, etc., houve uma demanda maior por tecnologia de montagem e verificação de componentes e placas de circuito impresso presentes nestes equipamentos. Figura 1. Defeitos versus peças para diferentes operadores A produtividade é um item crítico na montagem e verificação de componentes de montagem em superfície nos dias atuais [4]. Como podemos verificar na Figura 2, os defeitos provenientes de erros de montagem manual representam aproximadamente 13% de todos os erros encontrados em uma linha tradicional de montagem de componentes em superfície [2]. Vários autores sugerem a utilização de sistemas de inspeção visual automática, conhecidos como AOI (Automated Optical Inspection), em linhas de montagem de componentes em superfície [1]. Componentes não funcionais Solda com pontes Materiais defeituosos Tradicionalmente, as placas de circuito impresso juntamente com os componentes eletrônicos passam por um operador humano responsável pela inspeção visual, cujo diagnóstico é lento e cujo desempenho não pode ser garantido [1]. A aprovação ou não através da inspeção visual varia de operador para operador, tendo como principais diferenças a velocidade de inspeção, a fadiga do operador e o julgamento. A Figura 1 apresenta um gráfico de defeitos versus número de peças para diferentes operadores realizando inspeção visual [2]. Erros de montagem manual Solda aberta Relacionados a solda por onda Posição de componente errado Componente errado Sem componentes Sem solda Solda insuficiente Pinos levantados Figura 2. Defeitos na produção de placas eletrônicas Tais sistemas realizam a verificação de inúmeros defeitos através do processamento das imagens obtidas de placas na linha de montagem. Estes sistemas de inspeção podem ser utilizados antes do processo de soldagem, após o processo de soldagem e fora da linha de montagem (off-line). A Figura 3 apresenta um gráfico de comparação entre a utilização off-line e online de um sistema AOI [2]. Taxa de falhas Aquisição Implementação AOI off-line Pré processamento Implementação AOI on-line Teste de defeitos Falta de componentes Processamento (Binarização) Semanas Figura 3. Taxa de defeitos versus semanas Podemos verificar que houve um decremento na taxa de defeitos após a introdução de um sistema AOI off-line e um decremento ainda maior quando o sistema AOI foi introduzido on-line. Devido à alta complexidade dos sistemas AOI, seu custo é muito elevado, sendo proibitivo seu uso em micro e pequenas empresas de montagem de componentes em superfície. A proposta deste trabalho é implementar um sistema de inspeção visual automática de baixo custo, para verificação do valor de resistores de montagem em superfície em placas de circuito impresso. Esta verificação será realizada pelo processamento das imagens capturadas dos resistores e por uma rede neural artificial do tipo LVQ (Learnig Vector Quantization) [3]. 2. Materiais e métodos A Figura 4 apresenta a configuração básica do sistema proposto. Iluminação Câmera Placa de Circuito Impresso Figura 4. Configuração do sistema As operações realizadas pelo sistema são apresentadas em forma de fluxograma na Figura 5. Como o principal objetivo do sistema proposto é baixo custo, a aquisição das imagens para processamento foi realizada por uma WebCam USB modelo Video CAM EYE da empresa Genius, com resolução de 640x480 pixels (VGA) no formato de cor RGB. Classificação Figura 5. Operações do sistema O pré-processamento é realizado para a padronização do tamanho da imagem. As imagens de entrada tanto para treinamento e classificação possuem um tamanho fixo de 100x70 pixels. A Figura 6 apresenta algumas imagens utilizadas após o préprocessamento 1 2 4 3 5 1- Resistor SMD 0805 10 ohms 2- Resistor SMD 0805 10K ohms 3- Resistor SMD 0805 33 ohms 4- Resistor SMD 0805 82K ohms 5- Resistor SMD 0805 330 ohms Figura 6. Imagens capturadas após pré-processamento Após o pré-processamento, a imagem é binarizada com um valor de threshold otimizado para cada imagem, obtido pelo MatLab®. A Figura 7 apresenta algumas imagens binarizadas utilizadas para treinamento. 1 2 4 placas para inspeção. Após a colocação das placas para inspeção, o sistema realiza a aquisição das imagens dos resistores escolhidos, pré-processa estas imagens para remoção de partes não úteis para classificação e treinamento, binariza as imagens, e as apresenta na entrada da rede LVQ para classificação. 3 5 1- Resistor SMD 0805 10 ohms 2- Resistor SMD 0805 10K ohms 3- Resistor SMD 0805 33 ohms 4- Resistor SMD 0805 82K ohms 5- Resistor SMD 0805 330 ohms Figura 7. Imagens binarizadas Após a binarização, a imagem é apresentada na entrada de uma rede neural artificial do tipo LVQ com 7000 entradas (7000 neurônios). Esta rede neural foi escolhida por possuir um treinamento supervisionado e por ser amplamente utilizada na classificação de padrões [3]. Ao todo foram utilizadas 15 imagens (3 imagens para cada valor de resistor para 5 classes) para treinamento. Todo o processamento e classificação foram realizados em um computador Intel Centrino DualCore, com 1Gbyte de memória RAM e 100Gbytes de disco rígido, em ambiente MatLab®. 3. Discussão Após a implementação de todo o hardware para a aquisição de imagens e a implementação da rede neural artificial LVQ em MatLab®, foi realizado um treinamento da rede neural com 15 imagens diferentes pertencentes a 5 classes de resistores (Resistor 10ohms, 10Kohms, 33ohms, 82Kohms e 330ohms). O tempo total de treinamento da rede neural foi de 253,1720 segundos. Com a finalização do treinamento, foram apresentadas 10 imagens de resistores provenientes de outras placas com valores iguais aos da classificação. A Figura 9 apresenta algumas das imagens utilizadas para classificação. 1 2 3 O fluxograma do sistema completo é apresentado na Figura 8 e descrito abaixo. 4 Placa de referência Pré processamento Placas para inspeção Escolha dos resistores a serem inspecionados Processamento (Binarização) Aquisição das imagens Atribuição de Classe para cada imagem Criar conjunto de treinamento com as imagens obtidas Pré processamento Aquisição das imagens Treinar rede LVQ Processamento (Binarização) Classificação Figura 8. Fluxograma geral Primeiramente o usuário deve fornecer uma placa de referência para a escolha dos resistores que serão inspecionados e para a atribuição das classes (valores dos resistores). Após a seleção dos resistores pelo usuário, o sistema realiza a aquisição das imagens dos resistores escolhidos, pré-processa estas imagens para remoção de partes não úteis para classificação e treinamento, binariza as imagens, cria um conjunto de imagens de treinamento e inicia o treinamento da rede LVQ. Após o treinamento da rede, o usuário fornece as 5 1- Resistor SMD 0805 10 ohms 2- Resistor SMD 0805 10K ohms 3- Resistor SMD 0805 33 ohms 4- Resistor SMD 0805 82K ohms 5- Resistor SMD 0805 330 ohms Figura 9. Imagens para classificação A Tabela 1 apresenta as classificações reais, as classificações obtidas e o tempo de classificação com a rede neural treinada das 10 imagens de entrada. Imagem 100-1 103-1 330-1 823-1 331-1 100-2 103-2 330-2 823-2 331-2 Tabela 1. Resultados obtidos Classificação Classificação Real Obtida 1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5 Tempo (s) 0.0780 0.1100 0.1100 0.1100 0.1090 0.0780 0.1090 0.1250 0.1250 0.1090 4. Conclusões Verificamos que é viável a utilização de redes neurais do tipo LVQ na verificação de imagens obtidas de resistores de montagem em superfície com a finalidade de classificação. As imagens utilizadas passaram por um pré-processamento simples, visando um aumento de velocidade do sistema como um todo. Neste trabalho foi observado o elevado tempo de treinamento da rede neural artificial, devido principalmente ao seu elevado número de entradas (7000 entradas). Como o número de resistores a serem verificados poderá ser muito grande, o tempo de treinamento pode se tornar inviável. Este fato justifica, em uma aplicação futura, a implementação da rede neural artificial utilizada em hardware reconfigurável, com objetivo principal de diminuir o tempo de treinamento da rede e consequentemente, o tempo de classificação após treinamento. A implementação deste sistema se mostrou válida, pois foi capaz de realizar corretamente a verificação dos resistores apresentados. 5. Referências Bibliográficas [1] A. N. BELBACHIR, An Automatic Optical Inspection System for the Diagnosis of Printed Circuits Based on Neural Networks. IAS-IEEE, 2005. [2] M. R. G. RÚBIO, Tecnologia de encapsulamentos. Fatec, 2004. [3] S. HAYKIN, Neural Networks. Prentice Hall, 1999. [4] R. STRAUSS, SMT Soldering Handbook. Newnes, Inglaterra, 1998.