16f877 ile dc motor hız kontrolü devresi

Elektronik Devreler elektrik 350 views
sponsorlu reklam

Bu devre, ” *Elektronik devreler*, *16f877 ile dc motor hız kontrolü devresi* dc motor hız kontrolü devresi* hobi devreleri* ” ile etikenlendi.

 

 16f877 ile dc motor hız kontrolü devresi

dc motor hız devresi

dc motor hız devresi

Dc motorlarda hız ayarı yapabilmek için gerilimi degiştirmemiz gerekiyor.16f877 de gerilim ayarı yapabilmek için pwm denilen bir sistem var. Pwm ile oynayarak dc motorun hızını kontrol edebiliriz.

16f877 in bacakları incelendiginde 2 farklı bacagından pwm alabiliriz.Bu çıkışları bildiginiz üzre direkt olarak motora baglayamıyoruz o yüzden ya motor sürücüsü ya da transistör kullanmamız gerekiyor.(Motoru direkt baglarsak entegrenin bacagını yakarız aşırı akımdan)

İlk kullandıgımız bc237 100ma e kadar dayanan basit bir entegredir ikinci kullandıgımız entegre ise bd140 güç transistörümüzdür.Motoru asıl sürdügümüz entegre bd140 dır.Bc237 yi bd140 ı sürmek için kullanıyoruz.Transistörlerin önüne koruma amaçlı dirençlerimizi koymamız gerekiyor.

RA0 ve RA1 e baglanan butonlarla pwm görev çevrimini arttırıp azaltıyoruz.Böylelikle hız kontrolü yapıyoruz.

Her devremde söyledigim gibi gene hatırlatıyım devreyi tek kaynaktan besliyoruz.Farklı kaynaklar kullanacaksak devre degişir. 5v a düşürmek için 7805 kullanın.

16f877 ile dc motor hız kontrolü devresi

 

 

16f877 ile dc motor hız kontrol devresi

16f877 ile dc motor hız kontrol devresi

 

 

 

 

 

/******************************************************

16f877 ile dc motor hız kontrolü devresi programı

PIC16F877 ile PWM Modu Uygulaması-1
*******************************************************/
#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.

#use fast_io(a) //Port yönlendirme komutları A portu için geçerli
#use fast_io(c) //Port yönlendirme komutları C portu için geçerli

int i=5; // Tamsayı tipinde değişken tanımlanıyor

/********* 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_adc_ports(NO_ANALOGS); // ANALOG giriş yok
setup_adc(ADC_OFF); // ADC birimi devre dışı

set_tris_a(0x03); // RA0 ve RA1 pinleri giriş
set_tris_c(0x00); // RC0, RC1 ve RC2 pini giriş

setup_ccp1(CCP_PWM); // CCP1 birimi PWM çıkışı için ayarlandı
setup_ccp2(CCP_PWM); // CCP2 birimi PWM çıkışı için ayarlandı

setup_timer_2(T2_DIV_BY_16,170,1); // Timer2 ayarları yapılıyor//

set_pwm1_duty(i); // PWM1 çıkışı görev saykılı belirleniyor

while(1) // Sonsuz döngü
{
if (input(pin_a0)) // Eğer RA0 girişine bağlı butona basılırsa
{
delay_ms(20); // Buton arkı önleme gecikmesi
while(input(pin_a0)); // Basılı butondan el çekile kadar bekle
i+=3; // i=i+3 anlamındadır.

if (i>=170) // i değeri 170’dan büyükse i değeri 170 olsun
i=170;

set_pwm1_duty(i); // PWM1 çıkışı görev saykılı belirleniyor

}

if (input(pin_a1)) // Eğer RA1 girişine bağlı butona basılırsa
{
delay_ms(20); // Buton arkı önleme gecikmesi
while(input(pin_a1)); // Basılı butondan el çekile kadar bekle
i-=3; // i=i-3 anlamındadır.

if (i<5) // i değeri 5’den küçük ise i değeri 10 olsun
i=5;

set_pwm1_duty(i); // PWM1 çıkışı görev saykılı belirleniyor

}
}
}

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

“16f877 ile dc motor hız kontrolü devresi” üzerine 1 yorum

  1. Seo Blogu dedi ki:

    Aklımdaki soruların cevabını bu konuda buldum.Yararı oldu teşekkürler.

Bir Cevap Yazın

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