51
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador de objetos com plotagem 3D Trabalho de Conclusão de Curso. Prof. Maurício Perreto Orientador Curitiba, 10 dezembro de 2009.

UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE ENGENHARIA DA COMPUTAÇÃO

RAFAEL COSTA BENATTO

Analisador de objetos com plotagem 3D

Trabalho de Conclusão de Curso. Prof. Maurício Perreto Orientador

Curitiba, 10 dezembro de 2009.

Page 2: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

UNIVERSIDADE POSITIVO Reitor: Prof. Oriovisto Guimarães Vice-Reitor: Prof. José Pio Martins Pró-Reitor de Graduação: Prof. Renato Casagrande Diretor do Núcleo de Ciências Exatas e Tecnológicas: Prof. Marcos José Tozzi Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin

Page 3: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

TERMO DE APROVAÇÃO

RAFAEL COSTA BENATTO

Analisador de objetos com plotagem 3D Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da Computação da Universidade Positivo, pela seguinte banca examinadora:

Prof. Mauricio Perretto (Orientador)

Prof. José Carlos da Cunha

Prof. Ederson Cichaczewski

Curitiba, 10 de dezembro de 2009.

Page 4: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

Agradecimentos

Gostaria de agradecer,

a Deus por ter me dado a oportunidade de concluir mais um desafio em minha vida;

a meus pais que me ajudaram e me compreenderam durante todos os anos desta etapa de minha vida;

aos professores pelos ensinamentos, orientações, dedicação e empenho que demonstraram durante essa longa jornada;

aos meus amigos que, de forma direta ou indireta, me ajudaram na conclusão deste projeto;

a minha namorada que muito me ajudou e incentivou neste momento de tantas incertezas e tantas dificuldades que é a conclusão de um projeto.

Page 5: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

SUMÁRIO

LISTA DE ABREVIATURAS E SIGLAS............................................................................................ 7 LISTA DE FIGURAS............................................................................................................................ 8 LISTA DE TABELAS ........................................................................................................................... 9 RESUMO ............................................................................................................................................ 10 ABSTRACT ........................................................................................................................................ 11 CAPITULO 1 - INTRODUÇÃO ......................................................................................................... 12 1.1 Objetivos ................................................................................................................................. 12 CAPITULO 2 – FUNDAMENTAÇÃO TEÓRICA ............................................................................ 13 2.1 Percepção Tridimensional ....................................................................................................... 13 2.1.1 Percepção Monoculares ...................................................................................................... 13 2.1.2 Informações Visuais Óculo-Motoras .................................................................................. 13 2.1.3 Informações Visuais Estereoscópicas ................................................................................. 13 2.2 Aquisição de imagens digitais ................................................................................................. 14 2.2.1 Dispositivos de entrada 3D ................................................................................................. 14 2.2.2 Scanners Tridimensionais ................................................................................................... 14 2.3 Processamento de imagens digitais ......................................................................................... 14 2.4 Sistema de coordenadas no espaço tridimensional .................................................................. 14 2.4.1 Sistema Cartesiano Ortogonal ............................................................................................ 14 2.4.1.1 Particularidades........................................................................................................................ 15 2.4.2 Sistema Cilíndrico .............................................................................................................. 16 2.4.3 Transformação do Sistema Cilíndrico para o Sistema Cartesiano Ortogonal ..................... 16 2.5 Motor de Passo ........................................................................................................................ 18 2.5.1 Tipos de motores de passo .................................................................................................. 18 2.5.2 Motores de relutância variável ............................................................................................ 18 2.5.3 Motores de imã permanente................................................................................................ 18 2.5.4 Motores híbridos ................................................................................................................. 19 2.5.5 Tamanho ............................................................................................................................. 19 2.5.6 Potência .............................................................................................................................. 19 2.5.7 Campo magnético rotativo .................................................................................................. 19 2.5.8 Torque ................................................................................................................................ 20 2.5.9 Fases ................................................................................................................................... 20 2.5.10 Ligação dos enrolamentos .................................................................................................. 20 2.5.11 Pólos ................................................................................................................................... 21 2.5.12 Ângulos de passo ................................................................................................................ 21 2.5.13 Modo de Funcionamento do Motor de passo ...................................................................... 21 2.5.13.1 Comando por vaga ................................................................................................................. 21 2.5.13.2 Comando por passos completos ............................................................................................. 22 2.5.13.3 Comando por meios passos .................................................................................................... 22 CAPITULO 3 – ESPECIFICAÇÃO DO PROJETO ........................................................................... 23 3.1 Hardware para aquisição de dados .......................................................................................... 23 3.1.1 Microcontrolador ................................................................................................................ 23 3.1.2 Sensor de Distância ............................................................................................................ 25 3.1.3 Requisitos do Sistema ......................................................................................................... 27 3.1.4 Arquivos GnuPlot .............................................................................................................. 28 3.1.5 Arquivo de configuração do GnuPlot – Novo.gnu ............................................................ 28 CAPITULO 4 – PROJETO ................................................................................................................. 30

Page 6: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

4.1 Hardware ................................................................................................................................. 30 4.1.1 Módulo de aquisição de dados ............................................................................................ 30 4.1.2 Módulo de controle ............................................................................................................. 31 4.1.3 Módulo de atuadores .......................................................................................................... 32 4.2 Software .................................................................................................................................. 34 4.2.1 Conexão com o hardware ................................................................................................... 34 4.2.2 Botões de Controle de Hardware ........................................................................................ 35 4.2.2.1 Controle do Hardware – Botão Run ......................................................................................... 36 4.2.2.2 Controle do Hardware – Botão Pause ...................................................................................... 36 4.2.2.3 Controle do Hardware – Botão Restart .................................................................................... 36 4.2.2.4 Controle do Hardware – Passo Vertical ................................................................................... 36 4.2.3 Botões de Controle de Software ......................................................................................... 37 4.2.4 Linearização dos Valores .................................................................................................... 37 4.2.5 Conversão do Sistema Cilíndrico para o Sistema Cartesiano Ortogonal ............................ 37 4.2.6 Preparação dos dados para plotagem na tela....................................................................... 38 CAPITULO 5 – VALIDAÇÃO E RESULTADOS ............................................................................. 41 5.1 Testes Inicias ........................................................................................................................... 41 5.2 Testes de comunicação e software .......................................................................................... 42 5.3 Testes finais ............................................................................................................................. 43 CONCLUSÃO ..................................................................................................................................... 47 REFERÊNCIAS .................................................................................................................................. 48 APÊNDICE A - DIAGRAMA ESQUEMÁTICO ............................................................................... 49

Page 7: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

LISTA DE ABREVIATURAS E SIGLAS

3D Três Dimensões

A/D Analógico / Digital

V Volts

cm Centímetros

ms Milisegundos

Vo Pino de Output

GND Aterramento do sistema

Vcc Alimentação do sistema

USB Universal Serial Bus

COM Porta de comunicação

Page 8: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

LISTA DE FIGURAS

Figura 2.1 – Eixos Cartesianos (Venturi, 1949). ....................................................................................... 15 Figura 2.2 – Sistema Cilíndrico (Venturi, 1949). ....................................................................................... 16 Figura 2.3 – Transformação Sistema Cilíndrico para Sistema Cartesiano Ortogonal (Venturi, 1949). ... 17 Figura 2.4 – Triângulo Retângulo OPxP’ (Venturi, 1949). ........................................................................ 17 Figura 2.5 – Motor de passo de relutância variável (Constandinou, 2002). ............................................. 18 Figura 2.6 – Motor de passo de imã permanente (Constandinou, 2002). .................................................. 18 Figura 2.7 – Motor de passo híbrido (Constandinou, 2002). ..................................................................... 19 Figura 2.8 – Motores de passo com 4, 5, 6 8 terminais (Constandinou, 2002).......................................... 21 Figura 2.9 – Sequência de pulos – Comando por vaga (Constandinou, 2002). ......................................... 22 Figura 2.10 – Sequência de pulos – Comando por passos completos ........................................................ 22 (Constandinou, 2002). ................................................................................................................................ 22 Figura 2.11 – Sequência de pulos – Comando por meios passos (Constandinou, 2002). .......................... 22 Figura 3.1 – Pinos do Microcontrolador Zilog Z8F1621 .......................................................................... 24 Figura 3.2 - Tempo de resposta do sensor Sharp GP2Y0A02YK ............................................................... 25 Figura 3.3 – Pinos sensor Sharp GP2Y0A02YK ........................................................................................ 26 Figura 3.4 – Gráfico Tensão x Distância do sensor Sharp GP2Y0A02YK ................................................ 27 Figura 3.5 – Arquivos no diretório C:\ ...................................................................................................... 28 Figura 4.1 - Diagrama de hardware .......................................................................................................... 30 Figura 4.2 – Tratamento do sinal do sensor SHARP ................................................................................. 31 Figura 4.3 - Pinos do Microcontrolador ................................................................................................... 32 Figura 4.4 – Driver do motor de passo 1 – Movimento Rotação ............................................................... 33 Figura 4.5 – Driver do motor de passo 2 – Posicionamento Vertical ........................................................ 33 Figura 4.6 – Tela do software .................................................................................................................... 34 Figura 4.7 – Conversor Serial USB ........................................................................................................... 35 Figura 4.8 – Conexão com a porta serial .................................................................................................. 35 Figura 4.9 – Arquivo de configuração para o GnuPlot ............................................................................. 39 Figura 4.10 – Arquivo com triplas ordenadas ........................................................................................... 40 Figura 4.1 – Plotagem em 3D de um Cone ................................................................................................ 44 Figura 5.2 – Plotagem em 3D de uma pirâmide ........................................................................................ 44 Figura 5.3 – Montagem de Hardware ........................................................................................................ 45 Figura 5.4 – Placa de circuito impresso .................................................................................................... 45 Figura 5.5 – Visão geral do sistema ........................................................................................................... 46 Figura 5.5 – Visão geral do sistema ........................................................................................................... 46

Page 9: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

LISTA DE TABELAS

Tabela 2.1 – Relação Motores de Passo .................................................................................................... 20 Tabela 3.1 – Descrição do Microcontrolador Zilog Z8F1621 ................................................................... 23 Tabela 3.2 - Descrição dos Sinais .............................................................................................................. 24 Tabela 4.1 – Linearização dos dados do sensor ......................................................................................... 37 Tabela 5.1 – Teste do motor horizontal ...................................................................................................... 41 Tabela 5.2 – Resposta em tensão do sensor Sharp ..................................................................................... 41 Tabela 5.3 – Valor Real x Valor Medido .................................................................................................... 43

Page 10: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

RESUMO

Este projeto demonstra o funcionamento de um sistema de aquisição de imagens em três dimensões, com leitura das distâncias em modo ponto-a-ponto e baixo custo de produção. Seu desenvolvimento consiste na mecânica para movimentação do sensor e do objeto, no hardware para controle e aquisição dos dados e no software para tratamento/manipulação das informações adquiridas. Para melhor apresentação da imagem o software tem como funções manipular a imagem em três dimensões e controle do sistema como um todo. Os resultados obtidos foram satisfatórios quanto a forma de apresentação das imagens na tela e também demonstram uma baixa qualidade na imagem quando se utiliza o método de plotagem ponto-a-ponto.

Palavras-Chave: Scanner, 3D, Microcontrolador, Motor de passo.

Page 11: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

Analyzer objects with 3D plotting

ABSTRACT

This project demonstrates the operation of a system which acquires images in three dimensions, with readings of distance in point-to-point mode and low cost of production. Its development consists in the mechanics for moving the sensor and the object, the hardware for the control and data acquisition and in the software for processing/handling the acquired information. For a better image display, the software has the functions of manipulating the image in three dimensions and controlling the system as a whole. The results were satisfactory as the presentation of the images on screen and also display a low image quality when using the method of plotting point-to-point.

Keywords: Scanner, 3D, Microcontroller, Stepper Motor.

Page 12: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

12

CAPITULO 1 - INTRODUÇÃO

O projeto consiste no desenvolvimento de um hardware para a análise de objetos quanto a sua forma através de uma interface com um microcomputador.

O objetivo do projeto é o desenvolvimento de um sistema que faça a leitura das distâncias de diversos pontos ao redor do objeto a ser analisado, para isso o sistema terá uma base giratória e uma haste lateral móvel no sentido vertical, a cada ponto elevado dos sensores na haste lateral faz-se um giro de 360º no prato giratório, Desta forma, é possível fazer a leitura de todos os pontos necessários para análise do objeto. Depois de feita a aquisição dos dados, estes são passados para um microcomputador e analisados em um software desenvolvido que tem como objetivo desenhar o objeto na tela.

1.1 Objetivos O projeto esta dividido em cinco capítulos, sendo a introdução uma breve descrição

do trabalho. Para um melhor entendimento dos estudos desenvolvidos, o capítulo de fundamentação teórica nos mostra os estudos preliminares. Em seguida observamos as especificações do projeto, que detalham as partes a serem desenvolvidas. O capítulo de projeto, demonstra o desenvolvimento do sistema em seus módulos de hardware e software. Para demonstrar a validação e resultados obtidos, o último capitulo apresenta como foram validados os processos de desenvolvimento do sistema.

Page 13: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

13

CAPITULO 2 – FUNDAMENTAÇÃO TEÓRICA

2.1 Percepção Tridimensional Entender a forma como percebemos a profundidade em imagens bidimensionais

servirá tanto para evitarmos erros na confecção da imagem, como para possibilitar uma interação amigável com objetos em ambientes virtuais. Outro motivo relevante para o entendimento está na limitação tecnológica que nos fará usuários, por ainda muito tempo, de telas de computador que, mesmo que estejam projetando uma visão estéreo, serão sempre imagens bidimensionais.

A percepção de “espacialidade” de uma imagem pode ser vista como a capacidade

que o ser humano tem de distinguir a forma, as cores, a textura e a relação espacial existente entre os objetos de uma porção do mundo real.

Há três categorias de estímulos visuais usadas pelo cérebro para formar uma imagem 3D: informações monoculares, informações óculo-motoras e informações estereoscópicas (Azevedo e Conci, 2003).

2.1.1 Percepção Monoculares

As informações monoculares são inerentes à imagem formada na retina, são também chamadas de static depth cues (informações estáticas de profundidade) ou pictorial depth cues (informações de profundidade na imagem). Entre as informações monoculares podemos citar a noção de perspectiva linear, o conhecimento prévio do objeto, a oclusão, a densidade das texturas, a variação da reflexão da luz e as sobras (Azevedo e Conci, 2003).

2.1.2 Informações Visuais Óculo-Motoras

Estas informações são fornecidas pelo movimento dos olhos, produzidos pelos dois conjuntos de músculos do globo ocular. Um desses conjuntos é formado por seis músculos, que se inserem ao redor do globo ocular, o circundam e o movem fornecendo informações do grau de contração para o cérebro humano. O segundo conjunto é responsável por focar os raios luminosos na retina (fundo do olho), mudando a curvatura da lente que fica atrás da íris, denominada cristalino. Há dois tipos de informações nessa categoria: acomodação e a convergência (Azevedo e Conci, 2003).

2.1.3 Informações Visuais Estereoscópicas

Como os olhos estão posicionados em lugares diferentes, cada um vê uma imagem de forma diferente. Essa diferença é chamada disparidade binocular. O cérebro usa essa diferença para obter a distância relativa dos objetos. A estereoscopia é útil na noção da distância de objetos colocados até 10 metros do observador. (Azevedo e Conci, 2003).

Page 14: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

14

2.2 Aquisição de imagens digitais Dois elementos são necessários para a aquisição de imagens digitais. O primeiro é

um dispositivo físico que seja sensível a uma banda do espectro de energia eletromagnética (como raios X, ultravioleta, visível ou banda infravermelho) e que produza um sinal elétrico de saída proporcional a um nível de energia percebida. O segundo, chamado digitalizador, é um dispositivo para a conversão da saída elétrica de um dispositivo de sensoreamento físico para a forma digital (Gonzales e Woods, 2003).

2.2.1 Dispositivos de entrada 3D

Com a popularização dos sistemas 3D (na maioria dos jogos) e o barateamento dos componentes eletrônicos, surgiu uma diversidade de dispositivos de entrada 3D. Em qualquer casa de jogos eletrônicos, e não raramente em lojas de produtos de informática, podemos ver simuladores de esqui, skate entre outros. Basicamente esses dispositivos permitem a movimentação e interação dentro de um espaço 3D qualquer (Azevedo e Conci, 2003).

2.2.2 Scanners Tridimensionais

Existem diversas tecnologias de scanners disponíveis no mercado. As mais baratas utilizam câmeras digitais acopladas a uma mesa especial que fornece as coordenadas para os sistemas. Esta tecnologia quase sempre requer a intervenção de modeladores para o acabamento de peças. A tecnologia de scanners a laser é sem dúvida a tecnologia de dispositivos de entrada que vem atraindo mais atenção no mundo. Suas aplicações são grandes e muitas delas ainda estão por se descobrir (Azevedo e Conci, 2003).

2.3 Processamento de imagens digitais O processamento de imagens digitais envolve procedimentos que são geralmente

expressos em formas algorítmicas. Assim, com exceção da aquisição e exibição de imagens, a maioria das funções de processamento de imagens pode ser implementada em software(Gonzales e Woods, 2003).

2.4 Sistema de coordenadas no espaço tridimensional A introdução de coordenadas no espaço oferece não apenas um método para resolver

problemas geométricos com os recursos da álgebra como, reciprocamente, fornece uma interpretação geométrica valiosa para questões de natureza algébrica, como o estudo dos sistemas lineares (Lima, 2001).

2.4.1 Sistema Cartesiano Ortogonal

Em geometria analítica plana as equações contêm duas variáveis. Na espacial, três variáveis. Nesta se exigirá maior esforço de visualização das figuras. O conjunto de pontos do espaço tridimensional será indicado por E³.

Sejam x, y, e z três retas orientadas mutuamente perpendiculares entre si e concorrentes no ponto O. Destarte o triedro (Ox, Oy, Oz) é triretângulo.

Page 15: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

15

Principais Elementos:

- Ponto O → origem do sistema cartesiano

- Retas orientadas → eixos cartesianos

- Planos xy, xz, yz → planos cartesianos

Figura 2.1 – Eixos Cartesianos (Venturi, 1949).

Pelo ponto P traçam-se três planos paralelos aos planos coordenados e juntamente com estes individualiza-se um paralelepípedo retângulo, cujas faces interceptam os eixos x em Px, y em Py e z em Pz.

Podemos associar a cada ponto P do espaço uma tripla de números reais. Assim o ponto P fica determinado por suas coordenadas cartesianas ortogonais:

P = (x,y,z) onde:

x = OPx → abscissa

y = OPy → ordenada

z = OPz → cota

O sistema cartesiano em estudo estabelece uma correspondência bijetora entre cada ponto do espaço e a terna de números reais. Os planos coordenados dividem o espaço em 8 regiões, denominadas oitantes ou octantes (Venturi, 1949).

2.4.1.1 Particularidades

a) O = (0, 0, 0) → origem do sistema cartesiano b) P1 = (x, y, 0), P2 = (x, 0, z), P3 = (0, y, z) representam as projeções ortogonais

do ponto P sobre os planos coordenados xy, xz e yz. c) Px = (x, 0, 0), Py = (0, y, 0), Pz = (0, 0, z) representam as projeções ortogonais

do ponto P sobre os eixos coordenados x, y e z. d) Não sendo os eixos mutuamente perpendiculares temos um sistema de

coordenadas oblíquas.

São válidas as operações de soma e multiplicação por escalar com as triplas (x1, y1, z1) e (x2, y2, z2), bem como a condição de igualdade de 2 triplas (Venturi, 1949).

Page 16: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

16

2.4.2 Sistema Cilíndrico

Considere em um plano α um sistema polar, cujo pólo é O e cujo eixo polar é p;

além disso, considere um eixo z de origem O e ortogonal ao plano α. Dado um ponto

qualquer P do espaço E³, faz-se a seguinte construção, ilustrada na figura xx : P é projetado ortogonalmente sobre o plano α e sobre o eixo z; P’ e Pz são as respectivas projeções.

Figura 2.2 – Sistema Cilíndrico (Venturi, 1949).

Assim, ficam determinados três números ρ, θ e z que são suas coordenadas

cilíndricas:

P = (ρ, θ, z) onde,

ρ = OP’ (ρ ≥ 0) é a distância polar ou raio vetor de P.

θ (0º ≤ θ < 2π) é o argumento, anomalia ou ângulo polar de P.

z = OPz é a cota de P.

Reciprocamente, dado um terno ordenado de números reais, pode-se localizar um ponto no espaço, do qual os números dados são as coordenadas cilíndricas; portanto, há uma correspondência bijetora entre o conjunto dos ponto no espaço e o conjunto de ternos ordenados de números reais que são as coordenadas cilíndricas (Venturi, 1949).

2.4.3 Transformação do Sistema Cilíndrico para o Sistema Cartesiano Ortogonal

Considera-se os dois sistemas de modo que o eixo polar coincida com o eixo das abscissas, o pólo coincida com a origem e o eixo z seja comum para os dois sistemas.

Page 17: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

17

Figura 2.3 – Transformação Sistema Cilíndrico para Sistema Cartesiano Ortogonal (Venturi, 1949).

Então,

P = (x, y, z) em coordenadas cartesianas

P = (ρ, θ, z) em coordenadas cilíndricas

Observe-se que z é coordenada homônima para os dois sistemas.

O triângulo retângulo OPxP’ do plano α, estabelece as fórmulas:

Figura 2.4 – Triângulo Retângulo OPxP’ (Venturi, 1949).

1) ρ² = x² + y²

2) x = ρ cos θ

3) y = ρ sen θ

4) tg θ = y / x (Venturi, 1949).

Page 18: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

18

2.5 Motor de Passo Um motor de passo trata-se de um componente eletromecânico, que converte pulsos

em deslocamentos angulares precisos. A cada pulso, o eixo roda um pouco (passo) e permanece estável nessa posição nenhum pulso for enviado. Aplicando uma série de pulsos, pode-se obter o deslocamento angular desejado. Se a série de pulsos não terminar, o eixo vai rodando constantemente com uma velocidade proporcional à frequência dos pulsos (Constandinou, 2002).

2.5.1 Tipos de motores de passo

A primeira vista os motores de passo são semelhantes aos outros motores, embora normalmente sejam menores, mais leves e possuam maior número de fios. No entanto, o processo de funcionamento é completamente diferente (Constandinou, 2002).

2.5.2 Motores de relutância variável

Este tipo de motores de passo não utiliza imã permanente (figura 3.6). Por essa razão, o seu eixo roda livremente sem qualquer restrição. São pouco comuns e ussam-se principalmente em aplicações onde não é preciso um grande torque (Constandinou, 2002).

Figura 2.5 – Motor de passo de relutância variável (Constandinou, 2002).

2.5.3 Motores de imã permanente

Conhecidos em inglês com o nome de canstack e tincan, estes motores de passo possuem um rotor dotado de um imã permanente (figura 3.7). Possuem baixa velocidade de rotação, baixo torque e grandes passos angulares de 45 ou 90 graus. No entanto, a simplicidade da construção permite que sejam fabricados por baixo preço, sendo muito utilizados em aplicações de baixa potência como por exemplo nas impressoras (Constandinou, 2002).

Figura 2.6 – Motor de passo de imã permanente (Constandinou, 2002).

Page 19: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

19

2.5.4 Motores híbridos

Neste caso (figura 3.8), as vantagens dos motores de relutância variável e de imã permanente são combinados. Tanto o estator como o rotor de imã permanente são dotados de vários dentes (pólos magnéticos), para o rotor poder rodar por múltiplos passos, normalemente 0,9º, 1,9º, ou 3,6º. Como regra geral rodam por passos de 1,8º (Constandinou, 2002).

Figura 2.7 – Motor de passo híbrido (Constandinou, 2002).

2.5.5 Tamanho

Por vezes os motores de passo são classificados em função do diâmetro do corpo. Por exemplo um motor com tamanho 23 possui um corpo cilíndrico com diâmetro de 2,3 polegadas. Os tamanhos mais encontrados são: 11, 17, 23, 34 e 42 (Constandinou, 2002).

2.5.6 Potência

A potência varia desde algumas centenas de mW até vários Watts. A máxima potência que um motor de passo pode dissipar está relacionada com a temperatura desenvolvida nos enrolamentos e é sempre indicada claramente pelo fabricandte. A potência é calculada com a fórmula P = VI (Constandinou, 2002).

Por exemplo, um motor de tamanho 23 pode ser especificado para 6V -1ª por fase. Portanto, se for alimentado com duas fases, o motor pode dissipar 12 W. Normalmente, a potência máxima faz elevar a temperatura do corpo do motor, 65º acima da temperatura ambiente. Se for possível montar um dissipador de calor no motor, a potência máxima poderá ser mais elevada (Constandinou, 2002).

2.5.7 Campo magnético rotativo

Quando um enrolamento é percorrido por corrente elétrica, desenvolve-se um campo magnético no estator e o rotor roda até os dois campos magnéticos ficarem alinhados. Este fenômeno pode ser observado quando aproxima-se um pequeno imã de outro. O segundo roda imediatamente para os dois campos magnéticos ficarem alinhados. Como sabemos, dois pólos magnéticos iguais repelem-se e dois de sinal contrário atraem-se .

Page 20: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

20

Portanto, para fazer rodar o motor continuamente basta criar um campo magnético rotativo, por meio da sucessiva excitação dos vários enrolamentos (Constandinou, 2002).

2.5.8 Torque

O torque, ou seja, a força de rotação do eixo do motor, depende de vários fatores: frequência dos passos, corrente de excitação dos enrolamentos e tipo de excitação.

Nos motores de passo o torque é devido a força de atração dos fluxos magnéticos do estator e do rotor. O estator é construído com material de alata permeabilidade magnética e o fluxo fica concentrado nos pólos do estator quando o respectivo enrolamento é percorrido por corrente. O torque produzido é proporcional à intensidade do fluxo magnético gerado pela corrente (Constandinou, 2002).

2.5.9 Fases

Por fases deve entender-se o número de enrolamentos que dão origem a um fluxo magnético diferente. Normalmente, os motores de passo possuem duas fases embora também existam com três e cinco fases.

Por outro lado, existem duas formas de comando dos motores, que dependem da forma como os enrolamentos estão construídos. Nos motores unipolares, os enrolamentos possuem uma tomada intermediária para facilitar a aplicação de correntes nos dois sentidos, ou então existem dois enrolamentos separados por cada fase. Nos motores bipolares só existe um enrolamento por fase (Constandinou, 2002).

2.5.10 Ligação dos enrolamentos

Os motores de passo são fabricados com diferente número de terminais. Os modelos mais frequentes são:

Tabela 2.1 – Relação Motores de Passo

Motor Ligação

4 Terminais Bipolar

5 Terminais Unipolar

6 Terminais Unipolar

Bipolar (ligação série)

8 Terminais Unipolar

Bipolar (ligação série)

Bipolar (ligação paralela)

A figura 3.8 mostra a ligação dos terminais aos enrolamentos existentes no interior do motor.

Page 21: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

21

Figura 2.8 – Motores de passo com 4, 5, 6 8 terminais (Constandinou, 2002).

2.5.11 Pólos

Os pólos magnéticos podem definir-se como os pontos de um corpo magnetizado para onde convergem as linhas de força do campo magnético. Designam-se por pólo norte (N) e pólo sul (S). Normalmente, o estator e o rotor de um motor de passo possuem igual número de pólos, mas tal não é obrigatório (Constandinou, 2002).

2.5.12 Ângulos de passo

Uma das características mais importantes de um motor de passo, é o número total de posições que o eixo do motor pode ocupar durante os 360 graus de uma rotação completa. O ângulo de passo obtém-se dividindo 360 graus pelo número de passos. Quando o estator e o rotor possuem o mesmo número de pólos magnéticos, o ângulo de passo (AP) é dado pela seguinte fórmula (Constandinou, 2002):

AP = 360 / (nPh x ph) = 360 / n

Onde:

nPh = Número de pólos por fase = número de pólos do rotor

ph = Número de fases

n = Número total de pólos contando todas as fases

2.5.13 Modo de Funcionamento do Motor de passo

Os motores de passo podem ser excitados de várias formas. As mais frequentes são:

2.5.13.1Comando por vaga

Neste modo de funcionamento, denominado Wave Drive em inglês, a corrente só é aplicada em uma fase de cada vez. No caso dos motores unipolares isto significa que só são utilizados 25% dos enrolamentos existentes, em comparação com 50% no caso dos motores bipolares. Vejamos para o caso de um motor de duas fases, qual é a sequência de pulsos necessária para o eixo rodar 360 graus. Note que Fase A’ e Fase B’ significam

Page 22: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

22

correntes nas fases A e B mas de sentido contrário. Uma rotação completa do eixo é executada em 4 passos (Constandinou, 2002).

Figura 2.9 – Sequência de pulos – Comando por vaga (Constandinou, 2002).

2.5.13.2Comando por passos completos

Neste modo duas fases são excitadas ao mesmo tempo. Portanto, no caso de motores unipolares são utilizados 50% dos enrolamentos existentes e no caso dos motores bipolares são utilizados 100%. Uma rotação completa do eixo é executada em 4 passos (Constandinou, 2002).

Figura 2.10 – Sequência de pulos – Comando por passos completos

(Constandinou, 2002).

2.5.13.3Comando por meios passos

Neste modo, as sequências de comando por passos completos e por vaga são alternadamente combinados, para o rotor poder executar meios passos. No caso de motores unipolares utilizam-se 37,5% dos enrolamentos existentes e 75% nos casos de motores bipolares. Uma rotação completa do eixo obtém-se em 8 meios passos (Constandinou, 2002).

Figura 2.11 – Sequência de pulos – Comando por meios passos (Constandinou, 2002).

Page 23: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

23

CAPITULO 3 – ESPECIFICAÇÃO DO PROJETO

Para um melhor entendimento do projeto, dividiu-se em três partes, sendo elas: hardware para aquisição de dados, comunicação e software.

3.1 Hardware para aquisição de dados A parte mecânica do sistema é composta por um motor de passo que está fixado no

centro de uma base redonda para que esta possa realizar o giro de 360º no objeto, um segundo motor de passo é fixado a uma haste lateral que posiciona a altura do sensor que efetua as medições das distâncias.

A aquisição de dados consiste na coleta dos dados do sensor, estes dados são enviados ao microcontrolador que deve enviar estes dados ao computador e sinalizar ao motor de passo que este deve andar mais um passo, caso o passo anterior tenha sido o ultimo passo de uma posição vertical o microcontrolador irá controlar o motor da haste lateral para que o sensor passe uma posição acima, além de enviar os dados para o computador, e o ciclo de leitura se repete até que se complete mais uma volta e mantém este ciclo até que se termine a leitura de todos os pontos do objeto.

Segundo Lima (2001) a introdução de coordenadas no espaço oferece não apenas um método para resolver problemas geométricos com os recursos da álgebra como, reciprocamente, fornece uma interpretação geométrica valiosa para questões de natureza algébrica, como o estudo dos sistemas lineares.

3.1.1 Microcontrolador

O microcontrolador escolhido é o Zilog Z8F1621 que possui um conversor A/D de 10 bits dentre outras características conforme tabela 3.1.

Tabela 3.1 – Descrição do Microcontrolador Zilog Z8F1621

Fonte: Datasheet Zilog Z8F1621

Page 24: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

24

Figura 3.1 – Pinos do Microcontrolador Zilog Z8F1621

Fonte: Datasheet Zilog Z8F1621

Os pinos do microcontrolador estão descritos na tabela 3.2 – Descrição dos Sinais.

Tabela 3.2 - Descrição dos Sinais

Sinal Mnemonico I/O Descrição

PA[7:0] I/O Port A[7:0] – These pins are used for general-purpose I/O.

PB[7:0] I/O Port B[7:0] – These pins are used for general-purpose I/O.

PC[7:0] I/O Port C[7:0] – These pins are used for general-purpose I/O.

PD[7:0] I/O Port D[7:0] – These pins are used for general-purpose I/O.

SCL O Serial Clock.

Page 25: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

25

SDA I/O Serial Data.

TXD0 / TXD1 O Transmit Data.

RXD0 / RXD1 I Receive Data.

DE0 / DE1 O Driver enable.

VREF I Analog-to-digital converter reference voltage input.

XIN I External crystal input.

XOUT O External crystal output.

DBG I/O Debug

RESET I/O Reset

VDD I Power Supply.

AVDD I Analog power supply.

VSS I Ground.

AVSS I Analog Ground.

Fonte: Datasheet Zilog Z8F1621

3.1.2 Sensor de Distância

O sensor de distância foi definido como sendo o Sharp GP2Y0A02YK pois atende a especificação do projeto quanto a sua distância mínima de leitura e sua precisão.

O sensor Sharp GP2Y0A02YK trabalha com leitura analógica das distâncias entre 20 cm e 150 cm, como o objeto estará a uma distancia de 25 cm do sensor e seu tamanho máximo definido em 20 cm do raio circunscrito ao objeto a distancia máxima de leitura será de 45 cm.

Seu tempo de resposta é de 39 ms variando ±9,6 ms conforme demonstra a figura 3.2.

Figura 3.2 - Tempo de resposta do sensor Sharp GP2Y0A02YK

Fonte: Datasheet Sharp GP2Y0A02YK

Page 26: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

26

O sensor utiliza somente três pinos, sendo eles Vo, GND e Vcc conforme demonstra a figura 3.3.

Figura 3.3 – Pinos sensor Sharp GP2Y0A02YK

Fonte: Datasheet Sharp GP2Y0A02YK

A medição das distâncias entre o sensor e o objeto analisado são transmitidas e diferenciadas por tensões que variam conforme esta distância muda como demonstra a figura 3.4.

Page 27: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

27

Figura 3.4 – Gráfico Tensão x Distância do sensor Sharp GP2Y0A02YK

Fonte: Datasheet Sharp GP2Y0A02YK

3.1.3 Requisitos do Sistema

Os requisitos mínimos de hardware para o microcomputador são:

Processador K7 ou Intel Pentium III com pelo menos 1000 Mhz; 512 MB de memória RAM; 01 GB de memória livre em disco;

Page 28: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

28

01 Porta COM com pinagem DB9 ou Conversor Serial / USB;

Os requisitos mínimos de software são:

Sistema Operacional Windows XP ou superior; Software GnuPlot;

3.1.4 Arquivos GnuPlot

Após instalado o software GnuPlot crie um atalho para o programa no diretório raiz C:\ e com o Bloco de Notas do Windows crie dois novos arquivos também no diretório C:\ chamados “novo.gnu” e “teste.gnu” conforme demonstra a figura 3.5.

Figura 3.5 – Arquivos no diretório C:\

3.1.5 Arquivo de configuração do GnuPlot – Novo.gnu

O arquivo responsável pela configuração do GnuPlot para plotagem em três dimensões é o “Novo.gnu”, para o correto funcionamento do software edite este arquivo

com o Bloco de Notas e digite a configuração conforme figura 3.6.

Page 29: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

29

Figura 3.6 – Arquivo “Novo.gnu”

Page 30: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

30

CAPITULO 4 – PROJETO

4.1 Hardware Para o correto funcionamento do scanner 3D, desenvolveu-se um hardware para

controlar a parte mecânica do projeto e também gerenciar as informações recebidas pelo sensor para que estas medidas possam ser transmitidas para computador.

Este hardware foi dividido em três partes principais, sendo elas: módulo de aquisição de dados que consiste no sensor e condicionador de sinal, módulo de controle que contém o microcontrolador e o módulo de atuadores que contém os motores de passo e também os seus respectivos drivers, conforme ilustra diagrama representado na figura 4.1.

Figura 4.1 - Diagrama de hardware

O esquemático completo apresenta-se no Anexo I – Esquemático e contém maiores detalhes dos módulos descritos.

4.1.1 Módulo de aquisição de dados

O módulo de aquisição de dados possui um sensor de distância por infra-vermelho da SHARP que faz a medição da distância do sensor ao objeto que estiver posicionado a sua frente, estes dados são tratados pelo condicionador de sinal.

O sensor efetua uma leitura a cada 60 ms o que torna a leitura das distâncias um pouco lenta, alguns testes foram efetuados com velocidades superiores a sua velocidade limite de tempo de resposta e estão descritos no capitulo 5.

Para amplificação do sinal proveniente do sensor utilizou-se um modelo de amplificador operacional onde seu ganho foi calculado de maneira a limitar a amplificação nos sinais recebidos das distâncias entre 20 cm e 50 cm, esta amplificação foi projetada para termos uma melhor resolução do sinal a ser transferido para o computador.

Page 31: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

31

Figura 4.2 – Tratamento do sinal do sensor SHARP

4.1.2 Módulo de controle

O módulo de controle consiste no microcontrolador Zilog e é responsável pelo controle de todos os demais módulos e componentes de hardware do projeto. Neste módulo temos o sincronismo do sistema como um todo, desde o tempo de leitura dos sensores até o controle dos motores e envio das informações para o computador.

O microcontrolador possui 44 pinos conforme descrito no capitulo 3 e os pinos utilizados no projeto estão demonstrados na figura 4.3.

Page 32: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

32

Figura 4.3 - Pinos do Microcontrolador

A seqüência de funcionamento do sistema inicia-se quando o usuário solicita ao software a posição vertical do sensor seja ajustada, o motor 2 que define a posição vertical do sensor, gira até que o sensor de fim de curso obtenha uma resposta indicando que o sensor está posicionado corretamente para o inicio da leitura.

Após o comando do usuário de inicio de leitura, o motor 1, responsável pela rotação do objeto, inicia seu movimento com passo de 3.6º, após cada passo o microcontrolador grava o valor lido no sensor de distância e incrementa um contador, para após isso ativar novamente o sensor, este ciclo somente será mudado quando o valor incrementado a cada passo chegar a 99 onde completa-se o giro de 360º. Neste momento todos os 100 valores são transmitidos para o computador, o motor 2 eleva o sensor num número de passos definido em software e novamente inicia-se o ciclo de leitura dos próximos 100 valores.

4.1.3 Módulo de atuadores

Os atuadores utilizados são dois motores de passo, sendo um de 24V e outro de 5V, esta diferença é dada principalmente pelo torque necessário para cada um dos motores.

O motor 1 é responsável pelo movimento de rotação do objeto e tem passo de 3.6º com alimentação de 24V. O motor 2 é responsável pelo posicionamento vertical do sensor e tem alimentação de 5V e também tem passo de 3.6º.

Page 33: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

33

Os motores de passo são controlados por 4 bobinas cada, bobinas essas controladas pelos pinos PC[0..7] do microcontrolador. Os drivers do motor de passo estão demonstrados nas figuras 4.4 e 4.5 abaixo.

Figura 4.4 – Driver do motor de passo 1 – Movimento Rotação

Figura 4.5 – Driver do motor de passo 2 – Posicionamento Vertical

Page 34: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

34

4.2 Software O software foi desenvolvido na linguagem de programação C++ com o compilador

Borland C++ Builder 6. O software é o responsável por todo o tratamento e manipulação dos dados lidos pelo sensor e também apresentação da imagem em três dimensões na tela do computador.

Para a apresentação do objeto na tela utilizou-se a interface gráfica do software GnuPlot 4.2.3, software este utilizado para visualização de funções graficamente em duas ou três dimensões. A visão geral do software está demonstrada na figura 4.6 – Tela do software.

Figura 4.6 – Tela do software

4.2.1 Conexão com o hardware

A conexão com o hardware é feita através de um conversor serial – USB que cria uma nova porta serial no computador. Depois de instalado o conversor o software irá reconhecer automaticamente a nova porta de comunicação COM, após selecionada a porta correta basta clicar no botão Connect para que este estabeleça a conexão com o hardware.

Page 35: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

35

Figura 4.7 – Conversor Serial USB

Enquanto a conexão não for estabelecida o botão Disconnect permanece inativo, este recurso é utilizado para que o usuário saiba diferenciar quando uma conexão já está ativa, tendo assim, o botão Disconnect ativo para que se possa encerrar a conexão com o hardware.

Figura 4.8 – Conexão com a porta serial

Por motivos de segurança enquanto a conexão não for estabelecida as demais funções do software não funcionaram.

4.2.2 Botões de Controle de Hardware

O controle do hardware é feito via software, ou seja, todo o funcionamento do sistema depende que o hardware esteja conectado ao computador.

Na área de controle temos cinco botões de controle: Run, Pause, Restart, Clear e Plott que são utilizados para o controle do hardware e comandos de plotagem, uma caixa de multiseleção que permite a seleção da quantidade de passos verticais e uma caixa de seleção para ativação/desativação da parada automática da leitura.

Na área preta do software temos um campo para apresentação dos dados recebidos pela serial, para que se possa, antes da plotagem, termos uma visualização numérica destes dados.

Page 36: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

36

4.2.2.1Controle do Hardware – Botão Run

O botão Run tem a função de iniciar um novo ciclo de leitura, neste momento o software envia a informação ao hardware para que este inicie seu processo de leitura das distâncias.

A cada ciclo de 360º ou 100 passos do motor referente ao movimento de rotação o software irá receber da serial um conjunto de dados lidos pelo sensor de distância, estes dados são armazenados para posterior linearização e plotagem.

Caso a caixa de seleção para parada automática estiver ativa o software irá analisar e quando receber dados acima de 27 cm, distância do sensor ao centro do objeto, ele envia a informação para que o hardware pare a leitura das distâncias.

4.2.2.2Controle do Hardware – Botão Pause

O botão Pause faz a pausa da leitura das distâncias, porém, não reinicia a posição do sensor, ele simplesmente para a leitura e aguarda até que a tarefa seja iniciada novamente pelo botão Run.

Caso o usuário pressione o botão Run as leituras voltam a ser executadas do ponto onde pararam e continuam sua rotina de armazenamento e envio das informações normalmente.

4.2.2.3Controle do Hardware – Botão Restart

Para o posicionamento do sensor ao inicio do sistema, utilizamos o botão Restart, este fará com que todo o ciclo de leitura seja descartado da memória do microcontrolador e que o sensor volte a posição inicial de leitura.

O botão Restart pode ser utilizado em dois momentos, primeiro quando o sistema está parado e o sensor não está posicionado no ponto de inicio da leitura, segundo quando temos o sistema “Pausado” e deseja-se iniciar novamente a leitura dos dados.

4.2.2.4Controle do Hardware – Passo Vertical

A caixa de multiseleção denominada Passo Vertical define qual a quantidade de passos a serem percorridos pelo motor que controla a altura do sensor, os valores 10, 20 e 40 foram definidos em quantidade de passos do motor e equivalem respectivamente a 0.3 cm, 0.6 cm e 1 cm.

O motivo da criação de um controle da quantidade de passos verticais tem como objetivo diminuir o tempo de leitura de objetos mais altos e, que sejam lineares em suas formas, quando variada em sua altura. Desta forma perde-se em quantidade de dados lidos, porém, ganha-se e muito em velocidade.

Page 37: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

37

4.2.3 Botões de Controle de Software

O controle do software apresenta somente dois botões, sendo eles Clear utilizado para limpar a área de dados numéricos e também o arquivo que contém os dados para plotagem e o botão Plott que apresenta o objeto na tela em três dimensões.

4.2.4 Linearização dos Valores

O sensor de distância envia valores que não estão no sistema métrico e estes valores precisam ser transformados para o mesmo, para isso foi construída uma tabela de conversão dos valores conforme segue.

Distância (cm) Valor sensor Distância (cm) Valor sensor

20 49 41 721

21 86 42 732

22 133 43 744

23 169 44 759

24 216 45 771

25 263 46 784

26 307 47 794

27 343 48 808

28 392 49 821

29 428 50 821

30 466 51 833

31 503 52 846

32 540 53 860

33 564 54 860

34 589 55 875

35 613 56 884

36 638 57 885

37 659 58 899

38 684 59 910

39 697 60 923

40 709

Tabela 4.1 – Linearização dos dados do sensor

Para a confecção desta tabela foram medidas as distâncias centímetro a centímetro por cinco vezes e calculado a média dos valores lidos para cada distância.

4.2.5 Conversão do Sistema Cilíndrico para o Sistema Cartesiano Ortogonal

Os dados provenientes do sensor são coletados conforme o sistema cilíndrico, segundo Venturi (1949) “Ficam determinados três números ρ, θ e z que são suas

coordenadas cilindricas: P = (ρ, θ e z) onde ρ é a distância polar, θ é o ângulo polar e

z é a cota do ponto P.”

Page 38: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

38

No sistema temos como sendo ρ o valor da distância do sensor ao centro do objeto menos o valor da distância lida do sensor ao objeto. De uma forma matemática, considerando a distância do sensor ao centro do objeto sendo DSC e a distância lida do sensor ao objeto como DLO temos:

ρ = DSC – DLO

Para obtermos o valor de θ que é o ângulo do ponto lido efetuamos a multiplicação do passo referente ao motor do movimento de rotação com o valor em graus referente a cada passo do motor de passo. Sendo assim, considerando o passo atual do motor de rotação como VPR e o valor de cada passo sendo como o valor total em graus de uma rotação completa como sendo VRC e a quantidade de passos que o motor de passo oferece como QPM temos a seguinte fórmula:

θ = VPR * (VRC/QPM)

Sabendo-se que a quantidade total de passos do motor é de 100 passos e que um movimento de rotação completo tem 360º podemos definir:

VRC / QPM = 360 / 100 = 3.6º

Desta forma nossa fórmula poderia ser escrita como:

θ = VPR * 3.6º

O valor de z nada mais é do que a altura em que se está efetuando a leitura, como o software possuí três valores possíveis para o passo vertical deve-se efetuar a multiplicação do valor da quantidade de passos verticais pelo valor do passo vertical selecionado na caixa de multiseleção de passo vertical. Considerando o valor da quantidade de passos verticais como QPV e o valor da caixa de multiseleção como VPS temos:

z = QPV * VPS

Neste momento temos a tripla ordenada em coordenadas cilíndricas P = (ρ, θ e z), porém precisamos dos valores no sistema cartesiano ortogonal, que conforme define Venturi (1949) “Podemos associar a cada ponto P do espaço uma tripla de números reais. Assim o ponto P fica determinado por suas coordenadas cartesianas ortogonais: P = (x, y, z) onde x é abscissa, y é ordenada e z é cota.”

Para que possamos transformar os pontos do sistema cilíndrico para o sistema cartesiano ortogonal devemos seguir as seguintes relações:

x = ρ*cos θ

y = ρ*sen θ

z = z por ser coordenada homônima para os dois sistemas.

Com estas relações conseguimos transformar todos os pontos do sistema cilíndrico para o sistema cartesiano ortogonal e finalmente utilizar estes valores para a apresentação dos pontos na tela.

4.2.6 Preparação dos dados para plotagem na tela

O software GnuPlot possui diversas maneiras de se plotar imagens, porém, como não tínhamos uma curva ou mesmo uma equação para descrever o objeto, decidiu-se utilizar o método de plotagem ponto-a-ponto onde, todos os pontos devem ser salvos em

Page 39: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

39

um arquivo com a extensão .gnu para que o GnuPlot faça a leitura de cada ponto deste arquivo.

Para gerar tal arquivo, o software desenvolvido, após cada conversão grava a tripla já no sistema cartesiano ortogonal, no arquivo destinado a este propósito.

Para uma interface mais simples para o usuário, já que o GnuPlot é todo por comandos de texto, o arquivo chamado de “novo.gnu” foi gerado, este arquivo tem o

propósito de chamar a interface de plotagem do GnuPlot sem a necessidade de toda vez ter que ser digitado os comandos para apresentação na tela. Outra vantagem em se utilizar um arquivo como este de configuração, é que todos os parâmetros necessários para que a visualização do objeto seja melhor são definidos nele, evitando mais uma vez que o usuário tenha que digitar suas configurações. A seguir apresenta-se na figura 4.9 uma imagem do arquivo com os comandos gravados para a configuração do GnuPlot.

Figura 4.9 – Arquivo de configuração para o GnuPlot

O símbolo # é utilizado como comentário no GnuPlot, por este motivo as linhas iniciadas por # são comentários dos comandos e não são executadas.

Na figura 4.10 temos uma imagem do inicio de um arquivo gerado com os pontos no sistema cartesiano ortogonal.

Page 40: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

40

Figura 4.10 – Arquivo com triplas ordenadas

Este é somente o inicio do arquivo, pois o mesmo contém um número muito grande de linhas já que cada linha apresenta uma tripla (x, y, z).

Page 41: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

41

CAPITULO 5 – VALIDAÇÃO E RESULTADOS

5.1 Testes Inicias Após a primeira montagem do projeto alguns testes foram efetuados, o primeiro

deles era a força dos motores utilizados. No motor que controla a altura do sensor foi colocado um peso de 50 gramas para garantir que mesmo na posição vertical, o motor iria agüentar a elevação do sensor com precisão.

Resultado: O motor se comportou como esperado, elevando e baixando o peso de maneira precisa.

O segundo motor precisava de um teste mais intenso, onde o peso deveria ser bem mais elevado para garantir que o movimento de rotação fosse efetuado de maneira correta, para este teste utilizou-se diversos pesos e seus resultados estão demonstrados na tabela 5.1.

Tabela 5.1 – Teste do motor horizontal

Pesos (gramas) Comportamento Motor

100 Funcionamento correto.

200 Funcionamento correto.

300 Funcionamento correto.

400 Perda de velocidade

500 Perda de velocidade

650 Motor muito lento, quase sem movimento.

800 Motor não gira.

Resultado: O motor não apresentou um bom funcionamento com pesos acima de 300 gramas.

Solução: Para solucionar este problema foi efetuada a troca do motor.

Outro teste efetuado ainda na primeira montagem foi a distância de leitura do sensor, para este teste foram medidas distâncias do sensor de 15 cm a 80 cm analisando os valores de tensão apresentados no multímetro conforme tabela 5.2.

Tabela 5.2 – Resposta em tensão do sensor Sharp

Distância

(centímetros)

Tensão Lida

(volts)

Page 42: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

42

20 cm 2,62 V

23 cm 2,47 V

26 cm 2,23 V

29 cm 1,92 V

32 cm 1,87 V

35 cm 1,75 V

38 cm 1,62 V

41 cm 1,51 V

44 cm 1,39 V

47 cm 1,31 V

50 cm 1,23 V

Resultado: O sensor respondeu a todas as distâncias e com variação de tensão porém percebeu-se que a variação da tensão era muito pequena para as distâncias que seriam utilizadas.

Solução: Foi desenvolvido um circuito amplificador para a faixa de distância entre 15 cm e 60 cm.

Como a velocidade do sensor iria definir a velocidade da leitura dos objetos, mais um tese foi efetuado, variando a velocidade do sensor abaixo e acima dos 59 ms pedidos pelo datasheet do sensor.

Resultado: Com a velocidade em 30, 40 e 50 ms o sensor respondeu as leituras mas em muitos casos a informação não era transmitida ao microcontrolador e em decorrência disto alguns dados não iriam ser passados ao software.

Com a velocidade em 60 ms o sensor respondeu as 100 leituras de distâncias sem nenhuma perda de dados, por este motivo adotou-se a velocidade de 60 ms para tempo de leitura.

5.2 Testes de comunicação e software O teste realizado ainda sem o software serviu para validar a comunicação entre o

hardware e o computador, neste teste utilizando-se do software HyperTerminal criou-se uma conexão com a porta serial que faz a comunicação entre o computador e o hardware do projeto.

Resultado: A comunicação entre hardware e computador foi bem sucedida e a conexão feita com a serial recebeu todos os dados confirmando a transmissão.

O primeiro teste de software foi somente para confirmar se os dados eram recebidos dentro do software desenvolvido. Para este teste foi criada a interface de conexão no

Page 43: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

43

software e, também, um campo de texto para receber os dados e mostrá-los na tela do usuário.

Resultado: Testes bem sucedidos, os dados foram recebidos e apresentados na tela.

O próximo teste foi realizado para confirmar a transformação dos dados e plotagem destes na tela, neste momento o software já estava em sua fase final.

Resultado: Testes bem sucedidos e plotagem funcionando com a manipulação da imagem em três dimensões.

5.3 Testes finais Para garantir a veracidade das informações observadas no computador, foi realizado

um teste para se comparar o valor da distância medido pelo sistema e o valor de distância medido manualmente entre o centro de um objeto e sua face lateral em diversos pontos do objeto. Para este teste utilizou-se de um cone e seus dados comparativos estão demonstrados na tabela 5.3.

Tabela 5.3 – Valor Real x Valor Medido

Valor medido pelo sistema

(centímetros)

Valor Real

(centímetros)

8,1 cm 8,4 cm

6,7 cm 6,3 cm

5,5 cm 5,2 cm

4,3 cm 4,6 cm

3,5 cm 3,6 cm

2,2 cm 2,0 cm

1,6 cm 1,4 cm

Os últimos testes realizados foram o de funcionamento geral do sistema, foram utilizados diversos objetos de tamanhos e formas diferenciados, com o correto funcionamento do hardware e do software obteve-se sucesso na aquisição das imagens em três dimensões como demonstram as figuras 5.1 e 5.2 que apresentam respectivamente imagens de um cone e uma pirâmide.

Page 44: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

44

Figura 4.1 – Plotagem em 3D de um Cone

Figura 5.2 – Plotagem em 3D de uma pirâmide

A imagem 5.3 mostra a montagem de hardware em uma visão geral onde pode-se observar na lateral esquerda a placa de circuito impresso que está melhor demonstrada na figura 5.4.

Page 45: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

45

Figura 5.3 – Montagem de Hardware

Figura 5.4 – Placa de circuito impresso

As figuras 5.5 e 5.6 demonstram a forma final do projeto, onde todas as partes estão integradas e funcionando, sendo possível observar ainda na figura 5.5 a plotagem em 3D do objeto posicionado na base giratória e, na figura 5.6, observamos que mesmo objetos irregulares puderam ser analisados apresentando suas principais características na tela.

Page 46: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

46

Figura 5.5 – Visão geral do sistema

Figura 5.5 – Visão geral do sistema

Page 47: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

47

CONCLUSÃO

Com os resultados obtidos com este projeto conclui-se que os scanners atualmente disponíveis no mercado podem ser substituídos por um de baixo custo, nos casos em que não se necessite de uma grande precisão na imagem gerada.

Com o desenvolvimento conseguiu-se ainda concluir que é possível fazer a leitura do objeto sem a necessidade de uma câmera, método normalmente utilizado pelos scanners de mercado.

Por não utilizar de imagens de uma câmera, o custo do projeto diminui consideravelmente e além do custo financeiro o custo de máquina diminui por não trabalhar com imagens do objeto e sim com triplas de valores lidos do objeto.

Os testes realizados demonstraram um bom desempenho do scanner, conseguindo projetar em tela até figuras relativamente complexas. Como a plotagem é feita em modo ponto-a-ponto a definição da imagem acaba sendo prejudicada, já que neste tipo não podemos texturizar a imagem.

Melhorias podem ser feitas para tornar este um produto comercializável, dentre elas podemos citar a troca do sensor por um com maior precisão e menor tempo de resposta; elaboração de um algoritmo que gere através dos pontos medidos uma equação e ainda melhorias em software para que o usuário tenha mais opções após a plotagem.

Page 48: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

48

REFERÊNCIAS

Monografia no todo

ALVES, William Pereira. C++ Builder 6: Desenvolva Aplicações para Windows. 1ª Edição. São Paulo: Editora Érica Ltda, 2002.

AZEVEDO, Eduardo; CONCI, Aura. Computação Gráfica: Teoria e Prática. 1ª Edição. Rio de Janeiro: Editora Elsevier Ltda, 2003.

CONSTANDINOU, T. G. Tudo Sobre Motores de Passo. Revista Elektor – Eletrônica & Microinformática, São Paulo, Ano III, Edição 29, p. 31-35, 2002.

DIAS, Adilson de Souza. Desenvolvendo em Borland C++ Builder 5.0. 1ª Edição. Rio de Janeiro: Editora Ciência Moderna Ltda, 2000.

GONZALES, Rafael C.; WOODS, Richard E.. Processamento de Imagens Digitais. 1ª Edição. São Paulo: Editora Edgard Blücher Ltda, 2003.

VENTURI, Jacir J.. Álgebra Vetorial e geometria analítica. 5ª Edição. Curitiba: Editora Unificado, 1949.

Page 49: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador

49

APÊNDICE A - DIAGRAMA ESQUEMÁTICO

Page 50: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador
Page 51: UNIVERSIDADE POSITIVO RAFAEL COSTA BENATTO · UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO RAFAEL COSTA BENATTO Analisador