Autor Tema: Ayuda, mi motor paso a paso, no funciona con 16F887  (Leído 2560 veces)

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

Desconectado [)estroyer

  • PIC10
  • *
  • Mensajes: 10
Ayuda, mi motor paso a paso, no funciona con 16F887
« en: 14 de Junio de 2010, 03:25:23 »
Que tal, un saludo a todos los presentes
hace poco hice un tema, solicitando ayuda para mi proyecto, y como es natural, me dijieron, "ponte a leer compadre ;D"
y de hecho lei, y aprendi mucho durante el proceso, pero! tengo un inconveniente
se trata del motor paso a paso en PROTEUS
estoy usando stepper motor Unipolar
este es mi codigo

#INCLUDE <16F887.h>
#USE DELAY(CLOCK=4000000)
#FUSES XT,NOWDT,NOBROWNOUT,NOPUT, NOLVP
#BYTE PORTB=6
#BYTE PORTC=7

VOID MAIN()
{
   SET_TRIS_B(0);                         //Configura el puerto B
   SET_TRIS_C(255);                      //CONFIGURA EL PUERTO C
   WHILE(TRUE)                          //Haga por siempre
   {   
   switch (PORTC) {
case 0:PORTB=0;
break;

case 1:PORTB=0b00000001;
DELAY_MS(200);
PORTB=0b00000010;
DELAY_MS(200);
PORTB=0b00000100;
DELAY_MS(200);
PORTB=0b00001000;
DELAY_MS(200);
PORTB=0b00010000;
DELAY_MS(200);
PORTB=0b00100000;
DELAY_MS(200);
break;

case 2:PORTB=0b00000001;
DELAY_MS(100);
PORTB=0b00000010;
DELAY_MS(100);
PORTB=0b00000100;
DELAY_MS(100);
PORTB=0b00001000;
DELAY_MS(100);
PORTB=0b00010000;
DELAY_MS(100);
PORTB=0b00100000;
DELAY_MS(100);
break;

case 4:PORTB=0b00000001;
DELAY_MS(50);
PORTB=0b00000010;
DELAY_MS(50);
PORTB=0b00000100;
DELAY_MS(50);
PORTB=0b00001000;
DELAY_MS(50);
PORTB=0b00010000;
DELAY_MS(50);
PORTB=0b00100000;
DELAY_MS(50);
break;

case 8:PORTB=0b00000001;
DELAY_MS(10);
PORTB=0b00000010;
DELAY_MS(10);
PORTB=0b00000100;
DELAY_MS(10);
PORTB=0b00001000;
DELAY_MS(10);
PORTB=0b00010000;
DELAY_MS(10);
PORTB=0b00100000;
DELAY_MS(10);
break;
         
default:
break; }         // el default es lo que pasa, cuando ningún case se cumple
   }
}


pero el motor se comporta muy raro, no logro hacer que gire con normalidad
Conocimiento es Poder

Desconectado irukza

  • PIC12
  • **
  • Mensajes: 87
Re: Ayuda, mi motor paso a paso, no funciona con 16F887
« Respuesta #1 en: 18 de Junio de 2010, 15:17:46 »
Hola
Veo que en tu código desplazas el "1" en 6 posiciones, no se como estarás conectando el pap, pero me resulta raro. Los unipolares (al menos los q conozco yo) tienen 5 o 6 cables, y en cualquiera de los dos casos sólo debes excitar 4 bobinas. Es decir, deberias desplazar el "1" en cuatro posiciones, no 6.
Acá se explica muy bien, http://www.todorobot.com.ar/informacion/tutorial%20stepper/stepper-tutorial.htm
espero que sirva


 

anything