Matrixlan1,
Qual o seu nome?
eu uso o o comando delay_ms para controlar o atraso do ciclo ALTO e ciclo BAIXO po exemplo:
output_high_2 (pino 2 da porta paralela)
delays_ms(10) causa atraso de 10 ms
output_low_2 (pino 2 da porta paralela)
delays_ms(10) causa atraso de 10 ms
nesse caso acima o pino 2 da porta paralela fica gerando um sinal de clock controlando pelo comando delay_ms que é de 10 ms, mas se vc observar o mesmo a mesma duração do ciclo positivo é do ciclo negativo.
me parece que isso nao pode ser assim, pelo que vi no datashet do L297 que o colega cima me forneceu o o ciclo positivo (1) permance com mais duração do que o ciclo negativo (0).
Se o seu software não estiver "brigando" com o sistema operacional voce teria um sinal do tipo onda quadrada, com 20 ms de período. Mas existem outras coisas a serem consideradas, por exemplo a latência do Windows. O ideal seria avaliar a forma de onda da saída do PC que o seu programa "pretende" gerar.
Para valores de temporização muitos baixos, da ordem de milissegundos, a latência do Sistema Operacional passa a ser significativa...
A latência do Windows é algo muito relativo, depende de quão carregado está o seu computador, o que mais está rodando, os privilégios e prioridades atribuídos ao seu programa pelo Windows. Qual versão de Windows está usando?
estou usando C++ BUILDER uma ferramenta de programação da Borland que ja sai com a interfaçe do programa pronto pra uso..
MINHA PERGUNTA: seria por isso que o motor funciona mais lento? devido a forma como sinal entra no L297?
A foma de onda não faz diferença nesse caso, apenas a frequência. Experimente alterar a temporização e veja como motor se comporta. Se tiver acesso a um osciloscópio, avalie a forma de onda...
Eu gosto de usar a linguagem C, o compilador C++ Builder já usei há algum tempo atrás. Mas é um bom compilador para interfaces gráficas e outras coisas. Porém, controlar vários motores de passo com resolução de milissegundos já é outro "departamento"...
Estamos falando de programaçção de sistemas em tempo real. Onde "tempo real" é a temporização necessária para controlar motores, muito rápido, se for um CNC...
Nunca usei Windows para esse tipo de aplicação e particularmente não gosto. Mas, nesse caso, o ideal seria testar e medir o que está acontecendo (com as ferramentas adequadas). Pois a verdade raramente é o que se espera, quando se trabalha com Windows + programas de tempo real...
Bem vindo à "selva"...