Elektronik / Mikrodenetleyici Projeleri/

Jal ile dc motor hız kontrolü pic16f84a pwm

Sponsorlu Bağlantılar

Makale,proje paylaşımı bölümünden gönderilen bir dc motor kontrol uygulaması. Uygulamayı gerçekleştiren ve bize ulaştıran okurumuz Hüseyin DEMİRBİLEK kendisine teşekkür ederim. Umarım diğer okurlarımızda ara sıra paylaşım yaparlar. Jal ile programlama yapan yeni başlayan kişilere faydalı olması dileği ile.

Merhabalar bu benim ilk paylaşımım olacak. Jal programlama dili kullanılarak pic16f84a ile bir DC motoru ileri-geri ve pwm yöntemle hız ayarı yapan bir çalışma.

Bu çalışmayı paylaşmak istiyorum. Pic 16F84A ile iki DC motoru aynı yöntemle kontrol eden bir çalışma yapacağım bitince onu da paylaşmak isterim. Bu çalışmayı gerçek ortamda denedim sorunsuz bir şekilde çalışıyor.

Bu arada bir iki söz de 320 volt sitesi için söylemek istiyorum. Bu güne kadar sitenizden çok faydalandım. Öyle bir hal aldı ki internete ilk girdiğimde abartısız söylüyorum 320 volt’u ziyaret etmeden sörfe başlamıyorum. Böyle bir çalışmada benim de küçük bir katkım olur ise çok mutlu olurum. Herkese çok teşekkurler kolay gelsin.

DC motor kontrol uygulamasına ait isis ve jal dosyaları: Jal ile dc motor hız kontrolü pic16f84a pwm

Dosya indirme LINK listesi (TXT formatında) link-9147.zip şifre-pass: 320volt.com

Proteus isis devre şeması;

Jal yazılımı;


include 16f84_4
include jlib

port_b_direction = all_output
port_a_direction = all_input

var byte sure = 5

forever loop
 if pin_a0 == high then
 pin_b0 = high
 pin_b1 = low
  if pin_a1 == high then
   sure = sure + 1
   if sure == 255 then sure = 254 end if
    while pin_a1 == high loop end loop
  end if
  
  if pin_a2 == high then
   sure = sure - 1
   if sure == 255 then sure = 0 end if
    while pin_a2 == high loop end loop
  end if
 end if
 
 if pin_a0 == low  then
 pin_b0 = low
 pin_b1 = high
  if pin_a1 == high then
   sure = sure + 1
   if sure == 255 then sure = 254 end if
    while pin_a1 == high loop end loop
  end if

  if pin_a2 == high then
   sure = sure - 1
   if sure == 255 then sure = 0 end if
    while pin_a2 == high loop end loop
  end if
  
 end if
  pin_b7 = high
  delay_50us (sure)
  pin_b7 = low
  delay_50us (255 - sure)
end loop
  • adem

    arkadaşlar bu devre isisde biraz sıkıntılı çalısıyor gerçekde hız ayarı yapabiliyormu ?

  • adem

    devreyi yaptım yanlız pwm sinyali motor hızlanmaya başlayınca sıfırlanıyor sebebi nedir acaba yardım ederseniz sevinirim.

  • adem

    yardım edecek kimse yokmu arkadaşlar…

  • mclr pinindeki direnci 4.7k yapıp deneyin

    pic + besleme bacağına şaseye karşı 100nf kondansatör bağlayın

    devreyi motoru beslediğiniz kaynağın gücü yeterlimi ? devre motor çalıştığında besleme voltajı çöküyor olmasın ?