-
-
El software
Nuestro programa tiene que ser capaz de energizar las bobinas en el orden adecuado. Utilizando el lenguaje BASIC del PIC SIMULATOR IDE (que puedes aprender a utilizar leyendo nuestro tutorial sobre programación de microcontroladores) resulta muy sencillo.
Comenzamos definiendo los pines del 12F675 como salidas, a la vez que cambiamos sus nombres por “bobina0”… bobina3”. Como el programa de ejemplo contempla la demostración de giros en ambos sentidos y a diferentes velocidades, es que hemos definido una serie de variables cuyo valor inicial determinan como y a que velocidad girará el motor.
Estas variables están comentadas en el código fuente, y los tiempos están expresados en milisegundos. El giro se produce en uno u otro sentido gracias a las sentencias que componente las subrutinas “rotacionder” y “rotacionizq”.
Cada bucle FOR-NEXT se encarga de efectuar 10 pasos en un sentido, y luego de un tiempo, 10 pasos en el sentido contrario. Por supuesto, el lector puede variar estos parámetros para experimentar con el motor.
‘--------------------------------------------------
‘NeoTeo – Controladora de motores PAP
‘con PIC12F675 - Versión 1.01
‘--------------------------------------------------
Symbol bobina0 = GPIO.0
Symbol bobina1 = GPIO.1
Symbol bobina2 = GPIO.2
Symbol bobina3 = GPIO.4
AllDigital
TRISIO = %000000 'GPIO Todo como salidas
Dim tiempoder As Word 'Demora entre energizado de bobinas
Dim tiempoizq As Word 'Demora entre energizado de bobinas
Dim tiempo1 As Word 'Demora después de girar a un lado
Dim tiempo2 As Word 'Demora después de girar al otro lado
Dim i As Word 'cantidad de pasos a dar
tiempo1 = 5000 'En milisegundos
tiempo2 = 1500 'En milisegundos
tiempoder = 50 'En milisegundos
tiempoizq = 10 'En milisegundos
GPIO = %000000 'todas las salidas a 0
loop: 'Bucle principal
For i = 1 To 10
Gosub rotacionder
Next i
WaitMs tiempo1
For i = 1 To 10
Gosub rotacionizq
Next i
WaitMs tiempo2
Goto loop
End
rotacionder:
bobina2 = 1
bobina0 = 1
WaitMs tiempoder
bobina0 = 0
bobina2 = 1
WaitMs tiempoder
bobina1 = 1
bobina2 = 1
WaitMs tiempoder
bobina2 = 0
bobina1 = 1
WaitMs tiempoder
bobina3 = 1
bobina1 = 1
WaitMs tiempoder
bobina1 = 0
bobina3 = 1
WaitMs tiempoder
bobina0 = 1
bobina3 = 1
WaitMs tiempoder
bobina3 = 0
bobina0 = 1
WaitMs tiempoder
Return
rotacionizq:
bobina2 = 0
bobina0 = 1
WaitMs tiempoizq
bobina0 = 1
bobina3 = 1
WaitMs tiempoizq
bobina0 = 0
bobina3 = 1
WaitMs tiempoizq
bobina3 = 1
bobina1 = 1
WaitMs tiempoizq
bobina3 = 0
bobina1 = 1
WaitMs tiempoizq
bobina1 = 1
bobina2 = 1
WaitMs tiempoizq
bobina1 = 0
bobina2 = 1
WaitMs tiempoizq
bobina2 = 1
bobina0 = 1
WaitMs tiempoizq
Return
En un articulo futuro analizaremos con detalle el funcionamiento de los motores PAP de 4 cables, que requieren de dos circuitos conocidos como “puente H” para funcionar.
-
¿Y tú, qué opinas?
-
#1
-
#2marshall_260 viernes, 09 de mayo de 2008, 21:27
#1Hola ect00000!
En breve publicaremos el circuito y el soft para utilizar esos motores. Yo mismo tengo una caja llena de ellos. Quiero hacer unas cuantas pruebas antes de publicar nada, para asegurarme de que todo funciona bien.
Saludos! -
#3ect00000 lunes, 12 de mayo de 2008, 23:35
#2gracias Ariel esta interesante tu articulo lo estare esperando muchos saludos!
-
#4
-
#5
-
#6Ariel Palazzesi jueves, 22 de mayo de 2008, 12:30
#5Hola Cesar.
No, no es complicado. Habria que agregar los pulsadores y modificar el programa. Estaria bueno hacer que si pulsas durante un segundo o dos un pulsador, el motor aumente la velocidad de giro, una especie de "Avance Rápido".
Como veras, eso es lo bueno de los microcontroladores: son muy flexibles!
Saludos!
Ariel. -
#7
-
#8marshall_260 martes, 29 de julio de 2008, 20:46
#7Hola Darx!
Imprime el diagrama del proyecto, y llevalo a cualquier tienda que venda componentes electrónicos. No tendrás problemas en conseguir nada de lo que hace falta para llevar a cabo este proyecto.
Saludos. -
#9
-
#10
-
#11
-
#12
-
#13
-
#14marshall_260 sábado, 13 de septiembre de 2008, 19:55
#13Hola!
Hace este...funciona perfectamente. Lo tenemos en uso en NeoTeo desde hace algunos meses, y funciona muy bien.
Saludos. -
#15IORY jueves, 25 de septiembre de 2008, 05:04
no seria mas simple en ves de usar un micro usar un contador johnson como el 4017 y un buen astable regulable como el que se hase con el 555?
-
#16garikolc domingo, 05 de octubre de 2008, 17:16
Hola a todos, ese circuito para el funcionamiento de motores paso a paso es realmente interesante, me gustaría saber los componentes para poder hacer uno, pues he preguntado en varios sitios y no han sabido darme respuesta, todos coinciden en que hace falta un circuito especial, jeje.
Gracias. -
#17JAQS18 viernes, 10 de octubre de 2008, 14:26
Saludos amigo muy interesante este proyecto yo hice la pcb pero cuando corte y pegue el programa en el basic compiler del ide simulator, me comenzo a dar errores desde la primera linea???, no se que pudo pasar mil gracias
-
#18MORALES lunes, 16 de marzo de 2009, 15:29
#16HOLA MUCHACHOS, NECESITO UN CIRCUITO PARA PONER A FUNCIONAR DOS BRAZOS DE UN MANIQUI CON MOTORES PASO A PASO.
GRACIAS -
#19Fernando domingo, 05 de julio de 2009, 06:59
NeoTeo como siempre con sus buenos artículos. Quería hacerles una pregunta. Resulta que estoy usando un motor bastante grande y quiero usar esta tarjeta para controlarlo. Podrían indicarme cuantos Amperios soportan estos transistores? El voltaje mínimo de alimentación para el motor es 5V?
-
#20
-
Cargando...
-
nuevo comentario
Nombre Campo obligatorio
Email Escriba una dirección de correo electrónico con el formato sunombre@ejemplo.com.
Campo obligatorio
-



