Assembly ile Step motor tur sayısı

lvntbkdmr

Üye
Katılım
27 Mar 2012
Mesajlar
16
Puanları
1
Yaş
33
Merhaba arkadaşlar,

kardeşimin ödevi için kendisine yardımcı olmaya çalışıyorum , ödevinde 6 kablolu step motorlardan kullandık. uzaktan kumanda ile kontrol edebilmesi için. devreyi PIC İle Step Motor Kontrol - Teknik Bilgiler Merkezi - Teknomerkez burdaki talimatlara uygun olarak hazırladık , ve gene orda verilen assembly kodunu kullandım. herşey düzgün çalışmakta fakat ordaki sağ sol butonlarına bastığımızda motor sürekli dönüyor. ben mesela 2 kez etrafında döndürüp durdurmak istiyorum. yani toplamda 720 derece açı yapıcak. yada açısal olarak atıyorum çok spesifik 654 derece yapsın vs. gibisinde ince ayarlar vermek istiyorum. bunu bu kod üzerinden nasıl yapabilirim acaba?
 
İyi bir topraklama değeri sıfıra ohm'a yakın olan değerdir. Fakat her işte olduğu topraklamadada maliyetler önemli, onun için iyi bir topraklama değeri izin verilen değerler içinde olandır.
Zaman rölesi bir diğer ifade ile zaman saati adı verilen sistem süresi belli olan bir aralıkta araya girmesi veya çıkması amaçlanan elektrik sisteminin kontrol edilmesinde kullanılmak için tasarlanmıştır.
Böyle bi C kodu buldum bunu denedim bu hiç çalışmadı , butona basılı tutuyorum vs. ama tepki vermiyor entegre. eksik bi kodmu var acaba bunuda incelermisiniz

Kod:
#include <16f84A.h>// picin adı tanıtılıyor
#fuses XT,NOWDT,NOPROTECT,PUT 
#use standard_io(B)


#use delay (clock=4000000) 


#define ileri pin_a0 
#define geri  pin_a1 




void main ( )
{
  set_tris_b(0×00); 
   output_b(0x00);
   
   while(1) // sonsuz döngü
   {


      while (input(ileri))
      {
       output_b(0b00001001);
       delay_ms(10);  // Step motorun hızını ayarlamamıza yarar.
       output_b(0b00000011);
       delay_ms(10);
       output_b(0b00000110);
       delay_ms(10);
       output_b(0b00001100);
       delay_ms(10);
      }


      while (input(geri)) 
      {
      output_b(0b00001100);
      delay_ms(10);
      output_b(0b00000110);
      delay_ms(10);
      output_b(0b00000011);
      delay_ms(10);
      output_b(0b00001001);
      delay_ms(10);
      }
   }
}
 

Forum istatistikleri

Konular
128,134
Mesajlar
915,322
Kullanıcılar
449,854
Son üye
Enes.trk

Yeni konular

Geri
Üst