Pic 16f877 ile Dc Motor Yön Kontolü Devresi

Elektronik Devreler elektrik 877 views
sponsorlu reklam

Bu devre, ” *Elektronik devreler*, *Pic 16f877 ile Dc Motor Yön Kontolü Devresi*  Dc Motor Yön Kontolü Devresi* hobi devreleri* ” ile etikenlendi.

Pic 16f877 ile Dc Motor Yön Kontolü Devresi

Dc motorlarda yön kontrolü  yapmak için en bilindik yöntem uygulanan gerilimin yönü degiştirilir.(Yani + ve – uçlar yer degiştirilir).Dc motor kontrolleri röle,pic,entegrelerle yapabiliriz.Biz bu devremizde 16f877a ile yapacağız.

Devrenin proteis ve baski devresi çizimlerini konunun sonundan indirebilirsiniz

Ek bilgi olarak eger ki dc motorumuzda hız ayarı yapmak istiyorsak LMD18200 gibi PWM girişli entegre kullanmalıyız.Bizim 16f877a olan pic imizin pwm sinyali çıkışı veren ccp bacagı kullanılır.Dc motorlarda hız ayarı gerilim degiştirilerek yapılır yani yüksek gerilim yüksek hız alçak gerilim düşük hız.LMD18200 de gerilim ile oynayarak bu işi yapıyor.

Akıllara gelecek bir diger soru ise 16f877a yı direk motora baglayıp yön kontrolü yapsak?

Arkadaşlar motorlar bilindigi gibi yüksek akım çekerler ve bizim pic imiz  çok hassas oldugu için onu korumak amacıyla araya izalasyon yapacak bir eleman koyuyoruz ve hiçbir elamanı pic imize direkt olarak baglamayın direnç,röle,entegreler ile çalışın yoksa pic in bacagı yanacaktır.

Devrede bulunan butonlar ile yön kontrolü ve stop işlemi yapılmıştır.Diyotlar ,ters emk yi önleme amacıyla konulmuş.Diyot seçiminde motorunuzun gücüne ve çekecegi akıma göre seçim yapmak gerekir.

Programımızında mantıgı bir bacaktan enerji verip digerini sıfırlıyoruz,ters dönmesi içinde enerji olan bacagı 0 layıp  0 olan bacaga enerji veriyoruz. Pic 16f877 ile Dc Motor Yön Kontolü devresi evde breadboard a kurabilecegim güzel bir hobi devresidir.

Not:Bir çok devre yapan kişinin düştügü en büyük hata aynı devredeki elemanları farklı kaynaklardan beslemektir. Örnegin pic imizi besledigimiz güç kaynagı ile entegremizi besledigimiz güç kaynagı farklı ise devre muhtemelen çalışmaz.(tabi siz farklı güç kaynaklarını göz önüne alıp devreyi kurmadıysanız).Devrelerde özel durum yoksa tek kaynaktan beslenmekte fayda var.

Devrede kullandıgımız l298 motor sürücü devresidir yukarıda bahsettigim gibi pic imizi yüksek akımdan korumak için kullanılan izalatördür.L298  bacak baglantıları ve görünüşü aşagıdaki gibidir. Kullanabileceginiz piyasada başka motor sürücüleride mevcut.(l298 gibi)

l298 bacak baglantıları

l298 bacak baglantıları

 

l298 görseli

l298 görseli

 

 

 

 

 

 

 

Pic 16f877 ile Dc Motor Yön Kontolü DEVRESİ GÖRSELİ

pic-16f877-ile-dc-motor-yön-kontrolü

pic-16f877-ile-dc-motor-yön-kontrolü

 

 

 

 

 

 

 

 

Devrenin Programına bakacak olursak,

/******************************************************
PIC16F877 ile DC Motor Uygulaması
*******************************************************/

#include <16f877.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

// Denetleyici konfigürasyon ayarları
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.

// Giriş ve çıkış pinlerine isim atanıyor
//Arkadaşlar burda define ile başlayan komutlar pin lerimize ad verme  komutu(bacakları isimlendiriyoruz)

#define buton_ileri pin_a0  //
#define buton_geri pin_a1
#define buton_stop pin_a2
#define input1 pin_b0
#define input2 pin_b1
#define enable_a pin_b2
#define enable_b pin_b3

/********* ANA PROGRAM FONKSİYONU********/

void main ( )
{
setup_psp(PSP_DISABLED); // PSP birimi devre dışı
setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı
setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok
setup_adc(ADC_OFF); // ADC birimi devre dışı
setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı
setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı

output_high(enable_a); // Köprü A seçili
output_low(enable_b); // Köprü B pasif

while(1) // Sonsuz döngü
{
if (input(buton_ileri)) // İLERİ Butonuna basılsı ise //a0 bacagına baglı butona basıldıgın
{
output_high(input1); // L298 Input1 girişi lojik-1//b0 bacagını enerjilendir
output_low(input2); // L298 Input2 girişi lojik-0//b1 bacagındaki enerjiyi kes
}

if (input(buton_geri)) // GERİ Butonuna basılsı ise
{
output_low(input1); // L298 Input1 girişi lojik-0//b0 bacagındaki enerjisi kes
output_high(input2); // L298 Input1 girişi lojik-1//b1 bacagındaki enerji ver
}
if (input(buton_stop)) // HIZLI STOP Butonuna basılsı ise
{
output_low(input1); // L298 Input1 girişi lojik-0//b0 bacagındaki enerjisi kes
output_low(input2); // L298 Input1 girişi lojik-0//b1 bacagındaki enerjisi kes
// Hızlı stop için burada her iki girişte lojik-1 olabilirdi.
// Önemli olan Hızlı Stop için, her iki girişin aynı seviyede olması
}

}
}

Devre dökümanlarını indirmek için TIKLAYINIZ

 

Sosyal Ağlarda Paylaş

{elektrik}

1988 Karabük dogumluyum ilköğretim ve ortaöğretimimi karabükte tamamladım.Ankara Üniversitesi Endüstriyel Otomasyon Mezuniyet=2008, Gazi üniversitesi Elektrik Öğretmenligi Mezuniyet=2012, Katü Elektrik-Elektronik Mühendisligi Devam ediyor. facebooktan takip etmek için; https://www.facebook.com/yasinhocammm

“Pic 16f877 ile Dc Motor Yön Kontolü Devresi” üzerine 1 yorum

  1. Seo Blogu dedi ki:

    Her yerde bu konuyu arıyordum.Bulamadığım şeyler olunca direk bu siteye bakıyorum 🙂

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir