Autor Tema: Duda con stepper (motor paso a paso)  (Leído 5762 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Duda con stepper (motor paso a paso)
« en: 02 de Septiembre de 2006, 01:05:16 »
Hola saludos he conseguido un motor paso a paso de 1.8º por paso, creo que esta excelente, ahoar he leido ya uno de los tutoriales que habia por aca y en muchos lados encontre el mismo, entiendo todo lo que ahi dice: http://www.frino.com.ar/tut_motores.htm mi motor es muy parecido a eso (por no decir que esta igualito), que voltaje aguanta?? y con que voltaje trabaja óptimamente?? yta que no encontre nada de especificaciones en el papelito que llevaba pegado, no lo compre de la tienda, lo compre de un lugar donde venden todo tipo de repuestos, me costo barato, jeje, cuando cuesta normalmente uno de ese tipo?? ahh, se me olivda decir que es de 6 cables por tanto es unipolar; mi pregunta es la siguiente (no encontre respuesta ni aca, ni en los tutoriales): como hago para que el motor de una vuelta completa?? le doy las primeras 8 configuraciones en ABCD?? despues vuelvo a repetir las 8?? hasta completar los 200 pasos??; si quisiera media vuelta; 100 pasos repitiendo de 8 en 8?? un ejemplito porfavor con ccs, se que se debe usar un driver como el L293, que otros driver se puede usar, de qeu puede depender el uso de un driver u otro??
muchas gracias, chao.
.

Desconectado 5GTT

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 915
Re: Duda con stepper (motor paso a paso)
« Respuesta #1 en: 04 de Septiembre de 2006, 03:44:49 »
1 - Lo del voltaje dependera del motor, prueba a introducir el codigo que aparezca en la pegatina en google y en ultimo caso ve a preguntar a la tienda.

2 - En lo de dar una vuelta completa estas en lo cierto, debes hacer que de 200 pasos, haciendo continuamente los ciclos hasta llegar al numero de pasos que necesites. Los ciclos que comentas de 8 pasos se usan cuando estas usando la funcion de medio paso, es decir cada movimiento del motor es de 0.9º, para dar una vuelta completa ira mas rapido si a la misma frecuencia das pasos completos de 1.8º

3 - Ejemplos en CCS debe haber por aqui seguro, no dispongo ahora mismo de ninguno, de todas formas no es complicado simplemente es mandar el pulso por la bobina que quieras exitar en cada momento, para ello la salida del PWM la conectas a la patilla "enable" del driver si usas el L293 o alguno similar.

4 - Al ser un motor unipolar lo mas sencillo es que lo controles con un array darlingon como el ULN2003 como el del tutorial, el problema es que segun el consumo de corriente del motor en cuestion puede ser incapaz de mover las bobinas y necesitaras recurrir a otro integrado que aguante mas corriente o hacer el array con transistores tu mismo. Tambien se puede hacer con el L293 que agunata mas corriente.

Saludos.

Tutoriales y proyectos de electrónica

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Duda con stepper (motor paso a paso)
« Respuesta #2 en: 14 de Septiembre de 2006, 01:16:18 »
saludos de vuelta por aca en el tema, he hecho esto:

/*-----------------------------------------------------------------------------------------------*/
/* Programa para manipulacion de un motor paso a paso usando el ULN2003 como   */
/* driver; el angulo por paso se lo da en la definicioón de ciclos en el                       */
/* do-while; RA0 a RA3 salidas para el motor; pulsadores en RB0 y RB1 que            */
/* definirán en que sentido girará el motor paso a paso                                          */
/* Programado por Cryn 13/sep/2006                                                                   */
/*-----------------------------------------------------------------------------------------------*/

#include<16f84a.h>
#fuses XT,NOWDT,PUT,NOPROTECT
#use delay(clock=4000000)

int x=0;
void delay()
{
   delay_ms(50);                 // retardo entre paso
}
void derecha()                   // giro a la derecha
{
   x=0;
   do                            // 4 pasos por ciclo; 50 ciclos, total pasos=50x4=200
   {
      output_bit(pin_a0,1);
      output_bit(pin_a1,1);
      output_bit(pin_a2,0);
      output_bit(pin_a3,0);
      delay();
      output_bit(pin_a0,0);
      output_bit(pin_a1,1);
      output_bit(pin_a2,1);
      output_bit(pin_a3,0);
      delay();
      output_bit(pin_a0,0);
      output_bit(pin_a1,0);
      output_bit(pin_a2,1);
      output_bit(pin_a3,1);
      delay();
      output_bit(pin_a0,1);
      output_bit(pin_a1,0);
      output_bit(pin_a2,0);
      output_bit(pin_a3,1);
      delay();
      x=x+1;
   } while (x!=50);              // estableciendo cantidad de pasos
}
void izquierda()                 // giro a la izquierda
{
   x=0;
   do
   {
      output_bit(pin_a0,0);
      output_bit(pin_a1,1);
      output_bit(pin_a2,1);
      output_bit(pin_a3,0);
      delay();
      output_bit(pin_a0,1);
      output_bit(pin_a1,1);
      output_bit(pin_a2,0);
      output_bit(pin_a3,0);
      delay();
      output_bit(pin_a0,1);
      output_bit(pin_a1,0);
      output_bit(pin_a2,0);
      output_bit(pin_a3,1);
      delay();
      output_bit(pin_a0,0);
      output_bit(pin_a1,0);
      output_bit(pin_a2,1);
      output_bit(pin_a3,1);
      delay();
      x=x+1;
   } while (x!=50);
}
void main()
{
   while(true)
   {
      if(input(PIN_B0))          // si presiono pulsador en B0, motor gira a la derecha
      derecha();
      else
      {
         if(input(PIN_B1))       // si se presiono el otro pulsador, motor gira a la izquierda
         izquierda();
      }
   }
}

que dicen esta bien?? aca les dejo la simulación que hice en proteus 6.9 sp4

he usado en simulacion un Stepper de 1.8º/paso, ya que poseo uno de esas características; tengo algunas preguntas:

1. la velocidad de giro esta lentísima, eso es debido a que es de 1.8º por paso, porque si modifico a 90º por paso, va mas rápido; parece muy logico.
2. hay alguna forma de incrementar la velocidad de giro, para este mi motor?, ya que la función delay que cree, hace un retardo de 50ms por paso, si se hace menor cantidad de tiempo el Motor no responde, si se hace mayor tardará mas.
3. en la simulación, si se fijaron, el giro a la derecha lo hace hasta 355º, faltan 5, el giro a la izquierda esta perfecto, algun motivo, o es por causa del simulador.

gracias, chao.
« Última modificación: 14 de Septiembre de 2006, 01:18:32 por Cryn »
.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Duda con stepper (motor paso a paso)
« Respuesta #3 en: 17 de Septiembre de 2006, 00:45:45 »
Hola saludos, lo he montado en protoboard, funciona muy bien, no como en proteus, comenzare a dudar del proteus :x osea da la vuelta completa en los dos sentidos, bueno algo raro del proteus, para muchas cosas ese software creo que va muy bien, para otras  :5] un desastre, bueno el unico detalle es que esta algo lento (como en la simulacion,jeje), es eso normal? seguramente por la cantidad de grados por paso, es de 1.8º por paso, se podra incrementar la velocidad??
.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Duda con stepper (motor paso a paso)
« Respuesta #4 en: 17 de Septiembre de 2006, 02:56:57 »
Como bien dices, el Proteus está bien para unas cosas, pero es una porquería para otras. Hace tiempo que dejé de usarlo porque no te puedes fiar de él.

Con respecto a la velocidad de giro de tus motores, podrías aumentarla reduciendo el delay_ms(50) por valores más pequeños.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Duda con stepper (motor paso a paso)
« Respuesta #5 en: 17 de Septiembre de 2006, 15:54:57 »
Hola saludos, bueno si confio en el proteus (lo cual no creo poder hacer) si se disminuye el tiempo de 50 ms a menor valor, el motor ya no responderá, pero creo que eso dependerá del tipo de motor con el cual se trabaja verdad?? seguramente habrán motores que puedan reaccionar a cambios mas pequeños que otros, cierto? intentré reducir el tiempo, esque pasa qeu me quede sin grabador, uno JDM que poseo no graba los 84 y estoy en problemas, debo fabricarme rapidamente otro, weno en cuanto disponga de uno nuevo reducire el tiempo y vere hasta que valor puede responder este motorcillo, parece de calidad dice TYPE KP39HMZ (lo compre de segunda mano sin hoja de datos ni nada por el estilo, ni siquiera el dueño sabia que era, yo solo vi 1.8DEG/STEP y lo compre rapidamente, aproximadamente costo 0.63 $, barato verda?? jajaja)

Hasta que valor de tiempo creen qeu pueda responder?? Segun proteus menos de 50 ms ya no va

PD. si alguien encontro haja de datos para mimotor se lo agradecere, porque yo buesque en google y na.
.


 

anything