UNIVERSIDADE FEDERAL DO ABC
Wilson Silva Sousa
OPERAÇÃO REMOTA DE MESA MÓVEL UTILIZANDO VISÃO
COMPUTACIONAL
Trabalho de Gr...
Wilson Silva Sousa
OPERAÇÃO REMOTA DE MESA MÓVEL UTILIZANDO VISÃO
COMPUTACIONAL
Trabalho de Graduação apresentado a
Univer...
AGRADECIMENTOS
A Deus, pela oportunidade de viver, pensar, realizar e amar.
À minha família, por todo o apoio durante esta...
OPERAÇÃO REMOTA DE MESA MÓVEL UTILIZANDO VISÃO
COMPUTACIONAL
Wilson Silva Sousa
Março / 2015
Orientadora: Profª Dra. Elvir...
REMOTE OPERATION OF SLIDING TABLE USING COMPUTER
VISION
Wilson Silva Sousa
March / 2015
Advisor: Profª Dra. Elvira Rafikov...
LISTA DE FIGURAS
Figura 1. Arquitetura de um sistema de operação remota.................................2
Figura 2.(a) Rob...
Figura 18. Filtro linear com resposta ao impulso h(x,y)...................................23
Figura 19. Matriz representan...
Figura 38. Motor de passo Híbrido...................................................................48
Figura 39. Tipos de...
Figura 58. Tela principal do aplicativo..............................................................74
Figura 59. Fluxogr...
LISTA DE TABELAS
Tabela 1: Lista de componentes do projeto eletrônico. ...................................64
Quadro 1: Cro...
LISTA DE ABREVIATURAS
A/D Analógico para Digital
ADC Audio Class Device
BPS Bits Per Second
CAD Computer Aided Design
CCD ...
NRZI Non Return to Zero Inverted
PIC Programmable Interface Controller
PWM Pulse Width Modulation
RAM Random Access Memory...
Sumário
1. Objetivo..........................................................................................................
3.15.4. Microchip Libraries Application ............................................................................43
3.1...
1
1. Objetivo
O presente trabalho tem como objetivo o desenvolvimento de um sistema de
visão computacional que permita rea...
2
A operação remota, ou teleoperação é definida basicamente como a operação
à distância de sistemas, tais como máquinas, e...
3
OpenCV (Open Source Computer Vision), que segue o modelo de software livre e
possui recursos que facilitam o desenvolvim...
4
tarefas como, ver, ouvir e falar, são na verdade problemas extremamente complexos
do ponto de vista computacional.
3.1.1...
5
(a) (b)
Figura 2.(a) Robô industrial FANUC guiado por visão computacional. (b)
Detecção da posição de garrafas para post...
6
Na medicina a visão computacional também encontra ampla aplicação. Os
resultados obtidos auxiliam os profissionais da ár...
7
Figura 5. Arquitetura de um sistema de visão computacional. [Fonte:
Marques(1999)]
A primeira etapa realizada pelo siste...
8
Na etapa seguinte, de extração de características, define-se a forma de
representação e descrição dos dados. A represent...
9
e algoritmos tais como: filtragem, manipulação de histogramas, limiarização, realce,
suavização, etc.
3.4. Imagens digit...
10
A figura 6 abaixo mostra uma imagem digital monocromática com o sistema de
coordenadas convencional:
Figura 6. Imagem m...
11
Figura 7. Formação de uma imagem colorida. [Fonte: Adaptado de Wikipedia -
Grayscale.1
]
3.5. Dispositivos de aquisição...
12
O sensor de imagem CCD (Charge Coupled Device) é uma das tecnologias
mais utilizadas atualmente para aquisição de image...
13
Figura 10. Transmissão de um quadro de imagem em dispositivo CCD. [Fonte:
PIXCELLENT, 2006]
O sensor de imagem CMOS (Co...
14
Figura 11. Filtro de Bayer. [Fonte: Adaptado de CHEERS4ALL.3
]
3.7. Conversão e armazenamento
Uma vez realizada a captu...
15
uma radiação de frequência definida ou geralmente uma combinação de radiações de
frequências distintas dentro do espect...
16
Figura 13. Sensibilidade do olho humano em relação ao comprimento de onda
da radiação eletromagnética incidente. [Fonte...
17
Figura 14. Cores primárias e secundárias em combinação aditiva. [Fonte:
SIDIGICOR, 2012.]
Esta mistura é denominada com...
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,
...
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...
20
A conversão entre RGB e HSI é dada através das seguintes equações:
= (equação 6)
= 1 − min ", #, $ % (equação 7)
& = co...
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
...
22
3.10.1. Filtragem espacial
Segundo Gonzales (2000) o termo domínio espacial refere-se a distribuição
espacial dos pixel...
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...
24
Conforme exemplo dado por Marques(1999) considera-se uma imagem a ser
filtrada e uma máscara de convolução:
Figura 19. ...
25
Este procedimento é repetido para todos os pixels da imagem original,
resultando então na imagem filtrada:
Figura 21. M...
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...
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...
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...
29
O sistema acima apesar de robusto e preciso, possui custo elevado e exige
grande precisão dimensional na confecção dos ...
30
3.13. Software de Visão Computacional
3.13.1. Linguagem programação e ambiente de desenvolvimento
Neste trabalho a ling...
31
eletrônicos como celulares, tablet’s, etc., e tendo uso em áreas como robótica,
instrumentação e eletrônica em geral.
F...
32
A unidade de controle é responsável por coordenar a ULA e as demais
unidades conectadas à CPU. Basicamente esta unidade...
33
Periféricos
Os periféricos disponíveis nos microcontroladores são diversos e variam
conforme o modelo e o fabricante. E...
34
Figura 26. Pinagem do microcontrolador 18F4550. [Fonte: Inginieria5
]
Estes dispositivos processam dados de 8 bits, pos...
35
O PIC18F4550 possui 40 pinos, onde 35 destes podem ser configurados como
entradas e saídas digitais. Pode ser alimentad...
36
Circuit Serial Programming) onde é possível realizar toda a gravação sem a
necessidade de retirar o chip do circuito fi...
37
3.15.2. RS-232
O RS-232 é um protocolo de comunicação serial utilizado para a troca de dados
entre dispositivos denomin...
38
Os conectores geralmente utilizados nas portas seriais são o DB9 e o DB25,
com 9 e 25 pinos respectivamente. Na figura ...
39
o conceito da tecnologia plug-and-play onde o usuário pode conectar um dispositivo
USB a um computador, ou outro equipa...
40
Figura 30: Conector USB, designação dos pinos e cores dos fios
correspondentes. [Fonte: Adaptado de SuperUser8
]
Existe...
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 Inve...
42
quantidades e com pouca frequência, tais como, mouses e teclados. E o tipo
Isochronous é utilizado para a transferência...
43
A classe CDC, contém as especificações para dispositivos de comunicação.
Estes dispositivos podem ser telefones, modems...
44
fase de seu estator. A velocidade de rotação do rotor é diretamente proporcional a
frequência dos pulsos aplicados no e...
45
Figura 34: Funcionamento simplificado de um motor de passo. [Fonte:
Adaptado de Savage12
]
Na figura 34 é possível ver ...
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 re...
47
O terceiro tipo, o motor de passo híbrido, combina as vantagens dos motores
de relutância variável e imã permanente. Se...
48
Figura 38. Motor de passo Híbrido. [Fonte: Adaptado de PCBheaven16
]
Ligações elétricas do estator
Os motores de passo,...
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...
50
Figura 41. Sequência de acionamento, com duas fases simultaneamente.
[Fonte: Adaptado de Neoyama (2014)]
O sinal “+” na...
51
3.17.1. Motion Control
O controle de movimentos, ou Motion Control como é mais conhecido na
indústria, é uma das áreas ...
52
Arquitetura
A arquitetura típica de um sistema de motion control é mostrada abaixo, na
figura 43:
Figura 43. Arquitetur...
53
Tipos de movimento
Na área de motion control os tipos de movimentos mais comuns são o ponto-
a-ponto, interpolação line...
54
Algoritmo de Bresenham
O algoritmo de Bresenham é um algoritmo da área de computação gráfica, que
tem a função de desen...
55
Neste algoritmo o eixo que possuir o maior número de passos é tomado como
referência, sendo incrementado a cada passo. ...
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 ...
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: Aut...
59
Para evitar colisões no fim do curso de movimentação são acoplados aos
suportes das guias, sensores mecânicos do tipo m...
60
de transmissão de movimento às polias. O acoplamento utilizado exibia também
folgas nos furos que amplificaram o desali...
61
Figura 51. Vista em perspectiva da mesa móvel montada. [Fonte: Autor]
Figura 52. Vista superior da mesa móvel montada. ...
62
4.2. Circuitos Eletrônicos Controle e Potência
Neste tópico são explanadas as etapas de projeto dos circuitos eletrônic...
63
circuito de controle além de evitar possíveis surtos de corrente ou tensão nas saídas
do microcontrolador, que possivel...
64
4.2.2. Lista de Materiais
Abaixo na tabela 1 são mostrados todos os materiais utilizados na montagem
do protótipo eletr...
65
Figura 53. Protótipo montado sobre protoboard. [Fonte: Autor]
Nos testes realizados as correntes obtidas foram de cerca...
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
Próximos SlideShares
Carregando em…5
×

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

581 visualizações

Publicada em

TG (TCC) de Engenharia de Automação, Instrumentação e Robótica da UFABC. Trata-se do controle de uma mesa móvel dotada de motores de passo, através de um sistema de visão computacional que detecta a posição de um objeto não mão do operador e transfere as coordenadas deste objeto para a mesa móvel.

Publicada em: Engenharia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
581
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 10. LISTA DE TABELAS Tabela 1: Lista de componentes do projeto eletrônico. ...................................64 Quadro 1: Cronograma de atividades ..............................................................85
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 71. 57 Figura 46: Vista em perspectiva da Mesa Móvel. [Fonte: Autor] Figura 47. Vista frontal da Mesa Móvel. [Fonte: Autor]
  72. 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. 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. 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. 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. 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. 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. 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. 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]

×