Go Down

Topic: Control motor Paso a Paso con Interrupciones(velocidad mucho más rápida) (Read 1 time) previous topic - next topic

Mecop86

Saludos amigos/as
Tengo un proyecto entre manos muy importante para mi y estoy atascado varios dias no pemitiéndome continuar con este,
Se trata de el control de un motor paso a paso sin utilizar delays ni parecidos(necesito una velocidad mucho mayor de proceso), sino con interrupciones, las cuales me permiten que la rampa de aceleración y deceleración sean mucho más rápidas, el motor lo voy a usar e implantar en una máquina de grabación láser rotacional esto es, para gravar logos, imágenes etc en superficies circulares, copas, vasos, etc.
tengo constancia de como controlar el motor paso a paso mediante delays y de echo tengo ya el programa con delays finalizado, el cual lee un valor analógico mira si debe ir alante o atrás, vuelve a leer un segundo valor, compara con el anterior y se mueve alante o atrás según corresponda y asi sucesivamente, el problema es que este método es demasiado lento para el uso del motor que quiero hacer y necesito una mayor velocidad de movimiento para el motor, la única manera que existe, creo, es mediante interrupciones, el problema es que no consigo implementar las instruccones necesarias para manejar interrupciones en arduino sobre el programa que ya he hecho o sobre un nuevo programa iniciado desde cero, he leido sobre interrupciones para arduino pero no me termina de quedar claro y no tengo mucha experiencia con ellas, de hecho yo estoy tambien en general falto de experiencia en general y estoy a la vez que programando este motor, aprendiendo, el motor por supuesto esta conectado a un driver con el chip DRV8825 el cual me facilita dos únicas salidas de control STEP y DIR, que son los pasos que debe de dar el motor y la dirección, facilitándome cantidad las conexiones.
He estado leyendo algún programa parecido que he podido encontrar y veo que se manejan con el control de las rampas tanto de acceleración como de deceleración mediante interrupciones y estoy un poco agobiado por que nose como implantarlo en arduino. Estoy viendo el ejemplo que se llama: AVR446 - Linear speed control of stepper motor Documentation en el cual controla tanto la velocidad del motor, las rampas, dirección, etc. Es un programa interesantísimo pero no logro ver claro como utilizarlo en el compilador de Arduino UNO o DUEMILANOVE ya que, este ejemplo funciona con otro compilador.

Si fuese alguien tan amable de gastar un poquito de su tiempo y leer mi propuesta e ya de paso echarme un pqueno cable estaría muy agradecido.
Muchas gracias por la paciencia
Un saludo a todos

Eneko Llarena Guerras
mecop86@gmail.com

Go Up