SlideShare une entreprise Scribd logo
1  sur  120
Télécharger pour lire hors ligne
UNIVERSIDADE FEDERAL DO ABC
Wilson Silva Sousa
OPERAÇÃO REMOTA DE MESA MÓVEL UTILIZANDO VISÃO
COMPUTACIONAL
Trabalho de Graduação de Engenharia de Instrumentação,
Automação e Robótica
Aluno: Wilson Silva Sousa
Prof° Orientadora: Dra. Elvira Rafikova
- Santo André, 2015 -
Wilson Silva Sousa
OPERAÇÃO REMOTA DE MESA MÓVEL UTILIZANDO VISÃO
COMPUTACIONAL
Trabalho de Graduação apresentado a
Universidade Federal do ABC, como
requisito parcial para obtenção do diploma
no curso de graduação em Engenharia de
Instrumentação, Automação e Robótica.
Orientadora: Profª Dra. Elvira Rafikova
- Santo André, 2015 -
AGRADECIMENTOS
A Deus, pela oportunidade de viver, pensar, realizar e amar.
À minha família, por todo o apoio durante esta jornada.
Aos amigos e familiares, que com boa vontade me auxiliaram neste trabalho.
À minha orientadora, por ter acreditado neste projeto.
E a todos aqueles que, durante esses anos, acompanharam de perto esta
caminhada, oferecendo seu apoio e muitas vezes sua compreensão.
OPERAÇÃO REMOTA DE MESA MÓVEL UTILIZANDO VISÃO
COMPUTACIONAL
Wilson Silva Sousa
Março / 2015
Orientadora: Profª Dra. Elvira Rafikova
RESUMO
Por questões de segurança e ergonomia, seja na indústria ou em outras áreas,
por diversas vezes se torna necessário operar mecanismos remotos, situados em
ambientes perigosos, inacessíveis ou distantes. Nestes casos o operador atuante
geralmente utiliza equipamentos portáteis dotados de botões, joystick’s, interfaces
gráficas ou outros meios que possibilitem controlar movimentos. Visando propor uma
forma alternativa de controle remoto de sistemas de movimentação, é desenvolvido
neste trabalho um sistema de visão computacional que permita a um operador
manusear uma mesa móvel bidirecional, por meio da movimentação de um objeto em
frente a uma câmera. No sistema proposto, as imagens do objeto de referência são
captadas por uma webcam e analisadas por um software que determina as
coordenadas deste objeto, via técnicas de visão computacional. As coordenadas
obtidas são enviadas para o circuito eletrônico de controle, que aciona os atuadores
da mesa, posicionando-a nas coordenadas correspondentes. Através dos projetos
mecânico e eletrônico, e também o desenvolvimento dos softwares de visão e de
controle de movimentação, pode-se implementar um sistema onde a mesa se desloca
junto com o objeto, de acordo com as coordenadas exibidas na interface gráfica.
Palavras-chave: Operação remota. Visão Computacional. Automação.
REMOTE OPERATION OF SLIDING TABLE USING COMPUTER
VISION
Wilson Silva Sousa
March / 2015
Advisor: Profª Dra. Elvira Rafikova
ABSTRACT
For reasons of safety and ergonomics, whether in industry or in other areas,
many times it is necessary to operate remote mechanisms, situated in dangerous
environments, distant or inaccessible. In these cases the acting operator generally
uses portable equipment fitted with buttons, joystick's, graphical user interfaces or
other means which allow to control movements. In order to propose an alternative way
of remote control of drive systems, is developed in this work a computer vision system
that allows an operator to handle a bidirectional mobile table, through the movement
of an object in front of a camera. In the proposed system, the reference object images
are captured by a webcam and analyzed by a software that determines the coordinates
of this object, via computer vision techniques. The coordinates obtained are sent to the
control electronic circuit, which triggers the table actuators, positioning it in the
corresponding coordinates. Through mechanical and electronic projects, and also the
development of the software of vision and movement control, can be implemented a
system where the table moves along with the object, according to the coordinates
displayed in the graphical interface.
Keywords: Remote operation. Computer Vision. Automation.
LISTA DE FIGURAS
Figura 1. Arquitetura de um sistema de operação remota.................................2
Figura 2.(a) Robô industrial FANUC guiado por visão computacional. (b)
Detecção da posição de garrafas para posterior manipulação..........................5
Figura 3. (a) Reconhecimento da íris do olho humano. (b) Reconhecimento da
impressão digital.................................................................................................5
Figura 4. Detecção de lesões no cérebro humano............................................6
Figura 5. Arquitetura de um sistema de visão computacional. ..........................7
Figura 6. Imagem monocromática....................................................................10
Figura 7. Formação de uma imagem colorida. ................................................11
Figura 8. Sensor de imagem CCD ...................................................................11
Figura 9. Princípio de operação dos dispositivos CCD....................................12
Figura 10. Transmissão de um quadro de imagem em dispositivo CCD. .......13
Figura 11. Filtro de Bayer.................................................................................14
Figura 12. Espectro eletromagnético. ..............................................................15
Figura 13. Sensibilidade do olho humano em relação ao comprimento de onda
da radiação eletromagnética incidente. ...........................................................16
Figura 14. Cores primárias e secundárias em combinação aditiva.................17
Figura 15. Representação gráfica do modelo RGB.........................................19
Figura 16. Representação gráfica do modelo HSV. ........................................19
Figura 17. Vizinhança 3x3 definida ao redor de um pixel de coordenadas (x,y).
..........................................................................................................................22
Figura 18. Filtro linear com resposta ao impulso h(x,y)...................................23
Figura 19. Matriz representando a imagem à ser filtrada (à esquerda). Máscara
de convolução (à direita) ..................................................................................24
Figura 20. Determinação de um ponto na imagem filtrada através da operação
de convolução. .................................................................................................24
Figura 21. Matriz representando a imagem filtrada. ........................................25
Figura 22. Máscara 7x7 do filtro gaussiano para σ=1......................................26
Figura 23. Mesa X-Y industrial para posicionamento ......................................28
Figura 24. Sistema de posicionamento X-Y em detalhe..................................29
Figura 25. Diagrama simplificado de um microcontrolador..............................31
Figura 26. Pinagem do microcontrolador 18F4550..........................................34
Figura 27. Pinagem do microcontrolador 18F4550..........................................34
Figura 28. Sinal elétrico padrão RS-232..........................................................37
Figura 29. Conector DB9 fêmea.......................................................................38
Figura 30: Conector USB, designação dos pinos e cores dos fios
correspondentes...............................................................................................40
Figura 31. Conector DB9 fêmea.......................................................................40
Figura 32. Sinal codificado em NRZI................................................................41
Figura 33. Motores de passo............................................................................44
Figura 34: Funcionamento simplificado de um motor de passo. .....................45
Figura 35. Motor de passo de relutância variável. ...........................................46
Figura 36. Motor de passo de relutância variável. ...........................................46
Figura 37. Motor de passo Híbrido...................................................................47
Figura 38. Motor de passo Híbrido...................................................................48
Figura 39. Tipos de ligações. À esquerda um motor bipolar de 2 fases e 4 fios.
À direita um motor unipolar de 2 fases e 6 fios................................................49
Figura 40. Sequência de acionamento, com uma fase por vez.......................49
Figura 41. Sequência de acionamento, com duas fases simultaneamente. ...50
Figura 42. Área de aplicação do motion control industrial...............................51
Figura 43. Arquitetura típica de um sistema de motion control industrial........52
Figura 44. Deteminação dos pontos de origem de cada pixel no algoritmo de
Bresenham. ......................................................................................................54
Figura 45. Interpolação linear utilizando o algoritmo de Bresenham...............55
Figura 46: Vista em perspectiva da Mesa Móvel. ............................................57
Figura 47. Vista frontal da Mesa Móvel............................................................57
Figura 48. Vista da lateral esquerda da Mesa Móvel.......................................58
Figura 49. Vista superior da Mesa Móvel.........................................................58
Figura 50. Acoplamento elástico utlizado. .......................................................60
Figura 51. Vista em perspectiva da mesa móvel montada..............................61
Figura 52. Vista superior da mesa móvel montada..........................................61
Figura 53. Protótipo montado sobre protoboard. .............................................65
Figura 54. Corrente consumida para um eixo acionado..................................65
Figura 55. Fluxograma simplificado do aplicativo de visão computacional.....69
Figura 56. Telas de ajuste de valores e visualização. .....................................72
Figura 57. Paleta de cores do Paint.................................................................73
Figura 58. Tela principal do aplicativo..............................................................74
Figura 59. Fluxograma simplificado do firmware de movimentação................77
Figura 60.Porta virtual COM5 criada................................................................79
Figura 61.Requisições enviadas pelo firmware. ..............................................80
Figura 62.Resposta as requisições pelo software de visão.............................81
Figura 62. Desenho técnico do CONJUNTO. ..................................................90
Figura 63. Desenho técnico - BASE 1..............................................................91
Figura 65. Desenho técnico – BASE 3.............................................................93
Figura 66. Desenho técnico - EIXO GUIA........................................................94
Figura 67. Desenho técnico – EIXO TR1.........................................................95
Figura 68. Desenho técnico – EIXO TR2.........................................................96
Figura 69. Desenho técnico – EIXO TR3.........................................................97
Figura 70. Desenho técnico - EIXO TR4..........................................................98
Figura 71. Desenho técnico – GUIA LINEAR. .................................................99
Figura 72. Desenho técnico – MANCAL GUIAS............................................100
Figura 73. Desenho técnico – MANCAL POLIAS. .........................................101
Figura 74. Desenho técnico - POLIA..............................................................102
Figura 75. Desenho técnico - SUPORTE DO MOTOR..................................103
Figura 76. Circuito – MÓDULO DE CONTROLE...........................................104
Figura 77. Circuito – MÓDULO DE POTÊNCIA.............................................105
Figura 78. Circuito – MOTORES DE PASSO. ...............................................106
LISTA DE TABELAS
Tabela 1: Lista de componentes do projeto eletrônico. ...................................64
Quadro 1: Cronograma de atividades ..............................................................85
LISTA DE ABREVIATURAS
A/D Analógico para Digital
ADC Audio Class Device
BPS Bits Per Second
CAD Computer Aided Design
CCD Charge Coupled Device
CI Circuito Integrado
CDC Communication Device Class
CMOS Complementary Metal Oxide Silicon
CNC Computer Numeric Control
CPU Central Unit Processing
DCE Data Communication Equipment
DTE Data Terminal Equipment
EEPROM Eletrically Erasable Programmable Read Only Memory
EIA Electronic Industries Association
EPROM Erasable Programmable Read Only Memory
HID Human Interface Device
HSV Hue, Saturation, Value
ICSP In Circuit Serial Programming
IDE Integrated Development Environment
IHM Interface Humano-Máquina
LCD Liquid Cristal Display
MSC Mass storage Class
NRZI Non Return to Zero Inverted
PIC Programmable Interface Controller
PWM Pulse Width Modulation
RAM Random Access Memory
RGB Red, Green, Blue
ROM Read Only Memory
SPI Serial Peripheral Interface
UFABC Universidade Federal do ABC
ULA Unidade Lógica e Aritmética
USART Universal Synchronous Asynchronous ReceiverTransmitter
USB Universal Serial Bus
Sumário
1. Objetivo...........................................................................................................1
2. Justificativas ...................................................................................................1
3. Fundamentação teórica..................................................................................3
3.1. Visão Computacional......................................................................................................3
3.1.1. Histórico...................................................................................................................4
3.1.2. Aplicações ...............................................................................................................4
3.2. Sistemas de visão computacional...................................................................................6
3.3. Processamento digital de imagens.................................................................................8
3.4. Imagens digitais..............................................................................................................9
3.5. Dispositivos de aquisição de imagens digitais..............................................................11
3.6. Imagens coloridas.........................................................................................................13
3.7. Conversão e armazenamento.......................................................................................14
3.8. Modelos de representação de cores.............................................................................14
3.8.1. Modelo RGB ..........................................................................................................18
3.8.2. Modelo HSV...........................................................................................................19
3.9. Limiarização..................................................................................................................20
3.10. Filtragem.....................................................................................................................21
3.10.1. Filtragem espacial................................................................................................22
3.10.2. Operação de convolução com máscaras.............................................................23
3.10.3. Suavização ..........................................................................................................25
3.11. Momentos geométricos de uma imagem....................................................................27
3.12. Mesa móvel ................................................................................................................28
3.13. Software de Visão Computacional..............................................................................30
3.13.1. Linguagem programação e ambiente de desenvolvimento..................................30
3.13.2. Biblioteca OpenCV...............................................................................................30
3.14. Microcontroladores .....................................................................................................30
3.14.1. Microcontrolador PIC18F4550 .............................................................................33
3.15. Comunicação entre Microcontrolador e Computador .................................................36
3.15.1. USART.................................................................................................................36
3.15.2. RS-232.................................................................................................................37
3.15.3. USB .....................................................................................................................38
3.15.4. Microchip Libraries Application ............................................................................43
3.16. Motores de Passo.......................................................................................................43
3.17. Método de interpolação de movimentos utilizando motores de passo........................50
3.17.1. Motion Control .....................................................................................................51
3.17.2. Algoritmo de Interpolação Linear .........................................................................53
4. Resultados....................................................................................................56
4.1. Mesa Móvel ..................................................................................................................56
4.1.1. Projeto ...................................................................................................................56
4.1.2. Confecção, montagem e resultado final.................................................................59
4.2. Circuitos Eletrônicos Controle e Potência.....................................................................62
4.2.1. Projeto ...................................................................................................................62
4.2.2. Lista de Materiais...................................................................................................64
4.2.3. Montagem..............................................................................................................64
4.3. Software........................................................................................................................66
4.3.1. Aplicativo de Visão Computacional........................................................................66
4.3.2. Firmware de movimentação da mesa....................................................................74
4.4. Testes de comunicação USB-RS-232 entre Microcontrolador e Computador..............79
5. Conclusões...................................................................................................82
5.1. Trabalhos e melhorias futuras ......................................................................................83
6. Cronograma..................................................................................................85
7. Referências bibliográficas ............................................................................86
8. Apêndice A – Desenhos Técnicos da Mesa Móvel......................................90
9. Apêndice B – Circuitos Eletrônicos ............................................................104
1
1. Objetivo
O presente trabalho tem como objetivo o desenvolvimento de um sistema de
visão computacional que permita realizar a operação remota de uma mesa móvel de
duas direções.
Como objetivos específicos esse trabalho visa:
• Realizar o estudo dos conceitos e técnicas de visão computacional para
a extração de características de imagens. Estudar componentes
mecânicos e elétricos, métodos e algoritmos, que possibilitem de uma
forma geral a realização do objetivo final;
• Criar um protótipo de sistema de visão computacional que implemente
algoritmos para extração automática de características (cor, linha, forma
geométrica);
• Realizar o projeto, confecção e montagem de uma plataforma móvel
(mesa) a ser operada remotamente;
• Projetar e implementar os circuitos eletrônicos para comunicação com o
computador e para o acionamento da plataforma móvel;
• Totalizar a construção do protótipo de uma mesa móvel remotamente
operada com o auxílio de um sistema de visão computacional.
2. Justificativas
Dada a crescente demanda por segurança nas indústrias, e implementação de
normas regulamentadoras, é de fundamental importância o desenvolvimento de
técnicas adequadas que permitam a manipulação segura, de máquinas,
equipamentos e materiais. Nesse âmbito, quando a acessibilidade ao local é restrita,
como em ambientes agressivos, ou mesmo por questões de conforto e ergonomia,
uma das possíveis formas de se implementar a operação de equipamentos diversos
é através da operação remota.
2
A operação remota, ou teleoperação é definida basicamente como a operação
à distância de sistemas, tais como máquinas, equipamentos, robôs, etc. Esta
tecnologia de controle encontra aplicação para as áreas aeroespacial, médica,
industrial, militar, entre outras. No que diz respeito, a arquitetura de um sistema
remotamente operado, segundo Nof(1985) deve haver uma unidade de controle
responsável por receber os comandos do operador, uma unidade remota que
responde aos comandos e efetua a ação, e um canal de comunicação entre ambos.
Figura 1. Arquitetura de um sistema de operação remota. [Fonte: Adaptado de
NOF(1985) ]
Para a implementação da unidade de controle do sistema de operação remota,
as possibilidades são grandes, variando conforme a aplicação. Podem ser utilizados
dispositivos manuais com botoeiras e chaves seletoras, dispositivos do tipo joystick,
IHM’s industriais, Tablet’s, etc. Dentre estas maneiras é possível também empregar
técnicas de visão computacional, onde um sistema de visão é capaz de converter
comandos visuais em comandos para a unidade remota.
O campo da visão computacional tem sofrido um grande avanço nas últimas
décadas. Dada também a gama de aplicações que os sistemas de visão tem, os
recursos de programação e softwares dedicados a visão computacional são cada vez
maiores. Grandes empresas desenvolvedoras de softwares, como National
Instruments, com o Labview, ou MathWorks com o MatLAB, possuem em seus
softwares bibliotecas de comandos inteiramente dedicados a visão computacional.
Mais recentemente, no ano 2000, a Intel criou a biblioteca de visão computacional
3
OpenCV (Open Source Computer Vision), que segue o modelo de software livre e
possui recursos que facilitam o desenvolvimento de softwares de visão.
Sendo assim, devido as razões citadas, a visão computacional pode ser uma
ferramenta útil no desenvolvimento de sistemas de operação remota. Neste caso
teríamos uma arquitetura onde não só a realimentação, como também a entrada do
sistema, seria feita de maneira visual.
3. Fundamentação teórica
3.1. Visão Computacional
Visão computacional, também conhecida como Visão de Máquina, é um campo
de pesquisa que tem avançado muito nas últimas décadas, tendo inúmeras
aplicações, sejam industriais, médicas, na agricultura, na astronomia, etc.
É possível entender a visão computacional como um conjunto de técnicas que
visam dotar as máquinas com capacidade visual semelhante à dos seres humanos,
não só em termos de aquisição, como também de interpretação. Segundo
Shapiro(2001) o principal objetivo desta área é analisar imagens de objetos do mundo
real e tomar decisões a partir destas. Já para Szeliski(2010) tenta-se criar uma
representação do mundo real através da reconstrução das propriedades das imagens,
tais como forma, cor e iluminação.
O processo de percepção humano envolve características notáveis como:
ampla base de dados de apoio, alta capacidade de processamento e habilidade para
trabalhar sobre variadas condições. Atualmente com os avanços tecnológicos, em
software e hardware, dispõe-se cada vez mais, de condições de reproduzir as duas
primeiras características citadas. Contudo a terceira característica, que consiste em
fazer os sistemas de visão operaram sob condições variadas de luz, posição relativa
de elementos da cena, contraste, entre outras, ainda permanece um desafio.
(MARQUES; VIEIRA, 1999)
Isso geralmente ocorre em áreas de pesquisa, onde há a tentativa de recriar
características perceptivas e cognitivas humanas. Verifica-se que as mais simples
4
tarefas como, ver, ouvir e falar, são na verdade problemas extremamente complexos
do ponto de vista computacional.
3.1.1. Histórico
Os primeiros trabalhos acadêmicos da área foram realizados em meados dos
anos de 1970. Segundo Szeliski (2010) nesta época os pesquisadores da área tinham
o ambicioso plano de imitar a inteligência humana, dotando robôs com esta habilidade.
Neste âmbito alguns acreditavam que resolver o problema da entrada visual de dados
seria apenas uma fácil etapa rumo à solução de problemas de alto nível como
raciocínio e planejamento. As pesquisas estavam focadas na reconstrução do
ambiente tridimensional a partir das imagens da cena em estudo. Diversos algoritmos
foram desenvolvidos, principalmente aqueles relacionados a detecção de bordas, que
forneciam os blocos utilizados na reconstrução do objeto ou cena tridimensional.
Nos anos de 1980, de com acordo com Szeliski (2010) as pesquisas estiveram
focadas no desenvolvimento de técnicas matemáticas para análise da cena e imagem,
e também no aperfeiçoamento de algoritmos de detecção de bordas e contornos.
Nas décadas de 1990 e 2000, áreas como segmentação de imagens e
reconhecimento de faces tiveram seu desenvolvimento, além das outras áreas já
citadas que continuaram paralelamente sendo desenvolvidas. Uma tendência
observada atualmente, segundo Szeliski(2010) são as pesquisas na área de
reconhecimento visual utilizando técnicas de aprendizado de máquina.
3.1.2. Aplicações
Atualmente a visão computacional se aplica em áreas como: Robótica,
Biometria, Medicina, Sensoriamento Remoto, Meteorologia, entre outras.
Na robótica os sistemas de visão têm larga aplicação. Auxiliam robôs
manipuladores em operações como: montagem, despaletização, inspeção e controle
de qualidade, triagem automática de produtos. Em robôs autônomos a aplicação se
concentra na determinação de obstáculos através da cor e formato, caracterização do
ambiente, localização, identificação de alvos, navegação, etc.
5
(a) (b)
Figura 2.(a) Robô industrial FANUC guiado por visão computacional. (b)
Detecção da posição de garrafas para posterior manipulação. [Fonte: BASTIAN
Solutions, 2008.]
No campo da biometria, as técnicas de visão computacional têm sido aplicadas
com sucesso, principalmente no reconhecimento de características únicas, como as
digitais dos dedos e a íris do olho.
(a) (b)
Figura 3. (a) Reconhecimento da íris do olho humano. (b) Reconhecimento da
impressão digital. [Fonte: SPIE, 2007.]
6
Na medicina a visão computacional também encontra ampla aplicação. Os
resultados obtidos auxiliam os profissionais da área no diagnóstico de doenças
diversas, caracterização de lesões e tumores, análises de exames tomográficos,
análise de imagens de ultrassonografia e ressonância magnética, análises de sangue,
entre muitas outras aplicações. (NEVES et. al., 2012)
Figura 4. Detecção de lesões no cérebro humano. [Fonte: BIOCLINICA, 2013.]
3.2. Sistemas de visão computacional
Segundo Marques (1999) sistemas de visão computacional são sistemas com
a capacidade de adquirir, processar e interpretar imagens de uma determinada cena
ou objeto. Este sistema tem uma arquitetura que pode ser descrita conforme o
diagrama de blocos abaixo:
7
Figura 5. Arquitetura de um sistema de visão computacional. [Fonte:
Marques(1999)]
A primeira etapa realizada pelo sistema de visão é a aquisição de imagens.
Neste passo um equipamento composto basicamente de lentes, sensores ópticos e
circuitos eletrônicos, convertem em sinais elétricos digitais as imagens projetadas
sobre o sensor. (MARQUES; VIEIRA, 1999)
A etapa de pré-processamento visa corrigir ou minimizar defeitos gerados no
processo de aquisição. Ruídos, contraste ou brilho inadequados são possíveis
defeitos. O objetivo é produzir uma nova imagem de maior qualidade para ser utilizada
nas etapas seguintes.
Na etapa de segmentação, segundo Gonzales (2000), o objetivo é basicamente
produzir uma imagem em que o objeto ou a região de interesse estejam em evidência
com relação ao resto da imagem, isto é, a cena é subdividida em seus objetos
constituintes.
8
Na etapa seguinte, de extração de características, define-se a forma de
representação e descrição dos dados. A representação consiste em definir se os
objetos da cena serão representados por suas fronteiras ou por uma região completa.
A representação por fronteira é adequada quando há interesse na forma, dimensões,
cantos ou pontos de inflexão. Já a representação por regiões é adequada quando as
características visadas são propriedades internas como cor ou textura. A descrição
consiste em definir um método de descrever os dados da cena, isto é, extrair
características úteis que possam ajudar nos processos de distinção entre objetos.
Estas características são chamadas também de descritores. (GONZALES; WOODS,
2000)
Por fim, na etapa de reconhecimento e interpretação os descritores são
avaliados, resultando na atribuição de rótulos para cada objeto, e também de um
significado ao conjunto.
A base de conhecimento mostrada no diagrama da figura 5, se refere ao
conhecimento prévio que se têm da cena analisada e quais são os resultados
esperados. Esta base de conhecimento é de fundamental importância nos sistemas
de visão computacional e têm como função direcionar as ações em cada etapa,
definindo quais algoritmos ou processos serão realizados, de modo a produzir um
resultado final adequado. (GONZALES; WOODS, 2000)
3.3. Processamento digital de imagens
Segundo Oppenheim (1999) o processamento de sinais é a área que trata da
manipulação, transformação e representação de sinais. A definição do conceito de
sinal é ampla e engloba praticamente tudo que transporta algum tipo de informação,
sendo também que, os sinais podem ser contínuos ou discretos.
A área de processamento digital de imagens é uma subárea do processamento
de sinais, tendo o mesmo objetivo, utilizando técnicas em comum, e onde os sinais a
serem processados são as imagens digitais.
Em termos gerais, o processamento digital de imagens transforma uma imagem
inicial, em outra que tenha características desejadas para uma determinada aplicação
(VERNON,1991). Para que se alcance este objetivo são utilizadas diversas técnicas
9
e algoritmos tais como: filtragem, manipulação de histogramas, limiarização, realce,
suavização, etc.
3.4. Imagens digitais
Uma imagem monocromática pode ser definida como uma função
bidimensional f (x,y) de intensidade luminosa, onde x e y é o par de coordenadas
espaciais de um ponto na imagem e f representa o valor do brilho. No caso de imagens
monocromáticas o brilho é chamado também de nível de cinza (GONZALES;
WOODS, 2000).
Para que uma imagem analógica seja convertida em uma imagem digital é
necessário que haja um processo de digitalização. Esse processo consiste em realizar
a amostragem espacial da imagem e quantizar seus níveis de cinza (MARQUES;
VIEIRA, 1999).
Como resultado da amostragem obtêm-se uma imagem subdividida em
regiões, as quais são denominados pixels. O pixel é o menor elemento de uma
imagem e a cada um é atribuído um nível de cinza. Este processo transforma portanto,
uma imagem f (x,y) em uma estrutura análoga a uma matriz, com M linhas e N colunas,
onde cada elemento contém o nível de cinza de um pixel.
, =
0,0 ⋯ 0, − 1
⋮ ⋱ ⋮
− 1,0 ⋯ − 1, − 1
(equação 1)
Para uma imagem digital o par M x N corresponde a resolução da imagem.
Na produção de uma imagem digital se forem utilizados n bits para armazenar
o valor de brilho de um pixel, então este pixel poderá assumir valores inteiros na faixa
de 0 a 2n
-1, correspondendo a níveis ou tons de cinza diferentes. Neste intervalo de
valores o valor 0 representa a cor preta enquanto o valor 2n
-1 representa o branco.
Os valores intermediários são tonalidades de cinza.
10
A figura 6 abaixo mostra uma imagem digital monocromática com o sistema de
coordenadas convencional:
Figura 6. Imagem monocromática. [Fonte: Adaptado de Marques(1999)]
No caso de imagens coloridas, há uma superposição de funções f (x,y) cada
uma representando uma cor ou característica. No caso de uma representação através
do modelo RGB (R - Red, G - Green, B - Blue) são necessárias três funções f (x,y)
cada uma contendo os valores de brilho para cada cor.
11
Figura 7. Formação de uma imagem colorida. [Fonte: Adaptado de Wikipedia -
Grayscale.1
]
3.5. Dispositivos de aquisição de imagens digitais
Dentro os diversos dispositivos de aquisição de imagens destacam-se
atualmente duas tecnologias: os sensores CCD e CMOS.
Figura 8. Sensor de imagem CCD. [Fonte: Wikipedia.2
]
1
Disponível em: < http://en.wikipedia.org/wiki/Grayscale >, acesso em 15 de março de 2014.
2
Disponível em: < http://en.wikipedia.org/wiki/Charge-coupled_device >, acesso em 15 de
março de 2014.
12
O sensor de imagem CCD (Charge Coupled Device) é uma das tecnologias
mais utilizadas atualmente para aquisição de imagens. Este sensor corresponde a
dispositivo semicondutor de silício que se assemelha a uma matriz de capacitores. A
estrutura desse sensor permite que a carga gerada fique armazenada em uma região
de barreira de potencial, análoga a um recipiente. A interligação com elementos
fotossensíveis permite que a carga armazenada em cada capacitor seja dependente
da intensidade luminosa incidente (MARQUES; VIEIRA, 1999). Por meio de um
controle externo cada capacitor pode transferir sua carga para o capacitor vizinho
conforme a figura 9 abaixo:
Figura 9. Princípio de operação dos dispositivos CCD. [Fonte: PIXCELLENT,
2006]
Quando uma imagem é projetada sobre o arranjo CCD é gerada em cada
capacitor uma quantidade de carga correspondente a intensidade luminosa incidente.
Através de registradores de deslocamento a carga armazenada em uma linha de
elementos é transferida as linhas vizinhas em um deslocamento vertical. Este
processo é repetido até que os valores de uma linha completa cheguem ao registrador
de deslocamento horizontal que então faz a transmissão serial dos dados para um
amplificador. Quando um quadro inteiro de imagem é transmitido o processo inicia-se
novamente. A figura 10 abaixo ilustra este processo:
13
Figura 10. Transmissão de um quadro de imagem em dispositivo CCD. [Fonte:
PIXCELLENT, 2006]
O sensor de imagem CMOS (Complementary Metal Oxide Silicon) tem
princípios de funcionamento semelhante ao CCD, porém o sinal produzido por cada
elemento é lido individualmente de forma sequencial, através de um processo de
multiplexação. Além disso, este sensor incorpora amplificadores, conversores A/D e
circuitos adicionais de processamento na própria pastilha, ao contrário do CCD que
necessita de circuitos externos.
Com relação ao sensor CCD, o CMOS apresenta baixo consumo de energia,
baixo custo, e menor tamanho. Por outro lado o CCD produz imagens digitais de maior
qualidade, com maior nitidez e possuem maior sensibilidade em ambientes com baixa
iluminação.
3.6. Imagens coloridas
Para aquisição de imagens coloridas é necessária a utilização de um filtro ótico
denominado filtro de Bayer. Cada elemento do filtro tem a função de transmitir a
intensidade luminosa relacionada a somente uma cor, absorvendo as outras. Os sinais
relativos a cada cor são transmitidos individualmente e posteriormente combinados
formando a imagem colorida no formato RGB.
14
Figura 11. Filtro de Bayer. [Fonte: Adaptado de CHEERS4ALL.3
]
3.7. Conversão e armazenamento
Uma vez realizada a captura da imagem e transmitido o sinal analógico
correspondente, para que seja possível o processamento computacional dessa
imagem torna-se necessária a conversão analógico-digital do sinal, de modo que a
imagem passe a ser representada em padrão binário. O dispositivo que realiza essa
conversão é o chamado de dispositivo de captura de quadro ou frame grabber. Sua
função é detectar os limites de cada quadro de imagem e realizar sua amostragem
temporal gerando a imagem digital.
A imagem digital de cada quadro é armazenada em um sistema de memória
volátil denominado frame buffer. Neste dispositivo as imagens ficam prontas para
serem utilizadas seja para o processamento, visualização ou armazenamento em
dispositivos adequados.
3.8. Modelos de representação de cores
Toda a luz visível está compreendida em um pequeno intervalo de frequências
do espectro eletromagnético. Logo, todo tipo de luz que pode ser vista corresponde
3
Disponível em: < http://www.cheers4all.com/2013/03/project-report-of-quadcopter >, acesso
em 17 março de 2014.
15
uma radiação de frequência definida ou geralmente uma combinação de radiações de
frequências distintas dentro do espectro da luz visível. Esse é o caso da luz branca,
que corresponde a mistura de radiações de determinadas frequências abrangendo
todo o espectro visível.
Figura 12. Espectro eletromagnético. [Fonte: Projeto Fotossíntese, 2011.]
As cores dos objetos são resultado da interação entre a luz incidente e o
material do objeto. Se a superfície de um objeto sob iluminação tiver uma cor definida
significa que boa parte da luz refletida tem frequência situada na faixa a que
corresponde esta cor, enquanto as radiações de outras frequências na faixa visível
foram absorvidas pela superfície do objeto (MARQUES; VIEIRA, 1999).
O olho humano é sensível a radiação eletromagnética com comprimento de
onda na faixa de 400 nm a 700 nm aproximadamente, conforme figura 13. Em sua
estrutura interna, o olho possui células fotossensíveis denominadas cones, que são
divididas em três tipos, cada uma possuindo uma curva de sensibilidade, conforme
mostrado na figura 13 abaixo:
16
Figura 13. Sensibilidade do olho humano em relação ao comprimento de onda
da radiação eletromagnética incidente. [Fonte: DPI, 2011.]
É possível observar que cada tipo de cone possui um máximo de sensibilidade
em torno das cores vermelha (R, do inglês “red”), verde (G, do inglês “green”) e azul
(B, do inglês “blue”). Logo, todas cores possíveis são o resultado da combinação dos
estímulos recebidos por cada tipo de cone, com diferentes intensidades cada,
produzindo assim as diversas sensações de cores. (MARQUES; VIEIRA, 1999)
As cores vermelho, verde e azul são denominadas cores primárias e a partir
destas todas as cores são obtidas. Estas cores se combinadas duas a duas produzem
as chamadas cores secundárias: magenta (vermelho + azul), ciano (verde + azul) e
amarelo (vermelho + verde). Todas as cores primárias se combinadas em
intensidades corretas produzem a luz branca. (GONZALES; WOODS, 2000)
A figura 14 abaixo ilustra essa combinação:
17
Figura 14. Cores primárias e secundárias em combinação aditiva. [Fonte:
SIDIGICOR, 2012.]
Esta mistura é denominada combinação aditiva de cores. Uma combinação
subtrativa ocorre quando são combinados pigmentos ou corantes, pois neste caso a
cor refletida é resultado da absorção de uma determinada cor. Para este caso as cores
magenta, ciano e amarelo são tidas como cores primárias e suas combinações
resultam em: azul (magenta + ciano), vermelho (magenta + amarelo), verde (ciano +
amarelo). O preto é obtido pela combinação, em devidas proporções, de pigmentos
ou corantes magenta, ciano e amarelo.
Para distinguir uma cor da outra geralmente são usadas as características de
matiz (H, do inglês “hue”), saturação (S, do inglês “saturation”) e brilho (B, do inglês
“brightness”). O matiz representa o comprimento de onda dominante na formação de
uma cor. A saturação corresponde a quantidade de luz branca que se tem misturada
ao matiz, determinando por exemplo, se uma cor é mais clara ou escura. Já o brilho
se refere a intensidade da radiação luminosa. O matiz e a saturação em conjunto
formam a chamada cromaticidade. Uma cor, portanto, pode ser definida por sua
cromaticidade e brilho (GONZALES; WOODS,2000).
As quantidades de vermelho, verde e azul necessárias para formar uma
determinada cor são denominados coeficientes tricromáticos e são definidos por:
18
= (equação 2)
= (equação 3)
= (equação 4)
Onde R, G e B são as quantidades de vermelho, verde e azul, respectivamente,
presentes em uma cor. Os valores de R, G e B são normalizados entre 0 e 1, e cada
coeficiente r, g e b também situam-se nesta faixa.
Segundo as equações 2, 3 e 4, tem-se que:
+ + = 1 (equação 5)
3.8.1. Modelo RGB
Segundo Gonzales (2000) os modelos de cores servem que se tenha uma
forma padronizada de especificação de uma determinada cor.
O modelo RGB é uma representação cartesiana conforme figura 15 onde cada
ponto representa uma cor. O vermelho, o verde e o azul correspondem ao ponto final
do cubo sobre cada eixo. A origem corresponde ao preto, enquanto o branco está
situado no final da diagonal principal. Essa diagonal contém todos os níveis de cinza.
As cores secundárias, como magenta, ciano e amarelo estão no final de cada aresta
superior. Este cubo é unitário portanto assume-se que os valores de R, G e B estão
normalizados na faixa de 0 a 1.
19
Figura 15. Representação gráfica do modelo RGB. [Fonte: TEORIA DA COR,
2010]
3.8.2. Modelo HSV
O modelo HSV (H - Hue, S - Saturation, V - Value) é um modelo que define
uma cor pelo matiz, saturação e intensidade (ou brilho). Sua representação é
mostrada na figura 16 abaixo:
Figura 16. Representação gráfica do modelo HSV. [Fonte: Adaptada de SIP4
]
4
Disponível em: < http://miac.unibas.ch/SIP/02-Fundamentals.html >, acesso em: 17
de março de 2014.
20
A conversão entre RGB e HSI é dada através das seguintes equações:
= (equação 6)
= 1 − min ", #, $ % (equação 7)
& = cos*+
{
-
.
* * %
* . * * %
-
.
} (equação 8)
3.9. Limiarização
A limiarização ou Thresholding é uma operação de segmentação aplicada
sobre uma imagem, onde cria-se uma distinção clara entre as regiões da mesma. É
geralmente aplicado com o objetivo de distinguir um objeto alvo em uma imagem, de
seu ambiente.
No caso de imagens monocromáticas é definido um limiar de intensidade
luminosa T. Para todos os pixels que tiverem com seus níveis de cinza acima desse
limiar é atribuído um determinado valor de intensidade luminosa, para os pixels que
estiverem abaixo é atribuído outro valor. O resultado é a criação de uma imagem
binarizada.
Em termos matemáticos, se houver uma imagem de entrada f(x,y), e for
definido um limiar T, a limiarização produzirá uma imagem g(x,y) dada por:
, = 0
12 , > 4
12 , ≤ 4
(equação 9)
21
Onde M e N são níveis de cinza quaisquer.
É possível também fazer a limiarização com base na cor do objeto. Neste caso
atribui-se um valor de intensidade a cada pixel que possuir a cor do objeto, e zero para
todos os pixels que não se enquadram nesta condição. Com isso obtêm-se uma
imagem binária com o objeto em destaque.
3.10. Filtragem
A filtragem é uma operação de pré-processamento que se baseia na frequência
espacial de cada região de uma imagem. A frequência espacial em uma imagem pode
ser entendida como a variação de intensidade de um pixel a outro.
Dependendo da configuração do filtro é possível produzir resultados como
realce, suavização, atenuação de ruídos, detecção de bordas entre outros. A
operação de filtragem pode ser realizada no domínio da frequência ou no domínio
espacial.
No domínio da frequência a filtragem é realizada a partir das transformadas de
Fourier da imagem e do filtro, que são multiplicados. O resultado deve ser levado para
o domínio do espaço através de uma transformada inversa de Fourier, obtendo assim
a imagem resultante. Já a filtragem no domínio espacial é uma operação que age
diretamente sobre os pixels da imagem através de operadores.
Os filtros podem ser classificados também quanto a banda de frequência
espacial sobre a qual operam. Os filtros denominados passa-altas atenuam as partes
da imagem com baixas frequências, que correspondem as regiões de baixa variação
de intensidade dos pixels no espaço, e com efeito realçam as regiões de alta
frequência como bordas e cantos. Os filtros denominados passa-baixas realizam o
inverso atenuando as regiões de alta frequência, cujo resultado é o borramento ou
suavização de certas regiões da imagem. Há também os filtros denominados passa-
faixas que atenuam ou realçam determinado intervalo de frequência e são usados
para remover ou realçar certas regiões selecionadas em uma imagem.
Os filtros utilizados neste trabalho operam no domínio espacial, e uma
explanação mais detalhada é dada nas seções seguintes.
22
3.10.1. Filtragem espacial
Segundo Gonzales (2000) o termo domínio espacial refere-se a distribuição
espacial dos pixels em uma imagem levando em contas suas variações de intensidade
e os métodos no domínio espacial são aqueles que operam diretamente sobre estes
pixels. Sendo assim uma definição geral das operações no domínio espacial podem
ser expressas por:
, = 4 , % (equação 10)
Onde g(x,y) é a imagem resultante; f(x,y) é imagem original e T é um operador
em f, definido sobre uma certa vizinhança de (x,y).
O valor de g na posição (x,y) é dependente de sua vizinhança, de modo que o
operador T age sobre todos os pixels desta subimagem para produzir o resultado final.
(MARQUES; VIEIRA, 1999)
Figura 17. Vizinhança 3x3 definida ao redor de um pixel de coordenadas (x,y).
[Fonte: MARQUES; VIEIRA, 1999.]
23
3.10.2. Operação de convolução com máscaras
Segundo Szeliski (2011) o tipo mais comum de operador baseado na
vizinhança é a convolução. Neste caso o filtro é um sistema linear, onde o sinal de
entrada é uma imagem f(x,y) e a resposta deste filtro é uma imagem de saída g(x,y).
Sendo assim, se for conhecida a resposta ao impulso h(x,y) deste filtro, é possível
através de uma operação de convolução determinar a resposta do filtro a imagem de
entrada.
Figura 18. Filtro linear com resposta ao impulso h(x,y). [Fonte: MARQUES;
VIEIRA, 1999.]
Conforme Gonzales (2000) a resposta de um filtro através da operação de
convolução em duas dimensões é dada pela seguinte expressão:
, =
+
67
∑6*+
9:; ∑ ℎ − =, − > . =, >7*+
@:; (equação 11)
Onde i=0...M-1 e j=0...N-1.Os coeficientes M e N são respectivamente o
número de linhas e colunas de h(x,y).
O termo h(x,y) é uma matriz denominada máscara de convolução espacial.
A equação 11 é a expressão matemática da convolução entre uma máscara e
uma imagem. Este processo pode ser visualizado espacialmente de acordo com a
descrição dada a seguir.
24
Conforme exemplo dado por Marques(1999) considera-se uma imagem a ser
filtrada e uma máscara de convolução:
Figura 19. Matriz representando a imagem à ser filtrada (à esquerda). Máscara
de convolução (à direita) [Fonte: Adaptado de Marques (1999)]
Para realizar a operação de convolução entre as mesmas, inicialmente a
máscara é espelhada verticalmente e horizontalmente. Em seguida o centro da
máscara é posicionado sobre um ponto (x,y) da imagem. Cada coeficiente da máscara
é multiplicado pelo valor de intensidade do pixel sobre o qual está sobreposto. O novo
valor do pixel na posição (x,y) é dado pela soma destas multiplicações.
Figura 20. Determinação de um ponto na imagem filtrada através da operação
de convolução. [Fonte: Adaptado de Marques (1999)]
25
Este procedimento é repetido para todos os pixels da imagem original,
resultando então na imagem filtrada:
Figura 21. Matriz representando a imagem filtrada. [Fonte: Adaptado de
Marques (1999)]
3.10.3. Suavização
O efeito de suavização de uma imagem é obtido através de filtros passa-baixas,
cuja função é provocar um efeito de borramento em regiões como bordas e cantos e
também ajuda a eliminar ruídos esparsos na imagem.
O filtro de suavização utilizado neste trabalho é o chamado filtro gaussiano.
Este filtro utiliza a curva gaussiana, também conhecida como distribuição normal, para
realizar o cálculo dos valores de intensidade dos pixels na imagem filtrada.
A curva gaussiana em uma dimensão é dada pela seguinte equação:
# =
+
√BCD
2
*
E.
.F.
(equação 12)
Onde σ é o desvio padrão. Considera-se que esta distribuição tem média zero
(µ=0), e portanto está centrada em x=0.
26
A variação da equação acima para duas dimensões é dada por:
# , =
+
BCD. 2
*
E.GH.
.F.
(equação 13)
A partir da equação 13 é possível calcular os coeficientes da máscara do filtro
gaussiano. Abaixo é mostrada um exemplo uma máscara para este filtro:
Figura 22. Máscara 7x7 do filtro gaussiano para σ=1. [Fonte: CONCI, 2013]
Os coeficientes da máscara do filtro gaussiano diminuem gradualmente do
centro para a borda, tendendo a zero. Segundo Conci(2013) é possível, deste modo,
obter uma suavização mais delicada. Como o peso maior é atribuído ao pixel central
este filtro é capaz de preservar melhor os contornos da imagem com relação a outros
filtros passa-baixas. Por esta razão este filtro é utilizado geralmente antes da
aplicação de algoritmos de detecção de bordas, pois elimina os ruídos ao mesmo
tempo em que preserva as bordas, tornando assim a operação de detecção mais
eficiente.
27
3.11. Momentos geométricos de uma imagem
Segundo Gonzales (2000) o momento de ordem p+q de uma função
bidimensional f(x,y) é dado pela equação abaixo:
IJK = L L JM
*M
K
, N N
M
*M
(equação 18)
Onde p=0,1,2 …, e q=0,1,2...
No caso de uma imagem digital f(x,y) a equação 18 torna-se:
IJK = ∑ ∑ J KOP
; ,
OQ
; (equação 19)
Onde nx e ny correspondem a largura e altura da imagem, respectivamente.
Neste trabalho o uso dos momentos geométricos são de extrema importância,
pois permitem que em uma dada imagem binária, contendo somente um objeto em
destaque, seja possível obter o seu centro de massa. Este cálculo é feito a partir dos
momentos de ordem 0 e 1 da imagem, e a localização do centro de massa é dado
pelas seguintes equações:
̅ =
S-T
STT
(equação 20)
U =
ST-
STT
(equação 21)
No caso de uma imagem binária, com um único objeto na cena, o momento m00
representa a área total do objeto.
28
3.12. Mesa móvel
A mesa móvel a ser desenvolvida neste trabalho consiste em uma mesa com a
capacidade de se deslocar em duas direções, sendo atuada por motores de passo.
Consistirá basicamente em um sistema de posicionamento que deverá descrever
aproximadamente a mesma trajetória do objeto detectado pelo sistema de visão
computacional.
As referências para este tipo de mecanismo são vastas, variando em tamanho,
robustez, precisão, capacidade de carga, sistema de transmissão, entre outras
características.
Figura 23. Mesa X-Y industrial para posicionamento [Fonte: Yigone(2014)]
Na figura 23 é mostrada uma mesa de posicionamento do fabricante YIGONE.
Segundo o fabricante esta mesa foi fabricada em alumínio, utilizando barramentos de
aço temperado e retificado. Os eixos são atuados por motores de passo e a
transmissão de movimentos é feita através de fusos de esferas, o que garante
precisão e suavidade nos movimentos.
29
O sistema acima apesar de robusto e preciso, possui custo elevado e exige
grande precisão dimensional na confecção dos componentes e na etapa de
montagem.
Na figura 24 é mostrado o detalhe de um sistema de posicionamento X-Y mais
simples. Segundo o fabricante Newmark(2014) os eixos são atuados por motores de
passo e os barramentos são feitos de aço inoxidável trefilado. O fabricante não informa
o material do mancal deslizante, porém as possibilidades são o bronze ou o nylon,
entre outros, que garantem um baixo coeficiente de atrito. A transmissão de
movimentos é feita por meio de polias e correias sincronizadoras, que oferecem
também boa precisão aos movimentos.
Figura 24. Sistema de posicionamento X-Y em detalhe. [Fonte:
Newmark(2014) ]
As vantagens do sistema acima são a modularidade e o baixo custo, uma vez
que componentes como os barramentos de aço trefilado, polias e correias
sincronizadoras podem ser adquiridos e encontrados com maior facilidade no
mercado.
30
3.13. Software de Visão Computacional
3.13.1. Linguagem programação e ambiente de desenvolvimento
Neste trabalho a linguagem de programação utilizada no software de visão
computacional é o C++. O C++ é uma linguagem que desenvolvida por Bjarne
Stroustrup dos Bell Labs, durante a década de 80. É uma linguagem de alto nível,
desenvolvida a partir da linguagem C com o objetivo de incorporar recursos de
programação orientada a objetos.
O ambiente de desenvolvimento integrado utilizado é o Eclipse CDT. É um
ambiente inicialmente desenvolvido para trabalhar com a linguagem Java, mas que
suporta diversas linguagens, dentre elas o C++. Este ambiente segue o modelo de
software livre, podendo ser utilizado de forma gratuita por seus usuários.
3.13.2. Biblioteca OpenCV
O software de visão computacional desenvolvido em linguagem C++ fará uso
dos algoritmos disponíveis na biblioteca OpenCV. A OpenCV (Open Source Computer
Vision) é uma biblioteca de visão computacional desenvolvida pela Intel no ano 2000.
Ela é totalmente aberta ao usuário e segue o modelo de software livre. Foi
desenvolvida em C/C++ e possui módulos de processamento de imagens e vídeo, I/O,
estrutura de dados, álgebra linear, interface gráfica do usuário, possuindo além disso
mais de 350 algoritmos de visão computacional como filtros, calibração de câmera,
reconhecimento de objetos, etc. Possui foco em aplicações de tempo real. (OPENCV,
2014)
3.14. Microcontroladores
Os microcontroladores são dispositivos eletrônicos programáveis, fabricados
na forma de CI’s, que possuem uma organização semelhante a de um computador,
integrando em um mesmo chip, uma CPU (Central Processing Unit), sistema de clock,
memórias de dados e programa, e periféricos tais como, portas de entrada e saída,
temporizadores, conversores A/D entre outros. Adicionalmente consomem pouca
energia, geralmente na faixa de alguns mW. Estes dispositivos têm atualmente uma
vasta gama de aplicações, podendo ser encontrados em diversos equipamentos
31
eletrônicos como celulares, tablet’s, etc., e tendo uso em áreas como robótica,
instrumentação e eletrônica em geral.
Figura 25. Diagrama simplificado de um microcontrolador. [Fonte: Adaptado
de Miyadaira (2009)]
Conforme Miyadaira(2009) as duas principais arquiteturas de
microcontroladores são a Harvard e a Von-Neumann. Na arquitetura Harvard os
barramentos de acesso a memória de dados e memória de programa são separados,
o que resulta em um aumento significativo no fluxo de dados. Já na arquitetura Von-
Neumann o barramento é compartilhado, o que limita porém a velocidade da troca de
dados.
CPU (Central Processing Unit)
A função da CPU é executar as instruções de um programa, em uma sequência
especificada, fazendo a leitura das unidades de entrada, lendo e escrevendo na
memória de dados, e realizando a escrita nas unidades de saída. A CPU é composta
basicamente de três unidades: a unidade lógica aritmética (ULA), unidade de controle
e os registradores.
A função ULA é realizar operações lógicas e aritméticas sobre os dados
oriundos das unidades de entrada ou de uma memória. Os resultados dessas
operações podem ser armazenados na memória de dados RAM ou enviados para
uma unidade de saída.
32
A unidade de controle é responsável por coordenar a ULA e as demais
unidades conectadas à CPU. Basicamente esta unidade busca, decodifica e executa
as instruções do programa, enviando os sinais e resultados para as unidades
pertinentes.
Já os registradores são memórias rápidas e de baixa capacidade, que tem a
função de armazenar, de forma temporária, os dados importantes durante o
processamento.
A comunicação entre as diversas unidades de um microcontrolador é feita por
meio de um barramento de dados, sendo que a largura deste barramento em bits
define a quantidade de bits com que a CPU trabalha.
Sistema de clock
O sistema de clock fornece periodicamente à CPU, os pulsos necessários para
realizar de forma síncrona todas as suas operações, permitindo o sequenciamento
das instruções. Corresponde portanto a velocidade do microcontrolador. Este sinal de
clock é provindo geralmente de um cristal piezoelétrico e sua frequência na maioria
dos casos se situa na faixa de alguns Mhz.
Memórias
Os principais tipos de memória que podem ser encontrados em um
microcontrolador são as memórias RAM, ROM, EPROM, Flash e EEPROM. Tal como
em um sistema computacional a memória RAM (Random Access Memory) é a
memória de dados utilizada para armazenar as variáveis e registradores usados pelo
programa durante a execução das instruções. As memórias ROM (Read Only
Memory), EPROM (Erasable ROM) e Flash constituem a memória de programa, onde
o mesmo é armazenado. Atualmente a memória do tipo Flash é mais utilizada, uma
vez que pode ser programada diversas vezes, enquanto as outras não tem essa
capacidade. E por último temos a memória EEPROM (Eletrically Erasable ROM) que
pode ser utilizada pelo usuário para guardar dados, sendo uma memória do tipo não
volátil, que mantém os seus dados mesmo sem alimentação.
33
Periféricos
Os periféricos disponíveis nos microcontroladores são diversos e variam
conforme o modelo e o fabricante. Esses periféricos podem ser controladores de
comunicação, seja serial assíncrona (USART), USB, paralela, etc., conversores A/D,
comparadores, controladores de LCD, PWM. Dentre os principais periféricos
destacam-se as portas de entrada e saída e os timers.
As portas de entrada e saída são portas digitais com a capacidade de fornecer
ou drenar correntes na faixa de alguns mA, produzindo assim os sinais necessários
para acionamento de circuitos externos ou recebendo sinais que serão utilizados pela
CPU do microcontrolador. Já os timers são contadores internos, independentes, que
fornecem uma referência para processos que envolvam a contagem de tempo.
Interrupções
As interrupções são pausas no programa principal provocadas por algum
evento interno ou externo que são tratadas por uma rotina que esteja fora do programa
principal. As interrupções podem ser programadas para acontecer devido a diversos
tipos de eventos como a borda de descida de um sinal externo, um estouro de
contagem de um timer interno, ou mesmo uma interrupção provocada pelo início de
uma comunicação com outro dispositivo. As rotinas de interrupção são armazenadas
em uma área de memória separada do programa principal.
3.14.1. Microcontrolador PIC18F4550
O microcontrolador PIC18F4550 faz parte de uma família de
microcontroladores fabricados pela Microchip Technology Inc., baseados na
arquitetura Harvard. O nome PIC provêm de “Programmable Interface Controller”.
34
Figura 26. Pinagem do microcontrolador 18F4550. [Fonte: Inginieria5
]
Estes dispositivos processam dados de 8 bits, possuem 32Kbytes de memória
de programa, no formato ROM, EPROM ou FLASH, 2048 bytes de memória de dados
RAM e mais 256 bytes de memória EEPROM. Devido a arquitetura Harvard possuem
alta velocidade de processamento, operando em frequências de até 48MHz. Possuem
um conjunto de 35 instruções em assembly.
Figura 27. Pinagem do microcontrolador 18F4550. [Fonte: Adaptado de
Microchip (2006)]
5
Disponível em: < http://cosasdeingenieria.com/esp/index/item/189/55/microcontrolador-
pic18f4550 >, acesso em: 14 de fevereiro de 2015.
35
O PIC18F4550 possui 40 pinos, onde 35 destes podem ser configurados como
entradas e saídas digitais. Pode ser alimentado com tensões de 4V à 5.5 V. Possui
diversos periféricos, tais como, treze conversores A/D de 10bits de resolução, um
timer de 8 bits e mais três timers de 16 bits (TIMER2, TIMER0, TIMER1 e TIMER3),
dois comparadores analógicos, módulos de comunicação, serial assíncrona (USART),
SPI, I²C e USB 2.0.
Características Elétricas
Conforme descrito por Miyadaira(2009) as características elétricas do
PIC18F4550 são:
Faixa de temperatura de trabalho.................................-40°C a +85°C
Tensão de funcionamento....................................................4V a 5.5V
Potência máxima de dissipação.....................................................1 W
Corrente máxima de saída do pino VSS.....................................300mA
Corrente máxima de entrado do pino VDD.................................250mA
Corrente máxima fornecida por qualquer pino I/O.......................25mA
Corrente máxima de entrada em todas as portas I/O................200mA
Corrente máxima fornecida por todas as portas I/O..................200mA
Ambiente de desenvolvimento integrado,compilador e gravador
O Ambiente de Desenvolvimento Integrado da família de microcontroladores
PIC é o MPLAB IDE. Com este software é possível editar, debugar, simular, compilar
e gravar os programas no microcontrolador.
O compilador desenvolvido para a família PIC 18F é o MPLAB C18. Este é um
compilador de linguagem C, que trabalha integrado ao ambiente de desenvolvimento
integrado, possuindo uma vasta biblioteca. Este compilador permite também incluir
sequências de código assembly no código em C.
O gravador utilizado é o PICKit3, que efetua a gravação dos arquivos gerados
no microcontrolador após a compilação no MPLAB. Este gravador é do tipo ICSP (In
36
Circuit Serial Programming) onde é possível realizar toda a gravação sem a
necessidade de retirar o chip do circuito final.
3.15. Comunicação entre Microcontrolador e Computador
Em diversas aplicações utilizando microcontroladores, surge a necessidade de
haver uma troca de dados deste dispositivo com um computador pessoal, seja para
receber e transmitir resultados de operações ou mesmo para interagir com uma
interface gráfica hospedada no computador. Com esta finalidade os
microcontroladores da família PIC 18F dispõem de alguns protocolos de comunicação
serial, seja para troca de dados entre periféricos, como o SPI e o I²C, ou então para a
comunicação direta entre o dispositivo e o computador, tais como a USART,
implementado o RS-232, e a USB.
3.15.1. USART
Conforme Miyadaira (2009) a USART (Universal Synchronous Asynchronous
Receiver Transmitter) é um periférico presente no PIC que permite a realização da
comunicação entre o chip e uma porta serial. Pode ser configurado para trabalhar de
modo assíncrono, em full-duplex, ou no modo síncrono, half-duplex. Full-duplex é o
modo de comunicação onde os dispositivos envolvidos na comunicação podem
receber e transmitir dados simultaneamente, já no modo half-duplex somente um
dispositivo pode transmitir ou receber por vez.
A USART recebe os dados da CPU do PIC de forma paralela e os transmite de
forma serial, e do mesmo modo recebe dados de forma serial e os repassa à CPU de
forma paralela.
Através deste hardware de comunicação é possível implementar diversos
protocolos seriais dentre eles destaca-se o RS-232.
37
3.15.2. RS-232
O RS-232 é um protocolo de comunicação serial utilizado para a troca de dados
entre dispositivos denominados DTE (Data Terminal Equipment), um terminal de
dados, como um computador, e entre um DCE (Data Communication Equipment), um
comunicador de dados, tal como um modem, a título de exemplo. Este protocolo foi
desenvolvido pela EIA (Electronic Industries Association) por volta de 1962, e é
também conhecido pelos nomes de EIA 232 ou TIA 232.
A troca de dados é feita através de pacotes de dados, denominados frames,
com tamanho de 10 ou 11 bits, sendo 1 bit de início (Start Bit), 1 à 2 bits de parada
(Stop Bits),1 bit de paridade e 8 bits da mensagem codificada conforme tabela ASCII.
As taxas de transmissão mais comuns são de 300bps, 600bps, 1200bps, 2400bps,
4800bps, 9600bps, 19200bps. (MIYADARA, 2009)
Quanto aos sinais elétricos binários, o estado lógico 0, também denominado
espaço, é representado por tensões na faixa de +3V a +25V, enquanto o estado lógico
1, é denominado marca, e é representado por tensões na faixa de -3V a -25V. A região
de -3V a +3V não representa nenhum estado lógico. A figura 28 exibe os sinais
elétricos para um frame de 10 bits, sem paridade, onde acima do gráfico estão
representados os estados lógicos correspondentes.
Figura 28. Sinal elétrico padrão RS-232. [Fonte: Adaptado de Ermicro6
]
6
Disponível em: < http://www.ermicro.com/blog/?p=325#more-325 >, acesso em: 14 de
fevereiro de 2015.
38
Os conectores geralmente utilizados nas portas seriais são o DB9 e o DB25,
com 9 e 25 pinos respectivamente. Na figura 29 é mostrado o conector DB9 macho,
utilizado geralmente nas extremidades dos cabos de comunicação, enquanto o
conector fêmea é embutido nos dispositivos que se comunicam.
Figura 29. Conector DB9 fêmea. [Fonte: Adaptado de Usconverters7
]
Nos computadores com sistema operacional Windows as portas de
comunicação seriais são referidas como portas COM, seguindo uma numeração
sequencial: COM1, COM2...e assim sucessivamente. Quando há a necessidade de
se utilizar as funcionalidades de uma porta COM mesmo sem a existência de uma
porta física instalada, é possível através de um software dedicado, criar portas seriais
virtuais.
3.15.3. USB
O USB (Universal Serial Bus) é protocolo de comunicação serial desenvolvido
nos anos 90 por um conjunto de grandes empresas do ramo de tecnologia como
Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC e Philips. Foi concebido sob
7
Disponível em: < http://www.usconverters.com/index.php?main_page=page&id=61 >, acesso
em: 14 de fevereiro de 2015.
39
o conceito da tecnologia plug-and-play onde o usuário pode conectar um dispositivo
USB a um computador, ou outro equipamento de capacidade semelhante, e todo o
processo de inicialização e conexão é realizado automaticamente.
Ao longo dos anos o protocolo passou por diversas atualizações, partindo do
USB 1.0, com taxas de transmissão de 1.5 Mbit/s a 12 Mbit/s, em seguida o USB 2.0,
com taxas que alcançam até 480 Mbit/s, e mais recentemente foi concebido o USB
3.0 com altas taxas de transmissão, chegando a 5 Gbit/s.
Este protocolo opera no modo half-duplex e a codificação dos estados lógicos
é do tipo NRZI.
Na topologia de uma rede USB são considerados quatro elementos: o
host, o root hub, o hub e os periféricos. Segundo Messias (2007) host é o dispositivo
responsável por inicializar e gerenciar processos como detecção e remoção de
periféricos, controle do fluxo de dados, fornecimento de alimentação para os
periféricos e monitoramento dos sinais no barramento USB. Já os hubs são os
dispositivos que fornecem portas físicas adicionais e alimentação para os periféricos
conectados, permitindo ampliar a rede USB. O root hub é a porta física principal
presente no host.
Meio físico e conectores
O meio físico é constituído de 4 linhas, sendo duas para alimentação, o Vbus
com +5V e o GND (terra), e um par trançado de fios com as linhas de dados D+ e D-.
As cores padronizadas dos fios são: preto para o GND, vermelho para o Vbus, verde
e branco para o D- e D+ respectivamente.
40
Figura 30: Conector USB, designação dos pinos e cores dos fios
correspondentes. [Fonte: Adaptado de SuperUser8
]
Existem diversos conectores padronizados, entre eles tem-se o USB tipo A, tipo
B, Mini-A, Mini-B, Micro-AB, Micro-B. Os conectores do tipo A são utilizados nas portas
dos host ou hubs, já o tipo B é utilizado nas portas dos periféricos.
Figura 31. Conector DB9 fêmea. [Fonte: Adaptado de Greenlightgo9
]
8
Disponível em: < http://superuser.com/questions/448722/can-i-safely-connect-the-power-
only-end-of-a-usb-y-cable-to-an-other-power-source >, acesso em: 14 de fevereiro de 2015.
9
Disponível em: < http://greenlightgo.org/education/courses/engr101fall2014/
2014/10/10/human-factors-mw-1430-landon-duke >, acesso em: 14 de fevereiro de 2015.
41
Codificação NRZI
Toda a troca de dados em uma comunicação USB é feita pelo código NRZI. O
NRZI (Non-Return to Zero Inverted) é um tipo de codificação que designa o estado
lógico 1 como uma transição qualquer de subida ou descida do sinal, enquanto o
estado lógico 0 é designado como a ausência de transições. A figura 32, ilustra esta
codificação:
Figura 32. Sinal codificado em NRZI. [Fonte: Adaptado de Hertfordshire10
]
Endpoint, Pipe e tipos de transferência de dados
Um endpoint é uma região de memória no periférico que armazena todos os
dados relacionados ao protocolo USB. Estes dados podem ser: número de série,
fabricante, classe, velocidade, tipo de transferência, nome do produto entre outras
características. Já o pipe é um canal de dados virtual, que faz a associação entre um
endpoint no dispositivo e um software gerenciador no host.
Quanto ao tipo de transferências de dados, são definidas quatro formas:
Control, Bulk, Interrupt e Isochronous. O tipo Control é utilizado para realizar a
configuração de um dispositivo que é conectado pela primeira vez. O tipo Bulk é
utilizado quando é necessária a transferência de grandes quantidades de dados,
garantindo a integridade dos dados por meio da verificação de erros. O tipo Interrupt
é utilizado por dispositivos que realizam transferências de dados em pequenas
10 Disponível em: < http://homepages.herts.ac.uk/~comqrgd/docs/network-notes/network-
notes-node4.html >, acesso em: 14 de fevereiro de 2015.
42
quantidades e com pouca frequência, tais como, mouses e teclados. E o tipo
Isochronous é utilizado para a transferência de grandes quantidades de dados, de
forma contínua, com velocidade mais alta, e sem a necessidade da verificação de
erros. Esta última forma é utilizada geralmente para transmissões dados do tipo áudio
ou vídeo.
Pacotes de dados do protocolo USB
Conforme descrito por Messias(2007) As transferências de dados no protocolo
USB são sempre iniciadas e gerenciadas pelo Host, e todo o processo é feito através
de pacotes, sendo o primeiro destes o Token que descreve o que será enviado no
pacote seguinte, e se a mensagem deverá ser lida ou escrita, o pacote Data que
contém os dados úteis e por fim o pacote Handshake que sinaliza se houve ou não
sucesso na operação.
Descritores
É um grupo de dados acerca de um dispositivo USB que dão ao Host diversas
informações sobre o dispositivo como número de endpoints, tipo de transferência,
número de série, fabricante, tipo de dispositivo, etc. No processo de enumeração o
host realiza a solicitação dos descritores, de modo a identificar o dispositivo e suas
características, e então estabelecer a comunicação entre ambos.
Classes
No protocolo USB os dispositivos que possuem características em comum são
agrupados em classes. Isso permite em muitos casos a reutilização de software, de
modo que os drivers utilizados para um dispositivo possam ser utilizados por outro
pertencente a mesma classe com poucas modificações.
Os tipos de classes mais comuns são: Audio Device Class (ADC), Human
Interface Device (HID), Mass storage Class (MSC), Custom Class, Communication
Device Class(CDC).
A classe ADC é usada para troca de dados de áudio. A HID é geralmente
utilizada em mouses e teclado para trocas de dados simples e não frequentes. A MSC
é utilizada para dispositivos como cartões de memória e pen-drives. Já a Custom
Class é utilizada para implementar novos dispositivos USB.
43
A classe CDC, contém as especificações para dispositivos de comunicação.
Estes dispositivos podem ser telefones, modems, etc. Esta classe prevê também a
emulação de portas seriais virtuais, que tem grande importância quando há a
necessidade de se conectar equipamentos que se comunicam através do protocolo
RS-232. Neste caso o driver USB CDC do dispositivo poderá emular uma porta serial
no computador que contém o host, e a aplicação que se comunica com o dispositivo
poderá se comunicar através do protocolo RS-232, diminuindo a complexidade do
software.
Enumeração
Enumeração corresponde ao processo de conexão, solicitação e leitura de
descritores e atribuição de um endereço para o dispositivo. No final do processo o
dispositivo se encontrará configurado e pronto para se comunicar. A enumeração lida
também com o processo de desconexão de um dispositivo.
3.15.4. Microchip Libraries Application
A Microchip Technology Inc. dispõe de uma biblioteca de aplicações que
contém códigos-fonte e arquivos de cabeçalho para uma grande diversidade de
projetos, abrangendo toda a família PIC. Estes projetos lidam com interfaces gráficas,
escrita e leitura de arquivos, criptografia, protocolo USB, protocolo TCP/IP, entre
outros. Neste pacote ainda vem incluso diversos drivers e aplicativos que funcionam
em conjunto com cada projeto.
A biblioteca e os projetos de comunicação USB disponíveis, são
particularmente importantes para este trabalho, uma vez que fornecem as classes,
funções e drivers necessários para implementar dispositivos USB da classe CDC,
permitindo emular portas COM virtuais no sistema operacional Windows.
3.16. Motores de Passo
Os motores de passo são máquinas elétricas cuja rotação é feita em variações
angulares discretas, através da aplicação de pulsos elétricos sequenciais em cada
44
fase de seu estator. A velocidade de rotação do rotor é diretamente proporcional a
frequência dos pulsos aplicados no estator.
Figura 33. Motores de passo. [Fonte: Manutenção & Suprimentos11
]
Estes motores são utilizados principalmente em aplicações que requeiram
posicionamento preciso e sincronismo, a partir de um controle em malha aberta. São
amplamente empregados nas áreas de robótica e automação industrial, e são
encontrados em equipamentos como impressoras, scanners, câmeras, robôs e
sistemas de posicionamento. Quanto a resolução angular, é possível encontrar
motores com passos de 0.9°, 1.8°, 3.6°, entre outros, chegando até valores de 90° por
passo.
Princípio de funcionamento
Os motores de passo são constituídos basicamente de um estator com
enrolamentos de excitação e um rotor que pode ser composto de saliências
espaçadas uniformemente ou imãs permanentes. O conjugado é produzido pela
tendência do rotor em se alinhar com o campo produzido pela fase excitada. Um
exemplo simplificado de funcionamento é mostrado na figura 34, abaixo:
11
Disponível em: < http://www.manutencaoesuprimentos.com.br/conteudo/5899-motores-de-
passo >, acesso em: 14 de fevereiro de 2015.
45
Figura 34: Funcionamento simplificado de um motor de passo. [Fonte:
Adaptado de Savage12
]
Na figura 34 é possível ver um diagrama conceitual de um motor de passo, cujo
rotor é constituído de um imã permanente que se alinha com o campo magnético
produzido por uma fase do estator.
Formas construtivas
Segundo Fitzgerald (2003) existe uma grande variedade de formas construtivas
de motores de passo, sendo que as principais são: os motores de relutância variável,
de imã permanente e híbridos.
Nos motores de passo de relutância variável o estator possui pólos magnéticos
salientes enquanto o rotor é constituído de lâminas de aço-silício empilhadas. O rotor
possui também diversas saliências longitudinais que atuam como caminhos de baixa
relutância para o fluxo magnético. Sendo assim quando um enrolamento é excitado,
o rotor tende a se alinhar em uma direção que minimize a relutância entre dois pólos
opostos do estator. Na figura 35 é mostrado o esquema de um motor de passo de
relutância variável, onde a fase B é excitada, produzindo um campo magnético entre
12
Disponível em: < http://www.savagehomeautomation.com/projects/raspberry-pi-stepper-
motor-control-breakout-board.html >, acesso em: 14 de fevereiro de 2015.
46
os pólos B e B’, o que resulta no alinhamento das saliências 3 e 6 do rotor, que formam
o caminho magnético de baixa relutância.
Figura 35. Motor de passo de relutância variável. [Fonte: Adaptado de EEP13
]
Já nos motores de imã permanente o rotor é constituído de imãs permanentes,
sendo que quando uma das fases do estator é acionada os imãs tendem a alinhar seu
campo magnético com o campo produzido. São motores de baixa resolução, podendo
ser encontrados com passos de 7,5° a 15°.
Figura 36. Motor de passo de relutância variável. [Fonte: Adaptado de Electrical
Engineering Assignment14
]
13
Disponível em:< http://electrical-engineering-portal.com/few-words-about-stepper-motor-
advantages-disadvantages-and-classification >, acesso em: 15 de fevereiro de 2015.
14
Disponível em:< http://www.electrical-engineering-assignment.com/construction-and-
working-2 >, acesso em: 15 de fevereiro de 2015.
47
O terceiro tipo, o motor de passo híbrido, combina as vantagens dos motores
de relutância variável e imã permanente. Seu rotor é constituído de dois corpos
cilíndricos, ferromagnéticos, com saliências que permitem a formação de um caminho
magnético bem definido. No interior do rotor é colocado um imã permanente de tal
modo que cada corpo cilíndrico tenha uma polaridade magnética diferente. Além disso
as saliências de um corpo se encontram deslocadas em relação as saliências do outro
corpo, sendo que esse ângulo de deslocamento corresponde ao valor de dois passos.
Já no estator os pólos salientes possuem também ressaltos, que ajudam na condução
do fluxo magnético para cada saliência do rotor. A figura 37 ilustra a estrutura descrita:
Figura 37. Motor de passo Híbrido. [Fonte: Adaptado de McComb15
]
Tendo essas características em vista, quando se excita uma fase do estator,
cada saliência do rotor, que formam pequenos pólos, tenderão a se alinhar com os
ressaltos do estator, produzindo então o conjugado.
15
Disponível em:< http://www.microchip.com/stellent/groups/SiteComm_sg/documents/
DeviceDoc/en543047.pdf >, acesso em: 15 de fevereiro de 2015.
48
Figura 38. Motor de passo Híbrido. [Fonte: Adaptado de PCBheaven16
]
Ligações elétricas do estator
Os motores de passo, quanto a ligação do estator, podem ser bipolares ou
unipolares. Conforme Os motores bipolares possuem somente um enrolamento para
cada fase, sendo necessária a inversão da corrente para inverter o sentido de rotação
do motor. Já os motores unipolares possuem dois enrolamentos por fase, um para
cada sentido de rotação. Neste último caso há sempre um fio em comum aos dois
enrolamentos de uma fase. (BRITES et al., 2008)
A ligação bipolar permite obter torques maiores, uma vez que a ligação unipolar
divide o enrolamento de uma fase em duas partes, através do fio comum, o que reduz
a indutância pela metade. Por outro lado a ligação unipolar permite que o acionamento
seja feito por um hardware mais simples.
16
Disponível em:< http://www.pcbheaven.com/wikipages/How_Stepper_Motors_Work >,
acesso em: 15 de fevereiro de 2015.
49
Figura 39. Tipos de ligações. À esquerda um motor bipolar de 2 fases e 4 fios.
À direita um motor unipolar de 2 fases e 6 fios. [Fonte: Adaptado de McComb17
]
Sequência de acionamento de fases
Para que o rotor dos motores de passo se desloque de modo uniforme é
necessário seguir uma sequência de acionamento. Tomando como base a
nomenclatura da figura 39, os sinais aplicados as fases do estator devem ter a
seguinte ordem, mostrada nas figuras 40 e 41 abaixo:
Figura 40. Sequência de acionamento, com uma fase por vez. [Fonte:
Adaptado de Neoyama (2014)]
17
Disponível em:< http://www.likomotor.com/en/_default_v72.aspx >, acesso em: 15 de
fevereiro de 2015.
50
Figura 41. Sequência de acionamento, com duas fases simultaneamente.
[Fonte: Adaptado de Neoyama (2014)]
O sinal “+” na tabela representa uma tensão positiva aplicada no terminal
correspondente.
As figuras 40 e 41 mostram dois modos de acionamentos, válidos tanto para
motores bipolares, como para unipolares. No primeiro, somente uma fase é acionada
por vez, na sequência especificada, e no segundo temos duas fases sendo acionadas
simultaneamente. Ambos produzirão a rotação do motor, porém no segundo caso o
torque produzido é maior, o que acarreta também um consumo maior de corrente.
3.17. Método de interpolação de movimentos utilizando motores de
passo
Um dos problemas relativos a mesa móvel diz respeito não só ao projeto e
construção, como também a forma como a mesa deve se movimentar e como deve
ser feito o controle das trajetórias utilizando motores de passo. Tendo a vista a solução
deste problema, uma das possíveis referências se encontram na indústria e as
tecnologias utilizadas para sistemas de posicionamento. Uma área que fornece
soluções para este tipo de problema é denominada Motion Control. As tecnologias e
métodos utilizados por esta área, são amplamente utilizados na indústria e constituem
uma valiosa referência para o desenvolvimento de sistemas de posicionamento, tal
como a mesa móvel desenvolvida neste trabalho.
51
3.17.1. Motion Control
O controle de movimentos, ou Motion Control como é mais conhecido na
indústria, é uma das áreas da automação industrial que trata do controle de posição,
velocidade e aceleração de mecanismos acionados por atuadores hidráulicos,
pneumáticos ou elétricos. Esta área porém lida com movimentos de média
complexidade, aplicada em mecanismos e planejamento de trajetórias mais simples
do que aqueles encontrados nas área de robótica industrial ou mesmo em máquinas
CNC. (SCHNEIDER, 2014)
A figura 42 abaixo, expressa graficamente o nível de complexidade e os tipos
de mecanismos que são acionados:
Figura 42. Área de aplicação do motion control industrial. [Fonte: SCHNEIDER,
2014]
52
Arquitetura
A arquitetura típica de um sistema de motion control é mostrada abaixo, na
figura 43:
Figura 43. Arquitetura típica de um sistema de motion control industrial. [Fonte:
Adaptado de EETimes18
]
Conforme mostrado a arquitetura é composta basicamente de um controlador,
os amplificadores, atuadores, e sensores.
O controlador tem a função de processar as ordens recebidas de um
controlador mestre, processar os sinais de realimentação, realizar o cálculo das
trajetórias e gerar os sinais de controle para a etapa seguinte.
Os amplificadores ou drivers, constituem a etapa de potência do sistema, sendo
responsáveis por acionar diretamente os atuadores fornecendo a potência que
necessitam.
Os atuadores são os responsáveis por movimentar o mecanismo que se
desejar acionar. Podem ser atuadores hidráulicos, pneumáticos ou elétricos, contudo,
a maioria dos sistemas de motion control são dedicados a motores elétricos.
18
Disponível em:< http://www.eetimes.com/document.asp?doc_id=1272319 >, acesso em: 15
de fevereiro de 2015.
53
Tipos de movimento
Na área de motion control os tipos de movimentos mais comuns são o ponto-
a-ponto, interpolação linear e interpolação circular.
O movimento ponto-a-ponto, como o próprio nome diz, é executado ponto por
ponto, em passos. Segundo Ardayfio (1987) Há três formas usuais de se realizar este
tipo de movimento. No primeiro modo somente um eixo é movimentado por vez, até
que se atinja o ponto desejado. Na segundo modo cada eixo é movimento para sua
coordenada final sem haver coordenação, de modo que, se algum dos eixos atingir
sua coordenada primeiro, ele ficará imobilizado até os outros alcançarem sua posição
final. E no terceiro modo, os eixos são coordenados de forma que atinjam
simultaneamente a posição final
Já a interpolação linear é um método mais sofisticado onde os movimentos de
cada eixo são coordenados de modo que a trajetória seja realmente linear com
velocidade controlada.
E por fim na interpolação circular, são percorridas trajetórias em arco ou em um
círculo. A partir das posições inicial e final, e da posição do centro de curvatura, é
gerada uma trajetória e o eixos são movimentadas de forma coordenada, tal que se
atinja simultaneamente o ponto final.
3.17.2. Algoritmo de Interpolação Linear
A mesa móvel constituí um sistema de posicionamento de dois eixos lineares,
sendo acionados por dois motores de passo. O que resulta que todos os movimentos
são realizados de forma discreta, em passos. Neste sistema será utilizado somente
um microcontrolador para dois eixos, e dada a natureza sequencial deste controlador,
não é possível o acionamento simultâneo dos eixos. Neste contexto o tipo de
movimento que pode ser realizado pela mesa é ponto-a-ponto, conforme o primeiro
tipo descrito no item 3.1. Dentre as diversas possibilidades de se realizar este tipo de
movimento, tem-se o algoritmo de Bresenham, utilizado com sucesso por
Chiang(1994) na implementação de um sistema de controle de movimentos utilizando
motores de passo. Com esse algoritmo é possível implementar uma interpolação
linear com boa precisão utilizando uma série de pequenos movimentos ponto-a-ponto.
54
Algoritmo de Bresenham
O algoritmo de Bresenham é um algoritmo da área de computação gráfica, que
tem a função de desenhar retas da forma aproximada em matrizes de pixels. Foi criado
por Jack Elton Bresenham em 1965, cujo objetivo, segundo o próprio autor em
Bresenham (1965) era obter um algoritmo para o controle de posição de plotadoras
digitais.
Basicamente este algoritmo verifica qual pixel se encontra mais próximo da reta
a ser desenhada, assinalando esta posição.
Figura 44. Deteminação dos pontos de origem de cada pixel no algoritmo de
Bresenham. [Fonte: ZINGL,2012]
Sendo assim em cada passo é feita a comparação da distância da reta com o
ponto Pm. Se a reta ficar acima da metade da altura do pixel então o pixel acima da
reta é assinalado, caso contrário o pixel onde se encontra a reta é assinalado. Na
figura 44 como a reta ficou abaixo de Pm então o pixel com origem em Px foi
assinalado.
55
Neste algoritmo o eixo que possuir o maior número de passos é tomado como
referência, sendo incrementado a cada passo. Já o eixo secundário para ser
incrementado ou não, depende da comparação com o ponto médio, conforme
explanação do parágrafo anterior.
Interpolação linear utilizando o Algoritmo de Bresenham
Quando utilizado em sistemas de movimentação o algoritmo de Bresenham
pode fornecer uma trajetória aproximadamente linear, utilizando pequenos
movimentos ponto-a-ponto. Tomando como base a figura 44 e os pontos gerados pelo
algoritmo, é possível obter um perfil de movimentação conforme mostrado abaixo na
figura 45:
Figura 45. Interpolação linear utilizando o algoritmo de Bresenham. [Fonte:
Adaptado de ZINGL,2012]
No caso de um sistema de posicionamento utilizando motores de passo como
atuadores, pode-se verificar que quanto maior a resolução angular do motor, mais a
trajetória se aproximará de uma interpolação linear ideal.
56
4. Resultados
4.1. Mesa Móvel
Neste tópico são explanadas as etapas de projeto e construção da mesa móvel,
bem como as dificuldades encontradas na execução.
4.1.1. Projeto
O projeto foi inspirado em mesas X-Y de uso corrente na indústria, conforme
descrito no tópico 3.13 deste trabalho. Todo o desenvolvimento foi feito com o objetivo
de produzir um mecanismo estável, com precisão razoável, e que pudesse ser
facilmente confeccionado e montado nas dependências da oficina mecânica da
UFABC. Todos as peças possuem formatos simples e com tolerâncias dimensionais
de fácil obtenção. O material utilizado em sua maioria é o alumínio, que possui boa
usinabilidade, leveza e um custo menor se comparado ao aço.
O sistema é composto de uma base principal que dá suporte a mais duas
bases, sendo a base final a parte que se desloca em duas direções. Sobre a base
principal há dois barramentos redondos de aço trefilado, sobre os quais deslizam dois
mancais de nylon. O nylon garante um baixo coeficiente de atrito, combinado com uma
razoável rigidez que é característica deste material. Estes mancais servem também
de suporte a segunda base. Fixada a esta base há duas correias sincronizadoras, cuja
movimentação é feita através de um motor de passo com o eixo acoplado a duas
polias sincronizadoras. Sobre a segunda base há o mesmo conjunto descrito, com um
outro motor de passo realizando a movimentação.
Nas figuras 46, 47, 48 e 49 são mostradas algumas vistas do projeto da mesa
móvel desenvolvido no software CAD SolidWorks:
57
Figura 46: Vista em perspectiva da Mesa Móvel. [Fonte: Autor]
Figura 47. Vista frontal da Mesa Móvel. [Fonte: Autor]
58
Figura 48. Vista da lateral esquerda da Mesa Móvel. [Fonte: Autor]
Figura 49. Vista superior da Mesa Móvel. [Fonte: Autor]
Este conjunto foi projetado para possuir um curso máximo de 240 mm nas
direções x e y.
59
Para evitar colisões no fim do curso de movimentação são acoplados aos
suportes das guias, sensores mecânicos do tipo microswitch, de tal modo que próximo
do curso máximo, os mancais de nylon entrem em contato com o sensor gerando um
sinal de parada do motor de passo.
Todo o projeto das peças e do conjunto é de autoria própria, e os desenhos
técnicos se encontram no Apêndice A deste trabalho.
4.1.2. Confecção, montagem e resultado final
Após a finalização do projeto, todos os desenhos técnicos foram entregues aos
responsáveis da oficina mecânica da UFABC, juntamente com as matérias-primas,
necessárias a usinagem.
Todo o processo de confecção se desenvolveu sem maiores problemas,
havendo uma pequena dificuldade na usinagem dos mancais de nylon. O nylon é um
material de plástico de estrutura rígida e que se funde a baixas temperaturas. Resulta
que no momento da usinagem a retirada de cavacos é irregular devido a deformação
causada pela temperatura, gerada na fricção com a ferramenta. Então no momento
da operação manual de alargamento do furo principal, houve a formação sulcos
longitudinais neste furo. Estas irregularidades foram corrigidas com repasses da
ferramenta de alargamento.
Por fim todas as peças foram confeccionadas corretamente, de acordo com as
dimensões e tolerâncias especificadas no projeto.
A montagem também ocorreu sem maiores problemas, uma vez que o projeto
foi feito visando também a facilidade de montagem. Todos os componentes foram
fixados através de parafusos, porcas e arruelas.
Conforme o previsto as bases montadas sobre os barramentos exibiram um
baixo coeficiente de atrito, podendo ser deslocadas manualmente quando os motores
não estão acoplados.
A dificuldade encontrada foi no mecanismo de acoplamento entre o motor e o
eixo que suporta as polias. Como o sistema em si não possui uma alta precisão
dimensional e de posição, houveram pequenos desvios entre o eixo do motor e o eixo
60
de transmissão de movimento às polias. O acoplamento utilizado exibia também
folgas nos furos que amplificaram o desalinhamento dos eixos. Resultou que nos
testes, com o motor acoplado e acionado, todo o desalinhamento foi transmitido ao
eixo do motor que a cada volta ficava se deslocando de sua posição.
A solução encontrada foi a utilização de acoplamentos elásticos. Estes
acoplamentos são peças de alumínio que possuem o diâmetro de cada eixo a ser
acoplado e o seu corpo é cilíndrico, porém é fabricado com uma seção em forma
helicoidal que permite que este componente se comporte como uma mola. Na figura
50 é possível ver o acoplamento utilizado:
Figura 50. Acoplamento elástico utlizado. [Fonte: Autor]
Este formato permite que este componente compense tanto desalinhamentos
radiais como longitudinais. Sua aplicação no conjunto montado permitiu a
compensação dos desalinhamentos, tornando suave a transmissão de movimento do
motor para o eixo das polias.
Com relação aos atuadores, foram utilizados motores de passo híbridos, com
passos de 1.8°, do fornecedor Neoyama Ltda. O motor escolhido para movimentar a
base inferior, possui torque de 15 Kgf.cm, enquanto o outro motor possui torque de 10
Kgf.cm, uma vez que a carga do conjunto da base superior é menor.
A mesa móvel montada, incluindo os motores de passo é mostrada nas figuras
51 e 52 abaixo:
61
Figura 51. Vista em perspectiva da mesa móvel montada. [Fonte: Autor]
Figura 52. Vista superior da mesa móvel montada. [Fonte: Autor]
62
4.2. Circuitos Eletrônicos Controle e Potência
Neste tópico são explanadas as etapas de projeto dos circuitos eletrônicos e
montagem do protótipo, bem como as dificuldades encontradas durante os testes.
4.2.1. Projeto
O circuito eletrônico deste trabalho pode ser dividido basicamente em dois
módulos: módulo de controle e módulo de potência. O módulo de controle é
responsável por gerar os sinais de acionamento do motor de passo, na sequência
correta e também gerenciar a comunicação USB com o computador. Já o módulo de
potência, ou driver, amplifica os sinais de acionamento fornecendo a tensão e corrente
que os motores de passo necessitam.
Módulo de Controle
Este módulo é constituído de microcontrolador, regulador de tensão, oscilador
e conector USB.
O regulador de tensão é primordial para oferecer uma tensão de 5V para a
alimentação do microcontrolador e suas entradas e saídas. Já o oscilador é composto
de um cristal piezoelétrico associado a capacitores cerâmicos, cuja função é fornecer
o sinal de clock para o microcontrolador para a realização de todas as tarefas. O sinal
fornecido é de 20 Mhz neste projeto.
Para permitir que este módulo se comunique com o computador, é ligado à
saída USB do microcontrolador um conector USB fêmea do tipo B, semelhante ao
mostrado na figura 41.
Módulo de Potência
Este módulo é constituído de optoacopladores, transistores bipolares, diodos e
resistores de potência.
Com a finalidade de isolar eletricamente o módulo de interface do módulo de
potência, são empregados nas entradas do módulo de potência dezesseis
optoacopladores. Estes componentes realizam a interface entre a etapa de potência
e controle, eliminando boa parte das interferências que poderiam se propagar para o
63
circuito de controle além de evitar possíveis surtos de corrente ou tensão nas saídas
do microcontrolador, que possivelmente levariam o elemento à queima.
Já os transistores, diodos e resistores de potência são empregados nas
denominada pontes H que alimentam as fases dos motores de passo. A ponte H é um
conjunto de 4 chaves que permite fornecer corrente nos dois sentidos para um
elemento conectado no centro da ponte. As chaves são acionadas em pares, sendo
um par de chaves para cada sentido de corrente. Neste circuito os transistores
bipolares são polarizados na região de saturação atuando portanto como as chaves.
Como o elemento a ser acionado pela ponte H é uma indutância, então quando
for feita a comutação dos transistores para inverter a corrente, a indutância produzirá
sobre o transistor, entre o coletor e o emissor, uma força contra-eletromotriz que
impedirá a variação brusca de corrente. Se os terminais do transistor forem
diretamente submetidos a esta tensão de grande magnitude, com uma corrente
remanescente grande, então a dissipação de calor no elemento será alta, podendo
levar a queima do transistor. Para resolver isto são utilizados diodos em paralelo com
os transistores, os denominados de diodos roda-livre, que fornecem um caminho de
baixa resistência para a corrente remanescente, livrando o transistor da alta
dissipação de calor. Estes diodos são ligados de modo que fiquem inversamente
polarizados em relação a tensão de alimentação.
Já os resistores de potência são utilizados na entrada das pontes H para
suportar a alta dissipação de calor de calor devido as correntes elevadas. Conforme
os testes realizados, a corrente registrada na entrada de uma das pontes H utilizadas,
chegou a 3 A aproximadamente, sendo que os resistores utilizados possuem 2,2 Ω,
isso resulta em uma potência dissipada de 6,6 W. Para efeito de comparação um
resistor comum de carvão tem a capacidade de dissipar sem queimar, até 3W no
modelo com maior capacidade de potência. Os resistores de potência utilizados neste
projeto são do tipo fio, e tem a capacidade de dissipar até 25W.
64
4.2.2. Lista de Materiais
Abaixo na tabela 1 são mostrados todos os materiais utilizados na montagem
do protótipo eletrônico bem como as designações utilizadas no projeto:
Tabela 1: Lista de componentes do projeto eletrônico.
[Fonte: Autor]
Todo os desenhos técnicos dos circuitos são de autoria própria e se encontram
no Apêndice B deste trabalho.
4.2.3. Montagem
O protótipo do circuito foi montado sobre uma protoboard e os resistores de
potência e diodos foram montados em bornes devido ao tamanho dos mesmos.
Abaixo na figura 52 é mostrada a foto do protótipo montado:
65
Figura 53. Protótipo montado sobre protoboard. [Fonte: Autor]
Nos testes realizados as correntes obtidas foram de cerca de 2,5 A por motor
acionado, conforme figura 53 abaixo:
Figura 54. Corrente consumida para um eixo acionado. [Fonte: Autor]
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional
TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional

Contenu connexe

Tendances

Introdução à pneumática - aula 01
Introdução à pneumática - aula 01Introdução à pneumática - aula 01
Introdução à pneumática - aula 01Rodrigo Lobo
 
Apostila comando num rico computadorizado - (senai-sp)
Apostila   comando num rico computadorizado - (senai-sp)Apostila   comando num rico computadorizado - (senai-sp)
Apostila comando num rico computadorizado - (senai-sp)pedrolaro
 
Simbologia hidraulica e pneumatica
Simbologia hidraulica e pneumaticaSimbologia hidraulica e pneumatica
Simbologia hidraulica e pneumaticaCris Cazco
 
Matlab - Conceitos Básicos
Matlab - Conceitos BásicosMatlab - Conceitos Básicos
Matlab - Conceitos BásicosRodolfo Almeida
 
Engrenagem teoria completa
Engrenagem teoria completaEngrenagem teoria completa
Engrenagem teoria completaRonan Mattedi
 
(2) apostila clp completa
(2) apostila clp completa(2) apostila clp completa
(2) apostila clp completaMarcus Paiva
 
Montagem de parafusos, porcas e arruelas
Montagem de parafusos, porcas e arruelasMontagem de parafusos, porcas e arruelas
Montagem de parafusos, porcas e arruelasFábio Kränkel
 
Beneficios da micro_filtragem
Beneficios da micro_filtragemBeneficios da micro_filtragem
Beneficios da micro_filtragemNatanael Carvalho
 
Madeiras Brasileiras para Luteria
Madeiras Brasileiras para LuteriaMadeiras Brasileiras para Luteria
Madeiras Brasileiras para LuteriaGabriel Vandresen
 
Apostila química aplicada (petrobras)
Apostila química aplicada (petrobras)Apostila química aplicada (petrobras)
Apostila química aplicada (petrobras)Sayonara Silva
 
Tabelas para ajustes de eixos e furos
Tabelas para ajustes de eixos e furosTabelas para ajustes de eixos e furos
Tabelas para ajustes de eixos e furosalexcavichiolli
 
RELATÓRIO DE AULA PRÁTICA: DESTILAÇÃO FRACIONADA E PONTO DE EBULIÇÃO
RELATÓRIO DE AULA PRÁTICA: DESTILAÇÃO FRACIONADA E PONTO DE EBULIÇÃORELATÓRIO DE AULA PRÁTICA: DESTILAÇÃO FRACIONADA E PONTO DE EBULIÇÃO
RELATÓRIO DE AULA PRÁTICA: DESTILAÇÃO FRACIONADA E PONTO DE EBULIÇÃOEzequias Guimaraes
 
Relatório Potenciometria
Relatório PotenciometriaRelatório Potenciometria
Relatório PotenciometriaLuaneGS
 
Manual da Central Placa para Portão Automático Modelo AC-4 "acton"
Manual da Central Placa para Portão Automático Modelo AC-4 "acton"Manual da Central Placa para Portão Automático Modelo AC-4 "acton"
Manual da Central Placa para Portão Automático Modelo AC-4 "acton"Luiz Avelar
 
Borrachas de silicone
Borrachas de siliconeBorrachas de silicone
Borrachas de siliconeBorrachas
 
Clp [automação residencial com clp]
Clp [automação residencial com clp]Clp [automação residencial com clp]
Clp [automação residencial com clp]Josemar Pereira
 
Apostila transmissão calor (petrobras)
Apostila transmissão calor (petrobras)Apostila transmissão calor (petrobras)
Apostila transmissão calor (petrobras)Sayonara Silva
 

Tendances (20)

Introdução à pneumática - aula 01
Introdução à pneumática - aula 01Introdução à pneumática - aula 01
Introdução à pneumática - aula 01
 
Apostila comando num rico computadorizado - (senai-sp)
Apostila   comando num rico computadorizado - (senai-sp)Apostila   comando num rico computadorizado - (senai-sp)
Apostila comando num rico computadorizado - (senai-sp)
 
Apostila clp
Apostila clpApostila clp
Apostila clp
 
Simbologia hidraulica e pneumatica
Simbologia hidraulica e pneumaticaSimbologia hidraulica e pneumatica
Simbologia hidraulica e pneumatica
 
Biossensores EnzimáTicos
Biossensores EnzimáTicosBiossensores EnzimáTicos
Biossensores EnzimáTicos
 
Matlab - Conceitos Básicos
Matlab - Conceitos BásicosMatlab - Conceitos Básicos
Matlab - Conceitos Básicos
 
Engrenagem teoria completa
Engrenagem teoria completaEngrenagem teoria completa
Engrenagem teoria completa
 
(2) apostila clp completa
(2) apostila clp completa(2) apostila clp completa
(2) apostila clp completa
 
Montagem de parafusos, porcas e arruelas
Montagem de parafusos, porcas e arruelasMontagem de parafusos, porcas e arruelas
Montagem de parafusos, porcas e arruelas
 
Beneficios da micro_filtragem
Beneficios da micro_filtragemBeneficios da micro_filtragem
Beneficios da micro_filtragem
 
Madeiras Brasileiras para Luteria
Madeiras Brasileiras para LuteriaMadeiras Brasileiras para Luteria
Madeiras Brasileiras para Luteria
 
Apostila química aplicada (petrobras)
Apostila química aplicada (petrobras)Apostila química aplicada (petrobras)
Apostila química aplicada (petrobras)
 
Tabelas para ajustes de eixos e furos
Tabelas para ajustes de eixos e furosTabelas para ajustes de eixos e furos
Tabelas para ajustes de eixos e furos
 
RELATÓRIO DE AULA PRÁTICA: DESTILAÇÃO FRACIONADA E PONTO DE EBULIÇÃO
RELATÓRIO DE AULA PRÁTICA: DESTILAÇÃO FRACIONADA E PONTO DE EBULIÇÃORELATÓRIO DE AULA PRÁTICA: DESTILAÇÃO FRACIONADA E PONTO DE EBULIÇÃO
RELATÓRIO DE AULA PRÁTICA: DESTILAÇÃO FRACIONADA E PONTO DE EBULIÇÃO
 
Relatório Potenciometria
Relatório PotenciometriaRelatório Potenciometria
Relatório Potenciometria
 
Manual da Central Placa para Portão Automático Modelo AC-4 "acton"
Manual da Central Placa para Portão Automático Modelo AC-4 "acton"Manual da Central Placa para Portão Automático Modelo AC-4 "acton"
Manual da Central Placa para Portão Automático Modelo AC-4 "acton"
 
Apostila pneu-130830055817-phpapp01
Apostila pneu-130830055817-phpapp01Apostila pneu-130830055817-phpapp01
Apostila pneu-130830055817-phpapp01
 
Borrachas de silicone
Borrachas de siliconeBorrachas de silicone
Borrachas de silicone
 
Clp [automação residencial com clp]
Clp [automação residencial com clp]Clp [automação residencial com clp]
Clp [automação residencial com clp]
 
Apostila transmissão calor (petrobras)
Apostila transmissão calor (petrobras)Apostila transmissão calor (petrobras)
Apostila transmissão calor (petrobras)
 

Similaire à TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional

Tcc final fernandopolastrini_2016_ee-
Tcc final fernandopolastrini_2016_ee-Tcc final fernandopolastrini_2016_ee-
Tcc final fernandopolastrini_2016_ee-Dyego Torres
 
Desenvolvimento de-robo-movel (1)
Desenvolvimento de-robo-movel (1)Desenvolvimento de-robo-movel (1)
Desenvolvimento de-robo-movel (1)Levi Germano
 
Visão artificial
Visão artificialVisão artificial
Visão artificialPedrolobo8
 
Visao computacional aplicada em um braco robotico didatico
Visao computacional aplicada em um braco robotico didaticoVisao computacional aplicada em um braco robotico didatico
Visao computacional aplicada em um braco robotico didaticodjeily
 
Controladores programaveis--estudo-e-aplicacao
Controladores programaveis--estudo-e-aplicacaoControladores programaveis--estudo-e-aplicacao
Controladores programaveis--estudo-e-aplicacaoMário Bassoli
 
ANÁLISE DE ECONOMIA ENERGÉTICA COM A INSTALAÇÃO DE SENSORES DE PRESENÇA EM BA...
ANÁLISE DE ECONOMIA ENERGÉTICA COM A INSTALAÇÃO DE SENSORES DE PRESENÇA EM BA...ANÁLISE DE ECONOMIA ENERGÉTICA COM A INSTALAÇÃO DE SENSORES DE PRESENÇA EM BA...
ANÁLISE DE ECONOMIA ENERGÉTICA COM A INSTALAÇÃO DE SENSORES DE PRESENÇA EM BA...JadsondosSantosSilva1
 
Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores UmbertoXavierdaSilva
 
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLar
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLarDesenvolvimento de Produto para Automação Residencial com Sistema DroidLar
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLarBruno Silva
 
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...Ramon Santos
 
Gps wi fi para ambientes fechados (indoor)
Gps wi fi para ambientes fechados (indoor)Gps wi fi para ambientes fechados (indoor)
Gps wi fi para ambientes fechados (indoor)Ricardo Francoti
 
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRTMarcelo Santana Camacho
 
Interconexão de Redes.pdf
Interconexão de Redes.pdfInterconexão de Redes.pdf
Interconexão de Redes.pdfOs Fantasmas !
 
Manual Técnico do Scanner AVISION AV3750 e AV3850
Manual Técnico do Scanner AVISION AV3750 e AV3850Manual Técnico do Scanner AVISION AV3750 e AV3850
Manual Técnico do Scanner AVISION AV3750 e AV3850Justo Dantas
 
Sistema tintométrico tcc senai Carlos Henrique Borges
Sistema tintométrico tcc senai   Carlos Henrique BorgesSistema tintométrico tcc senai   Carlos Henrique Borges
Sistema tintométrico tcc senai Carlos Henrique BorgesCarlos Henrique Borges
 
Livro - Projeto, Desempenho e Aplicacoes de Sistemas Digitais em FPGAs
Livro - Projeto, Desempenho e Aplicacoes de Sistemas Digitais em FPGAsLivro - Projeto, Desempenho e Aplicacoes de Sistemas Digitais em FPGAs
Livro - Projeto, Desempenho e Aplicacoes de Sistemas Digitais em FPGAsEdward David Moreno
 

Similaire à TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional (20)

Relatório técnico i fc 29-07
Relatório técnico i   fc 29-07Relatório técnico i   fc 29-07
Relatório técnico i fc 29-07
 
Tcc final fernandopolastrini_2016_ee-
Tcc final fernandopolastrini_2016_ee-Tcc final fernandopolastrini_2016_ee-
Tcc final fernandopolastrini_2016_ee-
 
Desenvolvimento de-robo-movel (1)
Desenvolvimento de-robo-movel (1)Desenvolvimento de-robo-movel (1)
Desenvolvimento de-robo-movel (1)
 
Automação residencial
Automação residencialAutomação residencial
Automação residencial
 
Visão artificial
Visão artificialVisão artificial
Visão artificial
 
Visao computacional aplicada em um braco robotico didatico
Visao computacional aplicada em um braco robotico didaticoVisao computacional aplicada em um braco robotico didatico
Visao computacional aplicada em um braco robotico didatico
 
Controladores programaveis--estudo-e-aplicacao
Controladores programaveis--estudo-e-aplicacaoControladores programaveis--estudo-e-aplicacao
Controladores programaveis--estudo-e-aplicacao
 
Monografia Arduino
Monografia ArduinoMonografia Arduino
Monografia Arduino
 
ANÁLISE DE ECONOMIA ENERGÉTICA COM A INSTALAÇÃO DE SENSORES DE PRESENÇA EM BA...
ANÁLISE DE ECONOMIA ENERGÉTICA COM A INSTALAÇÃO DE SENSORES DE PRESENÇA EM BA...ANÁLISE DE ECONOMIA ENERGÉTICA COM A INSTALAÇÃO DE SENSORES DE PRESENÇA EM BA...
ANÁLISE DE ECONOMIA ENERGÉTICA COM A INSTALAÇÃO DE SENSORES DE PRESENÇA EM BA...
 
Monografia ifes-everton-bada
Monografia ifes-everton-badaMonografia ifes-everton-bada
Monografia ifes-everton-bada
 
Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores Desenvolvimento de um Sistema de Controle para Quadrirrotores
Desenvolvimento de um Sistema de Controle para Quadrirrotores
 
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLar
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLarDesenvolvimento de Produto para Automação Residencial com Sistema DroidLar
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLar
 
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
TCC: Avaliação de Dependabilidade e Análise de Sensibilidade de uma Plataform...
 
Gps wi fi para ambientes fechados (indoor)
Gps wi fi para ambientes fechados (indoor)Gps wi fi para ambientes fechados (indoor)
Gps wi fi para ambientes fechados (indoor)
 
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 
Interconexão de Redes.pdf
Interconexão de Redes.pdfInterconexão de Redes.pdf
Interconexão de Redes.pdf
 
Manual Técnico do Scanner AVISION AV3750 e AV3850
Manual Técnico do Scanner AVISION AV3750 e AV3850Manual Técnico do Scanner AVISION AV3750 e AV3850
Manual Técnico do Scanner AVISION AV3750 e AV3850
 
Sistema tintométrico tcc senai Carlos Henrique Borges
Sistema tintométrico tcc senai   Carlos Henrique BorgesSistema tintométrico tcc senai   Carlos Henrique Borges
Sistema tintométrico tcc senai Carlos Henrique Borges
 
TCC-BrunoAzevedoCosta
TCC-BrunoAzevedoCostaTCC-BrunoAzevedoCosta
TCC-BrunoAzevedoCosta
 
Livro - Projeto, Desempenho e Aplicacoes de Sistemas Digitais em FPGAs
Livro - Projeto, Desempenho e Aplicacoes de Sistemas Digitais em FPGAsLivro - Projeto, Desempenho e Aplicacoes de Sistemas Digitais em FPGAs
Livro - Projeto, Desempenho e Aplicacoes de Sistemas Digitais em FPGAs
 

TG TCC AUTOMAÇÃO UFABC - Operação Remota de Mesa Móvel utilizando Visão Computacional

  • 1. UNIVERSIDADE FEDERAL DO ABC Wilson Silva Sousa OPERAÇÃO REMOTA DE MESA MÓVEL UTILIZANDO VISÃO COMPUTACIONAL Trabalho de Graduação de Engenharia de Instrumentação, Automação e Robótica Aluno: Wilson Silva Sousa Prof° Orientadora: Dra. Elvira Rafikova - Santo André, 2015 -
  • 2. Wilson Silva Sousa OPERAÇÃO REMOTA DE MESA MÓVEL UTILIZANDO VISÃO COMPUTACIONAL Trabalho de Graduação apresentado a Universidade Federal do ABC, como requisito parcial para obtenção do diploma no curso de graduação em Engenharia de Instrumentação, Automação e Robótica. Orientadora: Profª Dra. Elvira Rafikova - Santo André, 2015 -
  • 3. AGRADECIMENTOS A Deus, pela oportunidade de viver, pensar, realizar e amar. À minha família, por todo o apoio durante esta jornada. Aos amigos e familiares, que com boa vontade me auxiliaram neste trabalho. À minha orientadora, por ter acreditado neste projeto. E a todos aqueles que, durante esses anos, acompanharam de perto esta caminhada, oferecendo seu apoio e muitas vezes sua compreensão.
  • 4. OPERAÇÃO REMOTA DE MESA MÓVEL UTILIZANDO VISÃO COMPUTACIONAL Wilson Silva Sousa Março / 2015 Orientadora: Profª Dra. Elvira Rafikova RESUMO Por questões de segurança e ergonomia, seja na indústria ou em outras áreas, por diversas vezes se torna necessário operar mecanismos remotos, situados em ambientes perigosos, inacessíveis ou distantes. Nestes casos o operador atuante geralmente utiliza equipamentos portáteis dotados de botões, joystick’s, interfaces gráficas ou outros meios que possibilitem controlar movimentos. Visando propor uma forma alternativa de controle remoto de sistemas de movimentação, é desenvolvido neste trabalho um sistema de visão computacional que permita a um operador manusear uma mesa móvel bidirecional, por meio da movimentação de um objeto em frente a uma câmera. No sistema proposto, as imagens do objeto de referência são captadas por uma webcam e analisadas por um software que determina as coordenadas deste objeto, via técnicas de visão computacional. As coordenadas obtidas são enviadas para o circuito eletrônico de controle, que aciona os atuadores da mesa, posicionando-a nas coordenadas correspondentes. Através dos projetos mecânico e eletrônico, e também o desenvolvimento dos softwares de visão e de controle de movimentação, pode-se implementar um sistema onde a mesa se desloca junto com o objeto, de acordo com as coordenadas exibidas na interface gráfica. Palavras-chave: Operação remota. Visão Computacional. Automação.
  • 5. REMOTE OPERATION OF SLIDING TABLE USING COMPUTER VISION Wilson Silva Sousa March / 2015 Advisor: Profª Dra. Elvira Rafikova ABSTRACT For reasons of safety and ergonomics, whether in industry or in other areas, many times it is necessary to operate remote mechanisms, situated in dangerous environments, distant or inaccessible. In these cases the acting operator generally uses portable equipment fitted with buttons, joystick's, graphical user interfaces or other means which allow to control movements. In order to propose an alternative way of remote control of drive systems, is developed in this work a computer vision system that allows an operator to handle a bidirectional mobile table, through the movement of an object in front of a camera. In the proposed system, the reference object images are captured by a webcam and analyzed by a software that determines the coordinates of this object, via computer vision techniques. The coordinates obtained are sent to the control electronic circuit, which triggers the table actuators, positioning it in the corresponding coordinates. Through mechanical and electronic projects, and also the development of the software of vision and movement control, can be implemented a system where the table moves along with the object, according to the coordinates displayed in the graphical interface. Keywords: Remote operation. Computer Vision. Automation.
  • 6. LISTA DE FIGURAS Figura 1. Arquitetura de um sistema de operação remota.................................2 Figura 2.(a) Robô industrial FANUC guiado por visão computacional. (b) Detecção da posição de garrafas para posterior manipulação..........................5 Figura 3. (a) Reconhecimento da íris do olho humano. (b) Reconhecimento da impressão digital.................................................................................................5 Figura 4. Detecção de lesões no cérebro humano............................................6 Figura 5. Arquitetura de um sistema de visão computacional. ..........................7 Figura 6. Imagem monocromática....................................................................10 Figura 7. Formação de uma imagem colorida. ................................................11 Figura 8. Sensor de imagem CCD ...................................................................11 Figura 9. Princípio de operação dos dispositivos CCD....................................12 Figura 10. Transmissão de um quadro de imagem em dispositivo CCD. .......13 Figura 11. Filtro de Bayer.................................................................................14 Figura 12. Espectro eletromagnético. ..............................................................15 Figura 13. Sensibilidade do olho humano em relação ao comprimento de onda da radiação eletromagnética incidente. ...........................................................16 Figura 14. Cores primárias e secundárias em combinação aditiva.................17 Figura 15. Representação gráfica do modelo RGB.........................................19 Figura 16. Representação gráfica do modelo HSV. ........................................19 Figura 17. Vizinhança 3x3 definida ao redor de um pixel de coordenadas (x,y). ..........................................................................................................................22
  • 7. Figura 18. Filtro linear com resposta ao impulso h(x,y)...................................23 Figura 19. Matriz representando a imagem à ser filtrada (à esquerda). Máscara de convolução (à direita) ..................................................................................24 Figura 20. Determinação de um ponto na imagem filtrada através da operação de convolução. .................................................................................................24 Figura 21. Matriz representando a imagem filtrada. ........................................25 Figura 22. Máscara 7x7 do filtro gaussiano para σ=1......................................26 Figura 23. Mesa X-Y industrial para posicionamento ......................................28 Figura 24. Sistema de posicionamento X-Y em detalhe..................................29 Figura 25. Diagrama simplificado de um microcontrolador..............................31 Figura 26. Pinagem do microcontrolador 18F4550..........................................34 Figura 27. Pinagem do microcontrolador 18F4550..........................................34 Figura 28. Sinal elétrico padrão RS-232..........................................................37 Figura 29. Conector DB9 fêmea.......................................................................38 Figura 30: Conector USB, designação dos pinos e cores dos fios correspondentes...............................................................................................40 Figura 31. Conector DB9 fêmea.......................................................................40 Figura 32. Sinal codificado em NRZI................................................................41 Figura 33. Motores de passo............................................................................44 Figura 34: Funcionamento simplificado de um motor de passo. .....................45 Figura 35. Motor de passo de relutância variável. ...........................................46 Figura 36. Motor de passo de relutância variável. ...........................................46 Figura 37. Motor de passo Híbrido...................................................................47
  • 8. Figura 38. Motor de passo Híbrido...................................................................48 Figura 39. Tipos de ligações. À esquerda um motor bipolar de 2 fases e 4 fios. À direita um motor unipolar de 2 fases e 6 fios................................................49 Figura 40. Sequência de acionamento, com uma fase por vez.......................49 Figura 41. Sequência de acionamento, com duas fases simultaneamente. ...50 Figura 42. Área de aplicação do motion control industrial...............................51 Figura 43. Arquitetura típica de um sistema de motion control industrial........52 Figura 44. Deteminação dos pontos de origem de cada pixel no algoritmo de Bresenham. ......................................................................................................54 Figura 45. Interpolação linear utilizando o algoritmo de Bresenham...............55 Figura 46: Vista em perspectiva da Mesa Móvel. ............................................57 Figura 47. Vista frontal da Mesa Móvel............................................................57 Figura 48. Vista da lateral esquerda da Mesa Móvel.......................................58 Figura 49. Vista superior da Mesa Móvel.........................................................58 Figura 50. Acoplamento elástico utlizado. .......................................................60 Figura 51. Vista em perspectiva da mesa móvel montada..............................61 Figura 52. Vista superior da mesa móvel montada..........................................61 Figura 53. Protótipo montado sobre protoboard. .............................................65 Figura 54. Corrente consumida para um eixo acionado..................................65 Figura 55. Fluxograma simplificado do aplicativo de visão computacional.....69 Figura 56. Telas de ajuste de valores e visualização. .....................................72 Figura 57. Paleta de cores do Paint.................................................................73
  • 9. Figura 58. Tela principal do aplicativo..............................................................74 Figura 59. Fluxograma simplificado do firmware de movimentação................77 Figura 60.Porta virtual COM5 criada................................................................79 Figura 61.Requisições enviadas pelo firmware. ..............................................80 Figura 62.Resposta as requisições pelo software de visão.............................81 Figura 62. Desenho técnico do CONJUNTO. ..................................................90 Figura 63. Desenho técnico - BASE 1..............................................................91 Figura 65. Desenho técnico – BASE 3.............................................................93 Figura 66. Desenho técnico - EIXO GUIA........................................................94 Figura 67. Desenho técnico – EIXO TR1.........................................................95 Figura 68. Desenho técnico – EIXO TR2.........................................................96 Figura 69. Desenho técnico – EIXO TR3.........................................................97 Figura 70. Desenho técnico - EIXO TR4..........................................................98 Figura 71. Desenho técnico – GUIA LINEAR. .................................................99 Figura 72. Desenho técnico – MANCAL GUIAS............................................100 Figura 73. Desenho técnico – MANCAL POLIAS. .........................................101 Figura 74. Desenho técnico - POLIA..............................................................102 Figura 75. Desenho técnico - SUPORTE DO MOTOR..................................103 Figura 76. Circuito – MÓDULO DE CONTROLE...........................................104 Figura 77. Circuito – MÓDULO DE POTÊNCIA.............................................105 Figura 78. Circuito – MOTORES DE PASSO. ...............................................106
  • 10. LISTA DE TABELAS Tabela 1: Lista de componentes do projeto eletrônico. ...................................64 Quadro 1: Cronograma de atividades ..............................................................85
  • 11. LISTA DE ABREVIATURAS A/D Analógico para Digital ADC Audio Class Device BPS Bits Per Second CAD Computer Aided Design CCD Charge Coupled Device CI Circuito Integrado CDC Communication Device Class CMOS Complementary Metal Oxide Silicon CNC Computer Numeric Control CPU Central Unit Processing DCE Data Communication Equipment DTE Data Terminal Equipment EEPROM Eletrically Erasable Programmable Read Only Memory EIA Electronic Industries Association EPROM Erasable Programmable Read Only Memory HID Human Interface Device HSV Hue, Saturation, Value ICSP In Circuit Serial Programming IDE Integrated Development Environment IHM Interface Humano-Máquina LCD Liquid Cristal Display MSC Mass storage Class
  • 12. NRZI Non Return to Zero Inverted PIC Programmable Interface Controller PWM Pulse Width Modulation RAM Random Access Memory RGB Red, Green, Blue ROM Read Only Memory SPI Serial Peripheral Interface UFABC Universidade Federal do ABC ULA Unidade Lógica e Aritmética USART Universal Synchronous Asynchronous ReceiverTransmitter USB Universal Serial Bus
  • 13. Sumário 1. Objetivo...........................................................................................................1 2. Justificativas ...................................................................................................1 3. Fundamentação teórica..................................................................................3 3.1. Visão Computacional......................................................................................................3 3.1.1. Histórico...................................................................................................................4 3.1.2. Aplicações ...............................................................................................................4 3.2. Sistemas de visão computacional...................................................................................6 3.3. Processamento digital de imagens.................................................................................8 3.4. Imagens digitais..............................................................................................................9 3.5. Dispositivos de aquisição de imagens digitais..............................................................11 3.6. Imagens coloridas.........................................................................................................13 3.7. Conversão e armazenamento.......................................................................................14 3.8. Modelos de representação de cores.............................................................................14 3.8.1. Modelo RGB ..........................................................................................................18 3.8.2. Modelo HSV...........................................................................................................19 3.9. Limiarização..................................................................................................................20 3.10. Filtragem.....................................................................................................................21 3.10.1. Filtragem espacial................................................................................................22 3.10.2. Operação de convolução com máscaras.............................................................23 3.10.3. Suavização ..........................................................................................................25 3.11. Momentos geométricos de uma imagem....................................................................27 3.12. Mesa móvel ................................................................................................................28 3.13. Software de Visão Computacional..............................................................................30 3.13.1. Linguagem programação e ambiente de desenvolvimento..................................30 3.13.2. Biblioteca OpenCV...............................................................................................30 3.14. Microcontroladores .....................................................................................................30 3.14.1. Microcontrolador PIC18F4550 .............................................................................33 3.15. Comunicação entre Microcontrolador e Computador .................................................36 3.15.1. USART.................................................................................................................36 3.15.2. RS-232.................................................................................................................37 3.15.3. USB .....................................................................................................................38
  • 14. 3.15.4. Microchip Libraries Application ............................................................................43 3.16. Motores de Passo.......................................................................................................43 3.17. Método de interpolação de movimentos utilizando motores de passo........................50 3.17.1. Motion Control .....................................................................................................51 3.17.2. Algoritmo de Interpolação Linear .........................................................................53 4. Resultados....................................................................................................56 4.1. Mesa Móvel ..................................................................................................................56 4.1.1. Projeto ...................................................................................................................56 4.1.2. Confecção, montagem e resultado final.................................................................59 4.2. Circuitos Eletrônicos Controle e Potência.....................................................................62 4.2.1. Projeto ...................................................................................................................62 4.2.2. Lista de Materiais...................................................................................................64 4.2.3. Montagem..............................................................................................................64 4.3. Software........................................................................................................................66 4.3.1. Aplicativo de Visão Computacional........................................................................66 4.3.2. Firmware de movimentação da mesa....................................................................74 4.4. Testes de comunicação USB-RS-232 entre Microcontrolador e Computador..............79 5. Conclusões...................................................................................................82 5.1. Trabalhos e melhorias futuras ......................................................................................83 6. Cronograma..................................................................................................85 7. Referências bibliográficas ............................................................................86 8. Apêndice A – Desenhos Técnicos da Mesa Móvel......................................90 9. Apêndice B – Circuitos Eletrônicos ............................................................104
  • 15. 1 1. Objetivo O presente trabalho tem como objetivo o desenvolvimento de um sistema de visão computacional que permita realizar a operação remota de uma mesa móvel de duas direções. Como objetivos específicos esse trabalho visa: • Realizar o estudo dos conceitos e técnicas de visão computacional para a extração de características de imagens. Estudar componentes mecânicos e elétricos, métodos e algoritmos, que possibilitem de uma forma geral a realização do objetivo final; • Criar um protótipo de sistema de visão computacional que implemente algoritmos para extração automática de características (cor, linha, forma geométrica); • Realizar o projeto, confecção e montagem de uma plataforma móvel (mesa) a ser operada remotamente; • Projetar e implementar os circuitos eletrônicos para comunicação com o computador e para o acionamento da plataforma móvel; • Totalizar a construção do protótipo de uma mesa móvel remotamente operada com o auxílio de um sistema de visão computacional. 2. Justificativas Dada a crescente demanda por segurança nas indústrias, e implementação de normas regulamentadoras, é de fundamental importância o desenvolvimento de técnicas adequadas que permitam a manipulação segura, de máquinas, equipamentos e materiais. Nesse âmbito, quando a acessibilidade ao local é restrita, como em ambientes agressivos, ou mesmo por questões de conforto e ergonomia, uma das possíveis formas de se implementar a operação de equipamentos diversos é através da operação remota.
  • 16. 2 A operação remota, ou teleoperação é definida basicamente como a operação à distância de sistemas, tais como máquinas, equipamentos, robôs, etc. Esta tecnologia de controle encontra aplicação para as áreas aeroespacial, médica, industrial, militar, entre outras. No que diz respeito, a arquitetura de um sistema remotamente operado, segundo Nof(1985) deve haver uma unidade de controle responsável por receber os comandos do operador, uma unidade remota que responde aos comandos e efetua a ação, e um canal de comunicação entre ambos. Figura 1. Arquitetura de um sistema de operação remota. [Fonte: Adaptado de NOF(1985) ] Para a implementação da unidade de controle do sistema de operação remota, as possibilidades são grandes, variando conforme a aplicação. Podem ser utilizados dispositivos manuais com botoeiras e chaves seletoras, dispositivos do tipo joystick, IHM’s industriais, Tablet’s, etc. Dentre estas maneiras é possível também empregar técnicas de visão computacional, onde um sistema de visão é capaz de converter comandos visuais em comandos para a unidade remota. O campo da visão computacional tem sofrido um grande avanço nas últimas décadas. Dada também a gama de aplicações que os sistemas de visão tem, os recursos de programação e softwares dedicados a visão computacional são cada vez maiores. Grandes empresas desenvolvedoras de softwares, como National Instruments, com o Labview, ou MathWorks com o MatLAB, possuem em seus softwares bibliotecas de comandos inteiramente dedicados a visão computacional. Mais recentemente, no ano 2000, a Intel criou a biblioteca de visão computacional
  • 17. 3 OpenCV (Open Source Computer Vision), que segue o modelo de software livre e possui recursos que facilitam o desenvolvimento de softwares de visão. Sendo assim, devido as razões citadas, a visão computacional pode ser uma ferramenta útil no desenvolvimento de sistemas de operação remota. Neste caso teríamos uma arquitetura onde não só a realimentação, como também a entrada do sistema, seria feita de maneira visual. 3. Fundamentação teórica 3.1. Visão Computacional Visão computacional, também conhecida como Visão de Máquina, é um campo de pesquisa que tem avançado muito nas últimas décadas, tendo inúmeras aplicações, sejam industriais, médicas, na agricultura, na astronomia, etc. É possível entender a visão computacional como um conjunto de técnicas que visam dotar as máquinas com capacidade visual semelhante à dos seres humanos, não só em termos de aquisição, como também de interpretação. Segundo Shapiro(2001) o principal objetivo desta área é analisar imagens de objetos do mundo real e tomar decisões a partir destas. Já para Szeliski(2010) tenta-se criar uma representação do mundo real através da reconstrução das propriedades das imagens, tais como forma, cor e iluminação. O processo de percepção humano envolve características notáveis como: ampla base de dados de apoio, alta capacidade de processamento e habilidade para trabalhar sobre variadas condições. Atualmente com os avanços tecnológicos, em software e hardware, dispõe-se cada vez mais, de condições de reproduzir as duas primeiras características citadas. Contudo a terceira característica, que consiste em fazer os sistemas de visão operaram sob condições variadas de luz, posição relativa de elementos da cena, contraste, entre outras, ainda permanece um desafio. (MARQUES; VIEIRA, 1999) Isso geralmente ocorre em áreas de pesquisa, onde há a tentativa de recriar características perceptivas e cognitivas humanas. Verifica-se que as mais simples
  • 18. 4 tarefas como, ver, ouvir e falar, são na verdade problemas extremamente complexos do ponto de vista computacional. 3.1.1. Histórico Os primeiros trabalhos acadêmicos da área foram realizados em meados dos anos de 1970. Segundo Szeliski (2010) nesta época os pesquisadores da área tinham o ambicioso plano de imitar a inteligência humana, dotando robôs com esta habilidade. Neste âmbito alguns acreditavam que resolver o problema da entrada visual de dados seria apenas uma fácil etapa rumo à solução de problemas de alto nível como raciocínio e planejamento. As pesquisas estavam focadas na reconstrução do ambiente tridimensional a partir das imagens da cena em estudo. Diversos algoritmos foram desenvolvidos, principalmente aqueles relacionados a detecção de bordas, que forneciam os blocos utilizados na reconstrução do objeto ou cena tridimensional. Nos anos de 1980, de com acordo com Szeliski (2010) as pesquisas estiveram focadas no desenvolvimento de técnicas matemáticas para análise da cena e imagem, e também no aperfeiçoamento de algoritmos de detecção de bordas e contornos. Nas décadas de 1990 e 2000, áreas como segmentação de imagens e reconhecimento de faces tiveram seu desenvolvimento, além das outras áreas já citadas que continuaram paralelamente sendo desenvolvidas. Uma tendência observada atualmente, segundo Szeliski(2010) são as pesquisas na área de reconhecimento visual utilizando técnicas de aprendizado de máquina. 3.1.2. Aplicações Atualmente a visão computacional se aplica em áreas como: Robótica, Biometria, Medicina, Sensoriamento Remoto, Meteorologia, entre outras. Na robótica os sistemas de visão têm larga aplicação. Auxiliam robôs manipuladores em operações como: montagem, despaletização, inspeção e controle de qualidade, triagem automática de produtos. Em robôs autônomos a aplicação se concentra na determinação de obstáculos através da cor e formato, caracterização do ambiente, localização, identificação de alvos, navegação, etc.
  • 19. 5 (a) (b) Figura 2.(a) Robô industrial FANUC guiado por visão computacional. (b) Detecção da posição de garrafas para posterior manipulação. [Fonte: BASTIAN Solutions, 2008.] No campo da biometria, as técnicas de visão computacional têm sido aplicadas com sucesso, principalmente no reconhecimento de características únicas, como as digitais dos dedos e a íris do olho. (a) (b) Figura 3. (a) Reconhecimento da íris do olho humano. (b) Reconhecimento da impressão digital. [Fonte: SPIE, 2007.]
  • 20. 6 Na medicina a visão computacional também encontra ampla aplicação. Os resultados obtidos auxiliam os profissionais da área no diagnóstico de doenças diversas, caracterização de lesões e tumores, análises de exames tomográficos, análise de imagens de ultrassonografia e ressonância magnética, análises de sangue, entre muitas outras aplicações. (NEVES et. al., 2012) Figura 4. Detecção de lesões no cérebro humano. [Fonte: BIOCLINICA, 2013.] 3.2. Sistemas de visão computacional Segundo Marques (1999) sistemas de visão computacional são sistemas com a capacidade de adquirir, processar e interpretar imagens de uma determinada cena ou objeto. Este sistema tem uma arquitetura que pode ser descrita conforme o diagrama de blocos abaixo:
  • 21. 7 Figura 5. Arquitetura de um sistema de visão computacional. [Fonte: Marques(1999)] A primeira etapa realizada pelo sistema de visão é a aquisição de imagens. Neste passo um equipamento composto basicamente de lentes, sensores ópticos e circuitos eletrônicos, convertem em sinais elétricos digitais as imagens projetadas sobre o sensor. (MARQUES; VIEIRA, 1999) A etapa de pré-processamento visa corrigir ou minimizar defeitos gerados no processo de aquisição. Ruídos, contraste ou brilho inadequados são possíveis defeitos. O objetivo é produzir uma nova imagem de maior qualidade para ser utilizada nas etapas seguintes. Na etapa de segmentação, segundo Gonzales (2000), o objetivo é basicamente produzir uma imagem em que o objeto ou a região de interesse estejam em evidência com relação ao resto da imagem, isto é, a cena é subdividida em seus objetos constituintes.
  • 22. 8 Na etapa seguinte, de extração de características, define-se a forma de representação e descrição dos dados. A representação consiste em definir se os objetos da cena serão representados por suas fronteiras ou por uma região completa. A representação por fronteira é adequada quando há interesse na forma, dimensões, cantos ou pontos de inflexão. Já a representação por regiões é adequada quando as características visadas são propriedades internas como cor ou textura. A descrição consiste em definir um método de descrever os dados da cena, isto é, extrair características úteis que possam ajudar nos processos de distinção entre objetos. Estas características são chamadas também de descritores. (GONZALES; WOODS, 2000) Por fim, na etapa de reconhecimento e interpretação os descritores são avaliados, resultando na atribuição de rótulos para cada objeto, e também de um significado ao conjunto. A base de conhecimento mostrada no diagrama da figura 5, se refere ao conhecimento prévio que se têm da cena analisada e quais são os resultados esperados. Esta base de conhecimento é de fundamental importância nos sistemas de visão computacional e têm como função direcionar as ações em cada etapa, definindo quais algoritmos ou processos serão realizados, de modo a produzir um resultado final adequado. (GONZALES; WOODS, 2000) 3.3. Processamento digital de imagens Segundo Oppenheim (1999) o processamento de sinais é a área que trata da manipulação, transformação e representação de sinais. A definição do conceito de sinal é ampla e engloba praticamente tudo que transporta algum tipo de informação, sendo também que, os sinais podem ser contínuos ou discretos. A área de processamento digital de imagens é uma subárea do processamento de sinais, tendo o mesmo objetivo, utilizando técnicas em comum, e onde os sinais a serem processados são as imagens digitais. Em termos gerais, o processamento digital de imagens transforma uma imagem inicial, em outra que tenha características desejadas para uma determinada aplicação (VERNON,1991). Para que se alcance este objetivo são utilizadas diversas técnicas
  • 23. 9 e algoritmos tais como: filtragem, manipulação de histogramas, limiarização, realce, suavização, etc. 3.4. Imagens digitais Uma imagem monocromática pode ser definida como uma função bidimensional f (x,y) de intensidade luminosa, onde x e y é o par de coordenadas espaciais de um ponto na imagem e f representa o valor do brilho. No caso de imagens monocromáticas o brilho é chamado também de nível de cinza (GONZALES; WOODS, 2000). Para que uma imagem analógica seja convertida em uma imagem digital é necessário que haja um processo de digitalização. Esse processo consiste em realizar a amostragem espacial da imagem e quantizar seus níveis de cinza (MARQUES; VIEIRA, 1999). Como resultado da amostragem obtêm-se uma imagem subdividida em regiões, as quais são denominados pixels. O pixel é o menor elemento de uma imagem e a cada um é atribuído um nível de cinza. Este processo transforma portanto, uma imagem f (x,y) em uma estrutura análoga a uma matriz, com M linhas e N colunas, onde cada elemento contém o nível de cinza de um pixel. , = 0,0 ⋯ 0, − 1 ⋮ ⋱ ⋮ − 1,0 ⋯ − 1, − 1 (equação 1) Para uma imagem digital o par M x N corresponde a resolução da imagem. Na produção de uma imagem digital se forem utilizados n bits para armazenar o valor de brilho de um pixel, então este pixel poderá assumir valores inteiros na faixa de 0 a 2n -1, correspondendo a níveis ou tons de cinza diferentes. Neste intervalo de valores o valor 0 representa a cor preta enquanto o valor 2n -1 representa o branco. Os valores intermediários são tonalidades de cinza.
  • 24. 10 A figura 6 abaixo mostra uma imagem digital monocromática com o sistema de coordenadas convencional: Figura 6. Imagem monocromática. [Fonte: Adaptado de Marques(1999)] No caso de imagens coloridas, há uma superposição de funções f (x,y) cada uma representando uma cor ou característica. No caso de uma representação através do modelo RGB (R - Red, G - Green, B - Blue) são necessárias três funções f (x,y) cada uma contendo os valores de brilho para cada cor.
  • 25. 11 Figura 7. Formação de uma imagem colorida. [Fonte: Adaptado de Wikipedia - Grayscale.1 ] 3.5. Dispositivos de aquisição de imagens digitais Dentro os diversos dispositivos de aquisição de imagens destacam-se atualmente duas tecnologias: os sensores CCD e CMOS. Figura 8. Sensor de imagem CCD. [Fonte: Wikipedia.2 ] 1 Disponível em: < http://en.wikipedia.org/wiki/Grayscale >, acesso em 15 de março de 2014. 2 Disponível em: < http://en.wikipedia.org/wiki/Charge-coupled_device >, acesso em 15 de março de 2014.
  • 26. 12 O sensor de imagem CCD (Charge Coupled Device) é uma das tecnologias mais utilizadas atualmente para aquisição de imagens. Este sensor corresponde a dispositivo semicondutor de silício que se assemelha a uma matriz de capacitores. A estrutura desse sensor permite que a carga gerada fique armazenada em uma região de barreira de potencial, análoga a um recipiente. A interligação com elementos fotossensíveis permite que a carga armazenada em cada capacitor seja dependente da intensidade luminosa incidente (MARQUES; VIEIRA, 1999). Por meio de um controle externo cada capacitor pode transferir sua carga para o capacitor vizinho conforme a figura 9 abaixo: Figura 9. Princípio de operação dos dispositivos CCD. [Fonte: PIXCELLENT, 2006] Quando uma imagem é projetada sobre o arranjo CCD é gerada em cada capacitor uma quantidade de carga correspondente a intensidade luminosa incidente. Através de registradores de deslocamento a carga armazenada em uma linha de elementos é transferida as linhas vizinhas em um deslocamento vertical. Este processo é repetido até que os valores de uma linha completa cheguem ao registrador de deslocamento horizontal que então faz a transmissão serial dos dados para um amplificador. Quando um quadro inteiro de imagem é transmitido o processo inicia-se novamente. A figura 10 abaixo ilustra este processo:
  • 27. 13 Figura 10. Transmissão de um quadro de imagem em dispositivo CCD. [Fonte: PIXCELLENT, 2006] O sensor de imagem CMOS (Complementary Metal Oxide Silicon) tem princípios de funcionamento semelhante ao CCD, porém o sinal produzido por cada elemento é lido individualmente de forma sequencial, através de um processo de multiplexação. Além disso, este sensor incorpora amplificadores, conversores A/D e circuitos adicionais de processamento na própria pastilha, ao contrário do CCD que necessita de circuitos externos. Com relação ao sensor CCD, o CMOS apresenta baixo consumo de energia, baixo custo, e menor tamanho. Por outro lado o CCD produz imagens digitais de maior qualidade, com maior nitidez e possuem maior sensibilidade em ambientes com baixa iluminação. 3.6. Imagens coloridas Para aquisição de imagens coloridas é necessária a utilização de um filtro ótico denominado filtro de Bayer. Cada elemento do filtro tem a função de transmitir a intensidade luminosa relacionada a somente uma cor, absorvendo as outras. Os sinais relativos a cada cor são transmitidos individualmente e posteriormente combinados formando a imagem colorida no formato RGB.
  • 28. 14 Figura 11. Filtro de Bayer. [Fonte: Adaptado de CHEERS4ALL.3 ] 3.7. Conversão e armazenamento Uma vez realizada a captura da imagem e transmitido o sinal analógico correspondente, para que seja possível o processamento computacional dessa imagem torna-se necessária a conversão analógico-digital do sinal, de modo que a imagem passe a ser representada em padrão binário. O dispositivo que realiza essa conversão é o chamado de dispositivo de captura de quadro ou frame grabber. Sua função é detectar os limites de cada quadro de imagem e realizar sua amostragem temporal gerando a imagem digital. A imagem digital de cada quadro é armazenada em um sistema de memória volátil denominado frame buffer. Neste dispositivo as imagens ficam prontas para serem utilizadas seja para o processamento, visualização ou armazenamento em dispositivos adequados. 3.8. Modelos de representação de cores Toda a luz visível está compreendida em um pequeno intervalo de frequências do espectro eletromagnético. Logo, todo tipo de luz que pode ser vista corresponde 3 Disponível em: < http://www.cheers4all.com/2013/03/project-report-of-quadcopter >, acesso em 17 março de 2014.
  • 29. 15 uma radiação de frequência definida ou geralmente uma combinação de radiações de frequências distintas dentro do espectro da luz visível. Esse é o caso da luz branca, que corresponde a mistura de radiações de determinadas frequências abrangendo todo o espectro visível. Figura 12. Espectro eletromagnético. [Fonte: Projeto Fotossíntese, 2011.] As cores dos objetos são resultado da interação entre a luz incidente e o material do objeto. Se a superfície de um objeto sob iluminação tiver uma cor definida significa que boa parte da luz refletida tem frequência situada na faixa a que corresponde esta cor, enquanto as radiações de outras frequências na faixa visível foram absorvidas pela superfície do objeto (MARQUES; VIEIRA, 1999). O olho humano é sensível a radiação eletromagnética com comprimento de onda na faixa de 400 nm a 700 nm aproximadamente, conforme figura 13. Em sua estrutura interna, o olho possui células fotossensíveis denominadas cones, que são divididas em três tipos, cada uma possuindo uma curva de sensibilidade, conforme mostrado na figura 13 abaixo:
  • 30. 16 Figura 13. Sensibilidade do olho humano em relação ao comprimento de onda da radiação eletromagnética incidente. [Fonte: DPI, 2011.] É possível observar que cada tipo de cone possui um máximo de sensibilidade em torno das cores vermelha (R, do inglês “red”), verde (G, do inglês “green”) e azul (B, do inglês “blue”). Logo, todas cores possíveis são o resultado da combinação dos estímulos recebidos por cada tipo de cone, com diferentes intensidades cada, produzindo assim as diversas sensações de cores. (MARQUES; VIEIRA, 1999) As cores vermelho, verde e azul são denominadas cores primárias e a partir destas todas as cores são obtidas. Estas cores se combinadas duas a duas produzem as chamadas cores secundárias: magenta (vermelho + azul), ciano (verde + azul) e amarelo (vermelho + verde). Todas as cores primárias se combinadas em intensidades corretas produzem a luz branca. (GONZALES; WOODS, 2000) A figura 14 abaixo ilustra essa combinação:
  • 31. 17 Figura 14. Cores primárias e secundárias em combinação aditiva. [Fonte: SIDIGICOR, 2012.] Esta mistura é denominada combinação aditiva de cores. Uma combinação subtrativa ocorre quando são combinados pigmentos ou corantes, pois neste caso a cor refletida é resultado da absorção de uma determinada cor. Para este caso as cores magenta, ciano e amarelo são tidas como cores primárias e suas combinações resultam em: azul (magenta + ciano), vermelho (magenta + amarelo), verde (ciano + amarelo). O preto é obtido pela combinação, em devidas proporções, de pigmentos ou corantes magenta, ciano e amarelo. Para distinguir uma cor da outra geralmente são usadas as características de matiz (H, do inglês “hue”), saturação (S, do inglês “saturation”) e brilho (B, do inglês “brightness”). O matiz representa o comprimento de onda dominante na formação de uma cor. A saturação corresponde a quantidade de luz branca que se tem misturada ao matiz, determinando por exemplo, se uma cor é mais clara ou escura. Já o brilho se refere a intensidade da radiação luminosa. O matiz e a saturação em conjunto formam a chamada cromaticidade. Uma cor, portanto, pode ser definida por sua cromaticidade e brilho (GONZALES; WOODS,2000). As quantidades de vermelho, verde e azul necessárias para formar uma determinada cor são denominados coeficientes tricromáticos e são definidos por:
  • 32. 18 = (equação 2) = (equação 3) = (equação 4) Onde R, G e B são as quantidades de vermelho, verde e azul, respectivamente, presentes em uma cor. Os valores de R, G e B são normalizados entre 0 e 1, e cada coeficiente r, g e b também situam-se nesta faixa. Segundo as equações 2, 3 e 4, tem-se que: + + = 1 (equação 5) 3.8.1. Modelo RGB Segundo Gonzales (2000) os modelos de cores servem que se tenha uma forma padronizada de especificação de uma determinada cor. O modelo RGB é uma representação cartesiana conforme figura 15 onde cada ponto representa uma cor. O vermelho, o verde e o azul correspondem ao ponto final do cubo sobre cada eixo. A origem corresponde ao preto, enquanto o branco está situado no final da diagonal principal. Essa diagonal contém todos os níveis de cinza. As cores secundárias, como magenta, ciano e amarelo estão no final de cada aresta superior. Este cubo é unitário portanto assume-se que os valores de R, G e B estão normalizados na faixa de 0 a 1.
  • 33. 19 Figura 15. Representação gráfica do modelo RGB. [Fonte: TEORIA DA COR, 2010] 3.8.2. Modelo HSV O modelo HSV (H - Hue, S - Saturation, V - Value) é um modelo que define uma cor pelo matiz, saturação e intensidade (ou brilho). Sua representação é mostrada na figura 16 abaixo: Figura 16. Representação gráfica do modelo HSV. [Fonte: Adaptada de SIP4 ] 4 Disponível em: < http://miac.unibas.ch/SIP/02-Fundamentals.html >, acesso em: 17 de março de 2014.
  • 34. 20 A conversão entre RGB e HSI é dada através das seguintes equações: = (equação 6) = 1 − min ", #, $ % (equação 7) & = cos*+ { - . * * % * . * * % - . } (equação 8) 3.9. Limiarização A limiarização ou Thresholding é uma operação de segmentação aplicada sobre uma imagem, onde cria-se uma distinção clara entre as regiões da mesma. É geralmente aplicado com o objetivo de distinguir um objeto alvo em uma imagem, de seu ambiente. No caso de imagens monocromáticas é definido um limiar de intensidade luminosa T. Para todos os pixels que tiverem com seus níveis de cinza acima desse limiar é atribuído um determinado valor de intensidade luminosa, para os pixels que estiverem abaixo é atribuído outro valor. O resultado é a criação de uma imagem binarizada. Em termos matemáticos, se houver uma imagem de entrada f(x,y), e for definido um limiar T, a limiarização produzirá uma imagem g(x,y) dada por: , = 0 12 , > 4 12 , ≤ 4 (equação 9)
  • 35. 21 Onde M e N são níveis de cinza quaisquer. É possível também fazer a limiarização com base na cor do objeto. Neste caso atribui-se um valor de intensidade a cada pixel que possuir a cor do objeto, e zero para todos os pixels que não se enquadram nesta condição. Com isso obtêm-se uma imagem binária com o objeto em destaque. 3.10. Filtragem A filtragem é uma operação de pré-processamento que se baseia na frequência espacial de cada região de uma imagem. A frequência espacial em uma imagem pode ser entendida como a variação de intensidade de um pixel a outro. Dependendo da configuração do filtro é possível produzir resultados como realce, suavização, atenuação de ruídos, detecção de bordas entre outros. A operação de filtragem pode ser realizada no domínio da frequência ou no domínio espacial. No domínio da frequência a filtragem é realizada a partir das transformadas de Fourier da imagem e do filtro, que são multiplicados. O resultado deve ser levado para o domínio do espaço através de uma transformada inversa de Fourier, obtendo assim a imagem resultante. Já a filtragem no domínio espacial é uma operação que age diretamente sobre os pixels da imagem através de operadores. Os filtros podem ser classificados também quanto a banda de frequência espacial sobre a qual operam. Os filtros denominados passa-altas atenuam as partes da imagem com baixas frequências, que correspondem as regiões de baixa variação de intensidade dos pixels no espaço, e com efeito realçam as regiões de alta frequência como bordas e cantos. Os filtros denominados passa-baixas realizam o inverso atenuando as regiões de alta frequência, cujo resultado é o borramento ou suavização de certas regiões da imagem. Há também os filtros denominados passa- faixas que atenuam ou realçam determinado intervalo de frequência e são usados para remover ou realçar certas regiões selecionadas em uma imagem. Os filtros utilizados neste trabalho operam no domínio espacial, e uma explanação mais detalhada é dada nas seções seguintes.
  • 36. 22 3.10.1. Filtragem espacial Segundo Gonzales (2000) o termo domínio espacial refere-se a distribuição espacial dos pixels em uma imagem levando em contas suas variações de intensidade e os métodos no domínio espacial são aqueles que operam diretamente sobre estes pixels. Sendo assim uma definição geral das operações no domínio espacial podem ser expressas por: , = 4 , % (equação 10) Onde g(x,y) é a imagem resultante; f(x,y) é imagem original e T é um operador em f, definido sobre uma certa vizinhança de (x,y). O valor de g na posição (x,y) é dependente de sua vizinhança, de modo que o operador T age sobre todos os pixels desta subimagem para produzir o resultado final. (MARQUES; VIEIRA, 1999) Figura 17. Vizinhança 3x3 definida ao redor de um pixel de coordenadas (x,y). [Fonte: MARQUES; VIEIRA, 1999.]
  • 37. 23 3.10.2. Operação de convolução com máscaras Segundo Szeliski (2011) o tipo mais comum de operador baseado na vizinhança é a convolução. Neste caso o filtro é um sistema linear, onde o sinal de entrada é uma imagem f(x,y) e a resposta deste filtro é uma imagem de saída g(x,y). Sendo assim, se for conhecida a resposta ao impulso h(x,y) deste filtro, é possível através de uma operação de convolução determinar a resposta do filtro a imagem de entrada. Figura 18. Filtro linear com resposta ao impulso h(x,y). [Fonte: MARQUES; VIEIRA, 1999.] Conforme Gonzales (2000) a resposta de um filtro através da operação de convolução em duas dimensões é dada pela seguinte expressão: , = + 67 ∑6*+ 9:; ∑ ℎ − =, − > . =, >7*+ @:; (equação 11) Onde i=0...M-1 e j=0...N-1.Os coeficientes M e N são respectivamente o número de linhas e colunas de h(x,y). O termo h(x,y) é uma matriz denominada máscara de convolução espacial. A equação 11 é a expressão matemática da convolução entre uma máscara e uma imagem. Este processo pode ser visualizado espacialmente de acordo com a descrição dada a seguir.
  • 38. 24 Conforme exemplo dado por Marques(1999) considera-se uma imagem a ser filtrada e uma máscara de convolução: Figura 19. Matriz representando a imagem à ser filtrada (à esquerda). Máscara de convolução (à direita) [Fonte: Adaptado de Marques (1999)] Para realizar a operação de convolução entre as mesmas, inicialmente a máscara é espelhada verticalmente e horizontalmente. Em seguida o centro da máscara é posicionado sobre um ponto (x,y) da imagem. Cada coeficiente da máscara é multiplicado pelo valor de intensidade do pixel sobre o qual está sobreposto. O novo valor do pixel na posição (x,y) é dado pela soma destas multiplicações. Figura 20. Determinação de um ponto na imagem filtrada através da operação de convolução. [Fonte: Adaptado de Marques (1999)]
  • 39. 25 Este procedimento é repetido para todos os pixels da imagem original, resultando então na imagem filtrada: Figura 21. Matriz representando a imagem filtrada. [Fonte: Adaptado de Marques (1999)] 3.10.3. Suavização O efeito de suavização de uma imagem é obtido através de filtros passa-baixas, cuja função é provocar um efeito de borramento em regiões como bordas e cantos e também ajuda a eliminar ruídos esparsos na imagem. O filtro de suavização utilizado neste trabalho é o chamado filtro gaussiano. Este filtro utiliza a curva gaussiana, também conhecida como distribuição normal, para realizar o cálculo dos valores de intensidade dos pixels na imagem filtrada. A curva gaussiana em uma dimensão é dada pela seguinte equação: # = + √BCD 2 * E. .F. (equação 12) Onde σ é o desvio padrão. Considera-se que esta distribuição tem média zero (µ=0), e portanto está centrada em x=0.
  • 40. 26 A variação da equação acima para duas dimensões é dada por: # , = + BCD. 2 * E.GH. .F. (equação 13) A partir da equação 13 é possível calcular os coeficientes da máscara do filtro gaussiano. Abaixo é mostrada um exemplo uma máscara para este filtro: Figura 22. Máscara 7x7 do filtro gaussiano para σ=1. [Fonte: CONCI, 2013] Os coeficientes da máscara do filtro gaussiano diminuem gradualmente do centro para a borda, tendendo a zero. Segundo Conci(2013) é possível, deste modo, obter uma suavização mais delicada. Como o peso maior é atribuído ao pixel central este filtro é capaz de preservar melhor os contornos da imagem com relação a outros filtros passa-baixas. Por esta razão este filtro é utilizado geralmente antes da aplicação de algoritmos de detecção de bordas, pois elimina os ruídos ao mesmo tempo em que preserva as bordas, tornando assim a operação de detecção mais eficiente.
  • 41. 27 3.11. Momentos geométricos de uma imagem Segundo Gonzales (2000) o momento de ordem p+q de uma função bidimensional f(x,y) é dado pela equação abaixo: IJK = L L JM *M K , N N M *M (equação 18) Onde p=0,1,2 …, e q=0,1,2... No caso de uma imagem digital f(x,y) a equação 18 torna-se: IJK = ∑ ∑ J KOP ; , OQ ; (equação 19) Onde nx e ny correspondem a largura e altura da imagem, respectivamente. Neste trabalho o uso dos momentos geométricos são de extrema importância, pois permitem que em uma dada imagem binária, contendo somente um objeto em destaque, seja possível obter o seu centro de massa. Este cálculo é feito a partir dos momentos de ordem 0 e 1 da imagem, e a localização do centro de massa é dado pelas seguintes equações: ̅ = S-T STT (equação 20) U = ST- STT (equação 21) No caso de uma imagem binária, com um único objeto na cena, o momento m00 representa a área total do objeto.
  • 42. 28 3.12. Mesa móvel A mesa móvel a ser desenvolvida neste trabalho consiste em uma mesa com a capacidade de se deslocar em duas direções, sendo atuada por motores de passo. Consistirá basicamente em um sistema de posicionamento que deverá descrever aproximadamente a mesma trajetória do objeto detectado pelo sistema de visão computacional. As referências para este tipo de mecanismo são vastas, variando em tamanho, robustez, precisão, capacidade de carga, sistema de transmissão, entre outras características. Figura 23. Mesa X-Y industrial para posicionamento [Fonte: Yigone(2014)] Na figura 23 é mostrada uma mesa de posicionamento do fabricante YIGONE. Segundo o fabricante esta mesa foi fabricada em alumínio, utilizando barramentos de aço temperado e retificado. Os eixos são atuados por motores de passo e a transmissão de movimentos é feita através de fusos de esferas, o que garante precisão e suavidade nos movimentos.
  • 43. 29 O sistema acima apesar de robusto e preciso, possui custo elevado e exige grande precisão dimensional na confecção dos componentes e na etapa de montagem. Na figura 24 é mostrado o detalhe de um sistema de posicionamento X-Y mais simples. Segundo o fabricante Newmark(2014) os eixos são atuados por motores de passo e os barramentos são feitos de aço inoxidável trefilado. O fabricante não informa o material do mancal deslizante, porém as possibilidades são o bronze ou o nylon, entre outros, que garantem um baixo coeficiente de atrito. A transmissão de movimentos é feita por meio de polias e correias sincronizadoras, que oferecem também boa precisão aos movimentos. Figura 24. Sistema de posicionamento X-Y em detalhe. [Fonte: Newmark(2014) ] As vantagens do sistema acima são a modularidade e o baixo custo, uma vez que componentes como os barramentos de aço trefilado, polias e correias sincronizadoras podem ser adquiridos e encontrados com maior facilidade no mercado.
  • 44. 30 3.13. Software de Visão Computacional 3.13.1. Linguagem programação e ambiente de desenvolvimento Neste trabalho a linguagem de programação utilizada no software de visão computacional é o C++. O C++ é uma linguagem que desenvolvida por Bjarne Stroustrup dos Bell Labs, durante a década de 80. É uma linguagem de alto nível, desenvolvida a partir da linguagem C com o objetivo de incorporar recursos de programação orientada a objetos. O ambiente de desenvolvimento integrado utilizado é o Eclipse CDT. É um ambiente inicialmente desenvolvido para trabalhar com a linguagem Java, mas que suporta diversas linguagens, dentre elas o C++. Este ambiente segue o modelo de software livre, podendo ser utilizado de forma gratuita por seus usuários. 3.13.2. Biblioteca OpenCV O software de visão computacional desenvolvido em linguagem C++ fará uso dos algoritmos disponíveis na biblioteca OpenCV. A OpenCV (Open Source Computer Vision) é uma biblioteca de visão computacional desenvolvida pela Intel no ano 2000. Ela é totalmente aberta ao usuário e segue o modelo de software livre. Foi desenvolvida em C/C++ e possui módulos de processamento de imagens e vídeo, I/O, estrutura de dados, álgebra linear, interface gráfica do usuário, possuindo além disso mais de 350 algoritmos de visão computacional como filtros, calibração de câmera, reconhecimento de objetos, etc. Possui foco em aplicações de tempo real. (OPENCV, 2014) 3.14. Microcontroladores Os microcontroladores são dispositivos eletrônicos programáveis, fabricados na forma de CI’s, que possuem uma organização semelhante a de um computador, integrando em um mesmo chip, uma CPU (Central Processing Unit), sistema de clock, memórias de dados e programa, e periféricos tais como, portas de entrada e saída, temporizadores, conversores A/D entre outros. Adicionalmente consomem pouca energia, geralmente na faixa de alguns mW. Estes dispositivos têm atualmente uma vasta gama de aplicações, podendo ser encontrados em diversos equipamentos
  • 45. 31 eletrônicos como celulares, tablet’s, etc., e tendo uso em áreas como robótica, instrumentação e eletrônica em geral. Figura 25. Diagrama simplificado de um microcontrolador. [Fonte: Adaptado de Miyadaira (2009)] Conforme Miyadaira(2009) as duas principais arquiteturas de microcontroladores são a Harvard e a Von-Neumann. Na arquitetura Harvard os barramentos de acesso a memória de dados e memória de programa são separados, o que resulta em um aumento significativo no fluxo de dados. Já na arquitetura Von- Neumann o barramento é compartilhado, o que limita porém a velocidade da troca de dados. CPU (Central Processing Unit) A função da CPU é executar as instruções de um programa, em uma sequência especificada, fazendo a leitura das unidades de entrada, lendo e escrevendo na memória de dados, e realizando a escrita nas unidades de saída. A CPU é composta basicamente de três unidades: a unidade lógica aritmética (ULA), unidade de controle e os registradores. A função ULA é realizar operações lógicas e aritméticas sobre os dados oriundos das unidades de entrada ou de uma memória. Os resultados dessas operações podem ser armazenados na memória de dados RAM ou enviados para uma unidade de saída.
  • 46. 32 A unidade de controle é responsável por coordenar a ULA e as demais unidades conectadas à CPU. Basicamente esta unidade busca, decodifica e executa as instruções do programa, enviando os sinais e resultados para as unidades pertinentes. Já os registradores são memórias rápidas e de baixa capacidade, que tem a função de armazenar, de forma temporária, os dados importantes durante o processamento. A comunicação entre as diversas unidades de um microcontrolador é feita por meio de um barramento de dados, sendo que a largura deste barramento em bits define a quantidade de bits com que a CPU trabalha. Sistema de clock O sistema de clock fornece periodicamente à CPU, os pulsos necessários para realizar de forma síncrona todas as suas operações, permitindo o sequenciamento das instruções. Corresponde portanto a velocidade do microcontrolador. Este sinal de clock é provindo geralmente de um cristal piezoelétrico e sua frequência na maioria dos casos se situa na faixa de alguns Mhz. Memórias Os principais tipos de memória que podem ser encontrados em um microcontrolador são as memórias RAM, ROM, EPROM, Flash e EEPROM. Tal como em um sistema computacional a memória RAM (Random Access Memory) é a memória de dados utilizada para armazenar as variáveis e registradores usados pelo programa durante a execução das instruções. As memórias ROM (Read Only Memory), EPROM (Erasable ROM) e Flash constituem a memória de programa, onde o mesmo é armazenado. Atualmente a memória do tipo Flash é mais utilizada, uma vez que pode ser programada diversas vezes, enquanto as outras não tem essa capacidade. E por último temos a memória EEPROM (Eletrically Erasable ROM) que pode ser utilizada pelo usuário para guardar dados, sendo uma memória do tipo não volátil, que mantém os seus dados mesmo sem alimentação.
  • 47. 33 Periféricos Os periféricos disponíveis nos microcontroladores são diversos e variam conforme o modelo e o fabricante. Esses periféricos podem ser controladores de comunicação, seja serial assíncrona (USART), USB, paralela, etc., conversores A/D, comparadores, controladores de LCD, PWM. Dentre os principais periféricos destacam-se as portas de entrada e saída e os timers. As portas de entrada e saída são portas digitais com a capacidade de fornecer ou drenar correntes na faixa de alguns mA, produzindo assim os sinais necessários para acionamento de circuitos externos ou recebendo sinais que serão utilizados pela CPU do microcontrolador. Já os timers são contadores internos, independentes, que fornecem uma referência para processos que envolvam a contagem de tempo. Interrupções As interrupções são pausas no programa principal provocadas por algum evento interno ou externo que são tratadas por uma rotina que esteja fora do programa principal. As interrupções podem ser programadas para acontecer devido a diversos tipos de eventos como a borda de descida de um sinal externo, um estouro de contagem de um timer interno, ou mesmo uma interrupção provocada pelo início de uma comunicação com outro dispositivo. As rotinas de interrupção são armazenadas em uma área de memória separada do programa principal. 3.14.1. Microcontrolador PIC18F4550 O microcontrolador PIC18F4550 faz parte de uma família de microcontroladores fabricados pela Microchip Technology Inc., baseados na arquitetura Harvard. O nome PIC provêm de “Programmable Interface Controller”.
  • 48. 34 Figura 26. Pinagem do microcontrolador 18F4550. [Fonte: Inginieria5 ] Estes dispositivos processam dados de 8 bits, possuem 32Kbytes de memória de programa, no formato ROM, EPROM ou FLASH, 2048 bytes de memória de dados RAM e mais 256 bytes de memória EEPROM. Devido a arquitetura Harvard possuem alta velocidade de processamento, operando em frequências de até 48MHz. Possuem um conjunto de 35 instruções em assembly. Figura 27. Pinagem do microcontrolador 18F4550. [Fonte: Adaptado de Microchip (2006)] 5 Disponível em: < http://cosasdeingenieria.com/esp/index/item/189/55/microcontrolador- pic18f4550 >, acesso em: 14 de fevereiro de 2015.
  • 49. 35 O PIC18F4550 possui 40 pinos, onde 35 destes podem ser configurados como entradas e saídas digitais. Pode ser alimentado com tensões de 4V à 5.5 V. Possui diversos periféricos, tais como, treze conversores A/D de 10bits de resolução, um timer de 8 bits e mais três timers de 16 bits (TIMER2, TIMER0, TIMER1 e TIMER3), dois comparadores analógicos, módulos de comunicação, serial assíncrona (USART), SPI, I²C e USB 2.0. Características Elétricas Conforme descrito por Miyadaira(2009) as características elétricas do PIC18F4550 são: Faixa de temperatura de trabalho.................................-40°C a +85°C Tensão de funcionamento....................................................4V a 5.5V Potência máxima de dissipação.....................................................1 W Corrente máxima de saída do pino VSS.....................................300mA Corrente máxima de entrado do pino VDD.................................250mA Corrente máxima fornecida por qualquer pino I/O.......................25mA Corrente máxima de entrada em todas as portas I/O................200mA Corrente máxima fornecida por todas as portas I/O..................200mA Ambiente de desenvolvimento integrado,compilador e gravador O Ambiente de Desenvolvimento Integrado da família de microcontroladores PIC é o MPLAB IDE. Com este software é possível editar, debugar, simular, compilar e gravar os programas no microcontrolador. O compilador desenvolvido para a família PIC 18F é o MPLAB C18. Este é um compilador de linguagem C, que trabalha integrado ao ambiente de desenvolvimento integrado, possuindo uma vasta biblioteca. Este compilador permite também incluir sequências de código assembly no código em C. O gravador utilizado é o PICKit3, que efetua a gravação dos arquivos gerados no microcontrolador após a compilação no MPLAB. Este gravador é do tipo ICSP (In
  • 50. 36 Circuit Serial Programming) onde é possível realizar toda a gravação sem a necessidade de retirar o chip do circuito final. 3.15. Comunicação entre Microcontrolador e Computador Em diversas aplicações utilizando microcontroladores, surge a necessidade de haver uma troca de dados deste dispositivo com um computador pessoal, seja para receber e transmitir resultados de operações ou mesmo para interagir com uma interface gráfica hospedada no computador. Com esta finalidade os microcontroladores da família PIC 18F dispõem de alguns protocolos de comunicação serial, seja para troca de dados entre periféricos, como o SPI e o I²C, ou então para a comunicação direta entre o dispositivo e o computador, tais como a USART, implementado o RS-232, e a USB. 3.15.1. USART Conforme Miyadaira (2009) a USART (Universal Synchronous Asynchronous Receiver Transmitter) é um periférico presente no PIC que permite a realização da comunicação entre o chip e uma porta serial. Pode ser configurado para trabalhar de modo assíncrono, em full-duplex, ou no modo síncrono, half-duplex. Full-duplex é o modo de comunicação onde os dispositivos envolvidos na comunicação podem receber e transmitir dados simultaneamente, já no modo half-duplex somente um dispositivo pode transmitir ou receber por vez. A USART recebe os dados da CPU do PIC de forma paralela e os transmite de forma serial, e do mesmo modo recebe dados de forma serial e os repassa à CPU de forma paralela. Através deste hardware de comunicação é possível implementar diversos protocolos seriais dentre eles destaca-se o RS-232.
  • 51. 37 3.15.2. RS-232 O RS-232 é um protocolo de comunicação serial utilizado para a troca de dados entre dispositivos denominados DTE (Data Terminal Equipment), um terminal de dados, como um computador, e entre um DCE (Data Communication Equipment), um comunicador de dados, tal como um modem, a título de exemplo. Este protocolo foi desenvolvido pela EIA (Electronic Industries Association) por volta de 1962, e é também conhecido pelos nomes de EIA 232 ou TIA 232. A troca de dados é feita através de pacotes de dados, denominados frames, com tamanho de 10 ou 11 bits, sendo 1 bit de início (Start Bit), 1 à 2 bits de parada (Stop Bits),1 bit de paridade e 8 bits da mensagem codificada conforme tabela ASCII. As taxas de transmissão mais comuns são de 300bps, 600bps, 1200bps, 2400bps, 4800bps, 9600bps, 19200bps. (MIYADARA, 2009) Quanto aos sinais elétricos binários, o estado lógico 0, também denominado espaço, é representado por tensões na faixa de +3V a +25V, enquanto o estado lógico 1, é denominado marca, e é representado por tensões na faixa de -3V a -25V. A região de -3V a +3V não representa nenhum estado lógico. A figura 28 exibe os sinais elétricos para um frame de 10 bits, sem paridade, onde acima do gráfico estão representados os estados lógicos correspondentes. Figura 28. Sinal elétrico padrão RS-232. [Fonte: Adaptado de Ermicro6 ] 6 Disponível em: < http://www.ermicro.com/blog/?p=325#more-325 >, acesso em: 14 de fevereiro de 2015.
  • 52. 38 Os conectores geralmente utilizados nas portas seriais são o DB9 e o DB25, com 9 e 25 pinos respectivamente. Na figura 29 é mostrado o conector DB9 macho, utilizado geralmente nas extremidades dos cabos de comunicação, enquanto o conector fêmea é embutido nos dispositivos que se comunicam. Figura 29. Conector DB9 fêmea. [Fonte: Adaptado de Usconverters7 ] Nos computadores com sistema operacional Windows as portas de comunicação seriais são referidas como portas COM, seguindo uma numeração sequencial: COM1, COM2...e assim sucessivamente. Quando há a necessidade de se utilizar as funcionalidades de uma porta COM mesmo sem a existência de uma porta física instalada, é possível através de um software dedicado, criar portas seriais virtuais. 3.15.3. USB O USB (Universal Serial Bus) é protocolo de comunicação serial desenvolvido nos anos 90 por um conjunto de grandes empresas do ramo de tecnologia como Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC e Philips. Foi concebido sob 7 Disponível em: < http://www.usconverters.com/index.php?main_page=page&id=61 >, acesso em: 14 de fevereiro de 2015.
  • 53. 39 o conceito da tecnologia plug-and-play onde o usuário pode conectar um dispositivo USB a um computador, ou outro equipamento de capacidade semelhante, e todo o processo de inicialização e conexão é realizado automaticamente. Ao longo dos anos o protocolo passou por diversas atualizações, partindo do USB 1.0, com taxas de transmissão de 1.5 Mbit/s a 12 Mbit/s, em seguida o USB 2.0, com taxas que alcançam até 480 Mbit/s, e mais recentemente foi concebido o USB 3.0 com altas taxas de transmissão, chegando a 5 Gbit/s. Este protocolo opera no modo half-duplex e a codificação dos estados lógicos é do tipo NRZI. Na topologia de uma rede USB são considerados quatro elementos: o host, o root hub, o hub e os periféricos. Segundo Messias (2007) host é o dispositivo responsável por inicializar e gerenciar processos como detecção e remoção de periféricos, controle do fluxo de dados, fornecimento de alimentação para os periféricos e monitoramento dos sinais no barramento USB. Já os hubs são os dispositivos que fornecem portas físicas adicionais e alimentação para os periféricos conectados, permitindo ampliar a rede USB. O root hub é a porta física principal presente no host. Meio físico e conectores O meio físico é constituído de 4 linhas, sendo duas para alimentação, o Vbus com +5V e o GND (terra), e um par trançado de fios com as linhas de dados D+ e D-. As cores padronizadas dos fios são: preto para o GND, vermelho para o Vbus, verde e branco para o D- e D+ respectivamente.
  • 54. 40 Figura 30: Conector USB, designação dos pinos e cores dos fios correspondentes. [Fonte: Adaptado de SuperUser8 ] Existem diversos conectores padronizados, entre eles tem-se o USB tipo A, tipo B, Mini-A, Mini-B, Micro-AB, Micro-B. Os conectores do tipo A são utilizados nas portas dos host ou hubs, já o tipo B é utilizado nas portas dos periféricos. Figura 31. Conector DB9 fêmea. [Fonte: Adaptado de Greenlightgo9 ] 8 Disponível em: < http://superuser.com/questions/448722/can-i-safely-connect-the-power- only-end-of-a-usb-y-cable-to-an-other-power-source >, acesso em: 14 de fevereiro de 2015. 9 Disponível em: < http://greenlightgo.org/education/courses/engr101fall2014/ 2014/10/10/human-factors-mw-1430-landon-duke >, acesso em: 14 de fevereiro de 2015.
  • 55. 41 Codificação NRZI Toda a troca de dados em uma comunicação USB é feita pelo código NRZI. O NRZI (Non-Return to Zero Inverted) é um tipo de codificação que designa o estado lógico 1 como uma transição qualquer de subida ou descida do sinal, enquanto o estado lógico 0 é designado como a ausência de transições. A figura 32, ilustra esta codificação: Figura 32. Sinal codificado em NRZI. [Fonte: Adaptado de Hertfordshire10 ] Endpoint, Pipe e tipos de transferência de dados Um endpoint é uma região de memória no periférico que armazena todos os dados relacionados ao protocolo USB. Estes dados podem ser: número de série, fabricante, classe, velocidade, tipo de transferência, nome do produto entre outras características. Já o pipe é um canal de dados virtual, que faz a associação entre um endpoint no dispositivo e um software gerenciador no host. Quanto ao tipo de transferências de dados, são definidas quatro formas: Control, Bulk, Interrupt e Isochronous. O tipo Control é utilizado para realizar a configuração de um dispositivo que é conectado pela primeira vez. O tipo Bulk é utilizado quando é necessária a transferência de grandes quantidades de dados, garantindo a integridade dos dados por meio da verificação de erros. O tipo Interrupt é utilizado por dispositivos que realizam transferências de dados em pequenas 10 Disponível em: < http://homepages.herts.ac.uk/~comqrgd/docs/network-notes/network- notes-node4.html >, acesso em: 14 de fevereiro de 2015.
  • 56. 42 quantidades e com pouca frequência, tais como, mouses e teclados. E o tipo Isochronous é utilizado para a transferência de grandes quantidades de dados, de forma contínua, com velocidade mais alta, e sem a necessidade da verificação de erros. Esta última forma é utilizada geralmente para transmissões dados do tipo áudio ou vídeo. Pacotes de dados do protocolo USB Conforme descrito por Messias(2007) As transferências de dados no protocolo USB são sempre iniciadas e gerenciadas pelo Host, e todo o processo é feito através de pacotes, sendo o primeiro destes o Token que descreve o que será enviado no pacote seguinte, e se a mensagem deverá ser lida ou escrita, o pacote Data que contém os dados úteis e por fim o pacote Handshake que sinaliza se houve ou não sucesso na operação. Descritores É um grupo de dados acerca de um dispositivo USB que dão ao Host diversas informações sobre o dispositivo como número de endpoints, tipo de transferência, número de série, fabricante, tipo de dispositivo, etc. No processo de enumeração o host realiza a solicitação dos descritores, de modo a identificar o dispositivo e suas características, e então estabelecer a comunicação entre ambos. Classes No protocolo USB os dispositivos que possuem características em comum são agrupados em classes. Isso permite em muitos casos a reutilização de software, de modo que os drivers utilizados para um dispositivo possam ser utilizados por outro pertencente a mesma classe com poucas modificações. Os tipos de classes mais comuns são: Audio Device Class (ADC), Human Interface Device (HID), Mass storage Class (MSC), Custom Class, Communication Device Class(CDC). A classe ADC é usada para troca de dados de áudio. A HID é geralmente utilizada em mouses e teclado para trocas de dados simples e não frequentes. A MSC é utilizada para dispositivos como cartões de memória e pen-drives. Já a Custom Class é utilizada para implementar novos dispositivos USB.
  • 57. 43 A classe CDC, contém as especificações para dispositivos de comunicação. Estes dispositivos podem ser telefones, modems, etc. Esta classe prevê também a emulação de portas seriais virtuais, que tem grande importância quando há a necessidade de se conectar equipamentos que se comunicam através do protocolo RS-232. Neste caso o driver USB CDC do dispositivo poderá emular uma porta serial no computador que contém o host, e a aplicação que se comunica com o dispositivo poderá se comunicar através do protocolo RS-232, diminuindo a complexidade do software. Enumeração Enumeração corresponde ao processo de conexão, solicitação e leitura de descritores e atribuição de um endereço para o dispositivo. No final do processo o dispositivo se encontrará configurado e pronto para se comunicar. A enumeração lida também com o processo de desconexão de um dispositivo. 3.15.4. Microchip Libraries Application A Microchip Technology Inc. dispõe de uma biblioteca de aplicações que contém códigos-fonte e arquivos de cabeçalho para uma grande diversidade de projetos, abrangendo toda a família PIC. Estes projetos lidam com interfaces gráficas, escrita e leitura de arquivos, criptografia, protocolo USB, protocolo TCP/IP, entre outros. Neste pacote ainda vem incluso diversos drivers e aplicativos que funcionam em conjunto com cada projeto. A biblioteca e os projetos de comunicação USB disponíveis, são particularmente importantes para este trabalho, uma vez que fornecem as classes, funções e drivers necessários para implementar dispositivos USB da classe CDC, permitindo emular portas COM virtuais no sistema operacional Windows. 3.16. Motores de Passo Os motores de passo são máquinas elétricas cuja rotação é feita em variações angulares discretas, através da aplicação de pulsos elétricos sequenciais em cada
  • 58. 44 fase de seu estator. A velocidade de rotação do rotor é diretamente proporcional a frequência dos pulsos aplicados no estator. Figura 33. Motores de passo. [Fonte: Manutenção & Suprimentos11 ] Estes motores são utilizados principalmente em aplicações que requeiram posicionamento preciso e sincronismo, a partir de um controle em malha aberta. São amplamente empregados nas áreas de robótica e automação industrial, e são encontrados em equipamentos como impressoras, scanners, câmeras, robôs e sistemas de posicionamento. Quanto a resolução angular, é possível encontrar motores com passos de 0.9°, 1.8°, 3.6°, entre outros, chegando até valores de 90° por passo. Princípio de funcionamento Os motores de passo são constituídos basicamente de um estator com enrolamentos de excitação e um rotor que pode ser composto de saliências espaçadas uniformemente ou imãs permanentes. O conjugado é produzido pela tendência do rotor em se alinhar com o campo produzido pela fase excitada. Um exemplo simplificado de funcionamento é mostrado na figura 34, abaixo: 11 Disponível em: < http://www.manutencaoesuprimentos.com.br/conteudo/5899-motores-de- passo >, acesso em: 14 de fevereiro de 2015.
  • 59. 45 Figura 34: Funcionamento simplificado de um motor de passo. [Fonte: Adaptado de Savage12 ] Na figura 34 é possível ver um diagrama conceitual de um motor de passo, cujo rotor é constituído de um imã permanente que se alinha com o campo magnético produzido por uma fase do estator. Formas construtivas Segundo Fitzgerald (2003) existe uma grande variedade de formas construtivas de motores de passo, sendo que as principais são: os motores de relutância variável, de imã permanente e híbridos. Nos motores de passo de relutância variável o estator possui pólos magnéticos salientes enquanto o rotor é constituído de lâminas de aço-silício empilhadas. O rotor possui também diversas saliências longitudinais que atuam como caminhos de baixa relutância para o fluxo magnético. Sendo assim quando um enrolamento é excitado, o rotor tende a se alinhar em uma direção que minimize a relutância entre dois pólos opostos do estator. Na figura 35 é mostrado o esquema de um motor de passo de relutância variável, onde a fase B é excitada, produzindo um campo magnético entre 12 Disponível em: < http://www.savagehomeautomation.com/projects/raspberry-pi-stepper- motor-control-breakout-board.html >, acesso em: 14 de fevereiro de 2015.
  • 60. 46 os pólos B e B’, o que resulta no alinhamento das saliências 3 e 6 do rotor, que formam o caminho magnético de baixa relutância. Figura 35. Motor de passo de relutância variável. [Fonte: Adaptado de EEP13 ] Já nos motores de imã permanente o rotor é constituído de imãs permanentes, sendo que quando uma das fases do estator é acionada os imãs tendem a alinhar seu campo magnético com o campo produzido. São motores de baixa resolução, podendo ser encontrados com passos de 7,5° a 15°. Figura 36. Motor de passo de relutância variável. [Fonte: Adaptado de Electrical Engineering Assignment14 ] 13 Disponível em:< http://electrical-engineering-portal.com/few-words-about-stepper-motor- advantages-disadvantages-and-classification >, acesso em: 15 de fevereiro de 2015. 14 Disponível em:< http://www.electrical-engineering-assignment.com/construction-and- working-2 >, acesso em: 15 de fevereiro de 2015.
  • 61. 47 O terceiro tipo, o motor de passo híbrido, combina as vantagens dos motores de relutância variável e imã permanente. Seu rotor é constituído de dois corpos cilíndricos, ferromagnéticos, com saliências que permitem a formação de um caminho magnético bem definido. No interior do rotor é colocado um imã permanente de tal modo que cada corpo cilíndrico tenha uma polaridade magnética diferente. Além disso as saliências de um corpo se encontram deslocadas em relação as saliências do outro corpo, sendo que esse ângulo de deslocamento corresponde ao valor de dois passos. Já no estator os pólos salientes possuem também ressaltos, que ajudam na condução do fluxo magnético para cada saliência do rotor. A figura 37 ilustra a estrutura descrita: Figura 37. Motor de passo Híbrido. [Fonte: Adaptado de McComb15 ] Tendo essas características em vista, quando se excita uma fase do estator, cada saliência do rotor, que formam pequenos pólos, tenderão a se alinhar com os ressaltos do estator, produzindo então o conjugado. 15 Disponível em:< http://www.microchip.com/stellent/groups/SiteComm_sg/documents/ DeviceDoc/en543047.pdf >, acesso em: 15 de fevereiro de 2015.
  • 62. 48 Figura 38. Motor de passo Híbrido. [Fonte: Adaptado de PCBheaven16 ] Ligações elétricas do estator Os motores de passo, quanto a ligação do estator, podem ser bipolares ou unipolares. Conforme Os motores bipolares possuem somente um enrolamento para cada fase, sendo necessária a inversão da corrente para inverter o sentido de rotação do motor. Já os motores unipolares possuem dois enrolamentos por fase, um para cada sentido de rotação. Neste último caso há sempre um fio em comum aos dois enrolamentos de uma fase. (BRITES et al., 2008) A ligação bipolar permite obter torques maiores, uma vez que a ligação unipolar divide o enrolamento de uma fase em duas partes, através do fio comum, o que reduz a indutância pela metade. Por outro lado a ligação unipolar permite que o acionamento seja feito por um hardware mais simples. 16 Disponível em:< http://www.pcbheaven.com/wikipages/How_Stepper_Motors_Work >, acesso em: 15 de fevereiro de 2015.
  • 63. 49 Figura 39. Tipos de ligações. À esquerda um motor bipolar de 2 fases e 4 fios. À direita um motor unipolar de 2 fases e 6 fios. [Fonte: Adaptado de McComb17 ] Sequência de acionamento de fases Para que o rotor dos motores de passo se desloque de modo uniforme é necessário seguir uma sequência de acionamento. Tomando como base a nomenclatura da figura 39, os sinais aplicados as fases do estator devem ter a seguinte ordem, mostrada nas figuras 40 e 41 abaixo: Figura 40. Sequência de acionamento, com uma fase por vez. [Fonte: Adaptado de Neoyama (2014)] 17 Disponível em:< http://www.likomotor.com/en/_default_v72.aspx >, acesso em: 15 de fevereiro de 2015.
  • 64. 50 Figura 41. Sequência de acionamento, com duas fases simultaneamente. [Fonte: Adaptado de Neoyama (2014)] O sinal “+” na tabela representa uma tensão positiva aplicada no terminal correspondente. As figuras 40 e 41 mostram dois modos de acionamentos, válidos tanto para motores bipolares, como para unipolares. No primeiro, somente uma fase é acionada por vez, na sequência especificada, e no segundo temos duas fases sendo acionadas simultaneamente. Ambos produzirão a rotação do motor, porém no segundo caso o torque produzido é maior, o que acarreta também um consumo maior de corrente. 3.17. Método de interpolação de movimentos utilizando motores de passo Um dos problemas relativos a mesa móvel diz respeito não só ao projeto e construção, como também a forma como a mesa deve se movimentar e como deve ser feito o controle das trajetórias utilizando motores de passo. Tendo a vista a solução deste problema, uma das possíveis referências se encontram na indústria e as tecnologias utilizadas para sistemas de posicionamento. Uma área que fornece soluções para este tipo de problema é denominada Motion Control. As tecnologias e métodos utilizados por esta área, são amplamente utilizados na indústria e constituem uma valiosa referência para o desenvolvimento de sistemas de posicionamento, tal como a mesa móvel desenvolvida neste trabalho.
  • 65. 51 3.17.1. Motion Control O controle de movimentos, ou Motion Control como é mais conhecido na indústria, é uma das áreas da automação industrial que trata do controle de posição, velocidade e aceleração de mecanismos acionados por atuadores hidráulicos, pneumáticos ou elétricos. Esta área porém lida com movimentos de média complexidade, aplicada em mecanismos e planejamento de trajetórias mais simples do que aqueles encontrados nas área de robótica industrial ou mesmo em máquinas CNC. (SCHNEIDER, 2014) A figura 42 abaixo, expressa graficamente o nível de complexidade e os tipos de mecanismos que são acionados: Figura 42. Área de aplicação do motion control industrial. [Fonte: SCHNEIDER, 2014]
  • 66. 52 Arquitetura A arquitetura típica de um sistema de motion control é mostrada abaixo, na figura 43: Figura 43. Arquitetura típica de um sistema de motion control industrial. [Fonte: Adaptado de EETimes18 ] Conforme mostrado a arquitetura é composta basicamente de um controlador, os amplificadores, atuadores, e sensores. O controlador tem a função de processar as ordens recebidas de um controlador mestre, processar os sinais de realimentação, realizar o cálculo das trajetórias e gerar os sinais de controle para a etapa seguinte. Os amplificadores ou drivers, constituem a etapa de potência do sistema, sendo responsáveis por acionar diretamente os atuadores fornecendo a potência que necessitam. Os atuadores são os responsáveis por movimentar o mecanismo que se desejar acionar. Podem ser atuadores hidráulicos, pneumáticos ou elétricos, contudo, a maioria dos sistemas de motion control são dedicados a motores elétricos. 18 Disponível em:< http://www.eetimes.com/document.asp?doc_id=1272319 >, acesso em: 15 de fevereiro de 2015.
  • 67. 53 Tipos de movimento Na área de motion control os tipos de movimentos mais comuns são o ponto- a-ponto, interpolação linear e interpolação circular. O movimento ponto-a-ponto, como o próprio nome diz, é executado ponto por ponto, em passos. Segundo Ardayfio (1987) Há três formas usuais de se realizar este tipo de movimento. No primeiro modo somente um eixo é movimentado por vez, até que se atinja o ponto desejado. Na segundo modo cada eixo é movimento para sua coordenada final sem haver coordenação, de modo que, se algum dos eixos atingir sua coordenada primeiro, ele ficará imobilizado até os outros alcançarem sua posição final. E no terceiro modo, os eixos são coordenados de forma que atinjam simultaneamente a posição final Já a interpolação linear é um método mais sofisticado onde os movimentos de cada eixo são coordenados de modo que a trajetória seja realmente linear com velocidade controlada. E por fim na interpolação circular, são percorridas trajetórias em arco ou em um círculo. A partir das posições inicial e final, e da posição do centro de curvatura, é gerada uma trajetória e o eixos são movimentadas de forma coordenada, tal que se atinja simultaneamente o ponto final. 3.17.2. Algoritmo de Interpolação Linear A mesa móvel constituí um sistema de posicionamento de dois eixos lineares, sendo acionados por dois motores de passo. O que resulta que todos os movimentos são realizados de forma discreta, em passos. Neste sistema será utilizado somente um microcontrolador para dois eixos, e dada a natureza sequencial deste controlador, não é possível o acionamento simultâneo dos eixos. Neste contexto o tipo de movimento que pode ser realizado pela mesa é ponto-a-ponto, conforme o primeiro tipo descrito no item 3.1. Dentre as diversas possibilidades de se realizar este tipo de movimento, tem-se o algoritmo de Bresenham, utilizado com sucesso por Chiang(1994) na implementação de um sistema de controle de movimentos utilizando motores de passo. Com esse algoritmo é possível implementar uma interpolação linear com boa precisão utilizando uma série de pequenos movimentos ponto-a-ponto.
  • 68. 54 Algoritmo de Bresenham O algoritmo de Bresenham é um algoritmo da área de computação gráfica, que tem a função de desenhar retas da forma aproximada em matrizes de pixels. Foi criado por Jack Elton Bresenham em 1965, cujo objetivo, segundo o próprio autor em Bresenham (1965) era obter um algoritmo para o controle de posição de plotadoras digitais. Basicamente este algoritmo verifica qual pixel se encontra mais próximo da reta a ser desenhada, assinalando esta posição. Figura 44. Deteminação dos pontos de origem de cada pixel no algoritmo de Bresenham. [Fonte: ZINGL,2012] Sendo assim em cada passo é feita a comparação da distância da reta com o ponto Pm. Se a reta ficar acima da metade da altura do pixel então o pixel acima da reta é assinalado, caso contrário o pixel onde se encontra a reta é assinalado. Na figura 44 como a reta ficou abaixo de Pm então o pixel com origem em Px foi assinalado.
  • 69. 55 Neste algoritmo o eixo que possuir o maior número de passos é tomado como referência, sendo incrementado a cada passo. Já o eixo secundário para ser incrementado ou não, depende da comparação com o ponto médio, conforme explanação do parágrafo anterior. Interpolação linear utilizando o Algoritmo de Bresenham Quando utilizado em sistemas de movimentação o algoritmo de Bresenham pode fornecer uma trajetória aproximadamente linear, utilizando pequenos movimentos ponto-a-ponto. Tomando como base a figura 44 e os pontos gerados pelo algoritmo, é possível obter um perfil de movimentação conforme mostrado abaixo na figura 45: Figura 45. Interpolação linear utilizando o algoritmo de Bresenham. [Fonte: Adaptado de ZINGL,2012] No caso de um sistema de posicionamento utilizando motores de passo como atuadores, pode-se verificar que quanto maior a resolução angular do motor, mais a trajetória se aproximará de uma interpolação linear ideal.
  • 70. 56 4. Resultados 4.1. Mesa Móvel Neste tópico são explanadas as etapas de projeto e construção da mesa móvel, bem como as dificuldades encontradas na execução. 4.1.1. Projeto O projeto foi inspirado em mesas X-Y de uso corrente na indústria, conforme descrito no tópico 3.13 deste trabalho. Todo o desenvolvimento foi feito com o objetivo de produzir um mecanismo estável, com precisão razoável, e que pudesse ser facilmente confeccionado e montado nas dependências da oficina mecânica da UFABC. Todos as peças possuem formatos simples e com tolerâncias dimensionais de fácil obtenção. O material utilizado em sua maioria é o alumínio, que possui boa usinabilidade, leveza e um custo menor se comparado ao aço. O sistema é composto de uma base principal que dá suporte a mais duas bases, sendo a base final a parte que se desloca em duas direções. Sobre a base principal há dois barramentos redondos de aço trefilado, sobre os quais deslizam dois mancais de nylon. O nylon garante um baixo coeficiente de atrito, combinado com uma razoável rigidez que é característica deste material. Estes mancais servem também de suporte a segunda base. Fixada a esta base há duas correias sincronizadoras, cuja movimentação é feita através de um motor de passo com o eixo acoplado a duas polias sincronizadoras. Sobre a segunda base há o mesmo conjunto descrito, com um outro motor de passo realizando a movimentação. Nas figuras 46, 47, 48 e 49 são mostradas algumas vistas do projeto da mesa móvel desenvolvido no software CAD SolidWorks:
  • 71. 57 Figura 46: Vista em perspectiva da Mesa Móvel. [Fonte: Autor] Figura 47. Vista frontal da Mesa Móvel. [Fonte: Autor]
  • 72. 58 Figura 48. Vista da lateral esquerda da Mesa Móvel. [Fonte: Autor] Figura 49. Vista superior da Mesa Móvel. [Fonte: Autor] Este conjunto foi projetado para possuir um curso máximo de 240 mm nas direções x e y.
  • 73. 59 Para evitar colisões no fim do curso de movimentação são acoplados aos suportes das guias, sensores mecânicos do tipo microswitch, de tal modo que próximo do curso máximo, os mancais de nylon entrem em contato com o sensor gerando um sinal de parada do motor de passo. Todo o projeto das peças e do conjunto é de autoria própria, e os desenhos técnicos se encontram no Apêndice A deste trabalho. 4.1.2. Confecção, montagem e resultado final Após a finalização do projeto, todos os desenhos técnicos foram entregues aos responsáveis da oficina mecânica da UFABC, juntamente com as matérias-primas, necessárias a usinagem. Todo o processo de confecção se desenvolveu sem maiores problemas, havendo uma pequena dificuldade na usinagem dos mancais de nylon. O nylon é um material de plástico de estrutura rígida e que se funde a baixas temperaturas. Resulta que no momento da usinagem a retirada de cavacos é irregular devido a deformação causada pela temperatura, gerada na fricção com a ferramenta. Então no momento da operação manual de alargamento do furo principal, houve a formação sulcos longitudinais neste furo. Estas irregularidades foram corrigidas com repasses da ferramenta de alargamento. Por fim todas as peças foram confeccionadas corretamente, de acordo com as dimensões e tolerâncias especificadas no projeto. A montagem também ocorreu sem maiores problemas, uma vez que o projeto foi feito visando também a facilidade de montagem. Todos os componentes foram fixados através de parafusos, porcas e arruelas. Conforme o previsto as bases montadas sobre os barramentos exibiram um baixo coeficiente de atrito, podendo ser deslocadas manualmente quando os motores não estão acoplados. A dificuldade encontrada foi no mecanismo de acoplamento entre o motor e o eixo que suporta as polias. Como o sistema em si não possui uma alta precisão dimensional e de posição, houveram pequenos desvios entre o eixo do motor e o eixo
  • 74. 60 de transmissão de movimento às polias. O acoplamento utilizado exibia também folgas nos furos que amplificaram o desalinhamento dos eixos. Resultou que nos testes, com o motor acoplado e acionado, todo o desalinhamento foi transmitido ao eixo do motor que a cada volta ficava se deslocando de sua posição. A solução encontrada foi a utilização de acoplamentos elásticos. Estes acoplamentos são peças de alumínio que possuem o diâmetro de cada eixo a ser acoplado e o seu corpo é cilíndrico, porém é fabricado com uma seção em forma helicoidal que permite que este componente se comporte como uma mola. Na figura 50 é possível ver o acoplamento utilizado: Figura 50. Acoplamento elástico utlizado. [Fonte: Autor] Este formato permite que este componente compense tanto desalinhamentos radiais como longitudinais. Sua aplicação no conjunto montado permitiu a compensação dos desalinhamentos, tornando suave a transmissão de movimento do motor para o eixo das polias. Com relação aos atuadores, foram utilizados motores de passo híbridos, com passos de 1.8°, do fornecedor Neoyama Ltda. O motor escolhido para movimentar a base inferior, possui torque de 15 Kgf.cm, enquanto o outro motor possui torque de 10 Kgf.cm, uma vez que a carga do conjunto da base superior é menor. A mesa móvel montada, incluindo os motores de passo é mostrada nas figuras 51 e 52 abaixo:
  • 75. 61 Figura 51. Vista em perspectiva da mesa móvel montada. [Fonte: Autor] Figura 52. Vista superior da mesa móvel montada. [Fonte: Autor]
  • 76. 62 4.2. Circuitos Eletrônicos Controle e Potência Neste tópico são explanadas as etapas de projeto dos circuitos eletrônicos e montagem do protótipo, bem como as dificuldades encontradas durante os testes. 4.2.1. Projeto O circuito eletrônico deste trabalho pode ser dividido basicamente em dois módulos: módulo de controle e módulo de potência. O módulo de controle é responsável por gerar os sinais de acionamento do motor de passo, na sequência correta e também gerenciar a comunicação USB com o computador. Já o módulo de potência, ou driver, amplifica os sinais de acionamento fornecendo a tensão e corrente que os motores de passo necessitam. Módulo de Controle Este módulo é constituído de microcontrolador, regulador de tensão, oscilador e conector USB. O regulador de tensão é primordial para oferecer uma tensão de 5V para a alimentação do microcontrolador e suas entradas e saídas. Já o oscilador é composto de um cristal piezoelétrico associado a capacitores cerâmicos, cuja função é fornecer o sinal de clock para o microcontrolador para a realização de todas as tarefas. O sinal fornecido é de 20 Mhz neste projeto. Para permitir que este módulo se comunique com o computador, é ligado à saída USB do microcontrolador um conector USB fêmea do tipo B, semelhante ao mostrado na figura 41. Módulo de Potência Este módulo é constituído de optoacopladores, transistores bipolares, diodos e resistores de potência. Com a finalidade de isolar eletricamente o módulo de interface do módulo de potência, são empregados nas entradas do módulo de potência dezesseis optoacopladores. Estes componentes realizam a interface entre a etapa de potência e controle, eliminando boa parte das interferências que poderiam se propagar para o
  • 77. 63 circuito de controle além de evitar possíveis surtos de corrente ou tensão nas saídas do microcontrolador, que possivelmente levariam o elemento à queima. Já os transistores, diodos e resistores de potência são empregados nas denominada pontes H que alimentam as fases dos motores de passo. A ponte H é um conjunto de 4 chaves que permite fornecer corrente nos dois sentidos para um elemento conectado no centro da ponte. As chaves são acionadas em pares, sendo um par de chaves para cada sentido de corrente. Neste circuito os transistores bipolares são polarizados na região de saturação atuando portanto como as chaves. Como o elemento a ser acionado pela ponte H é uma indutância, então quando for feita a comutação dos transistores para inverter a corrente, a indutância produzirá sobre o transistor, entre o coletor e o emissor, uma força contra-eletromotriz que impedirá a variação brusca de corrente. Se os terminais do transistor forem diretamente submetidos a esta tensão de grande magnitude, com uma corrente remanescente grande, então a dissipação de calor no elemento será alta, podendo levar a queima do transistor. Para resolver isto são utilizados diodos em paralelo com os transistores, os denominados de diodos roda-livre, que fornecem um caminho de baixa resistência para a corrente remanescente, livrando o transistor da alta dissipação de calor. Estes diodos são ligados de modo que fiquem inversamente polarizados em relação a tensão de alimentação. Já os resistores de potência são utilizados na entrada das pontes H para suportar a alta dissipação de calor de calor devido as correntes elevadas. Conforme os testes realizados, a corrente registrada na entrada de uma das pontes H utilizadas, chegou a 3 A aproximadamente, sendo que os resistores utilizados possuem 2,2 Ω, isso resulta em uma potência dissipada de 6,6 W. Para efeito de comparação um resistor comum de carvão tem a capacidade de dissipar sem queimar, até 3W no modelo com maior capacidade de potência. Os resistores de potência utilizados neste projeto são do tipo fio, e tem a capacidade de dissipar até 25W.
  • 78. 64 4.2.2. Lista de Materiais Abaixo na tabela 1 são mostrados todos os materiais utilizados na montagem do protótipo eletrônico bem como as designações utilizadas no projeto: Tabela 1: Lista de componentes do projeto eletrônico. [Fonte: Autor] Todo os desenhos técnicos dos circuitos são de autoria própria e se encontram no Apêndice B deste trabalho. 4.2.3. Montagem O protótipo do circuito foi montado sobre uma protoboard e os resistores de potência e diodos foram montados em bornes devido ao tamanho dos mesmos. Abaixo na figura 52 é mostrada a foto do protótipo montado:
  • 79. 65 Figura 53. Protótipo montado sobre protoboard. [Fonte: Autor] Nos testes realizados as correntes obtidas foram de cerca de 2,5 A por motor acionado, conforme figura 53 abaixo: Figura 54. Corrente consumida para um eixo acionado. [Fonte: Autor]