Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas – NCET
Engenharia da Computação
EDUARDO SAMBATTI CAMARGO
RODOLFO BUENO DA SILVA
PLOTTER
Sistema de fresa baseado no conceito de plotter
CURITIBA
2005
EDUARDO SAMBATTI CAMARGO
RODOLFO BUENO DA SILVA
PLOTTER
Sistema de fresa baseado no conceito de plotter
Monografia de Projeto Final de Curso apresentada à disciplina de Projeto Final, como requisito parcial à conclusão do Curso de Engenharia da Computação. Orientador: Prof. Roberto Selow
CURITIBA
2005
ii
TERMO DE APROVAÇÃO
Eduardo Sambatti Camargo
Rodolfo Bueno da Silva
PLOTTER
Sistema de fresa baseado no conceito de plotter
Monografia aprovada como requisito parcial à conclusão do curso de Engenharia
da Computação do Centro Universitário Positivo, pela seguinte banca examinadora:
Prof. Roberto Selow (Orientador)
Prof. Edson Pedro Ferlin
Prof. Marcelo Milkosz Gonçalves
Curitiba, 12 de dezembro de 2005.
iii
AGRADECIMENTOS
Sem a colaboração, a compreensão e, sobretudo, a paciência de algumas
pessoas, parte desse trabalho não seria possível. Agradecemos o apoio de nossa
família e o entusiasmo dos amigos.
Agradecemos, em especial, ao Fabiano, à Marilia e ao Maurício, que colaboraram
diretamente com esse projeto. Somos gratos, também, ao nosso orientador Roberto
Selow, por confiar no nosso projeto e nos apoiar.
Sinceros agradecimentos a Deus, por nos proporcionar lucidez e paciência nos
momentos mais difíceis.
iv
"A engenharia é como a música, deve-se
senti-la correndo nas veias..."
(Autor desconhecido)
v
SUMÁRIO
RESUMO.......................................................................................................................12
ABSTRACT...................................................................................................................13
1. INTRODUÇÃO ..........................................................................................................14
1.1. AutoCAD .................................................................................................................... 14
1.2. OLE (Object Linking and Embedding)........................................................................ 15
1.3. AutoCAD VBA............................................................................................................ 15
1.4. ActiveX Automation.................................................................................................... 16
1.5. Clientes e Servidores................................................................................................. 17
1.6. A Arquitetura 8051 (Microcontrolador) ....................................................................... 18
1.7. O que é PWM? .......................................................................................................... 19
1.8. Motor CC.................................................................................................................... 19
1.9. Relé............................................................................................................................ 20
1.10. Controle de Velocidade de um Motor CC ................................................................ 21
1.11. Sistema de Tolerância e Ajuste ABNT/ISO.............................................................. 21
1.12. Desenhos Vetoriais .................................................................................................. 21
1.13. O que é Encoder?.................................................................................................... 22
1.14. Controle Numérico Computadorizado (CNC)........................................................... 22
1.15. Controle em Malha Aberta ....................................................................................... 22
2. DESCRIÇÃO .............................................................................................................23
2.1. Problema.................................................................................................................... 23
2.2. Objetivo...................................................................................................................... 23
2.3. Descrição do Projeto.................................................................................................. 23
2.4. Descrição Funcional do Projeto ................................................................................. 24
3. PROJETO .................................................................................................................26
3.1. Software..................................................................................................................... 26
3.1.1. Especificação do Software................................................................................................ 26
3.1.2. Interface com o usuário .................................................................................................... 32
3.1.3. O Protocolo ....................................................................................................................... 32
3.1.4. Comunicação serial........................................................................................................... 33
3.1.5. Diagrama de Casos de Uso.............................................................................................. 34
3.1.6. Diagrama de Classes........................................................................................................ 35
3.1.7. Diagrama de Seqüência ................................................................................................... 35
3.1.8. Diagrama de Estados ....................................................................................................... 36
3.1.9. Contratos das Operações do Sistema.............................................................................. 37
3.1.10. Classe de Interface com o Usuário................................................................................. 38
3.1.11. Classe Controladora de Operações do Sistema ............................................................ 38
vi
3.1.12. Protótipo de Telas do Software de Interface com o Usuário .......................................... 39
3.2. Hardware ................................................................................................................... 40
3.2.1. Módulo Mãe ...................................................................................................................... 40
3.2.2. Módulos Filhos .................................................................................................................. 43
3.2.3. Módulo Motor .................................................................................................................... 46
3.3. Mecânica.................................................................................................................... 47
3.3.1. Sistema Linear .................................................................................................................. 47
3.3.2. Estrutura............................................................................................................................ 49
3.3.3. Vistas da Máquina............................................................................................................. 50
4. CRONOGRAMA........................................................................................................52
5. RESULTADOS..........................................................................................................53
6. CUSTO DO PROJETO..............................................................................................54
7. CONCLUSÃO ...........................................................................................................56
8. REFERÊNCIAS BIBLIOGRÁFICAS .........................................................................57
9. ANEXOS ...................................................................................................................59
vii
LISTA DE FIGURAS
FIGURA 1 – Funcionamento de operação Cliente Servidor ..........................................17
FIGURA 2 – Diagrama em blocos da arquitetura 8051 .................................................19
FIGURA 3 – Sinal PWM ................................................................................................19
FIGURA 4 – Relé Chaveado por Transistor ..................................................................20
FIGURA 5 – Diagrama em Blocos do Projeto................................................................24
FIGURA 6 – Disco do Encoder......................................................................................25
FIGURA 7 – Fluxograma Geral do Software .................................................................27
FIGURA 8 – Fluxograma do Item Obter Linha do Software...........................................28
FIGURA 9 – Fluxograma do Item Reseta Máquina do Software ...................................29
FIGURA 10 – Fluxograma do Item Plotar do Software..................................................30
FIGURA 11 – Fluxograma do Item Sobe Z do Software................................................31
FIGURA 12 – Casos de Uso Identificados no Cenário 1 ...............................................34
FIGURA 13 – Diagrama de Classes do Software..........................................................35
FIGURA 14 – Diagrama de Seqüência do Software......................................................36
FIGURA 15 – Diagrama de Estados da Função Conectar Porta...................................36
FIGURA 16 – Diagrama de Estados da Função Plotar. ................................................37
FIGURA 17 – Interface com o usuário...........................................................................39
FIGURA 18 – Diagrama em Blocos do Hardware .........................................................40
FIGURA 19 – Placa do Módulo Mãe .............................................................................42
FIGURA 20 – Encoder...................................................................................................42
FIGURA 21 – Fluxograma do Módulo Mãe....................................................................43
FIGURA 22 – Placa dos Módulos Filhos .......................................................................45
FIGURA 23 – Fluxograma dos Módulos Filhos .............................................................45
FIGURA 24 – Placa dos Optoacopladores 4N25...........................................................46
FIGURA 25 – Placa do Módulo de Potência..................................................................47
FIGURA 26 – Sistema de Malha Aberta........................................................................47
FIGURA 27 – Carro .......................................................................................................48
FIGURA 28 – Sistema linear .........................................................................................49
FIGURA 29 – Estrutura Metálica da Máquina................................................................49
FIGURA 30 – Vista Superior..........................................................................................50
FIGURA 31 – Vista Frontal ............................................................................................50
FIGURA 32 – Vista Lateral ............................................................................................51
viii
FIGURA 33 – Vista Isométrica.......................................................................................51
ix
LISTA DE TABELAS
TABELA 1 – Tabela de Comandos do Protocolo...........................................................32
TABELA 2 – Tabela de Dados do Pacote .....................................................................33
TABELA 3 – Tabela de Parâmetros da Serial ...............................................................33
TABELA 4 – Casos de Uso Identificados no Cenário 1.................................................34
TABELA 5 – Tabela de Descrição dos Métodos de Interface do Sistema.....................38
TABELA 6 – Descrição do Métodos da Classe de Controle do Sistema .......................39
TABELA 7 – Tabela de Componentes Utilizados no Módulo Mãe.................................40
TABELA 8 – Tabela de Componentes Utilizados nos Módulos Filhos ..........................44
TABELA 9 – Tabela de Componentes Utilizados no Módulo Motor ..............................46
TABELA 10 – Tabela de Custos do Projeto ..................................................................54
x
LISTA DE SIGLAS
CAD Computer Aided Design
CNC Comando Numérico Computadorizado
2D Duas Dimensões
3D Três Dimensões
OLE Object Linking and Embedding
VBA Visual Basic for Applications
DLL Dynamic Linked Library
CPU Central Processing Unit
ROM Read Only Memory
RAM Random Access Memory
PWM Pulse Width Modulation
CC Corrente Contínua
ISO International Organization for Standardization
API Application Programming Interface
UNS Unified National Standard
CI Circuito Integrado
NCET Núcleo de Ciências Exatas e Tecnológicas
UNICENP Centro Universitário Positivo
xi
LISTA DE SÍMBOLOS
® Marca Registrada
µ Micro
@ Arroba
Ω Ohm
A Ampère
V Volt
Hz Hertz
K Kilo
F Força
12
RESUMO
O projeto se constitui de uma máquina baseada em fresas CNC automáticas. O
sistema tem como base para desenhos o software AutoDesk AutoCAD® – que é um
software amplamente utilizado no mercado e que produz desenhos vetoriais que
poderão ser subordinados e utilizados pelo sistema. Foi confeccionado um driver de
comunicação que converte os desenhos feitos em CAD para a linguagem da máquina.
Quando um desenho é colocado para plotagem, a máquina faz uma calibração e,
então, começa a desenhar. Todo o dado que chega ao microcomputador principal
passa por um sistema de correção, para que os erros na própria transmissão ou perda
de dados sejam descartados.
Palavras-chave: AutoCAD, driver, plotter, encoder, motor CC, sistema linear.
13
ABSTRACT
The project based on automatic systems CNC. Have be aided on AutoCAD
drawing that is a widely used software that produce vetorial drawing that will be
decomposed and used by this system. It was developed a communication driver which
acquire the drawings from CAD and transform this into entities and points. This entities
and points will be used as a base for a serial transmission protocol that is going to be
used to communicate with the computer. All the data that gets to the main micro
controller goes trough a correction system so the lost of data could be disregarded.
Key-word: AutoCAD, driver, plotter, encoder, DC engine, linear system.
14
1. INTRODUÇÃO
O projeto consiste na construção de uma máquina para plotagem de desenhos
vetoriais, que se utiliza da plataforma AutoDesk AutoCAD® e de um software
proprietário. Este servirá como base para a comunicação e conversão do desenho
vetorial em ação eletromecânica.
Todo o sistema eletromecânico é baseado no funcionamento de fresas CNC,
contudo não utilizamos os controles numéricos para fazer a movimentação e sim
software proprietário, o que é muito diferente do que existe no mercado atualmente.
Esta máquina foi construída com o intuito de facilitar o designer de artefatos em
madeira, pois com a devida ferramenta, pode-se fresar placas de madeira com uma
espessura pré determinada.
Todo o sistema de hardware é implementado em microcontroladores da Texas
Instruments com arquitetura 8051. São utilizados, ainda, motores de corrente contínua
para movimentação dos eixos e encoders para a determinação da posição.
A parte mecânica é implementada usando materiais como aço 1020 e alumínio
forjado, pois são materiais resistentes e de fácil usinagem. As principais vantagens do
alumínio são a baixa densidade, a boa relação resistência-peso, a ductibilidade, a
capacidade de ser fundido, a resistência à corrosão e o custo razoável.
E para o melhor entendimento do processo e da parte teórica do projeto, alguns
conceitos são demonstrados a seguir.
1.1. AutoCAD
O AutoCAD é o software de CAD mais vendido no mundo, por ser de fácil
domínio, possuir uma vasta bibliografia, e ainda ter a possibilidade de ser
personalizado pelo usuário de acordo com que esse achar necessário. Possui também
sua própria linguagem de programação o AutoLisp, mais também pode ser programado
utilizando-se o Microsoft Visual Basic ®, tendo ainda uma vasta gama de softwares que
trabalham em conjunto com o AutoCAD (SAMPAIO, 2002).
Este foi criado para se fazer desenhos para muitas finalidades, e no caso foi
utilizado para desenhos de engenharia em 2D. A habilidade de produzir esses
desenhos em um computador é relativamente nova, mais os princípios e os
15
fundamentos do desenho de engenharia ou qualquer outro desenho com suas regras,
permanecem sem nenhuma alteração (KALAMEJA, 1996).
Podemos constatar que o AutoCAD faz um grande uso do sistema operacional
Microsoft Windows. Podemos utilizar todas as funcionalidades do OLE (Object Linking
and Embedding) do Windows, para colocar diretamente no AutoCAD partes de
documentos advindos do Microsoft Office ®, como Excel e Word ou qualquer outro
software que aceite o OLE como servidor (OMURA, 2000).
1.2. OLE (Object Linking and Embedding)
Este nada mais é que um recurso do sistema operacional Microsoft Windows ®
que permite a diferentes aplicativos compartilhar documentos, ou integrar vários
aplicativos em um único documento, desde que estes aceitem o OLE como cliente ou
servidor (OMURA, 2000).
Para que se possa utilizar o OLE, é necessário um aplicativo para origem dos
dados, denominado servidor, no qual são criados ou extraídos objetos e um aplicativo
de destino que suporta os objetos do servidor, denominado cliente. O AutoCAD aceita
o OLE tanto como cliente como servidor (BALDAM, 2002).
Quando a ligação OLE é efetivada, é criada uma referência entre os aplicativos ou
documentos cliente e servidor. Para atualizar as informações de um documento,
quando o original foi modificado, basta atualizar apenas as ligações para atualizar o
documento cliente. Estas ligações podem ser configuradas de modo que sejam
atualizadas automaticamente. Quando um desenho é ligado a outro, é necessário
manter o acesso ao aplicativo e ao documento servidor, pois se renomear ou mover um
deles, talvez o restabelecimento da ligação seja necessária (BALDAM, 2002)
Quando objetos são incorporados, não existe ligação com o arquivo original. Este
recurso é utilizado se as informações do documento original não poderem ser
modificadas pelo aplicativo cliente (BALDAM, 2002).
1.3. AutoCAD VBA
O VBA (Visual Basic for Applications) envia mensagens para o AutoCAD pela
interface do AutoCAD ActiveX Automation, permitindo que o ambiente de programação
16
Visual Basic rode simultaneamente com o AutoCAD, podendo assim controlá-lo por
meio de programação utilizando a interface ActiveX Automation. Esta ligação entre o
AutoCAD, ActiveX Automation e Visual Basic permite uma interação muito poderosa.
Por esta ligação pode-se controlar não tão somente objetos do AutoCAD, como enviar
e receber dados de outras aplicações (BALDAM, 2002).
1.4. ActiveX Automation
O ActiveX Automation é uma tecnologia desenvolvida pela Microsoft® com base
na arquitetura COM (Component Object Model), que também é a nova interface de
programação para AutoCAD (MCKELVY, 1997).
Esta interface pode ser utilizada para a customização do AutoCAD,
compartilhamento de dados de um desenho com outros aplicativos e automatização de
tarefas (BALDAM, 2002).
Pelo intermédio do ActiveX Automation, o AutoCAD permite que se posso
programar objetos descritos pelo AutoCAD Object Model, que podem ser criados,
editados e manipulados de qualquer forma por outros aplicativos. Qualquer aplicação
que possa acessar o AutoCAD Object Model tem um controlador ActiveX Automation
incorporado, e para a manipulação de outras aplicações com o ActiveX Automation a
ferramenta mais utilizada é o Visual Basic for Applications (VBA). Esta forma de Visual
Basic é encontrada como um componente em várias aplicações Microsoft Office entre
outros. Pode-se utilizar essas aplicações ou outros aplicativos que suportam o ActiveX
Automaiton com o Visual Basic e Delphi® (BALDAM, 2002).
Utilizando o ActiveX Automation pode-se criar e manipular objetos do AutoCAD a
partir de qualquer aplicação que utilize o controlador ActiveX Automation. Com esse
pode-se combinar características de diversas aplicações em uma única aplicação
(BALDAM, 2002).
Os objetos manipulados são chamados de Automation Objects que tornam
métodos e propriedades disponíveis. Os métodos são funções que proporcionam
alguma alteração sobre o objeto e as propriedades são funções que definem ou
retornam informações sobre o estado do objeto (BALDAM, 2002).
A princípio, qualquer aplicação pode acessar o Automation Objects dentro do
AutoCAD. Essas aplicações podem ser arquivos executáveis gerados por um
17
compilador, arquivos DLL (Dynamic Linked Library) e macros advindas de outras
aplicações como o Microsoft Access (BALDAM, 2002).
1.5. Clientes e Servidores
Embora o ActiveX Automation envolva sempre a conversão entre dois aplicativos,
não constitui uma conversão bidirecional entre os dois parceiros. Cada parte do
ActiveX Automation envolve dois programas com papéis diferentes. O servidor é o
aplicativo que fornece todos os dados requisitados pelo cliente, como métodos, objetos,
etc. O cliente é o aplicativo que requisita as informações pertinentes ao servidor. O
código do ActiveX Automation roda no cliente, e as ações que o código controla são
executadas pelo servidor (OMURA, 1999).
A figura 1 mostra como funciona a operação de ActiveX Automation. O aplicativo
que inicia a operação se torna automaticamente o cliente e o aplicativo que o cliente
chama se torna o servidor. No ActiveX Automation existem três etapas a serem
cumpridas: Primeiro o cliente inicia a conversação, segundo envia os comandos ao
servidor, esse se encarrega de executar os comandos ou não, desde que a sintaxe
esteja correta, ao término da execução retorna a resposta ao cliente. O cliente pode
continuar enviando comandos ao servidor até que não seja mais necessário. Por fim o
cliente encerra explicitamente a conversação ou simplesmente para de enviar
comandos (OMURA, 1999).
INICIA CONVERSAÇÃO
REQUISITA OBJETOS
RETORNA OBJETOS
INVOCA MÉTODO
FORNECE RESULTADOS
ENCERRA CONVERSAÇÃOCLIENTESERVIDOR
FIGURA 1 – Funcionamento de operação Cliente Servidor
18
1.6. A Arquitetura 8051 (Microcontrolador)
A arquitetura 8051 especifica os recursos que deverão estar presentes nos
microcontroladores compatíveis com esta família. Um ponto interessante nesta
arquitetura é que, ao contrário de nossos computadores, ela separa a memória de
programa da memória de dados. Essa arrumação da memória em blocos distintos
oferece maior versatilidade às aplicações. A figura 2 apresenta um diagrama em blocos
com a arquitetura 8051. Vemos que está especificada uma CPU de 8 bits, para a qual
já foi definido um conjunto mínimo de instruções. O contador de programa
(computador) é de 16 bits, o que permite até 64KB de memória de programa. Um outro
registrador de 16 bits é usado para acessar a memória de dados, o que permite 64 KB
de dados. Nota-se que existe a possibilidade da memória de programa (ROM 4KB) ser
integrada junto com o chip do processador. A memória RAM interna tem 256 bytes e
está dividida em dois blocos de 128 bits. O bloco inferior destina-se a trabalhar como
uma outra memória de dados, enquanto que o bloco superior está dedicado aos
registradores especiais que controlam os diversos recursos do microcontrolador
(NICOLOSI, 2000).
A arquitetura 8051 oferece quatro portas paralelas de 8 bits, denominadas de P0,
P1, P2 e P3. Essas portas são bidirecionais e podem ser usadas para receber ou para
gerar sinais digitais. Elas também podem ser acessadas bit a bit, ou seja, cada bit da
porta pode ser programado como entrada ou como saída. Quando se usa memória
externa ao CI, as portas P0 e P2 são consumidas na construção dos barramentos de
endereços e dados. Para a geração de pulsos com duração precisa ou para a medição
de intervalos de tempo em sinais digitais, existem dois contadores e temporizadores de
16 bits, denominados de "Timers". O bloco denominado "Controlador de Interrupções"
trabalha com cinco interrupções. Duas dessas interrupções podem ser pedidas
externamente através dos pinos INT0 e INT1, sendo que outras duas interrupções
podem ser provocadas pelos contadores e temporizadores. A quinta interrupção é
gerada pela porta serial. Esta arquitetura especifica uma porta serial capaz de atender
aos requisitos mais usuais de comunicação, por isso a quantidade de bits e a
velocidade é programável, e a porta serial gera uma interrrupção tanto na transmissão
quanto na recepção de um byte (NICOLOSI, 2000).
19
FIGURA 2 – Diagrama em blocos da arquitetura 8051
1.7. O que é PWM?
PWM (Pulse Width Modulation), ou Modulação por Largura de Pulso (figura 3), é
uma forma de controle de tensão por recorte onde os tiristores ou transistores de
potência são ligados ou bloqueados de modo a obter na saída o valor de tensão
desejada (SIMONE, 2000).
FIGURA 3 – Sinal PWM
1.8. Motor CC
O funcionamento básico do motor CC está fundamentado na Força de Lorentz
aplicada em uma carga em movimento dentro de um campo magnético (F = qvB).
Consideremos uma espira de corrente inserida num campo magnético criado por um
ímã permanente, em que há uma corrente criada por uma bateria (fonte CC). De uma
forma simplificada, a simples passagem desta corrente faz com que apareçam duas
20
forças de sentidos contrários, aplicadas uma em cada lado da espira. Estas forças
criam um torque que, obviamente, faz a espira girar, transformando a energia elétrica
da corrente em energia cinética num eixo acoplado às espiras. A direção da rotação
depende da polaridade da bateria e da direção das linhas de campo magnético criadas
pelo ímã (FILIPPO, 2000).
Um motor real é composto de conjuntos múltiplos de espiras, dispostas de tal
forma que as forças que agem em cada espira sejam somadas e produzam um torque
significativo para uma possível aplicação (FILIPPO, 2000).
1.9. Relé
O relé é um dispositivo eletromecânico. Sua função é fazer a comutação de
contatos, ou seja, fazer a abertura e o fechamento desses contatos devido a uma
tensão exercida na bobina de excitação do circuito magnético. As correntes aplicadas
sobre os contatos, na maioria das vezes, são de comando. Os relés também podem
ser utilizados para transmitir uma pequena corrente para acionamento de lâmpadas,
alarmes, etc. Em alguns casos, os relés são associados a dispositivos eletrônicos e
estes determinam seu acionamento (figura 4). Para que isso ocorra, o circuito
eletrônico deve ser associado a um transistor. Uma vez que o transistor ficar saturado
por uma tensão VBE a corrente é passada pela bobina do relé, ocasionando comutação
dos contatos (FILIPPO, 2000).
NA
Q1BC548B
1
2
3
R1CircuitoEletrônico
354
12
VCC
NF
FIGURA 4 – Relé Chaveado por Transistor
21
1.10. Controle de Velocidade de um Motor CC
A velocidade de um motor pode ser controlada através da sua tensão (corrente)
de entrada. No entanto, para evitar sobre aquecimentos nos componentes, em vez de
um sinal contínuo é usado um sinal PWM onde a largura dos impulsos controla a
potência fornecida ao motor e por sua vez a velocidade de rotação. A velocidade do
motor varia proporcionalmente à área debaixo da porção positiva de cada período.
O fato de muitos microcontroladores possuírem este tipo de canal torna bastante
simples a sua utilização. Por outro lado, são reduzidas as perdas térmicas nos
componentes, pois nem sempre se tem uma tensão aplicada (FILIPPO, 2000).
1.11. Sistema de Tolerância e Ajuste ABNT/ISO
O sistema ISO (International Organization for Standardization) consiste em um
conjunto de princípios, regras e tabelas que possibilita a escolha racional de tolerâncias
e ajustes de modo a tornar mais econômica à produção de peças mecânicas
intercambiáveis. Esse sistema ainda estabelece uma série de tolerâncias fundamentais
que determinam a precisão da peça, ou seja, a qualidade de trabalho, uma exigência
que varia de peça para peça, de uma máquina para outra (FREIRE, 1989).
A norma brasileira prevê 18 qualidades de trabalho, que são identificadas pelas
letras IT, seguidas de numerais. A cada uma delas corresponde um valor de tolerância.
As letras IT não aparecem na indicação do desenho (FREIRE, 1989).
Também estabelece 28 campos de tolerância, identificados por letras do alfabeto
latino. Cada letra é associada a um determinado campo de tolerância. Os campos de
tolerância para eixo são representados por letras minúsculas e para furos são
representados por letras maiúsculas (FREIRE, 1989).
1.12. Desenhos Vetoriais
Os desenhos vetoriais (curvas) é a forma de descrição geométrica de uma figura
por meio de coordenadas de pontos e curvas (vetores) armazenados em uma estrutura
lógica que permite o acesso rápido e fácil. Alguns exemplos de software que produzem
desenhos vetoriais são: AutoCAD, Freehand, Ilustrator e CorelDraw (SAMPAIO, 2002).
22
1.13. O que é Encoder?
O encoder é um sensor de posição angular que gera sinais elétricos mediante a
rotação de seu eixo, podendo indicar de maneira precisa uma posição ou ângulo.
Conectado ao eixo de um motor, por exemplo, será submetido a uma rotação a qual
fará com que, internamente, um disco perfurado gire interrompendo o feixe de luz que
chega até um sensor ótico. Este é ligado é ligado a uma placa eletrônica que converte
o sinal do sensor em pulsos (encoder incremental) ou em código binário (encoder
absoluto) conforme o tipo de encoder (THOMAZINI, 2005).
A resolução do encoder incremental é dada por pulsos/revolução (normalmente
chamado de PPR), isto é, o encoder gera certa quantidade de pulsos elétricos por uma
revolução dele próprio (no caso de um encoder rotativo). Para determinar a resolução
basta dividir o número de pulsos por 360º, por exemplo, um encoder fornecendo 1024
pulsos/revolução, geraria um pulso elétrico a cada 0,35º mecânicos. A precisão do
encoder incremental depende de fatores mecânicos, elétricos e ambientais, que são:
erros na escala das janelas do disco, excentricidade do disco, excentricidade das
janelas, erro introduzido na leitura eletrônica dos sinais, temperatura de operação e nos
próprios componentes transmissores e receptores de luz (THOMAZINI, 2005).
1.14. Controle Numérico Computadorizado (CNC)
O comando numérico é um equipamento eletrônico capaz de receber informações
por meio de entrada própria, compilar estas informações e transmiti-las em forma de
comando à máquina, de modo que esta, sem a intervenção do operador, realiza as
operações na seqüência programada (SILVEIRA, 2003).
1.15. Controle em Malha Aberta
São sistemas de controle nos quais a saída não tem efeito na ação de controle.
Pode-se dizer que é um sistema sem realimentação, isto é, a saída nem é medida e
nem é realimentada para comparação com a entrada (OGATA, 2005).
23
2. DESCRIÇÃO
2.1. Problema
Alguns problemas encontrados no meio de fabricação de máquinas foram
levantados para que esse projeto fosse desenvolvido a fim de melhorá-los ou buscar
soluções que pudessem facilitar a produção.
A maior parte das máquinas do ramo tem um custo econômico muito elevado
além de serem importadas. Para tanto, foi verificada a necessidade de produzir o
mesmo tipo de máquina que fosse mais acessível financeiramente e mais fácil de
operar.
As máquinas atuais têm programas específicos e utilizam o CNC - Comando
Numérico Computadorizado. Já a máquina do presente projeto utiliza o AutoCAD para
fazer desenhos. E para converter e enviar os desenhos para a máquina é utilizado um
driver de comunicação semelhante à idéia de um driver de impressora.
2.2. Objetivo
O principal objetivo do projeto apresentado é fazer com que ela seja utilizada para
protótipos de designer e não em grande escala. É, portanto, uma máquina que cria
modelos de cortes ou desenhos em madeira ou em outros tipos de materiais, como
metais e tecidos. Possui, ainda, uma maior precisão do que as máquinas utilizadas em
grande escala.
2.3. Descrição do Projeto
O projeto consiste no desenvolvimento de sistema de plotagem que utiliza como
software de desenho o AutoCAD e um software proprietário, para a interpretação do
desenho, traduzindo o mesmo em um protocolo de comunicação com a máquina
plotter. O hardware consiste em um sistema microcontrolado, distribuído em quatro
módulos. Dois deles contém um microcontrolador e um encoder; outro possui apenas
um microcontrolador e o controle de comunicação serial, servindo, portanto, como o
24
cérebro da máquina e fazendo o controle dos outros dois módulos. Por fim, um último
módulo contém um motor elétrico de corrente contínua e um optoacoplador fazendo
comunicação com os dois primeiros módulos.
A transferência de dados entre o computador e a máquina é feita serialmente
através da porta serial RS232. A parte mecânica é constituída por três sistemas
lineares (ver sistema linear), cada um possuindo dois estabilizadores, um fuso e um
carro. Este sistema é utilizado para a movimentação dos eixos. Para o controle de fim
de curso é utilizado um sensor em cada extremidade do eixo.
A seguir é apresentado o diagrama em blocos do sistema.
Módulo Mãe Módulo MotorComputador
MicrocontroladorMSC1212Y5
Encoder
Módulo Filho
MicrocontroladorMSC1212Y5
EncoderMotor
NA
Q1BC548B
1
2
3
R1CircuitoEletrônico
354
12
VCC
NFMódulo dePotência
Optoacoplador
FIGURA 5 – Diagrama em Blocos do Projeto
2.4. Descrição Funcional do Projeto
O usuário pode utilizar qualquer versão do AutoCAD que possua comunicação
OLE para a confecção dos desenhos, sendo, ainda, recomendado a versão 2000 ou
superior. Na etapa do desenho fica definido que o software só interpreta entidades
linhas (line) e arcos (arc). Toda e qualquer outra entidade será ignorada pelo software.
O software proprietário ou driver de plotagem executa uma varredura por toda a
área de trabalho do AutoCAD procurando as entidades citadas acima. Caso encontre
uma entidade no formato linha, ele simplesmente transformará suas coordenadas em
um protocolo e enviará para a máquina; caso encontre arcos, o software efetuará uma
conversão dessas entidades em um conjunto de linhas e com isto traduzir num
25
protocolo padrão de linhas e enviar para máquina estas entidades previamente
traduzidas.
A interface gráfica, simplesmente, exibe um gráfico demonstrando a porcentagem
de entidades já plotadas pela máquina para fins de demonstração ao usuário, exibindo
estatísticas de quantidade de entidades a serem plotadas, bem como o tempo
decorrido e a estimativa de tempo restante da operação. O software possui apenas
uma exceção de funcionamento que ocorre quando a máquina estiver desligada ou o
cabo serial estiver desconectado das interfaces, o que será exibido ao usuário como
critério de alerta.
A máquina possui um microcontrolador principal que irá se comunicar com o
computador através da porta serial RS232 e o driver de plotagem contido no
computador. Este driver envia para a máquina sinais referentes ao início de plotagem,
ao fim de plotagem e às coordenadas de linha. Com isso, a máquina terá todas as
informações necessárias para plotar estas entidades. O processo de plotagem é de
forma serial, executando as tarefas linha após linha e ainda com controle de erro de
comunicação – que é implementado no microcontrolador e executado a cada
comunicação ocorrida entre a máquina e o computador.
Cada eixo da máquina possui um sistema, também, microcontrolado que
executará apenas o processo de movimentação do eixo da coordenada atual para a
coordenada destino. Esta coordenada destino é um parâmetro de entrada que será
enviada pelo controlador principal e essa comunicação será feita pelas portas dos
microcontroladores. Para controle de posição é utilizado um encoder incremental de 16
incrementos por revolução e com resolução de 11,25º (figura 6).
Para a movimentação de cada eixo será utilizado um motor de corrente contínua
de 12V com caixa de redução, acoplado a um fuso eixo de comprimento de 60cm. Para
configuração inicial da máquina e parametrização são utilizados sensores de fim de
curso, os quais servem para delimitar a máquina e calibrar.
FIGURA 6 – Disco do Encoder
26
3. PROJETO
Na fase de projeto são apresentados todos os módulos de hardware, software e
mecânica, como foram projetados e de forma que são utilizados para a implementação.
3.1. Software
3.1.1. Especificação do Software
O software foi desenvolvido utilizando conceitos de orientação a objetos na
linguagem Visual Basic 6.0. Sua estrutura tem como base a forma de conceito de três
camadas, sendo uma delas de interface e outra de negócio. Neste software não foi
utilizado nenhuma forma de gravação em banco de dados, eliminando, desta forma, a
camada de banco de dados. A classe interface possui todos os métodos que interagem
com o usuário para acesso às funções de plotagem. As classes de negócio foram
divididas em três níveis: classe cDriver, responsável pelo controle de todas as ações de
comunicação e conversão das entidades com o AutoCAD; a classe cComunicacao,
responsável pela transferência destas entidades com a plotter; e a classe cEntidade,
responsável por armazenar a estrutura de dados da entidade linha.
O algoritmo principal e funcional do software opera na forma de um grande
looping que percorre todas as entidades da área de trabalho do AutoCAD, obtendo
apenas as características geométricas das entidades linha(line). Com isto, cria-se um
protocolo (ver referencia 3.1.3), para assim enviar para a máquina. O processo de
transferência de informações é executado serialmente linha após linha. O software
detecta uma linha na área de trabalho do AutoCAD, traduz para um protocolo e envia
para a máquina. Fica, então, esperando um retorno de verdadeiro ou falso da máquina.
Caso o retorno seja falso, a máquina envia novamente a mesma entidade, sendo um
limite de dez tentativas; caso isto não ocorra segue-se o processo até a ultima entidade
encontrada no AutoCAD.
Para cada ciclo possui um critério de timeout. Se a máquina não responder em até
dez minutos, a plotagem é abortada e é emitida uma notificação visual ao usuário. Nas
figuras 7, 8 ,9, 10 e 11 estão demonstrados os fluxogramas do software.
27
Inicio
Obter Linha
Restar Máquina
Plotar
Sobe Z
Fim
FIGURA 7 – Fluxograma Geral do Software
28
Inicio
Conectar com oAutoCAD
I = 0
NOBJ = Pega Quantidadede Objetos do AutoCAD
FimI < NOBJNão
OBJ = Pega Objetodo AutoCAD (i)
OBJ=Linha
OBJ=Arc
I = I + 1
Adiciona Linha na Estrutura de Linhas
Converte Círculo em Linhas
Adiciona Linha na Estrutura de Linhas
Não
Não
Sim
Sim
Sim
FIGURA 8 – Fluxograma do Item Obter Linha do Software
29
Inicio
Protocolo = Cria Protocolo (RESET)
RET = Envia o Protocolo (PROTOCOLO)
ErroMinuto=10
Não
Minuto = Quantidade de MinutosPassados
Retorno=0Não
Sim
Sim
Sim
Minuto = 0
Retorno = Aguarda Resposta daMáquina
OK
FIGURA 9 – Fluxograma do Item Reseta Máquina do Software
30
Inicio
Protocolo = Cria Protocolo (PLOTAR)
RET = Envia o Protocolo (PROTOCOLO)
ErroMinuto=10
Não
Minuto = Quantidade de MinutosPassados
Retorno=0Não
Sim
Sim
Sim
Minuto = 0
Retorno = Aguarda Resposta daMáquina
OK
FIGURA 10 – Fluxograma do Item Plotar do Software
31
Inicio
Protocolo = Cria Protocolo (SOBE Z)
RET = Envia o Protocolo (PROTOCOLO)
ErroMinuto=10
Não
Minuto = Quantidade de MinutosPassados
Retorno=0Não
Sim
Sim
Sim
Minuto = 0
Retorno = Aguarda Resposta daMáquina
OK
FIGURA 11 – Fluxograma do Item Sobe Z do Software
32
3.1.2. Interface com o usuário
A interface com usuário é feita através do software no computador, desenvolvido
para ambiente gráfico, rodando no sistema operacional Microsoft Windows® em
conjunto com o aplicativo AutoDesk AutoCAD®.
3.1.3. O Protocolo
O protocolo é a linguagem de comunicação que une as informações do
computador, trancrevendo-as para uma escrita em que a máquina entenda e, a partir
disso, execute as funções desejadas pelo usuário.
A máquina entende dois comandos como descritos na tabela 1, e estes comandos
são consolidados em um pacote (tabela 2) de 16 ou 30 bytes de informação.
A estrutura do algoritmo consiste em separar o comando e os seus dados com o
caracter @, formando um pacote de dados. Na fase de transmissão ele envia caracter
a caracter deste pacote, e dentro de cada ciclo de transmissão ele envia o caracter e
fica esperando o retorno do mesmo. Caso o caracter de retorno não seja o mesmo do
enviado, ele indica como um erro. Se houverem dez erros, ele aborta o envio deste
pacote e notifica o computador.
TABELA 1 – Tabela de Comandos do Protocolo Comando Descrição Pacote
Reset Move os eixos X, Y e Z ao ponto
(0,0,0).
@config@0@reset@
Plot Efetua plotagem das coordenadas
da linha.
@plot@s@compx,compy,sentidox,
sentidoy,comprimento,parâmetro@
Sobe Z Sobe o eixo Z. @config@1@reset@
Desce Z Desce o eixo Z @config@2@reset@
33
TABELA 2 – Tabela de Dados do Pacote Campo Descrição Valor Nº de Bytes
s Campo que representa para a máquina se ao efetuar a plotagem da linha o eixo Z está apto para o desenho.
s = 0 = eixo Z alto
s = 1 = eixo Z baixo
1
compx Campo que representa em
milímetros que o eixo X irá
percorrer.
0 < compx > 999 3
compy Campo que representa em
milímetros que o eixo Y irá
percorrer.
0 < compy > 999 3
sentidox Campo que determina se o
eixo X irá mover para frente
ou para trás.
sentidox = 0 = trás
sentidox = 1 = frente
3
sentidoy Campo que determina se o
eixo Y irá mover para frente
ou para trás.
sentidoy = 0 = trás
sentidoy = 1 = frente
3
comprimento Campo que descreve o
comprimento da linha.
0<comprimento> 99 3
parametro Campo de parametrização
para a linha.
0 < parametro > 9 1
3.1.4. Comunicação serial
A comunicação entre o computador e o hardware é feita através da porta RS232,
utilizando uma API de comunicação (ActiveX Automation) que a ferramenta Visual
Basic disponibiliza. Os parâmetros de configuração são definidos de acordo com a
tabela abaixo.
TABELA 3 – Tabela de Parâmetros da Serial Bits por segundo 19200 Bits de dados 8 Paridade Nenhum Bits de parada 1 Controle de fluxo Nenhum
34
3.1.5. Diagrama de Casos de Uso
Cenário 1: Plotagem
1. Usuário conecta a plotter no computador
2. Usuário inicializa software do sistema que está instalado no computador em
questão
3. Usuário seleciona a opção Plotar.
Casos de uso identificados:
TABELA 4 – Casos de Uso Identificados no Cenário 1 Casos de uso Passos
Conectar Porta 1,2 Plotar 3
Diagrma de Caso de Uso
ConectarPorta
ProjetistaPlotar
FIGURA 12 – Casos de Uso Identificados no Cenário 1
Descrição dos casos de uso identificados no cenário 1:
Caso de uso: Conectar Porta
Usuário inicializa o sistema executando o software, que testará se a máquina
está conectada na porta serial do computador.
Caso de uso: Plotar
Usuário após inicializar o sistema, seleciona a opção plotar, cuja função é
executar a plotagem do desenho vetorial.
35
3.1.6. Diagrama de Classes
O diagrama de classes apresenta elementos conectados pelos seus
relacionamentos estáticos. A figura 13 demonstra diagrama de classes do software.
cd Diagrama de Classe
cComunicação
- iEstado: Integer- iErro: Integer
- GetProtocolo(Integer*, cEntidade*, cEntidade*) : String- Config_Reset(MSComm*, Date*)+ Plota_Linha(MSComm*, Date*)+ Aguarda_Resposta(MSComm*) : Integer- VisualizaLinhaCAD(cEntidade*)+ Enviar(Integer*, MSComm*, cEntidade*, ProgressBar*, MSFlexGrid*) : Integer
cDriv er
- nLinha: Integer- Linha(): cEntidade- Protocolo: cComunicação
+ Reset(MSComm*, ProgressBar*) : Integer+ SobeEixo(MSComm*, ProgressBar*) : Integer+ Plotar(MSComm*, ProgressBar*, MSFlexGrid*)+ visualizarlinhas(MSFlexGrid*)+ OrdenarEntidades()+ ObterEntidades()- Class_Initialize()- Class_Terminate()
cEntidade
- X1: Integer- Y1: Integer- X2: Integer- Y2: Integer- Angle: Integer- Status: Integer- ID: String
+ getComprimento() : Integer+ getAngle() : Integer+ getID() : String+ getStatus() : Integer+ setAngle(Integer*)+ setStatus(Integer*)+ getX1() : Integer+ setID(String*)+ setX1(Integer*)+ getX2() : Integer+ setX2(Integer*)+ getY1() : Integer+ setY1(Integer*)+ getY2() : Integer+ setY2(Integer*)+ ToString(cEntidade*) : String
frmMain
+ Driver: cDriver+ X1: Integer+ Y1: Integer+ op: Integer+ Segundos: Integer+ Minutos: Integer+ Horas: Integer
- cmdConectarPorta_Click()- Plotar_Click()- Visualizar_Entidades_Click()- Visualizar_Configuração_Porta_Click()- Conectar_Click()
1..*+Linha()
+Driver
+Protocolo
FIGURA 13 – Diagrama de Classes do Software
3.1.7. Diagrama de Seqüência
O diagrama de seqüência apresenta interações em uma seqüência de tempo.
Apresentam os objetos participando e interagindo em suas linhas de vida, trocando
mensagens de modo a se chegar a um resultado ou operação. Não apresentam as
associações entre os objetos. A figura 14 demonstra o diagrama de seqüência do
software.
36
sd Diagrama de Sequência
frmMain cDriv er cComunicação cEntidade
Projetista
Usuário Inicializa o sistema
Plotar
Enviar(Comando,USB,Linhas(),pgbar,msGrid)
Class_Terminate()
Class_Initialize()
ObterEntidades()
OrdenarEntidades()
visualizarlinhas(MSFlexGrid*)
Plotar(MSComm*, ProgressBar*, MSFlexGrid*)
Reset(USB,pgbar)
VisualizaLinhaCAD(cEntidade*)
ToString(Linha)
Plotar
Aguarda_Resposta(USB)
Plota_Linha(MSComm*, Date*)
Config_Reset(MSComm*, Date*)
Conectar Porta
GetProtocolo(Comando,Linha,linha1)
SobeEixo(USB,pgbar)
Plotar(USB,pgbar,msGrid)
FIGURA 14 – Diagrama de Seqüência do Software
3.1.8. Diagrama de Estados
Os diagramas de estados apresentam a resposta de um objeto de uma classe a
partir de um estímulo externo. Representam uma máquina de estados. Nas figuras 15 e
16 estão representados os diagramas de estado do software.
Sucesso
Erro
CONECTAR
FIGURA 15 – Diagrama de Estados da Função Conectar Porta
37
Obter Entidades doAutoCAD
Efetuar Comando deReset da Máquina
Efetuar Comando dePlot
Executa ComandoSubir Eixo Z
FIGURA 16 – Diagrama de Estados da Função Plotar.
3.1.9. Contratos das Operações do Sistema
• Contrato da operação “Plotar”
Contrato Plotar
Responsabilidade Plotar o desenho vetorial na maquina Plotter
Tipo Sistema
Referencias Caso de uso do cenário 1
Notas Diagrama de Classes
Exceções AutoCAD estar desligado no momento.
Saída Tempo estimado para a plotagem e quantidade de entidades a
se plotar
Pré a comunicação Computador->Máquina via porta serial esteja
com status de OK
Pós
38
• Contrato da operação “Conectar”
Contrato Conectar Porta
Responsabilidade Efetuar a conexão com a porta serial.
Tipo Sistema
Referencias Caso de uso do cenário 1
Notas Diagrama de classes
Exceções
Saída
Pré A porta serial deve estar desocupada
Pós
3.1.10. Classe de Interface com o Usuário
No sistema que desenvolvido, temos uma interface com o usuário (classe
frmMain) na qual o mesmo terá disponível a função de plotar o gráfico.
A interface conhece o controlador do sistema, e assim, quando o usuário solicitar
a plotagem do desenho, a interface irá fazer uma solicitação ao controlador.
A descrição dos métodos da classe de interface do sistema com o usuário
encontra-se a seguir na tabela 5.
TABELA 5 – Tabela de Descrição dos Métodos de Interface do Sistema Método Funções do método
Sub Plotagem() Envia uma solicitação ao controlador para executar a função de plotagem.
Sub Reseta Máquina() Envia uma solicitação ao controlador para executar a função de resetar a máquina.
Sub Sobe Eixo Z Envia uma solicitação ao controlador para executar a função de subir o eixo Z.
3.1.11. Classe Controladora de Operações do Sistema
O controlador do sistema recebe as solicitações da interface que foi acionada pelo
usuário. O controlador gerencia as solicitações e executar as mesmas. A tabela 6
mostra os métodos da classe controladora.
39
TABELA 6 – Descrição do Métodos da Classe de Controle do Sistema Método Funções do método
function Reset(MSComm*, ProgressBar*) as Integer
Envia o comando de reset para a máquina e aguarda o retorno. Ao término da operação retorna o resultado para a classe interface.
function SobeEixo(MSComm*, ProgressBar*) as Integer
Envia o comando de SobeEixo para a máquina e aguarda o retorno. Ao término da operação retorna o resultado para a classe interface.
sub Plotar(MSComm*, ProgressBar*, MSFlexGrid*)
Envia o comando de Plotar linha a linha para a máquina, e aguarda o retorno. Ao término da operação retorna o resultado para a classe interface.
Sub ObterEntidades() Efetua o ciclo de procura de linhas ou arcos dentro da área de trabalho do AutoCAD e adiciona dentro da estrutura cEntidade.
3.1.12. Protótipo de Telas do Software de Interface com o Usuário
A interface gráfica do software de interação com o usuário foi desenvolvida como
mostrada na figura 17. O usuário do sistema simplesmente após ter ligado a máquina e
efetuado o desenho no AutoCad executa a opção de plotar.
FIGURA 17 – Interface com o usuário
40
3.2. Hardware
O hardware foi desenvolvido utilizando-se as instruções baseadas na arquitetura
8051 e a IDE Keil, em conjunto com a linguagem C para microcontroladores. Abaixo
segue a figura 18 do diagrama em blocos do hardware.
MÓDULOMÃE
MÓDULOFILHO 1
MÓDULOFILHO 2
MÓDULOMOTOR
MÓDULOMOTOR
MÓDULOMOTOR
MECÂNICA
SENSORESFIM DECURSO
ENCODER
FIGURA 18 – Diagrama em Blocos do Hardware
3.2.1. Módulo Mãe
O módulo mãe (figura 19) é composto por um microcontrolador MSC1212Y5, da
Texas Instruments, e por um CI MAX 232 – este utilizado apenas para a comunicação
serial com o computador. Este módulo recebe informações do computador, bem como
as envia aos módulos filhos e recebe deles as respostas. A tabela 7 apresenta todos os
componentes utilizados no módulo mãe.
TABELA 7 – Tabela de Componentes Utilizados no Módulo Mãe Componente Quantidade
Resistor 1KΩ 3 Resistor 220Ω 1 Resistor 4k7Ω 1 Capacitor 10uF 1 Capacitor 18pF 2 Cristal 11,059MHz 1
41
Microcontrolador MSC1212Y5 1 Push Buton 1 Micro Switch 1 UA 7805 1 Placa Padrão 1 Barra de Pinos 3 LED Verde 1 PHCT 203 1
O microcontrolador executa um algoritmo que controla todo o funcionamento da
máquina. Ele, portanto, recebe as informações dos módulos filhos. Estas informações
são de controle, ou seja, quando um dos módulos filhos termina sua operação, manda
um pulso pelo port P3 que chega até uma das interrupções do módulo mãe. Quando os
dois módulos filhos terminam suas operações, o módulo mãe envia outro comando e
espera o retorno dos mesmos, até que não haja mais comandos a serem enviados.
A transmissão com o computador é serial e as informações recebidas são os
valores do protocolo, que contêm as informações de posição, manipulação da
ferramenta e controle de erro.
Quando um novo desenho é enviado para plotagem, o módulo mãe começa a
executar uma rotina de calibração, para que o sistema fique na posição (0,0,0) do
plano. O módulo mãe é responsável pelo eixo Z, e o move até que este acione o fim de
curso mostrando que chegou ao topo. Em seguida, envia o comando de reset para os
módulos filhos para que estes movam seus eixos respectivos (X e Y) afim de que os
fins de curso sejam acionados. Dessa forma, os módulos filhos são capazes de
transmitir ao módulo mãe, quando seus eixos chegam ao ponto inicial ou (0,0). Em
outras palavras, quando eles terminam sua rotina de reset, enviam um sinal ao módulo
mãe indicando que seu trabalho foi concluído com êxito.
Após o recebimento do sinal de conclusão dos módulos filhos, o módulo mãe
move o eixo Z para baixo até que este chegue ao ponto inicial para a plotagem. O
módulo mãe contém um módulo motor ligado em dois de seus pinos do port, o P0.2 e o
P0.3, para que, dessa forma, ele possa mover o seu eixo Z. Estes dois pinos têm a
função de controlar a direção e o status de ligado ou desligado. O fim de curso do eixo
Z está ligado ao port P0.1 e o encoder (figura 20) do mesmo eixo está ligado ao port
P0.0.
Após o término da execução do desenho e de todo o processo, o módulo mãe
move seu eixo Z para o topo, até que ele chegue ao sensor de fim de curso. Na figura
21 é demonstrado o fluxograma do módulo mãe.
42
FIGURA 19 – Placa do Módulo Mãe
FIGURA 20 – Encoder
43
Inicio
Não
Sim
Comando = Pega Protocolo
Comando=1
Comando=2
Comando=3
Não
Status = 1
Move Eixo Z para Baixo
Cont = 0
Cont < 830Cont = Cont + 1Sim
Para o Eixo Z
Não
Não
Envia Protocolo
Filho1 = 1
Filho2 = 1
Não
Sim
Não
Move Eixo Z para Cima
Fim deCurso = 1
Não
Sim
Sim
Move Eixo Z para CimaSim
Não
Sim
Para o Eixo Z
Move Eixo Z para CimaSim
Sim
Não
MoverX = 999MoverY = 999SentidoX = 0SentidoY = 0
Envia Protocolo
Filho1 = 1
Filho2 = 1
MoverX = 50MoverY = 50SentidoX = 1SentidoY = 1
Sim
Não
Sim
Não
Envia Protocolo
Não
Filho1 = 1
Filho2 = 1
Sim
Não
Não
Sim
Sim
Fim deCurso = 1
Fim deCurso = 1
FIGURA 21 – Fluxograma do Módulo Mãe
3.2.2. Módulos Filhos
Cada módulo filho – 1 e 2 (figura 22) – é constituído por um firmware, que contém
um microcontrolador MSC1212Y5 e por um encoder. Este é responsável pelo controle
44
do seu devido eixo. E cada eixo é constituído por um módulo motor acoplado a um
sistema linear mecânico. A tabela 8 apresenta todos os componentes utilizados nos
módulos Filhos.
TABELA 8 – Tabela de Componentes Utilizados nos Módulos Filhos Componente Quantidade
Resistor 1KΩ 6 Resistor 220Ω 2 Resistor 4k7Ω 2 Capacitor 10uF 2 Capacitor 18pF 4 Cristal 11,059MHz 2 Microcontrolador MSC1212Y5 2 Push Buton 2 Micro Switch 2 UA 7805 2 Placa Padrão 2 Barra de Pinos 6 LED Verde 2 PHCT 203 2
Cada módulo filho tem a finalidade de receber informações do módulo mãe sobre
a posição em que o eixo deve prosseguir. Com tal informação, o microcontrolador do
módulo filho controla sua saída PWM para que o motor gire na velocidade correta. O
sentido do movimento é controlado, então, pelo port P0.4. E, por fim, a posição é
indicada pelo encoder. Com a velocidade, o sentido e a posição definidos, a
coordenada é atingida.
O encoder está conectado ao port P0.0. e tem a finalidade de contar até que a
coordenada seja atingida. Cada módulo filho possui dois fins de curso, capazes de
indicar até que ponto cada carro (ver sistema linear) pode atingir em cada eixo.
O módulo motor e o encoder ficam acoplados ao fuso mecânico. O primeiro faz
com que toda a estrutura ou o carro entre em movimento. Com o movimento, o encoder
é incrementado ou decrementado de acordo com o sentido de giro do motor. Só assim,
com o incremento ou decremento devido, o processador pode comparar seu valor atual
da posição com o valor esperado.
Quando o valor do encoder for igual ao valor esperado, o microcontrolador para o
motor e envia um sinal para o módulo mãe, informando que o sistema está pronto para
receber a próxima coordenada. O módulo mãe ainda verifica se os dois módulos filhos
estão prontos para receber as coordenadas do próximo ponto. Se estiverem prontos, o
próximo valor é enviado para cada módulo filho e, então, o módulo mãe já fica
45
habilitado para receber o próximo conjunto de coordenadas do computador. O módulo
mãe entra em espera, e somente após verificar que os módulos filhos 1 e 2 executaram
suas tarefas de forma adequada, ele envia novas informações. Quando a última
coordenada é enviada pelo computador ao módulo mãe, o sistema termina todo o seu
processo e só vai começar um novo quando receber do computador o protocolo de um
novo desenho a ser plotado. Na figura 23 é demonstrado o fluxograma dos módulos
filhos.
FIGURA 22 – Placa dos Módulos Filhos
Inicio
Recebe Protocolo
Sentido = 0
Não
SimMove Motor para Direita
Move Motor para Esqueda Cont = 0
Cont <Comprimento
Fim deCurso = 1
Parar MotorNão
Sim
Sim
Cont = Cont + 1
Não
Envia Sinal de Término
FIGURA 23 – Fluxograma dos Módulos Filhos
46
3.2.3. Módulo Motor
O módulo motor é constituído por dois optoacopladores 4N25 (figura 24), um
motor CC e um módulo de potência (figura 25) que é composto por um conjunto de
transistores, diodos, resistores e um relé. Sua função é movimentar o fuso mecânico
(ver mecânica). A tabela 9 apresenta todos os componentes utilizados no módulo
motor.
TABELA 9 – Tabela de Componentes Utilizados no Módulo Motor Componente Quantidade
Resistor 10KΩ 3 Resistor 100Ω 2 Resistor 1KΩ 2 Transistor BC548B 2 IRF 540 1 Relé METALTEX 12V 5A 1 Diodo 1N5380 3 Diodo 1N4007 1 Placa Perfurada 2 Conector de CI 6pinos estampado 2 Motor CC 12V 1
Para que isso seja possível, ele necessita receber, primeiramente, pulsos elétricos
vindos do módulo filho. Esses pulsos polarizam os transistores e chaveiam o relé.
Dessa maneira, o motor gira em um sentido ou em outro, e a PWM controla sua
velocidade.
O optoacoplador é responsável pelo isolamento elétrico entre o módulo filho e o
módulo motor, para que não haja interferência eletromagnética entre os mesmos
módulos.
FIGURA 24 – Placa dos Optoacopladores 4N25
47
FIGURA 25 – Placa do Módulo de Potência
O módulo motor funciona como um sistema de malha aberta (figura 26), o que
significa de para que o motor entre em funcionamento, necessite de um circuito
eletrônico acoplado aos seus terminais. O sistema de malha aberta também exige que
exista um controle de velocidade e direção e por fim uma carga que está colocada em
sua extremidade.
Sensoriamentode Velocidade
e DireçãoMOTOR CARGA
FIGURA 26 – Sistema de Malha Aberta
3.3. Mecânica
A mecânica do projeto se compõe de três sistemas lineares (figura 28) e a
estrutura que o suporta. Esse conjunto é responsável pela movimentação física dos
três eixos. Nas figuras 30, 31, 32 e 33 estão representadas as vistas da parte
mecânica.
3.3.1. Sistema Linear
O sistema linear é constituído por dois estabilizadores, um fuso (anexo), uma
porca (anexo), uma placa suporte (anexo), dois mancais (anexo), dois rolamentos e
parafusos.
48
O estabilizador, por sua vez, é composto por uma barra de aço 1020 de 5/8”de
diâmetro (com tolerância ISO g6) por 650 ou 350mm de comprimento. É composto
ainda por um bloco de alumínio fundido (anexo) de 80 x 45 x 45mm com um furo no
centro de 5/8” (com tolerância ISO H7).
O fuso se constitui de uma barra de aço 1020 de 7/8” de diâmetro (com ajuste
UNS1 N-3). O fuso possui um passo de 1/8”. A porca é formada por um bloco de
alumínio forjado de 50 x 45 x 45mm com rosca2 simples de passo3 de 1/8” (com ajuste
UNS N-2). A placa suporte é composta de uma placa de aço 165 x 80 x 5mm, com
furos de 6mm com rosca. O mancal é uma peça de alumínio fundido de 170 x 53 x
15mm. O rolamento tem diâmetro externo de 42mm, diâmetro interno de 20mm e
espessura de 12mm.
O fuso foi utilizado como parafuso de potência, isto é, o movimento do parafuso é
motorizado para transladar a porca.
Dentro do sistema linear, ainda, há o carro (figura 27). Este é formado pela porca,
dois blocos de alumínio, uma placa suporte e 12 parafusos. Em suma, é um conjunto
de peças que se movimentam dentro do sistema linear.
FIGURA 27 – Carro
1 UNS – Unified National Standard – padrão de rosca americana. 2Se na superfície externa ou interna de um cilindro ou cone construirmos um helicóide ou vários helicóides paralelos e de seção constante, temos o que denominamos rosca (FREIRE, 1989). 3 Por passo entende-se como a distância medida paralelamente ao eixo entre dois pontos correspondentes de dois filetes adjacentes (FREIRE, 1989).
49
FIGURA 28 – Sistema linear
3.3.2. Estrutura
A estrutura de suporte da máquina (figura 29) é composta por sete cantoneiras em
aço de 60 x 60 x 600mm. Essa estrutura foi desenvolvida para sustentar
adequadamente os três sistemas lineares, para que eles possam se movimentar em
ângulos retos individualmente, ou em curvas em conjunto.
FIGURA 29 – Estrutura Metálica da Máquina
50
3.3.3. Vistas da Máquina
FIGURA 30 – Vista Superior
FIGURA 31 – Vista Frontal
51
FIGURA 32 – Vista Lateral
FIGURA 33 – Vista Isométrica
52
4. CRONOGRAMA
DESCRIÇÃO DAS ETAPAS Fev Mar Abr Mai Jun Jul Ago Set Out Nov
Proposta de Projeto Final X
Especificação Técnica do Projeto X - -
Apresentação Oral do Projeto X
Projeto Teórico x X
Implementação do Projeto x x x x X
Documentação x X
Defesa X
Documentação Completa X
53
5. RESULTADOS
Após alguns testes para comprovar a precisão de execução da máquina, foi
verificado que a mesma desempenhou seu trabalho com êxito. Os desenhos foram
construídos minuciosamente proporcionando o cumprimento dos objetivos inicialmente
traçados.
Outros testes feitos foram para estipular a velocidade máxima do equipamento,
para que não houvesse danificações na peça de usinagem, na ferramenta, tampouco
na própria máquina.
A máquina também foi submetida a processo intenso de estresse para determinar
o tempo máximo que a máquina é capaz de suportar sem lubrificação devida.
Mais alguns testes foram realizados com o software para verificar se os comandos
do mesmo refletiam devidamente na máquina, além de testes para a detecção das
possibilidades de erro, a fim de verificar se o software tratava os erros adequadamente.
Foi detectada apenas uma inconsistência no software para executar arcos, não
gerando o desenho satisfatório. Porém, o problema já foi detectado e será facilmente
solucionado em uma versão futura.
54
6. CUSTO DO PROJETO
O custo foi calculado utilizando todos os componentes eletrônicos utilizados no
processo, assim como todo o material metálico e a mão-de-obra do torneiro mecânico.
Foi desconsiderado o custo dos softwares utilizados assim como a licença do
Autodesk AutoCAD®. Também não foram consideradas as horas de trabalho sobre o
projeto. As fontes utilizadas no projeto também não entraram como custo, pois foram
emprestadas do almoxarifado da faculdade.
A tabela 10 representa todos os custos do projeto.
TABELA 10 – Tabela de Custos do Projeto Descrição Qtde. Custo Unitário Total
Microcontrolador MSC1212Y5 3 R$ 55,00 R$ 165,00 Diodo 1N5380 9 R$ 1,40 R$ 12,60 Placa Perfurada 4 R$ 3,70 R$ 14,80 IRF 540 3 R$ 3,00 R$ 9,00 4N25 6 R$ 0,80 R$ 4,80 BC548 6 R$ 0,15 R$ 0,90 Diodo 1N4007 3 R$ 0,05 R$ 0,15 Solda 1 R$ 1,14 R$ 1,14 Placa Padrão 2 R$ 15,00 R$ 30,00 Relé TN2RC 12V 5A 3 R$ 17,40 R$ 52,20 LED 6 R$ 0,15 R$ 0,90 Resistores Diversos 40 R$ 0,03 R$ 1,20 PHTC 203 3 R$ 3,90 R$ 11,70 Micro Switch 5 R$ 5,30 R$ 26,50 Cabo Flat 2 R$ 2,10 R$ 4,20 MAX 232 1 R$ 2,90 R$ 2,90 Cap. de Cerâmica 18p 6 R$ 0,10 R$ 0,60 Cristal 11.0592 MHz 3 R$ 1,10 R$ 3,30 Capacitores Pol. 2 R$ 0,70 R$ 1,40 Soquete CI 06 pinos estampado 6 R$ 0,35 R$ 2,10 MODU MLS - Diversos 20 R$ 0,30 R$ 6,00 Barra de Pinos 10 R$ 3,00 R$ 30,00 UA 7805 1 R$ 0,80 R$ 0,80 RS 232 1 R$ 0,55 R$ 0,55 Chave Tactil 3 R$ 0,30 R$ 0,90 Capacitores Elect. Radial 7 R$ 0,10 R$ 0,70 Soc CI 16 pinos estampado 1 R$ 0,20 R$ 0,20 Motores CC 12V c/ redução 3 R$ 50,00 R$ 150,00 Rolamento ZZ 6 R$ 5,50 R$ 33,00 Eletrodo 0,5 R$ 10,50 R$ 5,25 Placa de Madeira 1 R$ 8,00 R$ 8,00 Cantoneiras de Aço 6X6X60cm 7 R$ 8,00 R$ 56,00 Placas de Aço de 5mm 7 R$ 4,15 R$ 29,05 Alumínio Fundido 15 R$ 9,67 R$ 145,05
55
Ferro Trefilado 1020 10,44 R$ 4,40 R$ 45,94 Parafusos Diversos 60 R$ 0,64 R$ 38,40 Mão-de-Obra Torneiro 1 R$ 900,00 R$ 900,00
Total R$ 1.795,23
56
7. CONCLUSÃO
O trabalho atendeu aos objetivos acadêmicos do projeto, por desempenhar
desenhos satisfatórios no suporte. Porém, sabe-se que o objetivo comercial da
máquina é a sua utilização em usinagem de madeira e, dessa maneira, trocando
apenas a caneta por outra ferramenta cortante, esse papel também seria perfeitamente
executado.
Com a troca não só da ferramenta, mas também com mais alguns ajustes, a
máquina poderia, ainda, desempenhar outras funções como cortar placas de metais ou
de tecidos, ou também servir como um scanner 3D mudando-se a ferramenta por um
sensor de distância, além de uma impressora braile.
57
8. REFERÊNCIAS BIBLIOGRÁFICAS
BALDAM, Roquemar de Lima. AutoCAD 2002 Utilizando Totalmente. São Paulo: Érica, 2002.
BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML – Guia do Usuário. Rio de Janeio: CAMPUS, 2000.
FILIPPO, Guilherme. Motor de Indução. São Paulo: Érica, 2000.
FREIRE, J. M. Instrumentos e Ferramentas Manuais. Rio de Janeiro: Interciência Ltda, 1989.
FURLAN, José DAVI, Modelagem de Objetos Através da UML. 2. ed. São Paulo: Makron books, 1998.
GIMENEZ, Salvador P. Microcontroladores 8051. São Paulo: Prentice Hall, 2002.
HORENSTEIN, M. N. Microeletrônica Circuitos & Dispositivos. Rio de Janeiro: Prentice-Hall do Brasil, 1996.
KALAMEJA, Alan J. AutoCAD para Desenhos de Engenharia. São Paulo: Makron Books, 1996.
LALOND, D. E. Ross, J. A. Princípios de dispositivos e circuitos eletrônicos. São Paulo: Makron Books, 1999.
LARMAN, Craig. Utilizando UML e Padrões. Porto Alegre: Bookman, 2000.
MALVINO, A. P. Eletrônica. São Paulo: Makron Books, 1997.
MCKELVY, Mike; MARTINSEN, Ronald; WEBB, Jeff. Usando o Visual Basic 5. Rio de Janeiro: CAMPUS, 1997.
NICOLOSI, Denys E. C. Microcontrolador 8051 Detalhado. São Paulo: Érica, 2000.
OGATA, K. Engenharia de Controle Moderno. 4a. Edição, São Paulo. Prentice-Hall, 2005.
58
OMURA, George. Dominando o AutoCAD 14. Rio de Janeiro: LTC – Livros Técnicos e Científicos, 1999.
OMURA, George. AutoCAD 2000. Rio de Janeiro: LTC – Livros Técnicos e Científicos, 2000.
PRESSMAN, ROGER S., Engenharia de software. 2. ed. São Paulo, Makron Books, 1995.
SAMPAIO, Luis Augusto Alves. AutoCAD 2002. Rio de Janeiro: Brasport Livros e Multimídia Ltda, 2002.
SEDRA, A. S.; Smith, K. C. Microelectronic circuits. New York: Oxford University, 1998.
Série (The Oxford series in electrical and computer engineering).
SILVEIRA, P.R. & Santos, W.E. Automação - Controle Discreto. 6a. Edição, Editora Érica, ISBN: 8536505918, 2003.
SIMONE, Gilio Aluisio. Máquinas de Corrente Contínua. São Paulo: Érica, 2000.
THOMAZINI, Daniel; ALBUQUERQUE, Pedro Urbano Braga. Sensores Industriais - Fundamentos e Aplicações. São Paulo: Érica, 2005.
9. ANEXOS
Componente Integrante do Estabilizador do Sistema Linear
Porca Integrante do Sistema Linear
Mancal
Placa Suporte
Fuso
MÓDULO MOTOR
CONNECTOR DB9
594837261
Sensor Encoder
MAX232
1381110
134526
129147
R1INR2INT1INT2IN
C+C1-C2+C2-V+V-
R1OUTR2OUTT1OUTT2OUT
MÓDULOFILHO1
P1.1
P1.7P1.6
SENTIDO
PHCT 203
1
2
6
4
18p
P1.2
2K2
P1.3P1.2
10K
P1.7
Fim de Curso
P1.6
P1.4
VCC
VC
C
P1.4
P1.0
VCC
330
P1.5
P1.0
P3.6
P3.7
MÓDULOFILHO2
10uF
P1.5
1514
54
46
19
11
60
42
63
38
25
2
51
4
55
62
58
35
26
22
12
20
43
27 41
8
47
129
5
37
61
31
52
17
34
48
13
32
18
40
6
16
24
49
64
56
36
23
59
10
53
21
28
33
30
39
3
9
44
7
57
50
45 DV
DD
15D
VD
D14
P0.0/AD0
P0.7/AD7
IDAC1/AIN1
DV
DD
11
P1.3/TXD1
DV
DD
42
P1.6/INT4/MISO/SDA
P2.4/A12
AIN7/EXTA
XIN
P0.3/AD3
P3.1/TXD0
P1.0/T2
P1.5/INT3*/MOSI
AIN5
P2.1/A09
AINCOM
AIN4
DG
ND
12
VDAC2/AIN2
P2.7/A15
AG
ND
DG
ND
41
P3.5/T1
P0.6/AD6
XOUTREF IN-
P3.2/INT0*
P2.3/A11
P1.4/INT2/SS*
VDAC1
P0.2/AD2
VDAC0
P2.0/A08
EA*
RST
RDAC1
IDAC0/AIN0
P2.6/A14
P3.3/INT1*/TONE/PWM
RDAC0
AIN6/EXTD
P0.5/AD5
P1.7/INT5*/SCLK/SCK
P1.1/T2EX
P2.2/A10
DV
DD
23
P1.2/RXD1
P3.7/RD*
P0.1/AD1
VDAC3/AIN3
AV
DD
NC
REF OUT/REF IN+
P2.5/A13
P3.0/RXD0
P3.6/WR*
PSEN*/OSCCLK/MODCLK
P3.4/T0
DG
ND
57
P0.4/AD4
ALE
P1.3
RESET
VCC
18p
P1.1
11,059MHz
VC
C
PWM
E
squ
emático
do
Mó
du
lo M
ãe
18p
P1.0
P1.7
PHCT 203
1
2
6
4
P1.1
VC
C
P1.6
MÓDULO MOTOR
INT0
10K
330
VCC
RESET
SENTIDO
PWM
11,059MHz
2K2
Sensor Encoder
P1.4
18p
10uF
VCC
P1.3
Fim de Curso
VCC
VC
C
Fim de Curso
P1.5
VCC
MÓDULOMAE
1514
54
46
19
11
60
42
63
38
25
2
51
4
55
62
58
35
26
22
12
20
43
27 41
8
47
129
5
37
61
31
52
17
34
48
13
32
18
40
6
16
24
49
64
56
36
23
59
10
53
21
28
33
30
39
3
9
44
7
57
50
45 DV
DD
15D
VD
D14
P0.0/AD0
P0.7/AD7
IDAC1/AIN1
DV
DD
11
P1.3/TXD1
DV
DD
42
P1.6/INT4/MISO/SDA
P2.4/A12
AIN7/EXTA
XIN
P0.3/AD3
P3.1/TXD0
P1.0/T2
P1.5/INT3*/MOSI
AIN5
P2.1/A09
AINCOM
AIN4
DG
ND
12
VDAC2/AIN2
P2.7/A15
AG
ND
DG
ND
41
P3.5/T1
P0.6/AD6
XOUTREF IN-
P3.2/INT0*
P2.3/A11
P1.4/INT2/SS*
VDAC1
P0.2/AD2
VDAC0
P2.0/A08
EA*
RST
RDAC1
IDAC0/AIN0
P2.6/A14
P3.3/INT1*/TONE/PWM
RDAC0
AIN6/EXTD
P0.5/AD5
P1.7/INT5*/SCLK/SCK
P1.1/T2EX
P2.2/A10
DV
DD
23
P1.2/RXD1
P3.7/RD*
P0.1/AD1
VDAC3/AIN3
AV
DD
NC
REF OUT/REF IN+
P2.5/A13
P3.0/RXD0
P3.6/WR*
PSEN*/OSCCLK/MODCLK
P3.4/T0
DG
ND
57
P0.4/AD4
ALE
P1.2
E
squ
emático
do
Mó
du
lo F
ilho
1
RESET
MÓDULOMAE
VC
C
VC
C
SENTIDO
P1.0
P1.7
10K
INT1
1514
54
46
19
11
60
42
63
38
25
2
51
4
55
62
58
35
26
22
12
20
43
27 41
8
47
129
5
37
61
31
52
17
34
48
13
32
18
40
6
16
24
49
64
56
36
23
59
10
53
21
28
33
30
39
3
9
44
7
57
50
45 DV
DD
15D
VD
D14
P0.0/AD0
P0.7/AD7
IDAC1/AIN1
DV
DD
11
P1.3/TXD1
DV
DD
42
P1.6/INT4/MISO/SDA
P2.4/A12
AIN7/EXTA
XIN
P0.3/AD3
P3.1/TXD0
P1.0/T2
P1.5/INT3*/MOSI
AIN5
P2.1/A09
AINCOM
AIN4
DG
ND
12
VDAC2/AIN2
P2.7/A15
AG
ND
DG
ND
41
P3.5/T1
P0.6/AD6
XOUTREF IN-
P3.2/INT0*
P2.3/A11
P1.4/INT2/SS*
VDAC1
P0.2/AD2
VDAC0
P2.0/A08
EA*
RST
RDAC1
IDAC0/AIN0
P2.6/A14
P3.3/INT1*/TONE/PWM
RDAC0
AIN6/EXTD
P0.5/AD5
P1.7/INT5*/SCLK/SCK
P1.1/T2EX
P2.2/A10
DV
DD
23
P1.2/RXD1
P3.7/RD*
P0.1/AD1
VDAC3/AIN3
AV
DD
NC
REF OUT/REF IN+
P2.5/A13
P3.0/RXD0
P3.6/WR*
PSEN*/OSCCLK/MODCLK
P3.4/T0
DG
ND
57
P0.4/AD4
ALE
11,059MHz
18p
2K2
VC
C
P1.3
VCC
18p
PWM
P1.2
VC
C
Fim de Curso
VCC
P1.5
Fim de Curso
MÓDULO MOTOR
PHTC 203
1
2
6
4
10uF
P1.1
330
P1.6
Sensor Encoder
P1.4
E
squ
emático
do
Mó
du
lo F
ilho
2
VCC 12V
MOTOR CC
12
1N5380B
SENTIDO
BC548
1
2
3
10K
1K
10K
VCC 5V
VCC 12V
4N25
1 6
2
5
4
10K
100
PWM
100
34
5
68
712BC548
1
2
3
D11N
4007
12
1N5380B
1K
VCC 12V
IRF540
2
1
34
4N25
1 6
2
5
4
1N5380B
E
squ
emático
do
Mó
du
lo M
oto
r
Datasheet MSC1212Y5
Datasheet MAX232
Datasheet MAX232
Datasheet 4N25
Datasheet IRF 540
Datasheet BC548B