TODOPIC
FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: pablo en 25 de Agosto de 2006, 23:25:59
-
Hola:
Puede ser que un motor paso a paso haga un giro completo en 20 segundos como minimo.
El motor gira a 1.8º por paso, lo estoy probando con el proteus y no logro que gire mas rapido.
Tenia pensado armar algo pero 20 segundos era lo mas lento que queria llegar, por lo menos pensaba que hacia mas de un giro por segundo.
Si alguien me puede ayudar se los agradezco.
Saludos.
Pablo
-
Hola pablo, un motor PaP de 200 pasos facilmente llega a los 300 RPM, lo que te a sucedido es que no as colocado los parámetros correctos para que el proteus te lo simule bien, de todas maneras no podrás con proteus ver una velocidad de 300 RPM.
Un saludo.
Atte. CARLOS.
-
Lo que pasa es que tambien lo probe y no funciona bien.
Por ejemplo para hacer que gire 1.8º hay que realizar 4 pasos. Y para que funcione le tengo que dar un delay de 100ms por cada paso, osea para que gire 1.8º bien tardo como minimo 400ms, es demasiado en cuanto bajo los tiempos no funciona o hace cualquier cosa.
Sabes C? El picc viene con una libreria que trataja de esta forma y en ms osea como minimo deberia hacer 1.8 en 4ms (800ms por vuelta) pero tampoco funciona.
Imagino que estoy haciendo algo mal.
-
Hola pablo, ¿en la vida real lo as probado? como ya te comenté en el proteus la simulación no es sencilla. Y en C no lo conosco, por lo que no puedo darte una pista.
Un saludo.
Atte. CARLOS.
-
A ver....
1 paso = 1.8 grados = 400ms = 0.4 seg.
200 pasos = 360 grados = 80000ms = 80 seg........
Evidentemente, es un problema de la simulacion, cualquier impresora matricial que arrastra el papel o mueve el carro evidentemente y a pesar de los engranajes de reduccion, esta dando mas de una vuelta cada 80 segundos... :)
Yo te diria que Proteus (al que nunca use) tarda MUCHO mas que el tiempo real en simular....y ahi esta el problema.
Saludos.
-
Gracias por la respuesta.
Creo que gira unas 5 vueltas por segundo como mucho.
Osea 5 vueltas son 2000 pasos en total = 0.5ms por paso.
Mi problema era que no sabia como realizar en C tiempos menores a 1ms. Pero charly29 ya me ayudo. Tenia que usar una funcion delay_us para micro segundos.
Ah, el proteus no lo simula, pero en la practica funciona bien.
Saludos.
Pablo
-
Me alegro que lo hayas resuelto. Saludos. :mrgreen: