Picproje Elektronik Sitesi

DERLEYİCİLER => PIC C => Konuyu başlatan: fm - 03 Kasım 2014, 21:55:28

Başlık: step motor adım sayısı
Gönderen: fm - 03 Kasım 2014, 21:55:28
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);           
      }
   }
}
Başlık: Ynt: step motor adım sayısı
Gönderen: Kabil ATICI - 03 Kasım 2014, 22:14:25
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.
Başlık: Ynt: step motor adım sayısı
Gönderen: fm - 14 Kasım 2014, 00:14:40
Teşekkür ederim. Dediğiniz gibi ve araştırarak sorunu çözdüm.