Eu não utilizei nenhuma PIC
, o controlo é todo feito atravez de software, dai eu dizer que o computador me limita a velocidade dos motores. Para rodar os motores tenho um código deste genero:
Primeiro estás a fazer uma espera, delay, à martelo. Ou seja estás a fazer com que o processador fique entretido a fazer qualquer coisa, e assim provocar um delay. Pode-se fazer assim, mas geralmente è má ideia, porque podes ter processos em background que necessitem do processador. No PC não é tão critico mas em PICs é bastante.
Ora o que se customa fazer é criar uma interrupção por software ou hardware. Nas PICS usa-se o RTI (real time interrupt) e confuguras o registo para a cada x tempo provocar uma interrupção. Ou seja imagina que tinhas o RTI a disparar a cada 100 ms. Se quisesses esperar 500 ms, bastava teres um contador até 5.
Quanto à influencia do PC na velocidade de comutação das portas, não é por ai. Porque tu consegues fazer disparos na porta muito rápidos. A questão aqui, e para não estar a qui a encher muito o post, é para alterares a velocidade só mexes no delay. Agora porque razão existe esse delay, e porque razão tem de haver sempre ?, é que tu ao dares um pulso, o motor leva algum tempo até mover-se para a posição correcta. Se não fizesses este delay o motor começava a perder passos e mesmo não andava, tipo andava pra frente depois andava para trás.
A questão que te levou a pensar que quanto mais rápida é o PC maior será a velocidade do motor, foi de usares a tal solução a martelo. Ora cada instrução no processador do PC demora x segundos, mas se o clock do PC for mais rápido essa instrução já demora menos do que os x segundos. Isto não quer dizer que o teu motor é mais rápido consoante o PC. Se assim fosse era um erro grave de engenharia ...
Ou seja altera o teu ciclo de espera e vais ver como o motor fica mais rápido.
Mas agora em offtopic, continua com o gosto pela robotica, porque infelizmente muita gente anda em eng electrotecnica porque tem saida, mas depois é a desgraça, nem num ferro de soldar sabem pegar
