step motor adım sayısı

Başlatan fm, 03 Kasım 2014, 21:55:28

fm

Merhaba,

"Step motorda adım sayısını lcd ekranda gösterecek bir kod yazınız." soru bu. Kodu yarım adım sayacak şekilde ayarladım. Adım sayısını yazdırırken her 2 yarım adımdan sonra yazdıracak şekilde mi ayarlamalıyım. Sanırım adım mantığını yeterince anlayamadım ya da soruyu tam anlamadım.. Biraz açıklayabilir misiniz? Kolay gelsin.

#include <16f877A.h>     

#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay (clock=4000000) 
#define use_portb_lcd TRUE   
#include <lcd.c>   

#define buton_ileri pin_a0
#define buton_geri  pin_a1

int i=0;

const int yarim_adim[]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09}; 

void main ( )
{
   setup_psp(PSP_DISABLED);        
   setup_timer_1(T1_DISABLED);     
   setup_timer_2(T2_DISABLED,0,1); 
   setup_adc_ports(NO_ANALOGS);    
   setup_adc(ADC_OFF);             
   setup_CCP1(CCP_OFF);           
   setup_CCP2(CCP_OFF);            

   output_b(0x00); 
   output_d(0x00); 

   while(1) 
   {

      if (input(buton_ileri)) 
      {
         output_d(yarim_adim[i]);  
         while(input(buton_ileri));
         delay_ms(hiz);            

         if (i==7)                 
            i=-1;
         i++;                      

      }

      if (input(buton_geri)) 
      {
         if (i==0)                 
            i=8;
         i--;                    
         output_d(yarim_adim[i]); 
         while(input(buton_geri)); 
         delay_ms(hiz);            
      }
   }
}

Kabil ATICI

Motorun 1 tık dönüşünü 1 adım olarak alabilirsin. Yarım adım olarak dönüyor alması sonucu değiştirmez  sisteme  dışarından bakan o program ile sürülen yarım adımı 1 adım olarak algılayacaktır.
ambar7

fm

Teşekkür ederim. Dediğiniz gibi ve araştırarak sorunu çözdüm.