UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES DESENVOLVIMENTO DE UMA PLACA CONTROLADORA E DA INTERFACE DE CONTROLE E COMUNICAÇÃO PARA IMPRESSORAS 3D TRABALHO DE CONCLUSÃO DE CURSO Diones de Vargas Dutra Santa Maria, RS, Brasil 2013
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE
COMPUTADORES
DESENVOLVIMENTO DE UMA PLACA CONTROLADORA E DA INTERFACE DE
CONTROLE E COMUNICAÇÃO PARA IMPRESSORAS 3D
TRABALHO DE CONCLUSÃO DE CURSO
Diones de Vargas Dutra
Santa Maria, RS, Brasil
2013
DESENVOLVIMENTO DE UMA PLACA CONTROLADORA E DA INTERFACE DE CONTROLE E COMUNICAÇÃO PARA
IMPRESSORAS 3D
Diones de Vargas Dutra
Trabalho de Conclusão de Curso apresentado ao Curso Superior de Tecnologia em Redes de Computadores da Universidade Federal de Santa Maria (UFSM,
RS), como requisito parcial para a obtenção do grau de Tecnólogo em Redes de Computadores
Orientador: Profº . Ms. Walter Priesnitz Filho
Santa Maria, RS, Brasil
2013
Universidade Federal de Santa Maria Colégio Técnico Industrial de Santa Maria
Curso Superior de Tecnologia em Redes de Computadores
A Comissão Examinadora, abaixo assinada, aprova o Trabalho de Conclusão de Curso
DESENVOLVIMENTO DE UMA PLACA CONTROLADORA E DA INTERFACE DE CONTROLE E COMUNICAÇÃO PARA
IMPRESSORAS 3D
elaborado por Diones de Vargas Dutra
como requisito parcial para obtenção do grau de Tecnólogo em Redes de Computadores
COMISSÃO EXAMINADORA:
Walter Priesnitz Filho, Ms. (Presidente/Orientador)
Claiton Colvero, Dr. (UFSM)
Murilo Cervi, Dr. (UFSM)
Santa Maria, 25 de Janeiro de 2013.
AGRADECIMENTOS
Universidade Federal de Santa Maria – pela qualidade do ensino público e gratuito;
Carla Juliana Biesdorf – minha namorada, pela calma e compreensão da minha ausência neste período
conturbado de conclusão de curso;
Walter Priesnitz Filho – ao meu orientador, pelo apoio e ajuda neste trabalho;
Comunidade do software livre – sem as boas ideias deles não teria concluído este trabalho;
A todos aqueles que, de alguma forma, contribuíram para a realização deste trabalho, e não estão
nominalmente citados.
EPIGRAFE
“Se você é um carpinteiro e está fazendo um belo armário de gavetas, você não vai usar um pedaço de compensado na parte de trás porque as pessoas não o
enxergarão, pois ele estará virado para a parede. Você sabe que está lá e, então, usará um pedaço de madeira bonito ali. Para você dormir bem à noite, a qualidade
deve ser levada até o fim.” — STEVE JOBS
RESUMO
Trabalho de Conclusão de Curso Curso Superior de Tecnologia em Redes de Computadores
Universidade Federal de Santa Maria
DESENVOLVIMENTO DE UMA PLACA CONTROLADORA E DA INTERFACE DE
CONTROLE E COMUNICAÇÃO PARA IMPRESSORAS 3DAUTOR: DIONES DE VARGAS DUTRA
ORIENTADOR: WALTER PRIESNITZ FILHO Local da Defesa e Data: Santa Maria, 25 de Janeiro de 2013.
Uma nova tendência de tecnologia está surgindo, as impressoras 3d, porem com um custo bastante elevado ainda, então neste trabalho foi desenvolvido uma maneira mais simples de criar uma impressora de código aberto, visando remover componentes complexos da confecção do hardware e optar por componentes mais baratos.
Também será o foco deste trabalho a abstração da impressora para quem tiver o interesse de melhorá-la, pois uma quantidade significativa de dados do processamento que nas demais impressoras é no próprio dispositivo, será transferido para o computador, visto que o usuário que utilize uma impressora.
Para uma impressão já existe a necessite de um computador para gerar as imagens ou adquiri-las, para leigos em micro informática, este projeto pode ajudar no desenvolvimento e melhorias na programação de impressoras 3d, diminuindo seu custo e melhorando seu desempenho, pois pode utilizar algoritmos de maior complexidade com um aumento de poder computacionais.
Undergraduate Final Work Course of Technology in Computer Networks
Federal University of Santa Maria
DEVELOPMENT OF A PLATE PARENT AND INTERFACECONTROL AND COMMUNICATION FOR PRINTERS 3D
AUTHOR: DIONES DE VARGAS DUTRA ADVISOR: WALTER PRIESNITZ FILHO
Defense Place and Date: Santa Maria, March 25st , 2013.
A new trend is emerging technology, 3D printers, but with one fairly high cost yet, so this work was developed a simpler way create a printer open source, aiming to remove components of the complex manufacturing of hardware and opt for cheaper components.
It will also be the focus of this work to abstraction printer for those who have interest to improve it, because a significant amount of data processing than in other printers is the device itself, is transferred to the computer, since the user using a printer.
For an impression exists a need for a computer to generate images or acquire them, to lay in micro computing, this project can help develop and improvements in programming 3d printers, reducing cost and improving performance, because it can use more complex algorithms with a power computing.
LISTA DE FIGURASFigura 1: Disposição dos itens de um robô...............................................................................16Figura 2: Junta prismática........................................................................................................17Figura 3: Robô cartesiano com 3 graus.....................................................................................17Figura 4: Bico para derreter o plástico......................................................................................19Figura 5: Atuador para levar o plástico ao bico........................................................................19Figura 6: Programa para gravar o microcontrolador.................................................................21Figura 7: Hardware para gravar o microcontrolador................................................................21Figura 8: Placa para controle dos motores e resistores de aquecimento...................................22Figura 9: Placa com o microcontrolador...................................................................................22Figura 10: Esquemático da placa do microcontrolador............................................................22Figura 11: Esquemático da placa do circuito de controle.........................................................22Figura 12: Placa para controle dos motores e resistores de aquecimento.................................23Figura 13: Placa com o microcontrolador.................................................................................23Figura 14: Esboço da estrutura..................................................................................................24Figura 15: Primeira estrutura de teste.......................................................................................24Figura 16: Pilha do protocolo CDC..........................................................................................26Figura 17: USB alta velocidade................................................................................................27Figura 18: USB baixa velocidade.............................................................................................27Figura 19: Fluxograma..............................................................................................................28Figura 20: Fluxograma com PID..............................................................................................32Figura 21: Curva do NTC.........................................................................................................33Figura 22: Curva com a combinação de componente...............................................................34Figura 23: Esquemático com os componentes..........................................................................34Figura 24: Saída PWM..............................................................................................................35Figura 25: Esquemático utilizando o Mosfet............................................................................36Figura 26: Controle PID com ganhos muito.............................................................................38Figura 27: Detalhe da variação de temperatura.........................................................................38Figura 28: Controle PID com ganhos corrigidos......................................................................39Figura 29: Detalhe da variação de temperatura do teste final...................................................39Figura 30: Algorítimo Bresenham............................................................................................39Figura 31: Tela do programa criado..........................................................................................40Figura 32: Detalhe do código G sendo interpretado.................................................................40
LISTA DE QUADROSQuadro 1: Descrição do processo PID......................................................................................18Quadro 2: Descrição retirada do datasheet................................................................................20Quadro 3: Estrutura de um pacote.............................................................................................25Quadro 4: Tamanho e função de um pacote.............................................................................26Quadro 5: Pacote para movimento............................................................................................30Quadro 6: Pacote de ack............................................................................................................30Quadro 7: Pacote de nack..........................................................................................................30Quadro 8: Funcionamento de um motor de passo.....................................................................31
LISTA DE ABREVIATURAS E SIGLAS
STL Stereolithography
RP Rapid prototyping(prototipagem rápida)
FDM Fused Deposition Modeling(Modelagem por fusão e deposição)
SLS Selective Laser Sintering(sinterização seletiva a laser)
CNC Controle Numérico Computadorizado
PID Proporcional Integral e Derivado
PIC Peripheral Interface Controller (Controle de interface periférica)
USB Universal Serial Bus(barramento de serial universal)
IDE integrated development environment(ambiente de desenvolvimento integrado)
PCB printed circuit board(placa de circuito impresso)
PWM Pulse width modulation(Modulação de largura de pulso)
PVC Polyvinyl chloride
CDC communications device class(comunicações classe de dispositivo)
CSV comma separated values(valores separados por vírgula)
CPU central processing unit(unidade central de processamento)
PLA Polylactic acid
SLA Stereolithography
SUMÁRIOINTRODUÇÃO.......................................................................................................................121 REVISÃO TEÓRICA..........................................................................................................132 ANÁLISE DO PROJETO...................................................................................................162.1 Robô cartesiano.................................................................................................................162.2 Atuadores..........................................................................................................................172.3 Temperatura.....................................................................................................................182.3.1 Controle PID...................................................................................................................182.3.2 Extrusor...........................................................................................................................183 DESENVOLVIMENTO DA SOLUÇÃO ENCONTRADA.............................................203.1 Construção do hardware.................................................................................................203.2 Desenvolvimento do software..........................................................................................254 RESULTADOS.....................................................................................................................324.1 Discussão dos Resultados..................................................................................................385 CONCLUSÃO......................................................................................................................41REFERÊNCIAS......................................................................................................................42
12
INTRODUÇÃO
O presente trabalho demonstra o desenvolvimento de uma interface e placa para
controle de uma impressora 3d, bem como todos critérios para seu funcionamento, como
eletrônica, software e a comunicação com um computador.
Objetivo geral
O desenvolvimento de um protocolo de comunicação para impressoras 3d, visando a
criação da comunicação com um hardware simplificado, diminuindo a complexidade da
construção, e transferir todo processamento da impressora para um computador, aumentando
toda capacidade computacional e flexibilidade na programação.
Objetivo específico
• Promover a troca de dados entre dois equipamentos, computador e placa mãe da
impressora.
• Verificar a ocorrência de falha na transmissão dos dados padrao2
• Desenvolver um software que interprete código G, código atualmente usado em
impressoras 3d.
• Melhorar a linguagem de programação para que o código possa ser disponibilizado e
aberto.
• Desenvolver uma placa mãe para a impressora que suporte comunicação com um
computador pessoal através da porta USB.
Estrutura do trabalho
No capítulo 2 é apresentado um breve histórico das impressoras 3d, e para onde está
evoluindo as impressas de código aberto e tipos diferentes de impressoras. No capítulo 3 é
descrito o problema da implementação. No capitulo 4 o projeto começa a ser criado, sera
demonstrado problemas e soluções. No capítulo 5 são demonstrado os resultados obtidos e no
capítulo 6 uma conclusão do trabalho.
13
1 REVISÃO TEÓRICA
A Impressão em 3D, segundo Celana (2009), é uma das técnicas de prototipagem
rápida cuja origem se baseia em duas técnicas: a topografia e a foto escultura. A primeira foi
um método desenvolvido por Blanther no final do século XIX para a construção de mapas que
apresentassem o relevo, e consiste na impressão de uma série de discos de areia contendo as
curvas de nível das cartas topográficas.
Já no início da década de 70, Matsubara (da Mitsubishi Motors) propôs um processo
fotográfico. Regiões de uma camada de foto polímero recoberta por pó de grafite ou areia
eram endurecidas após a exposição à luz, e mais tarde as outras partes eram retiradas com a
utilização de um solvente. Verificou-se que essa técnica poderia ser empregada para
reproduzir as superfícies de fabricação complexa, em função da operação da máquina.
A técnica da foto escultura nasceu no século XIX com o propósito de criar cópias
exatas tridimensionais de objetos. Frenchman Francois Willème realizava o posicionamento
de 24 câmeras fotográficas igualmente distribuídas em torno de um objeto colocado no centro
de uma sala circular, sendo todas as câmeras acionadas simultaneamente. Com o contorno
gerado por cada foto, um artista esculpia cada posição em sua respectiva referencia, em um
cilindro para formar o objeto.
De modo a reduzir o trabalho de escultura, desenvolveu-se uma técnica que utilizava
uma luz graduada para expor uma gelatina fotossensível, que se expande proporcionalmente
ao contato com a água. Essas pesquisas originaram as técnicas atualmente empregadas na RP,
obtendo êxito comercial a partir do lançamento da SLA-1, pela 3D Systems em 1987,
conforme descrito por Sachs (Sachs ,1990). A empresa desenvolveu e patenteou o processo de
estereolitografia, como também desenvolveu o formato STL, utilizado até os dias de hoje na
indústria. Nos anos seguintes, outras empresas de RP surgiram vagarosamente,
comercializando suas próprias versões de estereolitografia. Em 1991, a Stratasys inovou ao
inserir no mercado uma nova tecnologia: modelagem por fusão e deposição (FDM – Fused
Deposition Modeling). Em seguida, a DTM Corporation introduziu a sinterização seletiva a
laser (SLS –Selective Laser Sintering), processo em que o calor de um laser é utilizado para
fundir metais pulverizados,como o titaneo, e vários outros foram aparecendo mais tarde.
Anunciado em 2010(CARNETT, 2010), Bre Pettis e e outros apresentaram o kit CNC
CupCake: uma impressora 3D capaz de gerar qualquer objeto de menos de quatro centímetros
em um lado usando dois tipos de plástico. O objetivo da empresa é fazer de fabricação
caseira, barata e comum. O código da configuração é aberto, podendo ser copiado ou mesmo
14
modificado. Ainda em 2010, segundo Dillow (Dillow, 2010), a tendência da impressora é
gerar itens feitos de areia e vidro, visto que novos produtos químicos ajudam na liga das
camadas e novos mecanismos tornam as camadas mais precisas. Vasos, luminárias e outros
itens com formas delicadas, impossíveis de serem impressas antes, poderão ser realizadas.
Para esse tipo de impressão será utilizado o pó de vidro, que é inserido em um forno
portado na impressora que faz o vidro fundir a um formato desejado. Objetos de argila
poderão ser gerados com precisão de até 0,02 cm de espessura, porque uma válvula de alívio
de pressão lixa o excesso. O inventor Enrico Dini gostaria de imprimir edifícios, pois seu
fabricante , a Dshape, pode criar estruturas de pedra de até 16 por 16 por 10 metros. Esse tipo
de impressão permitirá formas e curvas que são difíceis e caras, com a construção de concreto
convencional. Dini pretende trabalhar com arquitetos em tijolos enormes.
Em setembro de 2012 a empresa MakerBot anunciou(ALBANESIUS, 2012) o
lançamento da impressora Makerbot Replicator 2 Desktop 3D, dando início à quarta geração
de impressoras 3D da empresa. A impressora é projetada para engenheiros, pesquisadores,
profissionais criativos, ou qualquer um que gosta de fazer as coisas. O objetivo é impressão de
qualidade profissional, e para isso houve uma atualização de software para a impressão ficar
mais rápida e consistente. O volume da área de construção é trinta e sete por cento maior do
que a MakerBot original, permitindo que mais peças possam ser impressas simultaneamente.
A altura de cada camada de material é duas vezes e meia mais fina do que a altura da camada
da MakerBot anterior, lançada no início de 2012. A impressora fornece camada com
resolução de cem mícron e um volume de construção de quatrocentos e dez polegadas
cúbicas, garantindo uma impressão de qualidade, sem a necessidade de ser lixada ou ter
tratamentos pós-produção. A impressora já está disponível através do site da empresa,
distribuidores e loja principal por 2.199 dólares, e é entregue ao cliente totalmente montada.
O sítio da MakerBot afirmava que o projeto de montar a impressora demorava em
média dois dias para que duas pessoas pudessem concretizá-lo. O processo de montagem era
simples e as instruções constavam nas páginas do site wiki da empresa.
A parte mais complicada de fazer um kit de impressora 3D é a codificação de software
que lhe diz o que fazer. Além de poder montar seu próprio objeto, Makerbot.com possui
exemplos de objetos prontos para serem impressos e o sítio Thingaverse.com hospeda
milhares de modelos 3D que o usuário pode baixar e usar.
Segundo Carnett (Carnett,2010) , o topo da impressora é a placa controladora de
temperatura, pois o plástico sólido entra no topo da impressora e a extrusora move-se
15
derretendo o plástico, e imprimindo um objeto em três dimensões. Para o usuário, algumas
habilidades em codificação são exigidas, dependendo do software usado. Partes diferentes do
desenho requerem diferentes temperaturas e velocidades, e isso pode causar obstrução dos
bicos de impressão, exigindo limpeza manual.
16
2 ANÁLISE DO PROJETO
O problema se divide em duas partes bem distintas, uma é o controle de um robô do
tipo cartesiano e a outra é a o controle da temperatura que derrete o plástico para a extrusão.
2.1 Robô cartesiano
Um robô é um manipulador programável, multi funcional, projetado para movimentar
materiais, peças, ferramentas ou dispositivos especiais, usando movimentos variados
programados para a execução de diferentes tarefas(RIVIN, 1988). Um robô convencional é
uma estrutura formada por um conjunto de elos ligados por articulações, sendo os
movimentos possibilitados pelos elos sucessivos e formado pelos seguintes elementos:
• Base - base do manipulador.
• Elos - elementos que fornecem robustez e rigidez.
• Juntas - proporcionam movimento entre elos
Uma junta prismática é uma variação das demais juntas, com seu deslocamento linear
ao invés de um deslocamento angular. Este trabalho apresenta um robô cartesiano com 3
graus de liberdade, com 3 juntas prismáticas para fornecer seus movimentos.
Figura 1: Disposição dos itens de um robô
Fonte: Autor
17
2.2 Atuadores
Atuadores são os componentes responsáveis por transmitir força a um robô, e podem
ter seu deslocamento tanto linear quanto angular. Como exemplo de atuadores podem-se citar
motores e pistões pneumáticos.
Figura 2: Junta prismática
Fonte: Autor
Figura 3: Robô cartesiano com 3 graus
Fonte: Autor
18
2.3 Temperatura
Para que o plástico escorra pelo bico, um ponto de temperatura especifico deve ser
atingido para cada tipo de material. Esse ponto de temperatura para o derretimento deve ser
controlado por software.
2.3.1 Controle PID
O controle Proporcional, Integral e Diferencial (PID) é uma técnica que consiste em
corrigir o erro e atenuar o valor de uma variável de controle, baseando-se valor desejado e o
no atual.
Quadro 1: Descrição do processo PID
Proporcional(P) Correção proporcional ao erro A correção a ser aplicada ao processo cresce na proporção que cresce o erro entre o valor atual e o desejado.
Integral(I) Correção proporcional ao produto TEMPO X ERRO
Pequenos erros que se prologam por muito tempo devem ser corrigidos de forma intensa.
Derivado(D) Correção proporcional à variação do erro
Se o erro está variando muito rápido,esta taxa de variação deve ser reduzida para evitar oscilações.
2.3.2 Extrusor
O extrusor é composto por um atuador, que é responsável por movimentar o filamento
de plástico para o bico aquecido onde será derretido. O bico aquecido é composto por
resistores, que são a fonte de calor para o derretimento do material, e um bico metálico com
um pequeno furo por onde escorre o plástico.
19
Com o problema interpretado, como a dificuldade de controle da temperatura e o uso
de atuadores para mover a impressora, partiu-se para a busca de soluções.
Figura 4: Bico para derreter o plástico
Fonte: Movtech Impressora 3d
Figura 5: Atuador para levar o plástico ao bico
Fonte: REPRAP
20
3 DESENVOLVIMENTO DA SOLUÇÃO ENCONTRADA
Muitas soluções podem ser empregadas para resolver este trabalho, mas foi buscada a
simplicidade, menor número de componentes e o custo reduzido, que a linha de
desenvolvimento encontrada seguiu.
3.1 Construção do hardware
Para um programador acostumado a desenvolver em plataformas desktop, é um grande
desafio atingir o mundo real, e em mecanismos que estejam fora do computador pessoal. Para
isso foi empregado o Pinguino(PINGUINO, 2012), que é uma plataforma pronta e já testada e
bem consolidada. Trata-se de uma plataforma de código e hardware aberto, com uma
comunidade nova e com grande expansão, por se tratar de um hardware muito simples e de
fácil construção. A placa Pinguino possui um microcontrolador PIC 18f2550, fabricado pela
Microchip(MICROCHIP, 2012), e possuindo uma porta USB nativa, importante para
comunicação com computadores, Devido a ausência de uma porta serial ou porta paralela nos
computadores mais modernos e na maioria dos notebooks. Segue algumas características do
PIC usado, retiradas do datasheet. São apresentadas no quadro 2.