Primeiramente, se estiver no post errado, por favor, moderadores, informem para que eu possa remanejar e peço adiatadas desculpas.
Então, vou falar um pouco sobre a estrutura que montei aqui. Eu havia comprado uma máquina, modesta em tamanho, mas, tentando fugir dos erros mais comuns que eu cometi antes, principalmente no que diz respeito a estrutura – seria a minha terceira máquina, desde 2010. A máquina é de 600 x 450 x 100 mm³, com uma tupia makita no lugar do spindle, que eu tenho a pretensão de fazer upgrade para spindle, mas, ainda não me apareceu a oportunidade (R$). Sou aluno e pesquisador da área de controle de movimento e amante de CNC, então, comprei a máquina para hobby e para suporte à minha pesquisa.
A máquina veio com uma placa de interface paralela, que funcionava com o Mach 3, que aliás, é um programa bem legal. Contudo, na minha pesquisa, estou desenvolvendo um controlador para CNC com maior capacidade de configuração nas rampas de aceleração e desaceleração e, para isso, decidi usar a Beaglebone Black (BBB).
Fiz uma placa de interface, com as saídas que eu bem entendi e lá pelas tantas, há coisa de um mês atrás, descobri o MachineKit, uma versão spin-off do LinuxCNC, que surgira inicialmente para a BeagleboneBlack, mas, que já tinha expandido para outras plataformas, até mesmo para x86-64. Foi quando percebi que poderia usar a estrutura na qual eu estava desenvolvendo o meu trabalho para controlar de verdade a máquina, já ainda estou desenvolvendo tudo e ainda não está pronto para um ambiente de produção – ainda que em nível de hobby.
Percebi que as entradas e saídas que estava usando conflitavam com a saída HDMI da placa, então, usar a interface direta na BBB não seria uma opção. Então, encontrei um repetidor de sinal que tinha comprado e estava sem uso, pois a rede daqui de casa nunca se deu bem com o tal repetidor. Coloquei ele como roteador e acesso a rede sem fio que ele cria para ter acesso remoto à BBB e foi só sucesso. A conexão ficou estável e rápida, porém de curto alcance (~6m) se eu quisesse manter a velocidade rápida, mas, já me bastava, só de poder usar o notebook para controlar a máquina já estava de bom tamanho.
Estuedei algumas aplicações do LinuxCNC e MachineKit, porém não encontrei uma forma de interface remota, por rede, para controlar a máquina. Então, procurando por alternativas, descobri que usando o SSH, eu poderia redirecionar o display para o cliente SSH, no caso, o notebook ou qualquer computador interessado em usar a máquina CNC. O legal disso é que funciona em qualquer computador e em qualquer sistema operacional, apenas instalando alguns poucos programas – ou nenhum, no caso do Linux e do OSX. (Pelo menos foi o que conclui com os testes que tenho feito).
Enfim, algumas vantagens do uso da BBB para o controle de CNC:
- Baixo jitter – pra não dizer nulo – devido como o MachineKit lida com a geração de pulsos: usa um co-processador para gerar os pulsos, tendo uma temporização extremamente exata e de alta repetibilidade, já que o co-processador não executa um sistema operacional.
- Baixo custo de aplicação – discutível se você tem à disposição um computador antigo com uma porta paralela, que normalmente sái de graça para você. Tudo o que você precisa é de uma Beaglebone Black/Green (45 USD), uma breakout board, que pode sair por 65 USD ou menos.
- Segurança, confiabilidade e flexibilidade de um sistema baseado no LinuxCNC.
- Baixo consumo de energia, pelo menos em relação a usar um PC para o controle.
- Precisa também de alguma paciência e muita perseverança, pois ô negócio chato isso de Linux embarcado!
Por enquanto, é isso, mais pra frente escrevo sobre como configurar o MachineKit para utilizar uma placa de interface qualquer, como foi o caso da minha.
PS.