Gil, sobre o jitter, seguem as fotos.
não de pra ver direito pois a foto é instantânea. mas tanto o traço de subida como o de descida não acontecem no mesmo ponto. a média é 19500Hz, mas a cada ciclo os tempos alto e baixo são um pouco diferentes por que o ponto de subida e de descida variam.
Essa variação no instante de subida/descida do pulso é resultado do "famoso" jitter. Que causa um atraso variável na temporização do programa. Para evitar (ou amenizar) isso, o PC não deveria ter nada rodando (screen saver, anti-vírus, ....), exceto o programa de CNC. Ou seja, é por isso que eu sempre digo,
abaixo o Ru-Windows para aplicações de tempo real. Sendo excessivo, esse jitter pode gerar perda de passos, pois o motor possui um certo momento de inércia (oposição à aceleração angular - 1ª Lei de Newton, lembra??) e não consegue acompanhar essas variações rápidas, que podem ser jitter ou um movimento rápido realmente comandado.
Se estiver usando o TurboCNC "apenas" com DOS, verifique se não há mais nada, drivers, ... rodando ao mesmo tempo, pois a CPU está sendo interrompida para fazer alguma outra coisa além do TurboCNC.
Outra coisa é que o próprio TurboCNC poderia estar gerando esse jitter, se não tiver sido bem desenvolvido, ao invés de usar o clock interno da CPU como referência temporal usar apenas um loop de instruções, com saltos condicionais, que causaria atraso variável.