Ferrnado,
Estou desenvolvendo uma placa de interface entre a CNC que estou projetando e o computador via porta paralela.
Peguei idéias de vários lugares na internet, um deles foi esse:
http://www.probotix.com/manuals/PBX-2_manual.htm.
Ele é um manualzinho descrevendo a conexão de uma placa entre a CNC e a porta paralela. Ele serve para máquinas de até 4 eixos: X, Y, Z e A.
Mas se você não precisar do quarto eixo, voce pode usar os pinos reservados a ele na porta pararela para outros fins.
Sobre a transmissão de dados entre o computador e a CNC, usando a porta paralela: o seu arquivo CAD das peças deve passar por um software no computador que o converte em uma lista de instruções para máquina(exemplo desse tipo de programa: "Sheetcam"). Estas instruções são então carregadas por um outro software que é responsável por acionar os pinos da porta paralela(de acordo com as intruções geradas anteriomente) gerando os sinais de direção e passo para os drivers dos motores(exemplo desse programa: "Mach3"). Se você perceber, depois da porta paralela no computador, não existe mais processamento dos dados. A placa que fica entre a porta paralela, como a que eu lhe indiquei no link acima, serve somente para isolar eletricamente(o computador da potência da máquina a fim de evitar danos ao pc) e transmitir os sinais de direção e passo para os drivers dos motores.
Sobre sua solução utilizando o micro controlador ARM você tem duas opções:
1) Mais simples, mas exagerada por usar um arm pra isso: usar o arm somente para receber da porta paralela os sinais de direção e passo para então acionar as ponte-h dos motores. Ao invés do ARM você poderia usar um CI dedicado para isso como o driver A4989 da Allegro, dá pra comprar na digikey.
2) Mais complexa, mas remove a porta paralela da história: Usar o arm via interface USB (como uma virtual COM ou pela USART) para receber as instruções geradas pelo software do tipo do "SheetCam", interpretar estas instruções e gerar com o próprio ARM os sinais de direção e passo para todos os motores. A complexidade nesta opção é gerada pelo fato de ser o ARM o responsável por gerar a trajetória da máquina. Isto requer habilidades matemáticas na área de controle para criar o firmware. Eu ainda pretendo fazer uma cnc usando este sistema(processamento embarcado), mas, sem tempo, é difícil. Acho que você poderia ser o pioneiro desse fórum nesse assunto. Que tal se aventurar na geração de trajetórias para máquinas de três eixos?
. Recentemente trabalhei em um projeto na volkswagen para reformar algumas máquinas de três eixos lá. Criei a parte de geração de trajetórias. Mas assumo que não ficou muito bom. Apesar de ser engenheiro de controle, esse tipo de tarefa não é trivial para um estagiário. Aahahaha.
Não sei se fui claro, qualquer crítica ou dúvida ou sugestões, estou por aqui.