Lembrando os motivos para usar este driver:
1) aprender mais sobre o processo da RepRap, não apenas usar o que está pronto
2) trabalhar em condições mais próximas de uma CNC, visando conversões
3) preço e desempenho bons
O driver que estou usando é este driver da GLB.
Por $50 (com frete) temos um driver para 3.5A 36V. O chip usado é o Toshiba TB6560.
O primeira modificação, que já tinha feito, foi desconectar o cooler da placa e conectar direto na fonte de 12V, assim o regulador de 12V na placa driver não aquece. Também inseri um resistor de 100R em série com o cooler para fazer menos barulho.
- Problema com os Acopladores óticos:
Estas imagens foi o Jorge que me mandou, se alguém souber o link original por favor me informe. Eu usei estas imagens porque foi exatamente isso que eu observei.
NOVO: Encontrei o site original destas fotos, veja aqui. Também aproveitei e fiz as alterações do capacitor do oscilador. Várias pessoas ouviam o apito do chopper que era muito desagradável e agora sumiu!
NOVO: Encontrei o site original destas fotos, veja aqui. Também aproveitei e fiz as alterações do capacitor do oscilador. Várias pessoas ouviam o apito do chopper que era muito desagradável e agora sumiu!
Isto é o que acontece com o pulso quando passa pelo acoplador ótico: ele alarga muito.
Eu medi 20 a 50us conforme o acoplador (a linha de cima é o sinal de entrada já invertido pela placa).
outro problema é que o chip é sensível à subida do clock e este circuito deforma muito esta parte.
Aqui foi removido o acoplador do Step e não do Dir. A linha vermelha indica o momento em que o Dir mudou de nível, dá para ver que para o chip driver, essa mudança só ocorre após o Step.
Resultado: um step da direção errada!
Com acopladores nos dois sinais, isso vai depender de qual dos acopladores é mais rápido...
É assim que o sinal acima deveria ser! Ambos os acopladores foram removidos.
Aqui dá para ver que há muito pouco tempo entre a mudança do DIR e o STEP seguinte.
1) O acoplador ótico limita a frequência máxima utilizável a algo próximo a 15kHz. A especificação tando do TB6560 quanto da placa são de 15kHz, mas agora ele funciona bem até essa frequência. (funcionou sem problemas em testes que fiz até 18kHz)
2) tem que enviar um pulso mínimo de 3us para acionar o acoplador ótico. o firmware Marlim, que hoje é o mais completo, manda apenas 1,3us, eu havia feito uma modificação para contornar esse problema.
3) no sistema montado na Masmorra pelo Grupo de Estudo não apresentou esse problema, ou o software Gen3 era mais lento ou os acopladores de DIR eram mais rápidos que os de STEP.
- A solução é muito simples
A sequencia dos acopladores é step-en-dir para cada canal.
Basta colocar um jump entre os pinos 2 e 4 dos acopladores de STEP e DIR.
O circuito do Enable é um pouco diferente, então o jump teria que ser entre os pinos 2 e 3, porém o sinal também tem que ser invertido.
Teríamos então EN/ ativo em baixo (existe um inversor na placa), a entrada desconectada se tornaria ativa!
Esse circuito também foi o Jorge que desenhou, eu só recortei um pedaço.
- Sucesso
Nas tentativas anteriores ele estava saindo inclinado para a esquerda.
Na verdade ele ainda está muito ruim em alguns aspectos.
- Velocidade
Com isso consegui aumentar a velocidade da máquina. Testando com meu Joy-Stick analógico e não imprimindo, isso virá depois.
Usando meio-passo consegui operar bem a 18kHz que são 57mm/s
Usando passo cheio, dá para operar confiavelmente até pouco mais de 11kHz ou 70mm/s=4200mm/min.
Como estou imprimindo ainda muito devagar (20mm/s), vou continuar com meio-passo que faz um pouco menos de barulho. Isso já me fornece uma velocidade de 50mm/s=3000mm.min. Quando a velocidade aumentar bastante acho que a vibração será menor, então voltarei a passo cheio...
Para imprimir mais rápido existe um recurso que diminui a velocidade do extruder quando o carro/mesa desacelera, a finalidade é evitar acúmulo de plástico nos cantos. Essa é minha próxima pesquisa.
Em outra impressoras como a Prusa, não há aceleração e portanto esse problema não existe
- Desempenho do Firmware
Medi também o tempo de de execução da ISR do Marlim. O método é simples, seta-se um bit no começo da rotina e desliga-se no final. O resultado não é muito animador:
48-53us durante as acelerações (a maior parte do tempo durante uma impressão complexa)
28us depois de estabilizada a velocidade com movimento simples
75us eventuais, parece-me que quando há alteração de movimentos
isso coloca um limite pouco acima de 10kHz.
Mas o Jitter fica abaixo de 5% com eventuais 10% em todos os casos que pude verificar e então não vai gerar problemas.
Mas o Jitter fica abaixo de 5% com eventuais 10% em todos os casos que pude verificar e então não vai gerar problemas.
Esse firmware foi baseado no GRBL que funciona até 30kHz, mas a ISR foi muito alterada para maior comodidade de configuração. O resultado é que a execução ficou mais lenta.
No GRBL existem 4 motores e os comandos STEP e DIR têm que ficar todos em uma mesma porta de saída do micro-Controlador, isso permite fazer uma rotina extremamente rápida.