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.