Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

21/05/2010 #1


control de motores paso a paso
El proyecto en el que estoy trabajando es una maquina cortadora de cinta para marquillas como las de plastico o tela que ven en las camisetas, el principio de la maquina debe ser así; un motor1 jala la cinta ya impresa a una medida puede ser unos 35mm por ejemplo; en ese momento revisa un sensor que ya he estado revisando y puede ser como el de robot seguirdor de linea que censa una línea guia y da la orden de cortar lo cual lo hace otro motor2 que siempre tiene que dar una vuelta completa para bajar la cuchilla y vuelve a repetirse el ciclo.
El motor1 que jala la cinta tiene que ser variable, tanto la medida de arrastre como la velocidad.
No sé si conectarla al computador para poder modificar el largo de la cinta o por botones uno que aumente de a milímetro y el otro que reduzca la medida, en una pequeña consola se pudiera como en un displey.

Ya tengo el driver de los motores paso a paso, los moteres pero aun no me e decidido que micro utilizar o si me aconsejan conectarla al compuador que interface.
No sé si me hago entender específicamente.
les agradezco en lo que me puedan ayudar.
21/05/2010 #2

Avatar de tecnogirl

Respuesta: control de motores paso a paso
Puedes enviar la referencia y detalles tecnicos del driver y los PaP o fotos ?
Sobre el motor1, qué rango de velocidad necesitas y que mecanismo de arrastre tiene asociado para halar la cinta ?

Si este es un proyecto experimental puedes empezar apoyandote en la PC y luego migras el control a un microcontrolador.

Saludos
21/05/2010 #3


Respuesta: control de motores paso a paso
Gracias por tu pronta ayuda.

Mira el driver para el motor es el L297 y L298 y el motor es el mitsumi m42sp-6nka lf bipolar de una impresora que recicle y la velocida que nesecito es que cada movimiento que de sea de unos 40 milisegundos en el motor1 y la vuelta que da el motor2 sea lo mas rapidoposible para que no giren al mismo tiempo.de todas formas voy a subir unas imagenes de como va el mecanismo de arrastre, los circuitos de los drivers y una idea mas clara sobre la maquina.

Gracias.

Hola tecnogirl

Mira adjunto envio este diagrama de la maquina haber si me puedo explicar mejor y el circuito del driver para que lo puedas ver.

Gracias

[IMG]file:///E:/Users/Johan/AppData/Local/Temp/moz-screenshot.png[/IMG]
Imágenes Adjuntas
Tipo de Archivo: jpg Grafico maquina1.jpg (73,2 KB (Kilobytes), 104 visitas)
Tipo de Archivo: jpg Drivers motor paso a paso unipolar.jpg (77,3 KB (Kilobytes), 127 visitas)
21/05/2010 #4

Avatar de tecnogirl

Respuesta: control de motores paso a paso
Ok. Aqui en FE se ha consultado varias veces sobre ese driver de PaP: http://www.forosdeelectronica.com/se...o-37083%2F#812

Saludos
21/05/2010 #5


Respuesta: control de motores paso a paso
ok eso ya le tengo resuelto y tu me recomiendas que lo haga inicialmente por el pc y eso es lo que no se como se hace me podrias ayudar con eso.
24/05/2010 #6

Avatar de tecnogirl

Respuesta: control de motores paso a paso
Con el puerto paralelo, revisa los siguientes temas:
http://www.forosdeelectronica.com/se...o-37083%2F#876

Con el puerto paralelo se logra un "driver PaP" mas sencillo y de paso permite integrar la señal optica detectora de la marca en la banda de etiquetas.
Saludos

Saludos
16/09/2017 #7


control de motores paso a paso
Buenas. Quisiera saber si alguien sabe como poner en una posición de referencia dos motores paso a paso que son controlado por un PIC-16F877A. Los motores giran en sentido horario (numero uno en puerto c) y en sentido antihorario (numero dos en puerto c), pero al momento en que se ponga en numero cero o cualquier otro numero(default) en el puerto c (que tiene conectados unos interruptores en sus pines) los motores deben volver a una posición de referencia. Los motores son de 100 pasos y el programa que llevo hasta ahora es el siguiente:
Código PHP:
#include "16F877A.h"
#fuses XT,PUT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOCPD,NOWRT,NODEBUG
#use delay(clock=4000000)
   
void a();
   
void b();
void main()
   {
   
unsigned int8 z=0;
   while(
1)
   {
   
z=input_C();
   switch(
z)
   {
   case 
0output_B(0x00);break;
   case 
1:   a();break; //ambos motores en sentido reloj//
   
case 2:   b();break; //ambos motores en sentido antireloj//
   
default: output_D(0x00);
   }
   }
   }

   
void a()//1 ambos motores en sentido reloj//
   
{
   
output_B(0x88);
   
delay_ms(200);
   
output_B(0x44);
   
delay_ms(200);
   
output_B(0x22);
   
delay_ms(200);
   
output_B(0x11);
   
delay_ms(200);
   }

   
void b()//10 ambos motores en sentido antireloj//
   
{
   
output_B(0b00010001);
   
delay_ms(200);
   
output_B(0b00100010);
   
delay_ms(200);
   
output_B(0b01000100);
   
delay_ms(200);
   
output_B(0b10001000);
   
delay_ms(200);
   } 
16/09/2017 #8

Avatar de Saint_

La idea es que tengas un contador de pasos del motor así sabrás siempre cuantos pasos deberás retroceder cuando quieras ir a la posición 0
17/09/2017 #9

Avatar de TRILO-BYTE

no me gusta nada el programa mucho delay y poco control.
yo lo que haria seria meter todo en un array y manejarlo como barrido de caracteres algo mas o menos asi:
pondre valores como los que pusiste

char valor[4]={0x88,0x44,0x22,0x11};

ya una vez cargado el array podemos hacer un barrido a la izquierda o a la derecha lo que nos permitiria mover el motor a la izquierda o a la derecha

ejemplo:

int i;

for(i=0;i>=4;i++)

{
output_B(valor[i]);
delay_ms(200);
}

con eso moveriamos el motor a un lado ahora para moverlo un determinado numero de pasos

seria agregando otro for anidando el for anterior ahora contando los pasos

int pasos;
for( pasos=0; pasos <=100; pasos++)
{
int i;

for(i=0; i<=4;i++)

{
output_B(valor[i]);
delay_ms(200);
}
}


para mover el motor al lado contrario es algo tan simple como esto:

int i;

for(i=3 ; i==0 ; i--)

{
output_B(valor[i]);
delay_ms(200);
}

recuerda que la condicion queda en 3 por que la maquina cuenta 0 1 2 3 que son los 4 elementos del array
anterior mente puse i<=4 por que cuenta 0 1 2 3 cuando llega a 4 para y no cuenta el elemento vacio 4
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.