quarta-feira, 28 de dezembro de 2011

Controlador da Extruder

A última placa que faltava... não só tem o driver para o motor de passo da extruder, como também tem várias outras saídas e entradas. Tem uma série de acessórios que vi implementados e gostaria de testar:

  • Driver do Stepper da Extruder, usando o mesmo circuito do Driver GLB, ficou mais fácil porque eles fornecem o chip avulso.
  • Saídas para vários coolers, um que liga junto com o enable do motor, e dois outros: um para esfriar o bico e outro para esfriar a mesa ao final da impressão
  • sensor de altura da mesa, como o o Z-probe do Nophead, mas com solenóide para acionamento automático
  • Saída para acionador de uma Spindle/Dremmel (para usar como CNC) com sensor de altura da ferramenta.
  • Saída Relê para acionar a fonte de alimentação.

Esta placa faz parte do protótipo de uma placa que pretendo fazer (espero que com ajuda...). Então tem alguns circuitos extra e provavelmente vão faltar coisas...

Esta configuração é especial para usar em uma CNC já existente. A idéia é construir uma placa única que acione o Extruder diretamente e tenha as saídas para a CNC exatamente como uma Paralela de PC, compatível com TurboCNC/Mach3/EMC2...


No meio da placa está o chip Toshiba TB6560AHQ, o dissipador é maior que o necessário mas não tem como fazer um menor...

O Flat Cinza vem direto do ArduinoMega rodando Marlin.
O Flat Colorido vai direto até o Extruder.
Os fios são duplicados, mesmo assim acrescentou 0,5 Ohms por bobina. Como o driver é mais flexível, se necessário posso alimentar com 24 Volts.

Esquema recortado só do driver (clique para ampliar).

O chip TB6560AHQ já faz tudo, os detalhes eu copiei direto do driver da GLB, até nomeei os jumpers pelas chavinhas da placa para facilitar.
(o "decay" está fixo em "fast", o que é bom para 1/2 passo)

O resto do circuito não tem nada digno de nota, apenas um ULN2004 para as saídas e filtros para as entradas como eu sempre uso. Quem quiser ver, aqui está o esquema completo em pdf.

Hesitei muito tempo resolvendo se deveria usar o driver L298/L297, como esses chips têm maior disponibilidade no nosso mercado. Ainda farei uma versão da placa com eles para testes.



O melhor é que agora que a máquina está completa, ela já imprime!!!

Mas ainda há muito trabalho com o Firmware...
* Configuração das rampas de aceleração
* Bug no look-ahead (desliguei)
* Dá para ouvir alguns steps extra no final dos movimentos, isso está gerando uma parada extra

quinta-feira, 22 de dezembro de 2011

Controle dos Aquecedores


Concentrei num placa os controles de Temperatura: entrada do Termistor-NTC, tensão de referência reduzida, driver do Bico do Extruder e acionamento da mesa aquecida.

Quem quiser, veja o circuito aqui.

A placa é simples, mas como a maioria dos meus projetos tem bastante componentes discretos!
O primeiro truque é que os NTCs não está alimentados direto com 5Vcc, mas com uma tensão mais baixa, isso evita auto-aquecimento dos NTC. O LED é usado como fonte de referencia estável de 1,7V.

A tensão mais baixa permite usar resistores otimizados para cada NTC e melhora a resolução na faixa desejada. 500 Ohms para o Bico, otimiza para 205°C e 3300 para 120°C.

Novo: CUIDADO PEGADINHA, se usar outro circuito para o Vref externo e o chip estiver programado errado queima o chip!!! tem até aviso no site do Arduino.

Com estes valores, fica bem visível na como a curva fica linearizada exatamente na região que nos interessa.

Sem a tensão mais baixa, a dissipação no Termistor-NTC seria maior que a permitida. Com a combinação das duas alterações, a resolução da medida triplicou.

Isto mais o novo PID do Marlin produziram uma temperatura estável e que flutua no máximo 0,3°C. Admirável!
Outra coisa que eu acho muito importante e acho que a falta deles causa muitos dos problemas das RepRaps é os Filtros de Ruído.
Nada de mais, apenas um capacitor para recircular as correntes induzidas e um RC para limpar o sinal, um para cada entrada.
Eu optei por usar um MosFet comum, com controle de 12V, então precisei de um driver. Como o objetivo é usar só componentes fáceis de encontrar, usar discretos é a única opção.

Esse circuito é comum e tem um desempenho razoável, com tr=tf=200ns, suficiente para PWM de 500Hz. O inversor compatibiliza com o projeto da RepRap.

Tem um filtro de fonte com 10 Ohms, não se mostrou tão importante, mas a separação do GND de potencia com 1 Ohm evita muitas dores de cabeça.



O circuito do Mosfet não tem nada de mais. Qualquer MosFet TO220 com Rdson de até 150 mOhms pode ser usado.

A Saída para o aquecedor da Mesa também é Banal, já que esta sera'controlada por Rele.

A minha Mesa é grande, e para aquecer rápido a potência é grande, 500 Watts. Por isso é Alimentada com AC 110/220 Volts. O relê vai ficar lá atrás, perto da entrada, não precisa fazer todo esse caminho até a gaveta de eletrônica e voltar.

LEDs em todo lugar é bom durante o desenvolvimento... e depois também!

Os estudos de aquecimento ainda não estão completados, veremos mais quando estiver imprimindo e eu voltar a este assunto.

A idéia básica é fazer uma placa com toda a eletrônica, então este é só um protótipo. Quando fizer uma placa completa, as partes já testadas e que mostraram importantes farão parte do conjunto.

Novo: arquivo do projeto completo no kicad.

Eletrônica começando a se materializar

Desde a última postagem, trabalhei na Eletrônica sempre que possível, o que infelizmente foi pouco.

Agora tenho o ArduinoMega montado, controlando os motores, com o firmware MARLIN e o software PRINTRUN (Pronterface) no PC. O sistema todo é compatível com o RAMPS para facilitar e não ter muitas alterações no firmware.


  • Fiz um conversor USB/TTL isolado, assim meu notebook não corre riscos
  • a CPU é um ArgduinoMega
  • o Shield é apenas para conectores
  • os controles de Joysticks analógicos já são conhecidos... assim como o driver GLB
  • o Controle de aquecedores engloba os termistores e drivers, falarei deles mais tarde.
(clique para ampliar)

Meu Notebook custou caro, então não quero acidentes!
Este conversor usa acopladores óticos rápidos 6N137 para TX/RX então funciona bem até 115.200 Baud (ou mais).

Já fiz mais 3 placas para os amigos, assim que tiver tempo eu monto, testo melhor e publico...


O Controle dos Aquecedores está descrito em uma postagem separada para poder fornecer mais detalhes. Aguarde logo a seguir.



quinta-feira, 27 de outubro de 2011

JoyStick para Stepper

Muitos perguntaram, aqui está o JoyStick que eu usei na minha mesa. A idéia nasceu muito antes da própria Mesa XYZ e já havia sido discutida na lista.

O projeto é aberto LGPL e é permitido copiar (veja nota no final), mas agradeço se fizerem contato... posso até ajudar, incrementando o que já existe

O JoyStick permite um movimento rápido da mesa em qualquer direção.

A velocidade é progressiva, desde bem devagar para posicionar com precisão, até a velocidade máxima da máquina.

Não precisa ligar computador nem mais nada. O controle fica na lateral e serve como painel.


Usei um Controle de PS2, desmontei os dois JoySticks. A montagem na caixa deu muito trabalho, mas quando fizer a próxima, posso fazer rápido na RepRap...

Um botão movimenta X e Y, o outro movimenta apenas o Z. Uma das chaves ativa os JoySticks ou volta ao modo de operação normal. A outra chave permite a operação bem lenta para posicionamento delicado.
Uma placa para cada eixo, elas ficam dentro da gaveta da eletrônica.

A primeira placa, da direita, foi a primeira. Os bornes de parafuso pareciam uma boa idéia, mas durante a manipulação percebi que não é. Esta deverá ser substituída para facilitar.

Os conectores dão mais trabalho para montar, mas facilitam muito depois.
A placa na verdade contém várias funções acessórias:
Joystick: o circuito é analógico e ocupa os 1/3 da esquerda e tem ajuste de velocidade máxima.
Seleção: a função JoyStick pode ser desativada.
Sensor de Limites emin. e max. com lógica para não ultrapassar.
Filtros em tudo, com esses flats correndo junto e bem acoplados, eu já assumo que precisa filtrar tudo e bem.
Home: saída dos sensores já bem filtrados para o controlador.
(click para aumentar)


Esta é a parte interessante do circuito: o circuito analógico que gera os pulsos.

Dois transistores estão ligados direto no JoyStick, quando este se afasta do centro, a corrente em um dos dois aumenta progressivamente.

Em cima há um espelho de corrente, então as correntes nos dois sentidos são agora iguais e são somadas para acionar um oscilador do tipo integrador. O OpAmp recebe ajuda de um transistor para gerar pulsos mais estreitos.
Um outro OpAmp determina a direção, comparando o JoyStick com a referencia central.

Veja o esquema completo em pdf aqui, utilizei o KiCAD e já existe um Layout pronto. Caso tenha interesse em implementar, entre em contato, de referência através da lista de discussão: http://microsdiybr.blogspot.com


LGPL: Copyleft (c) Alain Mouette, 2010-2011. É permitdo copiar, é permitido vender e ficar rico com isto. Mas é obrigatório divulgar o aviso de  Copyright e qualquer alteração ou melhoria que venha a ser feita.

terça-feira, 20 de setembro de 2011

Fiação da Mesa e Sensores

Na maioria das máquinas que eu vejo (exceto as profissionais), existem muitos fios indo para todo lado. Eu acho isso horrível.

Ao longo de todo o Projeto da Mesa XYZ, a fiação estava sendo projetada junto. Agora dá para ver como ficou simples e bem arrumado...


A fiação toda corre entre as placas, acompanhando os trilhos. Foi usado Flat-Cable para tudo. Alguns estão duplicados, como os dos motores ou quadruplicados como os do aquecedor do bico.

Em cada extremo das curvas, os flats são mantidos prensados por pequenos blocos, as placas das mesas já servem de apoio e guia.
(clique para ampliar)
Na placa do Eixo Z tem dois conectores, cada um de um respectivo Flat Cable, com alsa de remoção. Isso evita quebrar os fios.

Um conector de 10 vias para o bico do extruder, e outro de 16 vias para o motor do extruder, coolers e etc.

Na verdade, o uso pode ser diverso, desde que o outro extremo do cabo seja reconfigurado também.
Cada placa móvel tem um conector para seu próprio flat. Assim cada conjunto pode ser facilmente desmontado para manutenção.

Este é o conector da placa móvel intermediária na face de trás, fica bem perto de onde passam todos os flats. Aqui estão conectados o motor e os dois sensores óticos de fim de curso.
Este é o flat-cable que vai alimentar a mesa aquecida. Como é um único flat e é mais longo, uma folha de PVC fino serve como guia.



A fiação corre pela lateral interna do pórtico, pela lateral da base, faz uma curva junto ao trilho e termina na gaveta da eletrônica.

Os fios são longos, mas como os drivers já têm tensão mais elevada, o funcionamento dos motores não deve ser afetado.

Ah! não se impressionem com a arrumação, até o fim da montagem vai ficar naturalmente zoneado!
(clique para ampliar)
Detalhe da curva dos Flats acompanhando o trilho da Gaveta. Desta maneira a própria natureza dos Flat-Cables ajuda a manter eles organizados e a não serem afetados pelo movimento da gaveta.

Ao lado dos Flats está o cabo USB da interface.

Novo: o PVC quebrou várias vezes (era velho, uns 10 anos) então troquei todos por filme de poliéster de 0,35mm, comprado na Laminex (teve que comprar 1m² pro R$20).
O cabo USB é apenas uma extensão que vai até a traseira onde com um adaptador (achei na Multi Comercial) é uma entrada USB padrão.
E este é p painel traseiro com conector de AC e chave 110/220V.

Dois cooler fracos proporcionam melhor fluxo de ar que um cooler mais forte para evitar sobreaquecimento do interior da gaveta.


Detalhe por baixo, com a tampa da base removida. Quando a gaveta abre sobre os trilhos telescópicos tudo fica accessível para manutenção, tanto a fiação quanto a fixação dos trilhos





  • Sensores

Os Sensores de fim de curso mínimo e máximo são apenas interruptores óticos C860TP (Cromatek, nacional).

Um cabinho de 3 fios soldado direto, sem placa ou conectores é simples e prático. Eles estão sempre preso na placa que já tem um conector.
Em cada lateral do carro (no qual etá preso a placa móvel) tem uma lamina que aciona o Sensor, este está preso na mesma placa onde está o motor.

Esta versão provisória está apenas colado com hot-melt na lateral do carro. Depois que o funcionamento do conjunto for melhor compreendido, será feita uma fixação com parafuso para permitir ajuste.

É interessante ter ambos os sensores porque, ainda que os motores não tenham força para danificar o mecanismo, as regulagens são alteradas se forçar mecanicamente nos limites.



Agora está tudo montado, vou passar um bom tempo montando a eletrônica para tudo isso. Já estou preparando a versão II da Joystick analógico!

Também não tenho a eletrônica da RepRap, apenas um Arduino Mega e um proto-shield... ainda tem muito o que fazer... e isso é bom

terça-feira, 13 de setembro de 2011

Conjunto no Pórtico

Depois de algum tempo sem mostrar nada, aqui está a montagem do conjunto do pórtico.

Ganhei alguns pedaços de acrílico, isso ajuda a visualizar os detalhes. Se bem que me pergunto se não mostra em excesso e torna mais confuso.


Uma placa intermediária se movimenta na horizontal, movida pelo motor à direita.

A placa do Eixo Z se movimenta com o motor de cima. A intenção era de que se movesse apenas para baixo mas ficou muito ruim. Segundo a orientação de Sir Jorge, o movimento fica bem melhor subindo e descendo 5cm do centro...

(Click para ampliar)
Esta é a vista lateral do conjunto. Dá para ver o suporte do pórtico à esquerda e a placa para suporte do Extrusor à direita.

Esta é a visão frontal, a sobreposição dos eixos torna a visão mais complexa do realmente é. Coloquei explicações sobre cada detalhe apenas do eixo Z. O Damper ainda não estava pronto, então tem apenas uma marca no local.


Para aqueles que quiserem dar uma olhada em mais detalhes, aqui estão os desenhos. Acho que sem ver o original não deve ser muito compreensível mas está tudo aí...

Para mais esclarecimentos e troca de idéias, por favor usem a lista do RepRapBR onde podemos trocar emails comunitariamente.

quarta-feira, 27 de julho de 2011

Fixação e Regulagem dos trilhos

Fixar os trilhos é uma operação delicada. Quanto mais atenção ao detalhes durante o processo, mais fácil será o ajuste no final.

As duas placas Y e Z aqui foram feitas de acrílico, doação de um amigo, para facilitar a visualização. Normalmente seriam de MDF também.

O desenho dos Trilhos Y e Z está aqui em pdf. Lembre-se que estes desenhos são do protótipo e podem sofrer alterações ao longo do caminho. Todos os furos são de 5mm e os parafusos são de 4mm para permitir ajuste posterior.

  • Furando e montando

Marcar cuidadosamente as posições de acordo com o desenho.

Veja o esquadro à esquerda para garantir alinhamento.
Marque os furos com cuidado, usando os próprios furos existentes como guia para evitar surpresas.

Para a placa Superior de cada eixo, use o mesmo método, mas com os trilhos encaixados e posicionados.

A placa inferior do Y é a que fica presa ao pórtico. A superior do Y á também a inferior do Z.

O recorte na foto é o encaixe do motor e acoplamento.
A placa Y é a superior do eixo Y, mas é também a inferior do eixo X. Para evitar interferências, os parafusos têm cabeça chata e os furos são escariados.

Cuidado ao fazer furos escariados em MDF, faça várias experiencias antes de pegar a peça definitiva.

  • Ajustando
Ajuste é uma arte, e exige sempre muita paciência. Melhora também com a experiencia, mas vou dar umas dicas que aprendi ao longo do caminho:

Esta sequencia leva rapidamente a um ajuste que funciona bem. Eu mesmo apliquei no Eixo X que desmontei para terminar a pintura e descobri que estava com o problema (4) abaixo, depois de corrigir (com calços) foi muito mais rápido que da primeira vez.


Situações que "podem" acontecer:
1) esse é o ideal
2) eixo deslocado mas continua paralelo, isso não afeta o funcionamento e é muito interessante para compensar diferenças
3) um eixo está para fora, o trilho que estiver fixado, vai forçar e o movimento vai ficar duro
4) uma das pontas está para baixo. Conforme a mesa se desloca, ela teria que torcer, o movimento vai ficar duro
5) eixos são paralelos entre sí, mas não paralelos ao movimento. Se isto acontecer no eixo X, por exemplo, com o movimento a mesa vai subir e descer, batendo na extrusora ou ferramenta
6) eixos para o lado. Se for no Y, pode também bater na mesa
5 e 6) também podem gerar peças deformadas...

Primeiro tem que garantir que o trilho está bem paralelo à mesa. Começar com a parte externa do trilho, que é fixada na parte móvel.

A altura medida direto no trilho deve ser ser a mesma em cada ponta. Ajuste como for necessário...
Esta é uma outra maneira de medir sem estar montado, usando o degrau que existe nas costas do paquímetro.

Pode ser mais prático em alguns casos.
Depois, com o trilho encaixado, tem que medir a distancia interna entre as placas. Deve ser 38mm, mais importante ainda que seja exatamente igual em cada ponta do trilho.

Estes dois últimos ajustes vão garantir que os trilhos estão perfeitamente paralelos às placas.
É importante garantir que os movimentos sejam perpendiculares, use um esquadro para prender um dos lados do trilho.

Depois prenda a outra placa, ela deve ficar paralela a esta.

Movimente os trilhos e prenda-os na posição em que eles se acomodam naturalmente.

O movimento tem que ficar totalmente livre, leve e solto.
O alinhamento do Eixo Y depende de paralelismo e não de esquadro!

Para medir a distancia do trilha até a lateral foi preciso um truque: o esquadro fica apoiado na base e encosta no trilho, o paquímetro mede então a distancia até a borda.


  • Finalmente...
Vista dos dois Eixos X e Y. Agora só falta colocar os motores
E finalmente o conjunto todo.

Aproveitando para mostrar o alinhamento que deve ser feito também do pórtico para qua o Eixo Z fique perpendicular à Base móvel do X.

A placa do Y não é muito visível porque as proteções do acrílico já foram removidas e ficou quase transparente...

(click para ampliar)

segunda-feira, 18 de julho de 2011

Trilhos com os Suportes

Os trilhos são usados a 45° e em oposição uma ao outro para fornecer rigidez. Se fossem montados na Vertical ou na Horizontal o conjunto ficaria muito flexível, então os trilhos são montados sobre os blocos descritos aqui.

Por enquanto os suportes são de MDF, mas foram projetados para serem feitos em uma RepRap (a do amigo). Quando as peças já forem fabricadas com todos os detalhes a montagem ficará muito fácil, mas por enquanto tenho que preparar, furar e usar gabaritos...

Os parafusos são Autoatarrachantes 3,5x16 mm fenda cabeça chata ou panela conforme o caso. Para não danificar os suportes é necessário fazer um pré-furo de 2,5mm antes de inserir os parafusos. Os detalhes estão no desenho do Blog anterior e o pdf aqui.

Um dos suportes fica exatamente onde é o Motor de Passo do Eixo Z, então ele é mais largo para se apoiar de cada lado.

Como já estavam cortados, usei 2 suportes colados e com um reforço colado e aparafusado.
Primeiro precisa fixar o trilho externo nos Blocos menores. Recortando o desenho (imprimi em escala 1:1 em várias páginas e colei com cuidado) fica mais fácil ver as dimensões.
Cuidado para não errar! o desenho é visto por cima e o conjunto está de cabeça-para-baixo na foto, e também um conjunto é invertido do outro...
O trilho tem que ficar muito bem paralelo à base, utilizei dois blocos de apoio de 6mm para que todos fiquem iguais. Tem que marcar e furar com muito cuidado porque a cabeça do parafuso encaixa e é muito difícil fazer ajustes.


Detalho dos Parafusos: a cabeça do parafuso encaixa no furo com diâmetro grande para ficar apenas um pouco saliente, duas arruelas M4 servem de calço para evitar pressão na região central do trilho. Também está aí o parafuso que serve só de fim de curso para as bolinhas.
Ficando assim...
O fim de curso na ponta do Z fica assim. é um parafuso M3 cabeça cilíndrica com duas arruelas para alcançar a altura necessária.
E este é o parafuso que serve de fixação do trilho externo e fim de curso ao mesmo tempo. Duas arruelas levantam a cabeça o suficiente para segurar o guia intermediário, outras duas evitam a pressão no centro do trilho.
O Suporte do trilho interno é mais simples de fixar, o parafuso entra com folga e a cabeça fica para fora. Não deve ser apertado ainda, é aqui que é feito o ajuste.
Esse ajusta da altura deve ser feito dentro de uma canaleta com distancia interna de 38mm. Tanto para marcar o furo como para fazer o ajuste final.
Cada conjunto de blocos deve ser medido e conferido para que estejam todos com 38mm. Pode ser preciso reajustar.
A furação deve ser feita no final com o mesmo Gabarito, isso corrige os desalinhamentos que vão acontecendo no processo.

Foi necessário marcar a furação em mais de uma posição para garantir que os trilhos estejam bem posicionados.




Pronto, estes são os trilhos Y e Z. Só falta montar nas placas correspondentes.


Esta montagem seria mais lógica fazendo os 3 eixos simultaneamente, mas como estou aprendendo enquanto faço, um dos eixos já está pronto. Aliás vai precisar ser refeito... mas isto será um novo capítulo