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. Dr. Ewaldo Luiz de Mattos Mehl Coordenador de Curso Departamento de Engenharia Elétrica BANCA EXAMINADORA Prof. Dr. Alessandro Zimmer Universidade Federal do Paraná Prof. M. Sc. Ademar Luiz Pastro Universidade Federal do Paraná Prof. Dr. Marlio J. do C. Bonfim Universidade Federal do Paraná Orientador Prof. Dr. Marlio J. do C. Bonfim 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 4.2.1 PARA OS EIXOS 4.2.2 PARA O DESBASTE 8 8 10 4.3 FONTE DE ALIMENTAÇÃO 11 4.4 ELETRÔNICA 12 4.5 COMANDO NUMÉRICO 12 DESENVOLVIMENTO 15 5 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 5.4.3 Comandos utilizados DISPLAY GRÁFICO 36 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 Tensão nominal Corrente por fase Resistência por fase Indutância por fase Torque Resolução nominal Tipo 23 KM C-05 4V 2A 2 ohms 4,4 mH 9,9 kgf/cm 1,8º por passo 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) encontrase 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. Mecânica Motores Sensores +5V e +12V Dispositivo de Button armazenamento Controle +5V Fonte de alimentação Botões de Button controle +3.3V e +5V Periféricos Interface Button gráfica 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 Figura 24: Diagrama em blocos do hardware dir enable led IR hardware desenvolvido. 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 Full step L L Half step H L Microstep 6th L H Microstep 18th H H Passos por revolução 200 400 1200 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 fullstep 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) Pull-up Pull-up Pull-up Pull-down Pull-down Pull-up Pull-down Pull-down Modo UART SPI FIFO 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 Enable do driver do eixo X BDBUS0 11 BDBUS1 12 Direção de rotação do motor do eixo X Enable do driver do eixo Y BDBUS2 13 BDBUS3 14 Direção de rotação do motor do eixo Y Enable do driver do eixo Z BDBUS4 15 BDBUS7 19 Direção de rotação do motor do eixo Z ACBUS0 41 Botão DOWN ACBUS1 42 Botão UP ACBUS2 43 Botão RIGHT ACBUS3 44 Botão LEFT ACBUS4 45 Botão OK Botão Z_OK (para futura ADBUS5 36 implementação) ADBUS6 37 Botão Z_ DOWN ADBUS7 38 Botão Z_UP Tipo Saída Saída Saída Saída Saída Saída Entrada Entrada Entrada Entrada Entrada Entrada Entrada 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 transferilo 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 Lê byte do buffer de 1 0 Leitura transmissão Leitura do 1 1 Lê o status da interface SPI Status Adiciona um byte no buffer 0 0 Escrita 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 0 1 significado durante leitura significado durante escrita Dado transferido é válido. Byte é removido do buffer de transmissão. Dado já foi lido. Deve-se repetir o ciclo de leitura até que um novo dado chegue. Dado transferido foi aceito e colocado no buffer de recepção do VNC1L. 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 Altera para o modo de comando curto Lê um arquivo inteiro Fecha o arquivo atualmente aberto Lê, do arquivo aberto, o número de bytes especificado no 1º parâmetro Desloca leitura do arquivo aberto para a posição de bytes indicada no 1º parâmetro Lê byte de porta (GPIO) do VNC1L (“byte” é o número da porta) Escreve byte em uma porta (1º parâmetro é o nº da porta, o 2º é a direção e o 3º é o valor) Comando SCS 0x04 0x20 file 0x0A 0x20 file 0x0B 0x20 dword 0x28 0x20 dword 0x29 0x20 byte 0x2A 0x20 byte byte byte TABELA 9 - MENSAGENS DE RESPOSTA DO VNC1L Comando descrição > Comando executado com sucesso ND Sem disco Nome do arquivo ou do diretório não CF 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, devese 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. Circuito integrado VNC1L 1 Circuito integrado MC33269 1 Conector USB tipo A 1 Conector Barra de 40 pinos 3 Cristal 12MHz 1 Filtro Indutor 10uH 1 Conector Jumper 2 Led SMD Verde 1 Led SMD Vermelho 1 Capacitor smd (0805) 47pF 4 Capacitor smd (0805) 68pF 2 Capacitor smd (0805) 1nF 1 Capacitor smd (0805) 10nF 1 Capacitor smd (0805) 100nF 4 Capacitor smd (1206) 10uF / 6,3V 1 Capacitor smd (1206) 47uF / 10V 1 Resistor smd (0805) 0R ohms 1 Resistor smd (0805) 27 ohms 4 Resistor smd (0805) 180 ohms 1 Resistor smd (0805) 10K ohms 3 Resistor smd (0805) 47K ohms 4 Resistor smd (0805) 100K ohms 1 TOTAL Total R$ 43,60 R$ 2,72 R$ 0,75 R$ 1,92 R$ 0,90 R$ 0,80 R$ 0,20 R$ 0,52 R$ 0,48 R$ 0,32 R$ 0,16 R$ 0,08 R$ 0,08 R$ 0,32 R$ 0,26 R$ 0,26 R$ 0,06 R$ 0,24 R$ 0,06 R$ 0,18 R$ 0,24 R$ 0,06 R$ 54,21 43 TABELA 13 - LISTA DE MATERIAIS DOS DRIVERS Componente Descrição / Valor Capacitor 2,2uF Capacitor 22pF Capacitor 10uF Capacitor 470uF/50V Diodo 1N4148 Transistor BJT BC337 Transistor BJT TIP122 Resistor 120 ohms Resistor 150 ohms Resistor 220 ohms Resistor 470 ohms Resistor 680 ohms Resistor 3,3K ohms Resistor 0,68 ohms / 5W Cristal 16MHz Conector Tipo KK 6 pinos F Conector Tipo KK 180º 6 pinos M Conector Tipo KRE peq. 3 pinos Microcontrolador PIC16F628A Dissipador Com cooler Diversos MICA para TO220 Diversos Terminais para KK Qtde. 6 6 3 3 18 12 12 12 6 6 6 6 27 6 3 6 6 3 3 6 20 45 TOTAL Total R$ 0,72 R$ 0,60 R$ 0,36 R$ 0,36 R$ 0,90 R$ 2,16 R$ 9,00 R$ 0,90 R$ 0,90 R$ 0,90 R$ 0,90 R$ 0,90 R$ 0,90 R$ 3,96 R$ 2,70 R$ 0,63 R$ 3,12 R$ 1,41 R$ 16,80 R$ 30,00 R$ 3,00 R$ 3,15 R$ 84,27 TABELA 14 - LISTA DE MATERIAIS DO MÓDULO DO DISPLAY Componente Descrição / Valor Qtde. Display gráfico Modelo do Nokia 3310 1 Capacitor 47 uF / 13V 1 Led SMD azul 4 Resistor smd (0805) 470 ohms 5 Resistor smd (0805) 180 ohms 4 Conector KK 7 pinos M 1 Conector KK 7 pinos F 1 Buffer tristate 74LVT125 2 Diversos Terminais para KK 10 TOTAL Total R$ 25,00 R$ 0,12 R$ 3,60 R$ 0,30 R$ 0,24 R$ 0,57 R$ 0,21 R$ 2,34 R$ 0,70 R$ 33,08 TABELA 15 - LISTA DE MATERIAIS DOS MÓDULOS DOS SENSORES Componente Descrição / Valor Qtde. Resistor smd (0805) 10K ohms 12 Resistor smd (0805) 220 ohms 6 Resistor smd (0805) 4,7K ohms 6 Sensor IR PHCT203 6 TOTAL Total R$ 0,72 R$ 0,36 R$ 0,36 R$ 19,80 R$ 21,24 44 TABELA 16 - LISTA DE MATERIAIS DO MÓDULO DOS BOTÕES Componente Descrição / Valor Qtde. Resistor 10K ohms 7 Botão Especial com knob 7 TOTAL TABELA 17 - LISTA DE MATERIAIS DO MÓDULO DO FT232 Componente Descrição / Valor Qtde. Circuito integrado FT232BL 1 Circuito integrado MC33269 1 Circuito integrado 93C46 1 Conector USB tipo B 1 Cristal 6MHz 1 Conector Barra de 40 pinos 1 Filtro Indutor 10uH 1 Led SMD Verde 1 Led SMD Vermelho 1 Capacitor smd (0805) 27pF 2 Capacitor smd (0805) 33nF 1 Capacitor smd (0805) 100nF 5 Capacitor smd (1206) 10uF / 6,3V 2 Resistor smd (0805) 0R ohms 7 Resistor smd (0805) 27 ohms 2 Resistor smd (0805) 220 ohms 1 Resistor smd (0805) 470 ohms 1 Resistor smd (0805) 1,5K ohms 1 Resistor smd (0805) 2,2K ohms 1 Resistor smd (0805) 4,7K ohms 1 Resistor smd (0805) 10K ohms 2 TOTAL Total R$ 0,30 R$ 53,83 R$ 54,13 Total R$ 23,00 R$ 2,72 R$ 0,80 R$ 0,90 R$ 1,28 R$ 0,80 R$ 0,52 R$ 0,48 R$ 0,16 R$ 0,08 R$ 0,40 R$ 0,26 R$ 0,06 R$ 0,12 R$ 0,06 R$ 0,06 R$ 0,06 R$ 0,06 R$ 0,06 R$ 0,12 R$ 32,00 45 TABELA 18 - LISTA DE MATERIAIS DO PICKIT 2 Componente Descrição / Valor Capacitor 0,47uF Capacitor 27pF Capacitor 100nF Capacitor 0,1uF Capacitor 27pF Capacitor 1uF Capacitor 47uF/35V Capacitor 10uF Diodo S1G Diodo BAT54 Diodo 1N4148 Diodo ZHCS1006 Transistor BJT 2N3906 Transistor BJT 2N2222 Transistor Mosfet ZXM61P Indutor 680uH/50mA Resistor 10 ohms Resistor 47 ohms Resistor 121 ohms Resistor 300 ohms - 1% Resistor 470 ohms Resistor 560 ohms Resistor 820 ohms Resistor 1K ohms - 1% Resistor 1K ohms Resistor 2,7K ohms Resistor 4,7K ohms Resistor 10K ohms Resistor 100K ohms Memória EEPROM 24C512 Ampop MCP6001U Duo Mosfet FDC6420C Microcontrolador PIC18F2550 Cristal 20MHz Led 3mm Vermelho Led 3mm Verde Led 3mm Amarelo Conector RJ12 Conector USB - tipo A para PCI Conector Barra de 5 pinos Botão Tipo push-button Cabo Extensor USB Qtde. 1 1 9 1 1 1 1 3 1 2 1 1 2 3 1 1 2 3 2 1 2 1 1 1 2 5 4 10 1 2 1 1 1 1 1 1 1 1 1 1 1 1 TOTAL Total R$ 0,12 R$ 0,10 R$ 0,90 R$ 0,12 R$ 0,10 R$ 0,12 R$ 0,15 R$ 0,36 R$ 0,36 R$ 1,36 R$ 0,05 R$ 1,60 R$ 1,60 R$ 2,10 R$ 1,80 R$ 1,40 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 0,30 R$ 1,90 R$ 1,04 R$ 1,48 R$ 19,80 R$ 1,00 R$ 0,12 R$ 0,12 R$ 0,12 R$ 2,20 R$ 0,75 R$ 0,64 R$ 0,33 R$ 15,00 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 Pickit 2 Sensores GLCD Drivers VNC1L Botões FT232 Controladora - Mainboard Estrutura + Dremel Cabos Peças e parafusos Painel TOTAL 8 Subtotal R$ 60,64 R$ 21,24 R$ 33,08 R$ 84,27 R$ 54,21 R$ 54,13 R$ 32,00 R$ 33,16 R$ 500,31 R$ 40,00 R$ 35,00 R$ 55,00 R$ 1004,04 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/datasheetpdf/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-servomotor-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%2 0CNC%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.p df>. 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=140 6&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>. em julho de 2010. Acesso 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/stepmotor2k8111 9.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