universidade federal do paranÁ setor de …cricte2004.eletrica.ufpr.br/ufpr2/tccs/170.pdf ·...
TRANSCRIPT
UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
ARIELTON TRENTO
FERNANDO PATRICK RUIZ SANTICHE PILATO
FRESADORA MICROCONTROLADA PARA PLACAS DE
CIRCUITO IMPRESSO
CURITIBA
2010
UNIVERSIDADE FEDERAL DO PARANÁ
REITORIA
Reitor: Zaki Akel Sobrinho
Vice-Reitor: Rogério Andrade Mulinari
COORDENAÇÃO DO CURSO DE ENGENHARIA ELÉTRICA
Prof. Dr. Ewaldo Luiz de Mattos Mehl
SETOR DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
Chefe Departamento
Professor Doutor Eduardo Parente Ribeiro
ARIELTON TRENTO FERNANDO PATRICK RUIZ SANTICHE PILATO
FRESADORA MICROCONTROLADA PARA PLACAS DE CIRCUITO IMPRESSO
Trabalho de Conclusão de Curso para Graduação na área de Engenharia Elétrica apresentado aos professores do Setor de Tecnologia, Departamento de Engenharia Elétrica, da Universidade Federal do Paraná, como requisito parcial para a obtenção do título de Engenheiro Eletricista.
Orientador: Márlio José do Couto Bonfim Professores: Alessandro Zimmer e Ademar Luiz Pastro
CURITIBA 2010
ARIELTON TRENTO FERNANDO PATRICK RUIZ S. PILATO
FRESADORA MICROCONTROLADA PARA PLACAS DE CIRCUITO IMPRESSO
Este Trabalho de Diplomação foi julgado e aprovado como requisito parcial para a obtenção do Título de Engenheiro Eletricista, do Curso Superior de Engenharia Elétrica da Universidade Federal do Paraná.
Curitiba, 7 de Julho de 2010
Prof. M. Sc. Ademar Luiz Pastro Universidade Federal do Paraná
Prof. Dr. Marlio J. do C. Bonfim Prof. Dr. Marlio J. do C. Bonfim
Universidade Federal do Paraná Orientador
Universidade Federal do Paraná
Prof. Dr. Ewaldo Luiz de Mattos Mehl
Coordenador de Curso Departamento de Engenharia Elétrica
BANCA EXAMINADORA
Prof. Dr. Alessandro Zimmer
Universidade Federal do Paraná
AGRADECIMENTOS
A Deus por estar sempre presente em nossa vida e ao nosso lado, iluminando o nosso caminho e a nossa mente; Aos nossos pais e aos nossos amores, pela inspiração e compreensão pelos momentos não compartilhados, dedicados à execução do projeto, pelo apoio e pela verdadeira amizade; Aos nossos irmãos por estarem sempre prontos à colaborar quando necessário; A todos aqueles que de alguma forma incentivaram, colaboraram e contribuíram para com a pesquisa; À Universidade Federal do Paraná, pela oportunidade da realização do curso de engenharia elétrica e deste trabalho de conclusão de curso; A todos os professores desta Universidade, pelo incentivo, colaboração, apoio, correções e ensinamentos.
Para diminuir os problemas no mundo e inovar, as pessoas deverão, primeiramente,
estar amparadas pelo otimismo, dedicação, esperança,
paixão e possuir conhecimento,
que deverá ser alimentado constantemente pela sua aplicação prática e pelo
aperfeiçoamento contínuo.
Dos autores.
I
RESUMO
Este trabalho apresenta o desenvolvimento de uma fresadora de baixo custo,
em relação às soluções disponíveis no mercado, que tem a finalidade de prototipar
placas de circuito impresso. Trata-se de uma alternativa aos métodos já existentes,
que são muito caros quando se busca qualidade, ou rústicos, quando considerados
os trabalhos artesanais e domésticos, que apresentam limitações ou resultados não
confiáveis. O objetivo de criar de uma fresadora microcontrolada, economicamente
viável, precisa e que utiliza um pendrive como entrada de dados, foi atingido. Para a
validação do projeto foi utilizado os softwares Eagle e CamBam. Uma vez criado o
layout da placa, todo trabalho de furação, corte e desenho das trilhas poderá ser
realizado, sem a necessidade de um microcomputador acoplado, bastando apenas a
utilização de um pendrive com os arquivos no formato Gcode. O isolamento mínimo
atingido foi de 0,4mm, limitado principalmente pela fragilidade das brocas mais finas,
que representa um valor aproximadamente 1400 vezes maior que a resolução da
máquina.
Palavras chaves: fresadora, PCI, pendrive.
II
ABSTRAT
This work presents the development of a low-cost milling machine, compared
to solutions available in the market, which aims to prototype printed circuit boards.
This is an alternative to existing methods, which are very expensive when seeking
quality, or rustic, when considering the rustic and domestic work, which have
limitations or unreliable results. The purpose of creating a microcontrolled milling
machine, economically viable, with a good accuracy and that uses a flash drive as
data entry, was reached. To validate the design the following softwares were used:
Eagle and Cambam. Through the board layout, previously created, all work of drilling,
cutting and drawing of the tracks could be accomplished without a computer attached
to the machine, just by using a flash drive with the Gcode files into. The minimum
isolation achieved was 0.4 mm, limited mainly by the weakness of the finest drills,
which represent a value approximately 1400 larger than the machine resolution.
Key words: miling machine, PCB, pendrive.
III
SUMÁRIO
1 INTRODUÇÃO 1
2 CONTEXTUALIZAÇÃO 2
3 OBJETIVOS 3
4 FUNDAMENTAÇÃO TEÓRICA 3
4.1 MECÂNICA 6
4.1.1 ESTRUTURA 6
4.1.2 MOVIMENTAÇÃO DOS EIXOS 6
4.2 MOTORES 8
4.2.1 PARA OS EIXOS 8
4.2.2 PARA O DESBASTE 10
4.3 FONTE DE ALIMENTAÇÃO 11
4.4 ELETRÔNICA 12
4.5 COMANDO NUMÉRICO 12
5 DESENVOLVIMENTO 15
5.1 MECÂNICA 15
5.2 BROCAS 16
5.3 HARDWARE 18
5.3.1 MICROCONTROLADOR 20
5.3.2 DRIVER PARA OS MOTORES 21
5.3.2.1 Linistepper 23
5.3.3 INTERFACE HOMEM-MÁQUINA 26
5.3.4 INTERFACE COM O PENDRIVE 28
5.3.4.1 Principais pinos do VNC1L e suas funções 29
5.3.4.2 Gravação do firmware no VNC1L 31
5.4 FIRMWARE 32
5.4.1 MICROCONTROLADOR 32
5.4.2 VNC1L 34
5.4.2.1 Interface SPI 34
IV
5.4.2.2 Comandos utilizados 36
5.4.3 DISPLAY GRÁFICO 38
6 VALIDAÇÃO 39
7 RECURSOS FINANCEIROS 40
7.1 HARDWARE 41
7.2 MECÂNICA 46
7.3 CUSTO FINAL 46
8 CRONOGRAMA DO PROJETO 47
9 CONCLUSÃO 49
10 REFERÊNCIAS 50
ANEXO A – COMANDOS G-CODE 52
ANEXO B – CÓDIGOS M 54
APÊNDICE A – FLUXOGRAMA GERAL DO FIRMWARE 56
APÊNDICE B – FLUXOGRAMA: TESTE DOS SENSORES 57
APÊNDICE C – FLUXOGRAMA: TESTE DO EIXO X 58
APÊNDICE D – FLUXOGRAMA: ESTE DO EIXO Y 59
APÊNDICE E – FLUXOGRAMA: TESTE DO EIXO Z 60
APÊNDICE F – FLUXOGRAMA: POSIÇÃO INICIAL DO EIXO Z 61
APÊNDICE G – FLUXOGRAMA: POSIÇÃO INICIAL DOS EIXOS X E Y 62
APÊNDICE H – FLUXOGRAMA: FRESAGEM DO ARQUIVO ESCOLHIDO 63
APÊNDICE I – FLUXOGRAMA: INTERPOLAÇÃO LINEAR 64
V
APÊNDICE J – ESQUEMÁTICO: PLACA CONTROLADORA 65
APÊNDICE L – ESQUEMÁTICO: CONVERSOR SERIAL/USB 66
APÊNDICE M – ESQUEMÁTICO: PICKIT2 67
APÊNDICE N – ESQUEMÁTICO: PLACA DO LCD 68
APÊNDICE O – ESQUEMÁTICO: PLACA DO SENSOR 69
APÊNDICE P – ESQUEMÁTICO: PLACA DO VNC1L 70
APÊNDICE Q – ESQUEMÁTICO: DRIVER LINISTEPPER 71
APÊNDICE R – FOTOS DA FRESADORA 72
VI
LISTA DE FIGURAS
Figura 1: Exemplo de fresadora horizontal..................................................................4
Figura 2: Trens de fresas ............................................................................................4
Figura 3: Exemplo de fresadora vertical ......................................................................5
Figura 4: Fuso de esferas ...........................................................................................6
Figura 5: Guia linear....................................................................................................6
Figura 6: Castanha......................................................................................................7
Figura 7: Guias cilíndricas e fuso montados em uma CNC.........................................7
Figura 8: Solução adotada para movimentação dos eixos..........................................8
Figura 9: Exemplos de servo-motores.........................................................................9
Figura 10: Exemplos de motores de passo .................................................................9
Figura 11: Motor de passo utilizado no projeto..........................................................10
Figura 12: Ferramenta utilizada como spindle...........................................................11
Figura 13: Exemplo do inicio de um arquivo G-Code ................................................14
Figura 14: Exemplo do final de um arquivo G-Code..................................................14
Figura 15: Diagrama em blocos da fresadora ...........................................................15
Figura 16: Brocas de corte lateral com apenas uma borda cortante .........................16
Figura 17: Brocas cônica e paralela ..........................................................................17
Figura 18: Brocas de aço rápido ...............................................................................17
Figura 19: Cônica invertida .......................................................................................18
Figura 20: Cônica dentada ........................................................................................18
Figura 21: Cônica Diamantada..................................................................................18
Figura 22: Cônica Lisa ..............................................................................................18
Figura 23: Cilíndrica dentada ....................................................................................18
Figura 24: Diagrama em blocos do hardware............................................................19
Figura 25: Famílias de microcontroladores da Microchip ..........................................20
Figura 26: Circuito de driver sugerido pela ST ..........................................................22
Figura 27: Modo full step...........................................................................................24
Figura 28: Corrente nas bobinas usando Full-step....................................................24
Figura 29: Modo half step..........................................................................................25
Figura 30: Corrente nas bobinas usando micro-step com 3 níveis............................26
Figura 31: Corrente nas bobinas usando micro-step com 9 níveis............................26
VII
Figura 32: Pinagem do display gráfico (medidas em mm) ........................................27
Figura 33: Display e botões na máquina ...................................................................28
Figura 34: Pinagem do VNC1L..................................................................................30
Figura 35: Conexões do VNC1L com o FT232..........................................................32
Figura 36: Exemplo de uma sequência de leitura de um byte do VNC1L .................35
Figura 37: Exemplo de uma seqüência de escrita de um byte no VNC1L ................35
Figura 38: Seqüência de leitura do byte de Status do VNC1L ..................................36
Figura 39: Seqüência de inicialização do GLCD .......................................................38
Figura 40: Layout e Placa fresada.............................................................................39
Figura 41: Projeto CAD da moto ...............................................................................40
Figura 42: Resultado da fresagem do arquivo dxf.....................................................40
VIII
LISTA DE TABELAS
Tabela 1 - Característica dos motores ......................................................................10
Tabela 2 - Modos de operação do driver...................................................................24
Tabela 3 - Conexões para selecionar o tipo de interface ..........................................30
Tabela 4 - Pinos de uso geral do VNC1L utilizados ..................................................31
Tabela 5 - Bits de direção e endereço da interface SPI ............................................34
Tabela 6 - Significados do bit de status do VNC1L ...................................................35
Tabela 7 - Significado dos bits do byte de Status do VNC1L ....................................36
Tabela 8 - Comandos curtos utilizados .....................................................................37
Tabela 9 - Mensagens de resposta do VNC1L..........................................................37
Tabela 10 - Bytes identificadores da porta a ser lida ou escrita ................................38
Tabela 11 - Lista de materiais do módulo principal - Controladora ...........................41
Tabela 12 - Lista de materiais do módulo DO VNC1L...............................................42
Tabela 13 - Lista de materiais dos drivers.................................................................43
Tabela 14 - Lista de materiais do módulo do display ................................................43
Tabela 15 - Lista de materiais dos módulos dos sensores........................................43
Tabela 16 - Lista de materiais do módulo dos botões ...............................................44
Tabela 17 - Lista de materiais do módulo do FT232 .................................................44
Tabela 18 - Lista de materiais do Pickit 2..................................................................45
Tabela 19 - Lista dos principais materias para a estrutura........................................46
Tabela 20 - Preço de custo aproximado....................................................................47
Tabela 21 - Cronograma do projeto ..........................................................................48
IX
LISTA DE ABREVIATURAS E SIGLAS
CAN - Controller Area Network
CAD – Computer-Aided Design
CARBIDE – Composto de carbono com um elemento menos eletronegativo
CI - Circuito Integrado
CNC – Controle Numérico Computadorizado
CPU _ Central Processing Unit
CS - Chip Select
I²C - Inter-Integrated Circuit
FAT - File Allocation Table
FIFO - First In, First Out
GLCD - Graphic Liquid Crystal Display
GPIO - General Purpose Input/Output
LCD - Liquid Crystal Display
MDF – Medium Density Fiberboard
MIPS - Milhões de instruções por segundo
PCB - Printed Circuit Board
PCI - Placa de circuito impresso
PLL - Phase-Locked Loop
SDI - Serial Data In
SPI - Serial Peripheral Interface Bus
SRAM - Static Random Access Memory
TCC – Trabalho de Conclusão de Curso
TCP/IP - Transmission Control Protocol / Internet Protocol
UART - Universal Asynchronous Receiver/Transmitter
USB – Universal Serial Bus
1
1 INTRODUÇÃO
Este trabalho apresenta o desenvolvimento de uma fresadora de baixo custo,
em relação às soluções disponíveis no mercado, que tem a finalidade de prototipar
placas de circuito impresso. Trata-se de uma alternativa aos métodos já existentes,
que são muito caros quando se busca qualidade, ou rústicos, quando considerados
os trabalhos artesanais e domésticos, que apresentam limitações ou resultados não
confiáveis.
Normalmente as fresadoras CNCs comerciais utilizam softwares proprietários
para o controle do equipamento e o comando numérico utilizado nem sempre segue
uma normatização. Por este motivo, sempre há a necessidade de um
microcomputador próximo ao equipamento, geralmente dedicado à tarefa, além de
exigir a capacitação do operador. Como base nessas informações, o grupo fixou
como objetivo o desenvolvimento de uma máquina de simples operação, que seja
capaz de interpretar uma linguagem padronizada, que possa equipar laboratórios
sem a necessidade de um operador exclusivo e que não necessite de um
microcomputador acoplado à máquina.
A geração do comando numérico será responsabilidade do usuário, que
deverá atentar para limitações e restrições do equipamento, mas para validar o
projeto, e também servir como referência, o grupo utilizou softwares que geram o
código a partir de fontes distintas de dados. O primeiro software foi um editor de
placas de circuito impresso enquanto o segundo cria o comando numérico a partir de
arquivos CAD.
Com o editor de PCI, uma vez criado o layout da placa, todo trabalho de
furação, corte e desenho das trilhas poderá ser realizado na fresadora, sem a
necessidade de um microcomputador acoplado, bastando apenas a utilização de um
dispositivo de armazenamento digital contendo os arquivos com o código.
2
2 CONTEXTUALIZAÇÃO
A atividade industrial em especial àquela ligada à área tecnológica requer
organização, controle eficiente, precisão e agilidade. Infelizmente, as grandes
empresas trabalham hoje com custos fixos e variáveis muito elevados, que não as
permitem parar as suas linhas de produção, para produzir poucas unidades
destinadas a experimentos.
Rapidez e agilidade no ato de industrializar esses produtos, também para
atender a pequenas unidades, passaram então, a ser decisivos tanto para a garantia
de novos projetos, como também, para reduzir os seus custos e prazos de entrega
das encomendas.
Percebe-se que atualmente o parque fabril de placas de circuito impresso,
pelas suas características e metas de produção, não atendem satisfatoriamente as
pessoas ligadas ao mundo acadêmico, ou, a pequenos pedidos de unidades fabris
especiais, prejudicando o desenvolvimento de novas pesquisas, estudos e criação
de novos equipamentos.
Atualmente, encontram-se no mercado diversas opções de equipamentos
capazes de solucionar o problema descrito. Através de uma vasta pesquisa sobre
esses equipamentos os alunos encontraram fresadoras convencionais – por
desbaste – e outras, que utilizam canhões à laser para a retirada do cobre
excedente. Entretanto, todas elas utilizam o software de controle do fabricante,
sendo necessário que um microcomputador sempre esteja conectado à máquina
para sua utilização.
Analisando esse cenário, os alunos notaram que um equipamento que não
necessitasse estar conectado a um microcomputador e fosse capaz de interpretar
uma linguagem de comando numérico normatizada seria uma inovação e abriria
horizontes para novos desenvolvimentos.
3
3 OBJETIVOS
Desenvolver uma fresadora de placas de circuito impresso (PCI) com
hardware dedicado capaz de interpretar o código numérico normatizado RS274D
(Gcode), controlar todos os dispositivos necessários para o funcionamento do
equipamento e com uma interface USB para entrada de dados através de
dispositivos de armazenamento de dados em massa, como pendrives.
Adicionalmente dispor opções de controle manual dos eixos e interface paralela
(DB25) para conexão com o computador.
4 FUNDAMENTAÇÃO TEÓRICA
A fundamentação deste TCC está baseada na realização de uma pesquisa
prático/teórica, que embasa todas as conclusões e recomendações finais, de forma
a contribuir nos processos de fresagem de placas de circuito impresso. Segundo
entendimento de Carozzi (2005, p.17):
Uma fresadora é uma “máquina ferramenta” composta basicamente por um motor de alta velocidade (em torno de 60.000 RPM), em movimento rotativo contínuo. O motor faz girar um eixo com mandril (spindle - tipo de porta ferramentas), onde são fixados os desbastadores (fresas), que são cortadores giratórios de ângulos diversos, que podem possuir um ou vários freses (elementos de ação de desbaste).
Fresadoras são geralmente utilizadas para desbastar e cortar materiais
metálicos (como aço, alumínio, latão) ou outros tipos de materiais (madeira, plástico,
entre outros). Este processo é chamado de usinagem. Devido às suas
características de operação, materiais e aspectos construtivos que prioriza a
precisão e a repetibilidade, as fresadoras de placas de circuito impresso, possuem
custo de aquisição mais elevado que as demais.
As fresadoras são classificadas de acordo com a posição do eixo principal em
relação à mesa. São três os principais tipos de fresadoras: horizontal, vertical e
universal.
Na fresadora horizontal – Figura 1 (Cimm, 2010) – o eixo rotativo ocupa a
posição horizontal, paralela à superfície da mesa da máquina, podendo se deslocar
4
em qualquer eixo horizontal (X e Y). É capaz de executar diversas operações de
usinagem, como fresamento de vários tipos de ranhuras, de roscas, de guias
prismáticas e de formas complexas. Ainda permite a utilização de várias fresas -
Figura 2 (Cimm, 2010).
Figura 1: Exemplo de fresadora horizontal
Figura 2: Trens de fresas
No tipo vertical – Figura 1 (Cimm, 2010) – o eixo rotativo ocupa uma posição
perpendicular à superfície da mesa da máquina, podendo se deslocar também nos
eixos X e Y. É capaz de realizar fresamento frontal, de cantos a 90°, de ranhuras em
T, de alguns tipos de guias, entre outros.
5
Figura 3: Exemplo de fresadora vertical
A fresadora do tipo universal reúne as características dos tipos horizontal e
vertical, sendo portanto a mais versátil, chamada assim porque permite que sejam
efetuados diversos tipos de trabalhos diferentes. Essa versatilidade deve-se à
mobilidade de suas partes, como mesa e eixo principal inclinável, permitindo que a
peça a ser fresada seja deslocada em qualquer um dos eixos (X, Y e Z) e ainda seja
rotacionada nos sentidos horário e anti-horários simultaneamente aos movimentos
tridimensionais.
Considerando assim as características apresentadas para cada tipo de
fresadora, a solução mais adequada para o objetivo proposto é a fresadora vertical.
Portanto todo desenvolvimento, estudo e propostas foram baseados levando-se em
conta que este tipo de fresadora seria utilizado.
Para o desenvolvimento deste projeto, diversos assuntos não correlacionados
diretamente à engenharia elétrica tiveram que ser estudados, cada um possuindo
diversas soluções que atenderiam as necessidades do projeto, as quais foram
caracterizadas e ponderadas antes da adoção de uma solução definitiva. Assim, nos
itens que fazem seqüência as necessidades serão contextualizadas, dado mais
enfoque evidentemente às soluções adotadas, com uma breve justificativa de sua
utilização.
6
4.1 Mecânica
4.1.1 Estrutura
Utilização de madeira MDF (Medium Density Fiberboard) e parafusos devido
à facilidade de manipulação desse material com as ferramentas disponíveis ao
grupo. Outras opções, como estrutura em aço ou alumínio, apresentariam um
resultado mais confiável em relação à precisão de movimento e não deformação da
estrutura ao longo do tempo, mas iriam exigir um alto investimento, pois as peças
deveriam ser feitas em empresas especializadas.
4.1.2 Movimentação dos eixos
Há soluções específicas para CNCs, disponíveis comercialmente, que formam
o conjunto ideal para a movimentação dos eixos da máquina. Este conjunto é
composto essencialmente por fusos de esferas e guias lineares ou cilíndricas -
Figura 4 e Figura 5 (Kalatec, 2009).
Figura 4: Fuso de esferas
Figura 5: Guia linear
7
As guias são utilizadas para dar sustentação ao eixo e mobilidade e quanto
ao fuso, uma das suas extremidades é conectada diretamente ao eixo do motor e
outra a um rolamento. A conexão do fuso com o eixo da máquina se dá através da
“castanha” (Figura 6), uma espécie de porca especial para fusos, a qual está fixada
ao eixo. Este arranjo pode ser verificado na Figura 7, onde a barra central é o fuso e
as laterais são as guias cilíndricas.
Figura 6: Castanha
Figura 7: Guias cilíndricas e fuso montados em uma CNC
Devido ao custo elevado e necessidade de usinagem dessas peças, a
utilização de cantoneiras de alumínio, rolamentos de skate e barras roscadas
comerciais formaram o conjunto de movimentação adotado (Figura 8).
8
Figura 8: Solução adotada para movimentação dos eixos
4.2 Motores
4.2.1 Para os eixos
Para a escolha dos motores utilizados nos eixos levou-se em conta a massa
que a ser movimentada, a velocidade de deslocamento e controle do
posicionamento.
Durante a pesquisa, verificou-se que dois tipos de motores são mais utilizados
para este propósito: o servo-motor e o motor de passo.
O servo-motor é constituído por um motor de corrente contínua ou alternada
com um encoder – dispositivo utilizado para medir a velocidade e o posicionamento -
acoplado ao eixo – veja Figura 9 (DirectIndustry, 2010). O servo pesquisado foi o de
corrente contínua, este motor possibilita uma ampla variação de velocidade sem
apresentar vibração além de atingir rotações elevadas, em torno de 3000 RPM. O
inconveniente na utilização deste tipo de motor está na dificuldade para obter
precisão no posicionamento.
9
Figura 9: Exemplos de servo-motores
Já o motor de passo é um tipo especial de motor que não basta apenas
alimentá-lo para que entre em funcionamento. É constituído por duas ou quatro
bobinas que devem ser alimentadas sequencialmente para movimentar seu eixo.
Para tanto, deve-se utilizar um circuito de controle, mais conhecido por driver, para
se obter o sentido e a velocidade desejada. Sua principal característica é a precisão
no posicionamento, pois a cada pulso em uma bobina há um deslocamento angular
fixo. Como pontos negativos podem-se destacar a velocidade máxima que não
ultrapassa 1500 RPM e o torque que decai proporcionalmente ao aumento da
velocidade. Há motores de passo de vários tamanhos e formatos, relacionados
principalmente com o torque do motor, da mesma forma para os servo-motores. A
Figura 10 (Kalatec, 2009) mostra alguns modelos que são mais facilmente
encontrados.
Figura 10: Exemplos de motores de passo
A forma mais simples de controle é utilizar uma fonte de alimentação de
corrente contínua com a tensão nominal do motor e transistores para chavear as
bobinas. Técnicas mais avançadas utilizam fontes de alimentação com tensões
10
maiores e circuitos capazes de controlar a corrente em cada bobina, desta forma o
motor atinge velocidades maiores e apresenta movimentos com menor vibração.
Com esses circuitos ainda há a possibilidade de fazer circular outros níveis de
corrente de forma sincronizada para que haja uma divisão do passo, resultando em
uma maior precisão no seu movimento. Esse modo de funcionamento trás outro
benefício: reduz a vibração por não haver uma desmagnetização completa de uma
bobina para magnetizar a outra.
Diante desta análise o grupo escolheu utilizar um motor de passo em cada um
dos três eixos que compõem a máquina. Como a equipe não dispunha de
equipamentos para mensurar o torque necessário em cada eixo, foi adquirido um
motor usado que, após testes, demonstrou suprir as necessidades do equipamento.
Figura 11: Motor de passo utilizado no projeto
Os três eixos foram equipados com motores iguais, com as seguintes
características:
TABELA 1 - CARACTERÍSTICA DOS MOTORES MODELO 23 KM C-05
Tensão nominal 4V Corrente por fase 2A
Resistência por fase 2 ohms Indutância por fase 4,4 mH
Torque 9,9 kgf/cm Resolução nominal 1,8º por passo
Tipo Unipolar 6 fios
4.2.2 Para o desbaste
Como o objetivo era criar peças com grande precisão, este item também
representava um ponto crítico para o projeto. Considerando o fato de que quanto
menor a broca maior deve ser sua rotação para se obter os mesmos resultados
11
utilizando brocas maiores (Antares, 2004), o conjunto deveria apresentar uma
rotação superior a 15.000 RPM e a menor vibração possível, pois caso contrário, a
movimentação perpendicular ao eixo de rotação e as sucessivas trocas de direção
diminuiriam a precisão e poderiam quebrar as brocas utilizadas.
A melhor solução seria utilizar um motor de corrente contínua conectado a um
eixo auxiliar, usinado de forma a não ter folgas, e este a um sistema de polias e
correias para aumentar o giro da broca. Esta solução não foi implementada devido
ao custo e tempo de fabricação, levando-se em conta ainda que esta não seria a
única alternativa para o caso. Outra forma seria utilizar uma micro-retífica comercial
(Figura 12), acoplada ao eixo através de um suporte. Esta foi a alternativa adotada,
pois atendia os requisitos de precisão e velocidade necessários e demandou menor
tempo para integração ao equipamento.
Figura 12: Ferramenta utilizada como spindle
4.3 Fonte de alimentação
Como os dispositivos de maior potência instalados na máquina utilizam
corrente contínua, fez-se necessário a utilização de uma fonte de alimentação. Os
requisitos principais eram a estabilidade das tensões de saída e potência disponível,
já que seriam utilizados vários motores que poderiam funcionar simultaneamente.
A solução adotada foi a utilização de uma fonte chaveada de computador,
devido à maior eficiência, baixo custo e tamanho e peso menores em relação a uma
fonte linear. Além desses benefícios, utilizando uma fonte chaveada o grupo
economizou esforços e tempo para desenvolver o circuito de controle da fresadora.
A fonte utilizada dispõe de várias tensões de saída e potência suficiente para
alimentar toda a máquina. Entre as tensões disponíveis, foi utilizada a saída de +5V
para alimentar os circuitos de controle e a saída de +12V para alimentar os motores
dos eixos.
Já o motor para desbaste é alimentado direto da rede de 127V.
12
4.4 Eletrônica
O controle do equipamento será feito por um microcontrolador que deverá ser
capaz de ler os dados gravados no pendrive, manipular esses dados e movimentar
os eixos. Além disso, será utilizado um display, para a interface visual do
equipamento, que mostrará as informações que forem necessárias ao usuário e
botões para seleção das opções disponíveis.
4.5 Comando Numérico
Existem inúmeras linguagens de comando numérico para o controle que
equipamentos CNC. Esse projeto será capaz de interpretar códigos que seguem a
sintaxe do protocolo RS274D, também conhecido por G-Code, que foi desenvolvido
pela EIA na década de 1960 e sua última revisão foi aprovada em fevereiro de 1980.
Todas as próximas informações sobre o G-code, devido ao grande número de
instruções, serão focadas nas instruções pertinentes ao projeto em questão,
desconsiderando, por exemplo, aquelas para fresagem de peças 3D, que não é o
escopo do projeto.
A forma básica de uma instrução é uma letra seguida de dois números (G00,
G01, G90, F30, M30). A letra G identifica comandos preparatórios, que são
utilizados para mover os eixos ou definir a unidade dos dados de entrada. Já a letra
M identifica as instruções de entradas e saídas da máquina, como troca de
ferramenta e fim de programa. Outras letras são utilizadas para complementar certas
instruções, como a letra F que indica a velocidade de movimentação dos eixos e
acompanha algumas instruções G.
A estrutura de um arquivo G-Code normalmente é formada pela seguinte
seqüência:
1. Comentários não funcionais (data de geração, software que o gerou, autor,
entre outros);
2. Algumas instruções de configuração da máquina (indicação da unidade
métrica adotada, coordenadas relativas ou absolutas, ligar fuso, etc);
3. Conjunto de instruções com as coordenadas (em torno de 96% do arquivo,
desconsiderando os comentários);
13
4. Instruções para finalização da fresagem.
No projeto proposto, todos os comentários são descartados pelo firmware do
microcontrolador, pois são dados irrelevantes e não afetam o resultado de qualquer
processo de fresagem. Já as instruções iniciais de configuração são geralmente
duas, no caso dos arquivos para fresar PCIs: uma com a finalidade de indicar o tipo
de coordenada utilizada no código – relativa (G91) ou absoluta (G90) – e outra para
indicar o tipo de unidade de medida utilizada – métrica (G21) ou imperial (G20). O
comando que informa a ativação e sentido de rotação do fuso geralmente é omitido.
Os principais comandos do arquivo G-Code são representados por
coordenadas que indicam a posição para onde o fuso de ser deslocado e o tipo de
interpolação a ser realizado (circular ou linear). Para facilitar a validação e não
atrasar o cronograma foi implementado apenas a interpolação linear, ou seja, o
código G-Code é formado apenas por segmentos de reta. Desta forma, o comando
preparatório pode ser G00 ou G01. O G01 informa ao controlador que se trata de
uma interpolação linear que deve ser realizada com a velocidade normal de
deslocamento (valor pré-definido empiricamente no firmware do microcontrolador) e
o G00 para deslocamentos rápidos (normalmente utilizados para deslocar o fuso
quando o eixo Z não se encontra na posição de desbaste), com uma velocidade
superior em relação ao G01. Logo após o comando preparatório, pode-se conter um
comando que indica a velocidade do deslocamento em unidades/minuto ou unidades
por revolução, dependendo do modo ativo, representado pela letra “F” seguida de
um número. Uma vez executado um deslocamento com uma velocidade definida
(através do comando F), não é necessário defini-la novamente nos próximos
comandos de deslocamento, pois uma vez informada a velocidade ela será a
mesma para todos os comandos subseqüentes, até o momento em que for
redefinida. A velocidade é geralmente informada apenas nas primeiras instruções do
G-Code. Por último, há os comandos que informam a coordenada (X, Y ou Z),
utilizando números geralmente com 4 casas decimais ou mais dependendo do
software utilizado para gerar o G-Code.
Para informar à máquina que o processo chegou ao fim, há o comando M05
(desligar fuso) seguido do comando M30 ou M02 (fim do programa).
Os arquivos G-Code podem ser facilmente editados através de qualquer
editor de textos no PC. A Figura 13 mostra um exemplo do início de um arquivo G-
14
Code gerado pelo software Eagle (Cadsoft, 2010) e na Figura 14 está exposto o final
desse mesmo arquivo.
Figura 13: Exemplo do inicio de um arquivo G-Code
Figura 14: Exemplo do final de um arquivo G-Code
A relação de todos os comandos G-Code e códigos M (AST, 1999) encontra-
se nos itens “Anexo A” e “Anexo B”.
15
5 DESENVOLVIMENTO
Toda a execução do projeto foi realizada, mesmo que em ambiente
acadêmico, quase que artesanalmente, sendo, contudo, incorporados componentes
industrializados, serviços de marcenaria e materiais reaproveitados, entre outros.
A Figura 15 mostra a relação das partes que constituem a fresadora, que
serão descritas em detalhes nos próximos itens.
Periféricos
Controle
ButtonBotões de controle
ButtonInterface gráfica
ButtonDispositivo de armazenamento
Mecânica
Motores Sensores
Fonte de alimentação
+5V
+5V e +
12V
+3.3V
e +5V
Figura 15: Diagrama em blocos da fresadora
5.1 Mecânica
A estrutura mecânica do projeto foi desenvolvida com MDF – Medium Density
Fiberboard – de 15 mm de espessura, barras roscadas, canaletas de alumínio e
rolamentos de skate para possibilitar a movimentação e fibra de vidro para o painel
frontal, além de arruelas, porcas, parafusos para fixação, cabos e espirais de
polietileno. Optou-se por materiais alternativos devido ao alto custo dos materiais
16
recomendados e específicos para fresadoras, como fusos, esferas, acopladores e
pecas de aço usinado.
5.2 Brocas
As brocas são fabricadas com diferentes materiais e produzidas com uma
variedade de formas, cada uma específica para determinada aplicação. A maioria
das brocas indicadas para desbaste é de corte lateral com apenas uma borda
cortante, como indicado na Figura 16 (Antares, 2004), de aço rápido ou de carbide.
Figura 16: Brocas de corte lateral com apenas uma borda cortante
Carbide é um material extremamente duro e resistente à abrasão, com uma
alta resistência e durabilidade. Brocas de carbide duram aproximadamente de 5 a 10
vezes mais que as de aço rápido, dependendo do material onde são utilizadas. Já as
brocas de aço rápido não têm a mesma dureza e ficam sem corte com menos tempo
de uso em relação às de carbide, mas, por outro lado, não são tão frágeis e por isso
são as mais indicadas para fresadoras.
Há basicamente duas categorias para esse tipo de broca: cônicas e paralelas
– Figura 17 (Antares, 2004). As cônicas possuem uma borda de corte angulada e
com a ponta levemente achatada, lembrando o formato da letra “V”. Já as paralelas
possuem uma borda de corte reta, paralela ao eixo do fuso, que produz cortes com
paredes retas e fundo achatado, lembrando o formato da letra “U”.
17
Figura 17: Brocas cônica e paralela
Devido aos fatos apresentados, o grupo realizou os primeiros testes da
fresadora com brocas de aço duro de 0,3mm (Figura 18). Infelizmente os resultados
não foram os esperados, pois as duas brocas adquiridas quebraram devido à sua
fragilidade e em grande parte à vibração da máquina durante os testes iniciais.
Figura 18: Brocas de aço rápido
Depois de muitas pesquisas e procura de brocas mais resistentes, surgiu a
opção de utilizar brocas de uso odontológico, que são geralmente de dois tipos: com
ponta diamantada e de carbide. No caso das diamantadas há mais de 400 modelos
diferentes. Testes realizados mostraram que este tipo de broca não é indicado para
desbastar cobre de placas de circuito impresso, pois resulta em um acabamento
com imperfeições e o desgaste da broca é muito rápido. As brocas carbide foram as
que apresentaram os melhores resultados, em especial a cônica dentada.
O grupo teve que testar vários tipos de brocas, devido principalmente à falta
de especificações por parte do fabricante, como diâmetro da ponta e rigidez.
Portanto, o diâmetro de corte das brocas foi aproximado com base em testes
realizados na máquina. As brocas utilizadas, vide figuras a seguir, são fabricadas
18
pela KG Sorensen e apresentam um preço menor em relação às de aço rápido.
Enquanto uma broca de 0,3mm de aço rápido, específica para fresagem, custa a
partir de R$30,00, as brocas carbide de uso odontológico testadas não ultrapassam
R$6,00 e são facilmente encontradas no comércio, diferentemente da primeira.
Figura 19: Cônica invertida
Figura 20: Cônica dentada
Figura 21: Cônica Diamantada
Figura 22: Cônica Lisa
Figura 23: Cilíndrica dentada
5.3 Hardware
A utilização de um microcontrolador foi inevitável para o projeto devido à
independência da fresadora em relação ao computador. Sua utilização se justifica
essencialmente pelo controle da operação dos motores de passo, necessários para
a movimentação dos eixos da máquina, de acordo com as instruções contidas nos
arquivos armazenados no pendrive. Em decorrência da utilização dos pendrives, os
quais se comunicam através da interface USB, surgiu outra premissa: o
microcontrolador deveria ser capaz de ler os arquivos gcode do dispositivo USB,
comunicando-se diretamente com o pendrive ou indiretamente através de um
19
dispositivo intermediário. Pelas razões descritas no item 5.3.4 (Interface com o
pendrive), o grupo utilizou o componente VNC1L (Vinculum, 2009) para essa função.
A máquina realiza os movimentos dos eixos com base em coordenadas
absolutas, portanto sempre são referenciados a uma posição padrão (origem dos
eixos). Para que fosse possível posicionar os eixos em suas origens, independente
da posição em que se encontram, surgiu a necessidade de utilizar sensores nos
eixos. Ao total foram utilizados seis sensores, posicionados fisicamente um em cada
extremo dos eixos, os quais mudam de estado lógico quando o eixo atinge seu limite
de deslocamento (pode ser a posição de origem ou o outro extremo). Além de serem
utilizados para o posicionamento dos eixos, os sensores também são utilizados para
que evitar que a máquina efetue um deslocamento maior que seus limites.
Foi necessário também desenvolver uma interface com o usuário, para
informá-lo de possíveis erros ou avisos e para possibilitar a escolha das opções de
funcionamento da fresadora (através do pendrive, do computador ou controle
manual). Conseqüentemente, houve a necessidade de utilizar botões para a seleção
dos modos de controle.
Os motores utilizados no projeto trabalham com uma corrente nominal de 2A
por bobina, como já descrito anteriormente. Portanto, é necessário um circuito de
potência adicional (driver) entre o microcontrolador e cada um dos motores para que
seja possível controlá-los através dos pinos do microcontrolador.
A Figura 24 demonstra, na forma de um diagrama em blocos, a visão geral do
hardware desenvolvido.
ena
ble
dir
led IR
Figura 24: Diagrama em blocos do hardware
20
5.3.1 Microcontrolador
Para a escolha do microcontrolador o grupo considerou como principais
requisitos a facilidade para programação e uso de seus recursos, a capacidade de
processamento e o número de pinos disponíveis. Em função da convivência do
grupo com os microcontroladores da Microchip, inclusive em ambiente acadêmico, e
da vasta variedade de modelos disponíveis, a busca foi delimitada entre os
microcontroladores desse fabricante.
A Microchip possui microcontroladores com núcleo de 8 bits, 16 bits e 32 bits.
Os modelos de 16 e 32 bits possuem vários recursos que não são essenciais para o
projeto em questão, como suporte aos protocolos TCP/IP, CAN, ZigBee, altíssima
capacidade de processamento por unidade de tempo (MIPS – milhões de instruções
por segundo), conversores AD (analógico para digital) de 10 ou 12 bits. Devido às
suas características, esses modelos são mais indicados para processamento digital
de sinais. Dentre os modelos de 8bits, o grupo optou pela família PIC18, com a
maior funcionalidade e maior performance do grupo, veja Figura 25 (Microchip,
2009).
Figura 25: Famílias de microcontroladores da Microchip
O modelo utilizado para o projeto foi o PIC18F2550 (Microchip, 2009),
escolhido principalmente devido às suas características, descritas logo abaixo, e ao
seu custo-benefício. Muito embora tenha suporte à comunicação USB, optou-se por
utilizar um componente dedicado para fazer a interface do microcontrolador com o
pendrive (VNC1L da Vinculum), pelos motivos descritos no item “Interface com o
pendrive”.
21
• Principais características do PIC18F2550:
• Memória de programa (Flash) – 32KB
• Memória de dados (SRAM) – 2048 bytes
• Pinos de entrada/saída – 24
• Protocolos de comunicação – SPI, I²C e USB
• Timers: 1 (8 bits) e 3 (16 bits)
• Tensão de operação: 2V – 5,5V
• Velocidade da CPU: 12 MIPS
Foi utilizado um cristal de 4MHz para gerar o sinal de clock para o
microcontrolador e o circuito interno de PLL foi habilitado, resultando em um clock de
48MHz. Este circuito multiplicador de clock está disponível devido ao suporte à
comunicação USB, todavia uma parcela deste clock (ajustável via firmware) também
pode ser utilizada para o ciclo de máquina. Deste modo, o microcontrolador foi
configurado de tal forma a trabalhar com o menor ciclo de máquina possível
(consultar o item Microcontrolador, na seção de firmware, para mais detalhes).
A princípio o grupo achou que a quantidade de pinos de entrada/saída
disponíveis no PIC18F2550 seria suficiente para controlar os dispositivos externos,
porém à medida que o projeto foi sendo desenvolvido percebeu-se que não seria.
Para evitar a compra de outro microcontrolador com as mesmas características,
porém com mais pinos (PIC18F4550), percebeu-se que alguns pinos do VNC1L
(Vinculum, 2009) poderiam ser empregados para este propósito.
5.3.2 Driver para os motores
As opções encontradas para a implementação do circuito de potência para os
motores, conhecido como driver, foram:
• Utilizar apenas um arranjo de transistores para cada motor e desenvolver a
lógica para controle de cada um no firmware do microcontrolador;
• Utilizar CIs dedicados para o controle de motores de passo, com circuitos
sugeridos pelos fabricantes;
• Utilizar circuitos inteligentes, com microcontroladores, e confiáveis divulgados
pelos desenvolvedores em literatura específica (revistas, livros e Internet).
22
Em uma análise prévia das possíveis alternativas, a primeira delas foi
descartada, pois iria exigir recursos extras do microcontrolador exclusivos para essa
função, esforços dos alunos para desenvolver um circuito funcional e para integrar a
lógica no firmware sem conflitos, além de exigir um tempo considerável para o
desenvolvimento de um circuito que suprisse as necessidades, como o controle de
corrente nas bobinas.
Analisando o período de tempo disponível para concluir o projeto e sabendo
que este circuito não era o objetivo principal do trabalho, esta opção oferecia um
grau de risco muito grande.
A segunda opção pareceu muito atraente à primeira vista, em especial o
circuito sugerido pela STMicroelectronics, utilizando o CI L297 em conjunto com o
L298 (STMicroelectronics, 2000) e poucos componentes externos (Figura 26).
Utilizando este circuito o motor pode trabalhar no modo full-step ou half-step com
controle de corrente, sendo necessário apenas aplicar os sinais de direção da
rotação e de clock, utilizado para gerar o passo. Os demais pinos são sinais
auxiliares, como sincronização, reset, etc.
Figura 26: Circuito de driver sugerido pela ST
Dispostos a testar o circuito, o grupo pesquisou no comércio local a
disponibilidade e o preço dos componentes. Devido ao valor elevado desses
componentes, novas pesquisas foram iniciadas a fim de encontrar outras soluções.
A troca de informações e constante atualização é o que possibilita a criação
de equipamentos cada vez mais desenvolvidos. Pensando assim, os estudantes
participam de fóruns especializados em eletrônica e inscreveram-se em outros
23
voltados às máquinas CNC. Foi assim que o grupo achou um projeto, disponibilizado
por seus desenvolvedores, de um driver microcontrolado para motores de passo
unipolares (Newton, 2009).
Foi então feito um estudo para verificar a possibilidade de utilizar este driver
no projeto da fresadora. Constatou-se que o circuito proposto seria capaz de
controlar os motores, que já haviam sido definidos, que necessitava de poucos
sinais de controle e ainda possuía recursos para trabalhar com divisão de passos.
Outros pontos positivos foram o fácil acesso aos componentes utilizados e o custo
do circuito, que na época da montagem representou aproximadamente 40% do
custo da solução anterior, fazendo este o circuito escolhido para equipar o projeto.
5.3.2.1 Linistepper
O circuito do driver escolhido possui um microcontrolador, responsável pela
interpretação dos dados de entrada e controle do movimento do motor, quatro
transistores para chavear as bobinas e dois resistores de potência, um para cada
par de bobinas, para controlar a corrente nos enrolamentos. Estes resistores de
potência devem ser escolhidos de forma que se tenha uma queda de tensão de 1V
na corrente desejada. Outros componentes auxiliares para o controle de corrente e
acionamento dos transistores de saída também são utilizados. Trata-se de um
circuito exclusivo para motores de passo unipolares, possuindo as seguintes
características (Newton, 2009):
• Controle de motores unipolares;
• Tensão máxima de alimentação: 100V;
• Corrente máxima por fase: 1,5;
• Low-power – utilizado para manter o eixo magnetizado sem movimentação;
• Modos de operação: full-step, half-step, microstep 6th, microstep 18th.
O funcionamento do driver não será descrito detalhadamente aqui sendo que
não foi desenvolvido pelos próprios alunos, pois trata-se de um projeto open-source,
denominado Linistepper (Newton, 2009). Em relação ao circuito original, houve
apenas a necessidade de alterar o valor dos resistores, utilizados para o controle da
corrente, para que o driver fornecesse 1,5A por fase.
24
O controle do driver é feito através de cinco pinos, que trabalham com níveis
TTL: dois para seleção do modo de operação, um para o clock, um para o sentido de
rotação do eixo e um para escolha de full/low power. Os modos de operação são
quatro, configurados de acordo com a Tabela 2. Para exemplificar esses modos
serão utilizadas as características do motor escolhido - resolução nominal de 1,8º
por passo (200 passos por revolução).
TABELA 2 - MODOS DE OPERAÇÃO DO DRIVER Modo J1 J2 Passos por revolução
Full step L L 200 Half step H L 400
Microstep 6th L H 1200 Microstep 18th H H 3600
L= nível lógico baixo, H= nível lógico alto
No modo Full-Step, a cada pulso na entrada do driver uma bobina é
energizada na seqüência mostrada na Figura 27 (Brites, 2008), movimentando o
motor com sua resolução nominal. A Figura 28 (Newton, 2009) mostra como fica a
corrente em cada bobina do motor utilizando este modo de acionamento.
Figura 27: Modo full step
Figura 28: Corrente nas bobinas usando Full-step
No modo Half-Step, o microcontrolador do driver cria um artifício para dividir o
passo nominal em dois, alternando entre uma e duas bobinas energizadas. Quando
25
duas bobinas estão energizadas o rotor mantem-se em uma posição intermediária
entre as duas bobinas – veja Figura 29 (Brites, 2008).
Figura 29: Modo half step
Já nos modos de micropasso o microcontrolador divide a corrente nominal em
níveis. No caso do Microstep 6th são três níveis, além de 0A, os quais são gerados
através de uma lógica de conversão digital-analógica com uma malha de resistores
e distribuídos entre duas bobinas. Assim a resolução do motor fica seis vezes maior,
ou seja, o passo nominal é dividido em seis partes. Para o modo Microstep 18th o
mesmo princípio é utilizado, porém a corrente nominal é dividida em nove níveis, os
quais são gerados por PWM desta vez para uma melhor precisão.
No início dos testes de integração (hardware, firmware e mecânica), a
movimentação dos eixos era realizada com os drivers configurados para o modo full-
step e com velocidade constante, porém foi verificado que desta forma a vibração
gerada pelo equipamento era muito alta e o deslocamento dos eixos apresentava
diferenças em relação ao esperado.
A primeira providência foi configurar os drivers para trabalhar com a divisão
do passo por dezoito (modo micro-passo com 9 níveis), o máximo admitido para este
circuito. Assim seriam necessários 3600 pulsos para completar uma volta. As figuras
a seguir (Newton, 2009) mostram as formas de onda da corrente nas bobinas do
motor, medida indiretamente, quando o driver está configurado para micro-step (3
níveis) e micro-step (9 níveis), respectivamente.
26
Figura 30: Corrente nas bobinas usando micro-step com 3 níveis
Figura 31: Corrente nas bobinas usando micro-step com 9 níveis
Com esta modificação a vibração no movimento dos eixos reduziu
consideravelmente, mas o deslocamento ainda apresentava erros. Isto foi resolvido
com a implementação, por software, de rampas de aceleração e desaceleração para
compensar a inércia do movimento dos eixos.
Estas duas medidas possibilitaram também o aumento da velocidade máxima
de deslocamento, que no início era de 224mm/min (clock=747Hz) para 357mm/min
(clock=21.428Hz), um acréscimo de 59,38%.
5.3.3 Interface Homem-Máquina
A interface entre o usuário e o equipamento é feita através de um display LCD
gráfico e um grupo de sete botões do tipo push-buttom. Os botões são utilizados
para navegar nos menus exibidos no display e também controlar os eixos da
máquina quando o usuário escolher a opção manual.
Em relação ao display, os estudantes optaram por utilizar um display de
celular (do modelo Nokia 3310), pelo fato de conter um número de informações
satisfatório a seu respeito na Internet e possuir um tamanho de tela suficientes o
bastante para exibir todas as informações que foram julgadas necessárias na tela –
27
área ativa de 84x48 pixels. Esse display possui um controlador da Phillips embutido,
o PCD8544 (PHILLIPS, 1999), cuja interface se dá através do protocolo de
comunicação SPI. Há apenas 8 pinos para conexão externa, sendo que 3 são
reservados para a comunicação SPI ( Clock, Entrada de dados e Enable). A
pinagem e a dimensão do display estão indicadas na Figura 32 (Myplace, 2010).
Figura 32: Pinagem do display gráfico (medidas em mm)
Um pulso no pino de reset deve ser aplicado na inicialização do display no
máximo 100ms após a tensão Vdd ficar em alto, com o risco de danificá-lo caso não
respeitado este tempo.
Em função de o display trabalhar com a tensão de +3,3V e o circuito do
microcontrolador com +5V foi necessário projetar um circuito auxiliar para permitir a
comunicação entre as duas partes sem danificar o display. Para tanto, utilizou-se
dois circuitos integrados 74LVT125, com a função de buffer com saídas tristate, os
quais possuem entradas para +5V e saídas de +3,3V.
Foi feito um painel frontal em fibra de vidro (Figura 33) para acomodar os
botões, display, conector USB, chave liga/desliga, conector de programação e
internamente as placas com os circuitos.
28
Figura 33: Display e botões na máquina
5.3.4 Interface com o pendrive
O principal componente responsável por adicionar conectividade USB ao
projeto foi o circuito integrado VNC1L da Vinculum, que oferece uma interface
transparente entre sistemas embarcados e dispositivos USB (host ou slave). Com
um microcontrolador de 8/32-bits e uma memória flash embarcados, o VNC1L além
de incluir o protocolo de controle USB também manipula a estrutura de arquivos
FAT, comunicando-se via UART, SPI ou interface paralela do tipo FIFO através de
comandos simples de serem implementados. Possui dois controladores USB 2.0
independentes, configuráveis para low speed (1.5Mbps) ou high speed (12Mbps),
que podem ser utilizados para a comunicação com vários dispositivos USB de
acordo com o firmware programado na flash do VNC1L, que é fornecido pelo
fabricante. Atualmente a Vinculum disponibiliza os seguintes firmwares:
• VDAP (Vinculum Disk And Peripheral interface) - Para interface entre um
Microcontrolador e um Flash Disk ou periférico USB;
• VDPS (Vinculum Disk And Peripheral interface) - Para interface entre um
microcontrolador e uma porta host USB no PC;
• VDIF (Vinculum Disk Interface FTDI) - Para interface entre um Flash Disk e
periféricos FTDI;
• VCDC (Communication class device) - Para trabalhar com dispositivos USB
de classe de comunicação (Modem etc.);
29
• VMSC (Music player) - Firmware com recursos para manipular arquivos de
música no formato MP3;
• VF2F (Disk to disk copier) - Firmware com funções para copiar dados de um
Flash Disk para outro.
O firmware adotado para o projeto foi o VDAP versão 3.65 (Vinculum, 2010)
por ser o único que possibilita a interface de um pendrive com um microcontrolador.
No momento em que esta documentação foi escrita o firmware estava na versão
3.68.
O microcontrolador utilizado para o projeto, PIC18F2550 da Microchip,
também possui suporte ao protocolo USB (apenas no modo slave), porém com
muito menos recursos e com uma interface muito mais complexa. Deste modo, o
grupo optou por utilizar o VNC1L, pois não haveria a necessidade de estudar a
fundo o protocolo USB nem de implementar a complexa estrutura de arquivos FAT,
o que iria despender de muito tempo, fugindo do escopo do projeto e
comprometendo sua conclusão.
A interface escolhida para a comunicação com o microcontrolador foi a SPI
pelos seguintes motivos:
• Trata-se de um protocolo para comunicação serial que pode compartilhar
seus pinos de dados com vários dispositivos, minimizando o número de pinos
necessários para efetuar a interface;
• Mesmo protocolo utilizado pelo display gráfico, sendo necessário apenas 5
pinos do microcontrolador para realizar a comunicação com o VNC1L e com o
display – 1 pino para entrada de dados, 1 pino para saída de dados, 1 pino
para o sinal de sincronismo (clock) e mais 2 pinos de chip select (um para
cada dispositivo);
• Protocolo simples de ser implementado no microcontrolador.
5.3.4.1 Principais pinos do VNC1L e suas funções
Disponível no encapsulamento LQFP de 48 pinos (veja pinagem na Figura
34), o VNC1L necessita de um cristal de 12MHz (ou um clock externo) para gerar o
clock de referência, o qual passa por um PLL interno para gerar 24MHz e 48MHz.
30
Quando utilizando um cristal, como é o caso do projeto da fresadora, o pino
ACBUS7 (pino 48) deve estar conectado ao terra do circuito através de um resistor
de 47K ohms.
Figura 34: Pinagem do VNC1L
Os pinos ACBUS5 e ACBUS6 são utilizados para selecionar o tipo de
interface de comunicação, de acordo com as conexões descritas na Tabela 3.
Todavia estes pinos NÃO devem ser conectados diretamente ao VCC ou ao GND.
Deve-se obrigatoriamente utilizar resistores de 47K ohms aproximadamente para
VCC ou GND. Estes pinos são lidos apenas após o reset do VNC1L, podendo ser
utilizados como pinos de saída logo após, porém neste projeto eles foram
reservados apenas para a função de selecionar o modo de comunicação.
TABELA 3 - CONEXÕES PARA SELECIONAR O TIPO DE INTERFACE Pino 47 (ACBUS6) Pino 46 (ACBUS5) Modo
Pull-up Pull-up UART Pull-up Pull-down SPI
Pull-down Pull-up FIFO Pull-down Pull-down UART
O VNC1L disponibiliza ainda 17 de seus pinos para uso geral (entrada/saída)
se configurado para a interface SPI. Deste total, foram utilizados 13 GPIOs (General
Purpose Input/Output) para suprir a falta de pinos do microcontrolador, com a
seguinte distribuição:
31
TABELA 4 - PINOS DE USO GERAL DO VNC1L UTILIZADOS Pino Número Finalidade Tipo
BDBUS0 11 Enable do driver do eixo X Saída BDBUS1 12 Direção de rotação do motor do eixo X Saída BDBUS2 13 Enable do driver do eixo Y Saída BDBUS3 14 Direção de rotação do motor do eixo Y Saída BDBUS4 15 Enable do driver do eixo Z Saída BDBUS7 19 Direção de rotação do motor do eixo Z Saída ACBUS0 41 Botão DOWN Entrada ACBUS1 42 Botão UP Entrada ACBUS2 43 Botão RIGHT Entrada ACBUS3 44 Botão LEFT Entrada ACBUS4 45 Botão OK Entrada
ADBUS5 36 Botão Z_OK (para futura
implementação) Entrada
ADBUS6 37 Botão Z_ DOWN Entrada ADBUS7 38 Botão Z_UP Entrada
5.3.4.2 Gravação do firmware no VNC1L
Como mencionado anteriormente, antes de utilizar o VNC1L é necessário
programar o firmware fornecido pelo fabricante. Há dois modos para programar o
VNC1L: através de um computador utilizando a comunicação serial ou através de
um pendrive contendo um arquivo com a extensão “.ftd” (também fornecido pela
Vinculum), porém esta opção não é indicada pelo fabricante. Para o projeto da
fresadora, a gravação do firmware do VNC1L foi realizada através de uma porta
USB do computador, utilizando um circuito simples com o circuito integrado FT232
(FTDI, 2005) para emular uma porta serial – pela USB – no PC. O diagrama da
Figura 35 mostra como foi realizada a conexão do PC com o VNC1L, utilizando os
procedimentos para programá-lo descritos logo abaixo.
32
Figura 35: Conexões do VNC1L com o FT232
Para preparar o VNC1L para entrar no estado de programação alguns
procedimentos devem ser executados:
1. Configurar o modo de comunicação do VNC1L para UART, inserindo
resistores de pull-down nos pinos ACBUS5 e ACBUS6;
2. Conectar os pinos ADBUS0 até o ADBUS3 (RXD, TXD, CTS e RTS) nos
respectivos pinos do FT232, para estabelecer o caminho de comunicação,
incluindo resistores de pull-up nos pinos RXD e CTS do VNC1L;
3. Habilitar a programação aterrando o pino PROG#;
4. Ligar o circuito, conectar o cabo USB do PC até o circuito do FT232;
5. Fazer o download do firmware mais atual Erro! Fonte de referência não
encontrada. e utilizar o software “Vprog.exe” (Vinculum, 2006) para transferi-
lo para o VNC1L.
5.4 FIRMWARE
5.4.1 Microcontrolador
Os estudantes contavam com duas possibilidades de linguagem de
programação que seria utilizada para desenvolver o firmware do microcontrolador: C
e assembly. Muito embora o C forneça várias facilidades ao programador, a
linguagem escolhida para o projeto foi o assembly, devido aos diversos motivos
descritos logo abaixo:
33
• O conhecimento da linguagem C não era dominado por ambos os integrantes
do grupo;
• Evita assim prováveis erros (bugs) em funções do compilador C;
• O controle das temporizações é muito mais preciso em relação ao C, pois o
programador tem acesso a todas as instruções utilizadas no firmware;
• Precisão na temporização era uma das exigências do projeto, pois o período
do clock utilizado no passo dos motores deve ser curto (na faixa de 50us para
resultar em uma velocidade aceitável);
• Aumenta a confiabilidade do firmware, uma vez que todas as rotinas são
implementadas pelo programador;
• Apenas o código necessário é programado no microcontrolador, ao contrário
do C (principalmente quando bibliotecas são utilizadas), economizando
memória de programação;
• Compilador do assembly não é pago e não possui restrições em relação ao
tamanho do código;
• Código não fica atrelado ao compilador, pois no caso do C há diversos
compiladores disponíveis, cada um com funções diferentes, dificultando assim
a migração do código para outro compilador C.
O ambiente de programação utilizado foi o MPLAB IDE 8.36 (Microchip,
2010), fornecido abertamente pelo mesmo fabricante do microcontrolador
(Microchip), que inclusive disponibiliza também o circuito completo, livre para
modificações, de um programador USB com vários recursos, denominado PicKit2
(Microchip, 2008), uma ferramenta que foi extremamente útil principalmente durante
a fase de verificação de erros do firmware.
Os fluxogramas que descrevem as principais rotinas implementadas no
microcontrolador estão na seção Apêndices.
34
5.4.2 VNC1L
5.4.2.1 Interface SPI
Quando configurado para o modo SPI, o VNC1L pode operar em velocidades
de até 12MHz como escravo, ou seja, deve existir um dispositivo master para
fornecer o sinal de clock e setar o pino chip select (CS) durante as transações.
A comunicação difere da maioria das outras implementações, pois usa 13
seqüências de clock para transferir um único byte de dado. O primeiro bit é o start bit
(para demarcar o início da transmissão) e os dois bits subseqüentes indicam a
direção (leitura ou escrita) e o “endereço”, respectivamente. A combinação destes
dois bits (bits de setup) é decodificada na Tabela 5. Para a transmissão do byte, o bit
mais significativo deve ser transmitido por primeiro.
TABELA 5 - BITS DE DIREÇÃO E ENDEREÇO DA INTERFACE SPI Direção Endereço operação significado
1 0 Leitura Lê byte do buffer de
transmissão
1 1 Leitura do Status
Lê o status da interface SPI
0 0 Escrita Adiciona um byte no buffer
de recepção 0 1 Não definido Não definido
Depois de enviar o último bit do dado, o VNC1L retorna um bit de status
indicando se a operação ocorreu com sucesso (Tabela 6). Logo na seqüência deve
ser enviado mais um bit para finalizar a transmissão, o stop bit.
O início da transferência acontece quando os pinos CS e SDI estão em nível
lógico alto durante a borda de subida do clock, sendo que aquele deve permanecer
em “1” durante toda o processo. Para transferência de dados o pino CS deve ser
mantido em 0V por pelo menos um ciclo de clock após a transação se completar,
diferentemente das operações para leitura do Status em que não há a necessidade
de mudança no estado do CS.
35
Tabela 6 - Significados do bit de status do VNC1L
Bit de status
significado durante leitura significado durante escrita
0 Dado transferido é válido. Byte
é removido do buffer de transmissão.
Dado transferido foi aceito e colocado no buffer de recepção do VNC1L.
1 Dado já foi lido. Deve-se repetir o ciclo de leitura até que um
novo dado chegue.
Dado não foi aceito. Deve-se repetir o ciclo de escrita.
Figura 36: Exemplo de uma sequência de leitura de um byte do VNC1L
Figura 37: Exemplo de uma seqüência de escrita de um byte no VNC1L
O VNC1L disponibiliza também um byte de status que determina o estado dos
buffers de transmissão/recepção. Os bits de start e de setup são enviados ao
VNC1L pelo master e, nas subidas de clock subseqüentes, este envia o byte de
status seguido pelo bit de status (sempre zero para esta operação, indicando novo
dado), como representado na Figura 38.
36
Figura 38: Seqüência de leitura do byte de Status do VNC1L
O significado dos bits do byte de Status enviado pelo VNC1L é descrito na
Tabela 7. Para cada ciclo de escrita e leitura efetuado pelo microcontrolador o byte
de Status é solicitado, com a finalidade de manter o controle das informações
contidas nos buffers do VNC1L e evitar o processamento de informações repetidas
ou erradas.
TABELA 7 - SIGNIFICADO DOS BITS DO BYTE DE STATUS DO VNC1L bit nome descrição 0 RXF# Buffer de recepção cheio 1 TXE# Buffer de transmissão cheio 2 - 3 - 4 RXF IRQEn Ativa interrupção de buffer RX cheio 5 TXE IRQEn Ativa interrupção de buffer TX cheio 6 - 7 -
5.4.2.2 Comandos utilizados
A comunicação entre o microcontrolador e o VNC1L, independente do
protocolo utilizado, é realizada através de um conjunto de comandos próprios do
VNC1L. Todavia, há dois modos de comandos: estendidos e curtos. Nos comandos
estendidos todos os caracteres do nome do comando devem ser enviados, sendo
assim também nas mensagens retornadas pelo VNC1L. Por outro lado, nos
comandos curtos são enviadas apenas “siglas” de duas ou três letras, geralmente
representadas por números hexadecimais, acompanhada, em alguns casos, de um
complemento. Exemplo: o comando para mostrar informações sobre o disco no
modo estendido é “IDDE” e no modo curto é “0x94”. Independente do modo, todos
os comandos terminam com 0x0D (caractere “enter”).
37
Logo após o reset o VNC1L inicializa no modo estendido, porém o modo
escolhido pelo grupo foi o curto, pois economiza espaço da memória de programa
do microcontrolador e permite uma comunicação mais rápida entre os dois
componentes. O protocolo de comunicação escolhido, como já citado anteriormente,
foi o SPI. A seguir, na Tabela 8, há uma lista com os comandos curtos (exceto
aquele para alterar o modo) utilizados no projeto e na Tabela 9 as mensagens
retornadas pelo VNC1L. Em ambas as tabelas o caractere 0x0D, ao final de cada
comando, foi suprimido para melhor visualização.
Para cada comando enviado ao VNC1L, dois bytes são retornados no caso de
sucesso na operação ou três bytes no caso de erro, já considerando o 0x0D. No
firmware desenvolvido para o microcontrolador, após cada interação com o VNC1L
esta informação é lida e comparada apenas com “>” (comando executado com
sucesso). No caso de alguma falha acontecer o firmware tem conhecimento disso,
mas não o suficiente para identificá-la a partir do comando recebido pelo VNC1L
(apenas reconhece que é diferente do comando de sucesso). Posteriormente,
quando o grupo incorporar mais recursos ao projeto, essas mensagens serão
identificadas e exibidas ao usuário.
TABELA 8 - COMANDOS CURTOS UTILIZADOS Função Comando
Altera para o modo de comando curto SCS Lê um arquivo inteiro 0x04 0x20 file
Fecha o arquivo atualmente aberto 0x0A 0x20 file Lê, do arquivo aberto, o número de bytes especificado
no 1º parâmetro 0x0B 0x20 dword
Desloca leitura do arquivo aberto para a posição de bytes indicada no 1º parâmetro
0x28 0x20 dword
Lê byte de porta (GPIO) do VNC1L (“byte” é o número da porta)
0x29 0x20 byte
Escreve byte em uma porta (1º parâmetro é o nº da porta, o 2º é a direção e o 3º é o valor)
0x2A 0x20 byte byte byte
TABELA 9 - MENSAGENS DE RESPOSTA DO VNC1L Comando descrição
> Comando executado com sucesso ND Sem disco
CF Nome do arquivo ou do diretório não
encontrado BC Comando não reconhecido
38
Para os comandos de ler ou escrever nos pinos do VNC1L deve-se utilizar a
seguinte codificação:
TABELA 10 - BYTES IDENTIFICADORES DA PORTA A SER LIDA OU ESCRITA Porta byte AD 0x00 AC 0x01 BD 0x02 BC 0x03 a 0xFF
5.4.3 Display Gráfico
Semelhante aos displays de LCD, logo após a energizacão do display, deve-
se obrigatoriamente aplicar o sinal de reset o quanto antes (no máximo 100ms
aproximadamente) e logo em seguida configurá-lo, para que assim o controlador
interno possa interpretar qualquer do seu set de instruções recebido do
microcontrolador e os execute. Essa seqüência de inicialização é mostrada no
gráfico da Figura 39 com todos os detalhes necessários.
Figura 39: Seqüência de inicialização do GLCD
39
Os dois últimos bytes enviados para o display (0x08 e 0x0C) são necessários
para a correta inicialização. Após executar esses procedimentos no
microcontrolador, o display estará apto a receber dados e exibí-los na tela.
6 VALIDAÇÃO
Para a validação do equipamento projetado foram gerados arquivos no
formato suportado a partir de dois softwares. Foi utilizado o software de
desenvolvimento de layout de PCI, Eagle v5.8.0 (Cadsoft, 2010), para desenhar uma
placa e então gerar o código para fresagem. O resultado pode ser verificado na
Figura 40.
Figura 40: Layout e Placa fresada
A partir do software de conversão de arquivos “.dxf” para G-code, CamBam
(HEXRAY, 2007), foi transformada uma imagem, encontrada na internet,
transformada em Gcode e fresada. As figuras abaixo mostram o resultado obtido.
40
Figura 41: Projeto CAD da moto
Figura 42: Resultado da fresagem do arquivo dxf
Após os testes funcionais realizados verificou-se o correto funcionamento de
todo o equipamento. Não foram registrados desvios de trajetória nem perda de
dados durante a comunicação com o VNC1L ou o display gráfico. Devido à
indisponibilidade de equipamentos capazes de determinar a precisão da máquina,
este levantamento não foi realizado. Entretanto, após inúmeros testes não foi
verificado visualmente nenhum desvio ou imperfeição nas peças usinadas.
7 RECURSOS FINANCEIROS
Apesar dos vários percalços advindos durante a fase de teste do firmware,
provocados por queima de componentes (display GLCD) e quebra de brocas
principalmente, os responsáveis pelo projeto entendem que o projeto final revelou-se
econômico, já que os seus custos foram rateados entre os acadêmicos envolvidos.
Nas tabelas que fazem seqüência são apresentadas as listas de materiais com os
41
respectivos preços, separadas por parte mecânica e por módulos de hardware, para
facilitar a leitura.
7.1 Hardware
Em relação aos componentes, os estudantes tiveram a necessidade de
importar alguns devido a indisponibilidade ou até mesmo ao elevado preço no
mercado nacional, que foi o caso do VNC1L (Vinculum, 2009), PIC18F2550
(Microchip, 2009), alguns componentes do Pickit2 (Microchip, 2008), entre outros.
Nas tabelas apresentadas o frete não foi computado, porém já está incluso no custo
total do projeto citado anteriormente - um acréscimo de aproximadamente R$60,00
no custo final do projeto. As placas de circuito impresso para os módulos, projetadas
pelo grupo, foram fabricadas em uma empresa especializada sem custo algum,
devido à parceria firmada entre a UFPR e a empresa.
TABELA 11 - LISTA DE MATERIAIS DO MÓDULO PRINCIPAL - CONTROLADORA Componente Descrição / Valor Qtde. subTotal
Circuito integrado PIC18F2550 1 R$ 20,64 Diodo 1N4148 2 R$ 0,10 Cristal 12MHz 1 R$ 0,90
Capacitor 22pF 2 R$ 0,20 Capacitor 100nF 1 R$ 0,10 Resistor 10K ohms 2 R$ 0,30 Resistor 4,7K ohms 3 R$ 0,30 Conector Barra de 40 pinos F 3 R$ 1,92 Conector Barra de 40 pinos 1 R$ 0,64 Conector Barra de pinos dupla F 1 R$ 0,80 Conector Barra de pinos dupla M 1 R$ 0,80 Conector Tipo KK 4 pinos (M+F) 3 R$ 1,42 Conector Tipo KK 5 pinos (M+F) 3 R$ 1,59 Conector Tipo KK 7 pinos (M+F) 1 R$ 0,61 Conector Tipo KK 9 pinos (M+F) 1 R$ 0,74 Diversos Terminais para KK 30 R$ 2,10
TOTAL R$ 33,16
42
TABELA 12 - LISTA DE MATERIAIS DO MÓDULO DO VNC1L Componente Descrição / Valor Qtde. Total
Circuito integrado VNC1L 1 R$ 43,60 Circuito integrado MC33269 1 R$ 2,72
Conector USB tipo A 1 R$ 0,75 Conector Barra de 40 pinos 3 R$ 1,92 Cristal 12MHz 1 R$ 0,90 Filtro Indutor 10uH 1 R$ 0,80
Conector Jumper 2 R$ 0,20 Led SMD Verde 1 R$ 0,52 Led SMD Vermelho 1 R$ 0,48
Capacitor smd (0805) 47pF 4 R$ 0,32 Capacitor smd (0805) 68pF 2 R$ 0,16 Capacitor smd (0805) 1nF 1 R$ 0,08 Capacitor smd (0805) 10nF 1 R$ 0,08 Capacitor smd (0805) 100nF 4 R$ 0,32 Capacitor smd (1206) 10uF / 6,3V 1 R$ 0,26 Capacitor smd (1206) 47uF / 10V 1 R$ 0,26 Resistor smd (0805) 0R ohms 1 R$ 0,06 Resistor smd (0805) 27 ohms 4 R$ 0,24 Resistor smd (0805) 180 ohms 1 R$ 0,06 Resistor smd (0805) 10K ohms 3 R$ 0,18 Resistor smd (0805) 47K ohms 4 R$ 0,24 Resistor smd (0805) 100K ohms 1 R$ 0,06
TOTAL R$ 54,21
43
TABELA 13 - LISTA DE MATERIAIS DOS DRIVERS Componente Descrição / Valor Qtde. Total Capacitor 2,2uF 6 R$ 0,72 Capacitor 22pF 6 R$ 0,60 Capacitor 10uF 3 R$ 0,36 Capacitor 470uF/50V 3 R$ 0,36 Diodo 1N4148 18 R$ 0,90
Transistor BJT BC337 12 R$ 2,16 Transistor BJT TIP122 12 R$ 9,00
Resistor 120 ohms 12 R$ 0,90 Resistor 150 ohms 6 R$ 0,90 Resistor 220 ohms 6 R$ 0,90 Resistor 470 ohms 6 R$ 0,90 Resistor 680 ohms 6 R$ 0,90 Resistor 3,3K ohms 27 R$ 0,90 Resistor 0,68 ohms / 5W 6 R$ 3,96 Cristal 16MHz 3 R$ 2,70
Conector Tipo KK 6 pinos F 6 R$ 0,63 Conector Tipo KK 180º 6 pinos M 6 R$ 3,12 Conector Tipo KRE peq. 3 pinos 3 R$ 1,41
Microcontrolador PIC16F628A 3 R$ 16,80 Dissipador Com cooler 6 R$ 30,00 Diversos MICA para TO220 20 R$ 3,00 Diversos Terminais para KK 45 R$ 3,15
TOTAL R$ 84,27
TABELA 14 - LISTA DE MATERIAIS DO MÓDULO DO DISPLAY Componente Descrição / Valor Qtde. Total Display gráfico Modelo do Nokia 3310 1 R$ 25,00
Capacitor 47 uF / 13V 1 R$ 0,12 Led SMD azul 4 R$ 3,60
Resistor smd (0805) 470 ohms 5 R$ 0,30 Resistor smd (0805) 180 ohms 4 R$ 0,24
Conector KK 7 pinos M 1 R$ 0,57 Conector KK 7 pinos F 1 R$ 0,21
Buffer tristate 74LVT125 2 R$ 2,34 Diversos Terminais para KK 10 R$ 0,70
TOTAL R$ 33,08
TABELA 15 - LISTA DE MATERIAIS DOS MÓDULOS DOS SENSORES Componente Descrição / Valor Qtde. Total
Resistor smd (0805) 10K ohms 12 R$ 0,72 Resistor smd (0805) 220 ohms 6 R$ 0,36 Resistor smd (0805) 4,7K ohms 6 R$ 0,36
Sensor IR PHCT203 6 R$ 19,80 TOTAL R$ 21,24
44
TABELA 16 - LISTA DE MATERIAIS DO MÓDULO DOS BOTÕES Componente Descrição / Valor Qtde. Total Resistor 10K ohms 7 R$ 0,30 Botão Especial com knob 7 R$ 53,83
TOTAL R$ 54,13
TABELA 17 - LISTA DE MATERIAIS DO MÓDULO DO FT232 Componente Descrição / Valor Qtde. Total
Circuito integrado FT232BL 1 R$ 23,00 Circuito integrado MC33269 1 R$ 2,72 Circuito integrado 93C46 1
Conector USB tipo B 1 R$ 0,80 Cristal 6MHz 1 R$ 0,90
Conector Barra de 40 pinos 1 R$ 1,28 Filtro Indutor 10uH 1 R$ 0,80 Led SMD Verde 1 R$ 0,52 Led SMD Vermelho 1 R$ 0,48
Capacitor smd (0805) 27pF 2 R$ 0,16 Capacitor smd (0805) 33nF 1 R$ 0,08 Capacitor smd (0805) 100nF 5 R$ 0,40 Capacitor smd (1206) 10uF / 6,3V 2 R$ 0,26 Resistor smd (0805) 0R ohms 7 R$ 0,06 Resistor smd (0805) 27 ohms 2 R$ 0,12 Resistor smd (0805) 220 ohms 1 R$ 0,06 Resistor smd (0805) 470 ohms 1 R$ 0,06 Resistor smd (0805) 1,5K ohms 1 R$ 0,06 Resistor smd (0805) 2,2K ohms 1 R$ 0,06 Resistor smd (0805) 4,7K ohms 1 R$ 0,06 Resistor smd (0805) 10K ohms 2 R$ 0,12
TOTAL R$ 32,00
45
TABELA 18 - LISTA DE MATERIAIS DO PICKIT 2 Componente Descrição / Valor Qtde. Total Capacitor 0,47uF 1 R$ 0,12 Capacitor 27pF 1 R$ 0,10 Capacitor 100nF 9 R$ 0,90 Capacitor 0,1uF 1 R$ 0,12 Capacitor 27pF 1 R$ 0,10 Capacitor 1uF 1 R$ 0,12 Capacitor 47uF/35V 1 R$ 0,15 Capacitor 10uF 3 R$ 0,36 Diodo S1G 1 R$ 0,36 Diodo BAT54 2 R$ 1,36 Diodo 1N4148 1 R$ 0,05 Diodo ZHCS1006 1 R$ 1,60
Transistor BJT 2N3906 2 R$ 1,60 Transistor BJT 2N2222 3 R$ 2,10
Transistor Mosfet ZXM61P 1 R$ 1,80 Indutor 680uH/50mA 1 R$ 1,40 Resistor 10 ohms 2 R$ 0,30 Resistor 47 ohms 3 R$ 0,30 Resistor 121 ohms 2 R$ 0,30 Resistor 300 ohms - 1% 1 R$ 0,30 Resistor 470 ohms 2 R$ 0,30 Resistor 560 ohms 1 R$ 0,30 Resistor 820 ohms 1 R$ 0,30 Resistor 1K ohms - 1% 1 R$ 0,30 Resistor 1K ohms 2 R$ 0,30 Resistor 2,7K ohms 5 R$ 0,30 Resistor 4,7K ohms 4 R$ 0,30 Resistor 10K ohms 10 R$ 0,30 Resistor 100K ohms 1 R$ 0,30
Memória EEPROM 24C512 2 R$ 1,90 Ampop MCP6001U 1 R$ 1,04
Duo Mosfet FDC6420C 1 R$ 1,48 Microcontrolador PIC18F2550 1 R$ 19,80
Cristal 20MHz 1 R$ 1,00 Led 3mm Vermelho 1 R$ 0,12 Led 3mm Verde 1 R$ 0,12 Led 3mm Amarelo 1 R$ 0,12
Conector RJ12 1 R$ 2,20 Conector USB - tipo A para PCI 1 R$ 0,75 Conector Barra de 5 pinos 1 R$ 0,64 Botão Tipo push-button 1 R$ 0,33 Cabo Extensor USB 1 R$ 15,00
TOTAL R$ 60,64
46
7.2 Mecânica
A tabela 17 contém os principais materiais que são utilizados na mecânica da
fresadora. Há ainda o custo dos materiais auxiliares envolvidos, que é de
aproximadamente R$ 35,00 em parafusos, arruelas e brocas e cerca de R$ 40,00
em cabos, suportes, protetores, etc. O painel de fibra, construído pelos próprios
alunos, exigiu também um investimento de cerca de R$ 55,00.
Muito embora os valores apresentados não representem um grande
montante, o grupo gastou muito mais, devido à vários fatores, entre eles a
necessidade de comprar ferramentas para a montagem da estrutura, como chaves
de boca, serrinha de cortar ferro, esquadro, paquímetro, macho manual, devido
também aos testes com diversas fresas objetivando encontrar aquela com os
melhores resultados e pelo fato de se tratar do primeiro protótipo, onde a lista de
peças passar por várias mudanças. Só com as fresas, por exemplo, foi gasto
R$115,20.
TABELA 19 - LISTA DOS PRINCIPAIS MATERIAS PARA A ESTRUTURA Material Qtde. Unidade Total
Motor de passo 9,9Kgf 2A/bobina 3 R$ 37,00 R$ 111,00 Chapa MDF 2750x1830x15mm 1 R$ 91,70 R$ 91,70
Par de rolamento (Skate) 4 R$ 12,50 R$ 50,00 Acoplador 3 R$ 6,67 R$ 20,01
Cola Trava Rosca 1 R$ 6,60 R$ 6,60 Broca odontológica FG169 1 R$ 5,80 R$ 5,80
Dremel 1 R$ 200,00 R$ 200,00 Cantoneira 3m de alumínio 3/4" 1 R$ 4,80 R$ 4,80
Barra roscada M6 1m 2 R$ 5,20 R$ 10,40 TOTAL R$ 500,31
7.3 Custo Final
O preço de custo estimado do projeto (diferentemente do que foi gasto) é de
aproximadamente R$ 1003,04 (ver Tabela 20), desconsiderando as ferramentas,
exceto a Dremel, o custo para fabricar as placas de circuito impresso e os gastos
inerentes, como gastos com deslocamentos, consumo de energia elétrica, entre
outros.
47
TABELA 20 - PREÇO DE CUSTO APROXIMADO Descrição Subtotal Pickit 2 R$ 60,64 Sensores R$ 21,24 GLCD R$ 33,08 Drivers R$ 84,27 VNC1L R$ 54,21 Botões R$ 54,13 FT232 R$ 32,00
Controladora - Mainboard R$ 33,16 Estrutura + Dremel R$ 500,31
Cabos R$ 40,00 Peças e parafusos R$ 35,00
Painel R$ 55,00 TOTAL R$ 1004,04
8 CRONOGRAMA DO PROJETO
As etapas do projeto foram desenvolvidadas conforme planejado no
cronograma (disponível na página a seguir), com a apresentação prevista para a
primeira semana de Julho.
48
TABELA 21 - CRONOGRAMA DO PROJETO
49
9 CONCLUSÃO
Projetar e construir um novo equipamento, mesmo considerando todo o
conhecimento assimilado durante o curso de Engenharia Elétrica, não é uma tarefa
fácil, pois, além disso, o equipamento criado deve funcionar da forma desejada,
após todos os processos e horas dedicadas. Estimam terem sido atingidos todos os
objetivos previamente propostos para o estudo, pois, estudando e criando o
protótipo constatou-se ser ele, um dos potenciais responsáveis indiretos do
desenvolvimento e criação de novos protótipos.
Continuidade e agilidade no desenvolvimento de projetos, minimizando
perdas, reduzindo custos, mediante alternativas que restam, também puderam ser
identificadas ao longo do desenvolvimento. Percebeu-se que os acadêmicos ligados
principalmente à área da engenharia elétrica, necessitam dominar alguns assuntos à
sua especialidade relacionados, porém, além de estarem motivados, estudados e
empenhados a aplicar todo o seu potencial, deverão ter acesso a itens que atendam
à sua demanda, com economia, tecnologia e rapidez.
Para os autores, espera-se que o equipamento projetado atenda às
expectativas da população acadêmica em especial, viabilizando o desenvolvimento
rápido de protótipos e a um baixo custo, pois utilizar o serviço de empresas
especializadas apresenta um alto custo e um tempo de espera longo. Diante dessa
realidade, alunos, profissionais do ramo de eletrônica e algumas empresas
(tratando-se de protótipos) optam por métodos alternativos e artesanais para fazer
suas placas, processos geralmente dispendiosos e que apresentam resultados não
confiáveis, além de utilizar materiais perigosos e de difícil descarte, como o
percloreto férrico para corrosão do cobre. Deste modo, os acadêmicos acreditam
que o projeto em questão é uma alternativa mais vantajosa que a solução caseira e
também mais ágil que a fabricação pelas empresas especializadas.
50
10 REFERÊNCIAS
PHILLIPS, Semiconductors - PCD8544 – 48x84 pixels matrix LCD controller/driver. Disponível online: <http://www.myplace.nu/mp3/files/pcd8544.pdf>. Acesso em julho de 2010. STMICROELECTRONICS – L297 Stepper Motor Controllers. Disponível online: <http://pdf1.alldatasheet.com/datasheet-pdf/view/22436/STMICROELECTRONICS/L297.html> CENTRO DE INFORMAÇÃO MATAL MECÂNICA (CIMM) – Tipos de fresadoras e Aplicações. Disponível online: <http://www.cimm.com.br/portal/noticia/material_didatico/4868>. Acesso em agosto de 2010. A.S.T. INDUSTRIA – Tabela de códigos G e M padrão ISO 1056. Disponível online: < http://www.astindustria.com.br/>. Acesso em julho de 2010. DIRECTINDUSTRY – Brushless AC eletric servo-motor. Disponível online: < http://www.directindustry.com/prod/control-techniques/brushless-ac-electric-servo-motor-7177-24028.html>. Acesso em julho de 2010. KALATEC – Automação Industrial. Disponível online: <http://www.kalatec.com.br/2009/index.php?/Kalatec-Automacao.html>. Acesso em julho de 2010. ANTARES, Inc. Anatomy of an Engraving Cutter. Disponível online: <http://www.antaresinc.net/2004EngFactAnatomy.html>. Acesso em julho de 2010. NEWTON, James – Linistepper V2: Smooth, Fast, Strong, and cheap. Disponível online: <http://www.piclist.com/techref/io/stepper/linistep/index.htm>. Acesso em julho de 2010. CAROZZI, Helder José Costa. Projeto de uma fresadora controlada por comando numérico computadorizado – CNC. Disponível online: <http://www.fag.edu.br/professores/helder/Comando%20Numerico/FRESADORA%20CNC%20-%20HELDER%20JOS%C9%20COSTA%20CAROZZI.pdf>. Acesso em julho de 2010. VINCULUM. VNC1L Data Sheet version 2.01. Disponível online: <http://www.vinculum.com/documents/datasheets/DS_VNC1L.pdf>. Acesso em agosto de 2010. VINCULUM. Vinculum firmware library documentation. Disponível online: <http://www.vinculum.com/documents/fwspecs/UM_VinculumFirmware_V205.pdf>. Acesso em julho de 2010.
51
VINCULUM. VDIP1 Schematic Printout (PDF). Disponível online: <http://www.vinculum.com/documents/schematics/VDIP1%20Schematic%20Prints.pdf>. Acesso em julho de 2010. FUTURE TECHNOLOGY DEVICES INTERNATIONAL LTD. (FTDI). FT232BL Data Sheet. Disponível online: <http://www.ftdichip.com/Documents/DataSheets/DS_FT232BL.pdf>. Acesso em agosto de 2010. MICROCHIP TECHNOLOGY INC. PIC18F2455/2550/4455/4550 Data sheet. Disponível online: <http://ww1.microchip.com/downloads/en/DeviceDoc/39632e.pdf>. Acesso em julho de 2010. MICROCHIP TECHNOLOGY INC. MPLAB IDE v8.53 FULL RELEASE. Disponível para download em: <http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_IDE_8_53.zip>. Acesso em julho de 2010. MICROCHIP TECHNOLOGY INC. PICkit2 Development Programmer/Debugger. Disponível online: <http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805>. Acesso em julho de 2010. VINCULUM. VDAP Disk and Peripheral Firmware. Disponível para download em: <http://www.vinculum.com/downloads/firmware/VDAPFUL_V03_68.ROM>. Acesso em julho de 2010. VINCULUM. VPROG Re-Flash Utility. Disponível para download em: <http://www.vinculum.com/downloads/vprog.zip>. Acesso em julho de 2010. CADSOFT. COMPUTER. Eagle Light Edition v.5.10.0. Disponível para download em: <ftp://ftp.cadsoft.de/eagle/program/5.10/eagle-win-5.10.0.exe>. Acesso em julho de 2010. HEXRAY LTD. – Cambam Free Beta Release 0.8.2. Disponível para download em: <http://www.cambam.co.uk/download/latest/cambam-free-beta-release-082.html>. Acesso em julho de 2010. BRITES, Felipe Gonçalves “et all” – Motor de Passo. Disponível online: <http://www.telecom.uff.br/pet/petws/downloads/tutoriais/stepmotor/stepmotor2k81119.pdf>. Acesso em julho de 2010.
52
ANEXO A – COMANDOS G-CODE
Código G Função
G00 Posicionamento rápido
G01 Interpolação linear
G02 Interpolação circular no sentido horario (CW)
G03 Interpolação circular no sentido anti-horario (CCW)
G04 Temporização (Dwell)
G05 Não registrado
G06 Interpolação parabólica
G07 Não registrado
G08 Aceleração
G09 Desaceleração
G10 a G16 Não registrado
G17 Seleção do plano XY
G18 Seleção do plano ZX
G19 Seleção do plano YZ
G20 Programação em sistema Inglês (Polegadas)
G21 Programação em sistema Internacional (Métrico)
G12 a G24 Não registrado
G25 a G27 Permanentemente não registrado
G28 Retorna a posição do Zero máquina
G29 a G32 Não registrados
G33 Corte em linha, com avanço constante
G34 Corte em linha, com avanço acelerando
G35 Corte em linha, com avanço desacelerando
G36 a G39 Permanentemente não registrado
G40 Cancelamento da compensação do diâmetro da ferramenta
G41 Compensação do diâmetro da ferramenta (Esquerda)
G42 Compensação do diâmetro da ferramenta (Direita)
G43 Compensação do comprimento da ferramenta (Positivo)
G44 Compensação do comprimento da ferramenta (Negativo)
G45 a G52 Compensações de comprimentos das ferramentas
G53 Cancelamento das configurações de posicionamento fora do zero fixo
53
G54 Zeragem dos eixos fora do zero fixo (01)
G55 Zeragem dos eixos fora do zero fixo (02)
G56 Zeragem dos eixos fora do zero fixo (03)
G57 Zeragem dos eixos fora do zero fixo (04)
G58 Zeragem dos eixos fora do zero fixo (05)
G59 Zeragem dos eixos fora do zero fixo (06)
G60 Posicionamento exato (Fino)
G61 Posicionamento exato (Médio)
G62 Posicionamento (Groceiro)
G63 Habilitar óleo refrigerante por dentro da ferramenta
G64 a G67 Não registrados
G68 Compensação da ferramenta por dentro do raio de canto
G69 Compensação da ferramenta por fora do raio de canto
G70 Programa em Polegadas
G71 Programa em metros
G72 a G79 Não registrados
G80 Cancelamento dos ciclos fixos
G81 a G89 Ciclos fixos
G90 Posicionamento absoluto
G91 Posicionamento incremental
G92 Zeragem de eixos (mandatório sobre os G54...)
G93 Avanço dado em tempo inverso (Inverse Time)
G94 Avanço dado em minutos
G95 Avanço por revolução
G96 Avanço constante sobre superfícies
G97 Rotação do fuso dado em RPM
G98 e G99 Não registrados
54
ANEXO B – CÓDIGOS M
Código M Função
M00 Parada programa
M01 Parada opcional
M02 Fim de programa
M03 Liga o fuso no sentido horário (CW)
M04 Liga o fuso no sentido anti-horário (CCW)
M05 Desliga o fuso
M06 Mudança de ferramenta
M07 Liga sistema de refrigeração numero 2
M08 Liga sistema de refrigeração numero 1
M09 Desliga o refrigerante
M10 Atua travamento de eixo
M11 Desliga atuação do travamento de eixo
M12 Não registrado
M13 Liga o fuso no sentido horário e refrigerante
M14 Liga o fuso no sentido anti-horário e o refrigerante
M15 Movimentos positivos (aciona sistema de espelhamento)
M16 Movimentos negativos
M17 e M18 Não registrados
M19 Parada do fuso com orientação
M20 a M29 Permanentemente não registrado
M30 Fim de fita com rebobinamento
M31 Ligando o "Bypass"
M32 a M35 Não registrados.
M36 Acionamento da primeira gama de velocidade dos eixos
M37 Acionamento da segunda gama de velocidade dos eixos
M38 Acionamento da primeira gama de velocidade de rotação
M39 Acionamento da segunda gama de velocidade de rotação
M40 a M45 Mudanças de engrenagens se usada, caso não use, Não registrados.
M46 e M47 Não registrados.
M48 Cancelamento do G49
M49 Desligando o "Bypass"
55
M50 Liga sistema de refrigeração numero 3
M51 Liga sistema de refrigeração numero 4
M52 a M54 Não registrados.
M55 Reposicionamento linear da ferramenta 1
M56 Reposicionamento linear da ferramenta 2
M57 a M59 Não registrados
M60 Mudança de posição de trabalho
M61 Reposicionamento linear da peça 1
M62 Reposicionamento linear da peça 2
M63 a M70 Não registrados.
M71 Reposicionamento angular da peça 1
M72 Reposicionamento angular da peça 2
M73 a M89 Não registrados.
M90 a M99 Permanentemente não registrados
56
APÊNDICE A – FLUXOGRAMA GERAL DO FIRMWARE
57
APÊNDICE B – FLUXOGRAMA: TESTE DOS SENSORES
58
APÊNDICE C – FLUXOGRAMA: TESTE DO EIXO X
59
APÊNDICE D – FLUXOGRAMA: ESTE DO EIXO Y
60
APÊNDICE E – FLUXOGRAMA: TESTE DO EIXO Z
61
APÊNDICE F – FLUXOGRAMA: POSIÇÃO INICIAL DO EIXO Z
62
APÊNDICE G – FLUXOGRAMA: POSIÇÃO INICIAL DOS EIXOS X E Y
63
APÊNDICE H – FLUXOGRAMA: FRESAGEM DO ARQUIVO ESCOLHIDO
64
APÊNDICE I – FLUXOGRAMA: INTERPOLAÇÃO LINEAR
65
APÊNDICE J – ESQUEMÁTICO: PLACA CONTROLADORA
66
APÊNDICE L – ESQUEMÁTICO: CONVERSOR SERIAL/USB
67
APÊNDICE M – ESQUEMÁTICO: PICKIT2
68
APÊNDICE N – ESQUEMÁTICO: PLACA DO LCD
69
APÊNDICE O – ESQUEMÁTICO: PLACA DO SENSOR
70
APÊNDICE P – ESQUEMÁTICO: PLACA DO VNC1L
71
APÊNDICE Q – ESQUEMÁTICO: DRIVER LINISTEPPER
72
APÊNDICE R – FOTOS DA FRESADORA