Um exemplo , fiz uma furadeira cnc , entreguei ela perfeita não perdia passos
Não perdia passos, nenhum?
o dono da maquina resolveu usar uma broca de 20mm com avanços não suportados nem pela ferramenta nem pela maquina, resultado perdeu passo quando ia sair do furo , a maquina foi posicionar em outro quebrou a broca e marcou a peça.
Isso entra no que você falou sobre tolerâncias da ferramenta, mas se essa maquina tivesse esse sistema , não teria nem quebrado a broca nem estragado a peça ....
Se eu tivesse entregado a maquina para uma aplicação unica beleza ,mas normalmente o processo é variado e a maioria dos meus clientes nunca tiveram uma CNC e vão errar bastante até aprender ...
Entendo que o usuário não soube usar a máquina e "abusou da bichinha", resultado, mandou um avanço elevado que resultou em velocidade alta e baixo torque e então ... perda(s) de passo(s). Um dispositivo detector de perda (elevada) de passos, poderia parar a máquina e/ou gerar um alarme.
Trabalho com automação industrial há décadas... e posso afirmar com tranquilidade que em qualquer controle em malha fechada do tipo PID não se consegue zerar o erro de regime permanente e muito menos quando o set point está sendo alterado, por exemplo, numa trajetória em curva não circular, essas coisas ocorrem numa CNC, seja com motores DC ou brushless servo-controlados com encoders, drivers de última geração, ... o erro sempre estará lá. Isto é intrínseco do controle PID, do tipo feedback, a ação de controle ocorre após ser encontrado um pequeno erro, uma pequena diferença mínima, mas não nula.
Por outro lado, se colocarmos um encoder num motor de passo num CNC (formando um sistema em malha aberta, sem controle feed-back, apenas a leitura de posição para detectar erros) poderemos detectar os grandes erros, decorrentes de enganos na operação da máquina ou errinhos mínimos que não chegam a atrapalhar o processo de usinagem. Para essa comparação da posição real (calculada a partir do sinal do encoder) x posição esperada do motor (informada pelo software CNC) é necessário um comparador rápido, com certeza um DSP com entrada para sinal de encoder traça isso facilmente.
A menos que o sistema se mova em baixa velocidade, o LinuxCNC (antigo EMC) através da velha porta paralela não consegue processar um sinal de encoder de dois canais (A e B) da ordem de centenas ou milhares de KHz e também efetuar a comparação em tempo real de posição durante a movimentação do motor.