Gunun on plana cikan hikayelerini, analizlerini ve rehber iceriklerini takip edin.

Elektroniğe dair ne varsa!

L293D ile DC Motor Hız ve Yön Kontrolü: PWM Tabanlı Uygulama

L293D ile DC motor hız ve yön kontrolünü, PWM, buton mantığı ve durum LED’leri üzerinden anlaşılır biçimde açıklıyoruz.

L293D ile DC Motor Hız ve Yön Kontrolü: PWM Tabanlı Uygulama

L293D ile DC motor hız ve yön kontrolü, mikroişlemciler laboratuvarındaki PWM deneyinin uygulama kısmıdır. Föyde STM32F407 Discovery kartı, L293D sürücü, 9 V DC motor, 3 buton ve 3 LED ile bir sistem kurulması istenir.

Bu yazıda sadece bağlantı mantığını değil, buton görevlerini ve LED durum bilgisini de rapora yazılabilir bir akışla anlatıyoruz.

Neden motoru doğrudan STM32 pinine bağlamıyoruz?

Çünkü STM32 pinleri motorun ihtiyaç duyduğu akımı veremez ve motorun indüktif yapısı doğrudan bağlandığında karta zarar verebilecek geri gerilimler oluşturabilir. Bu yüzden araya bir motor sürücüsü koyarız. L293D, bu iş için kullanılan klasik H-köprüsü sürücülerden biridir.

L293D ne yapar?

L293D, düşük güçlü lojik seviyelerle daha yüksek akım gerektiren motor yüklerini kontrol etmeye yarar. Sürücü üzerinde giriş pinleri motor yönünü, enable pini ise motorun etkin olup olmadığını belirler. Enable ucuna PWM uygulanırsa motorun ortalama gücü ve dolayısıyla hızı kontrol edilebilir.

ENIN1IN2Motor davranışı
110Bir yönde döner
101Ters yönde döner
100Durur / boşa yakın davranış
0XXMotor kapalı

Föyde neden 1N4007 diyot isteniyor?

L293D’nin içinde koruma diyotları bulunsa da laboratuvar föyünde ayrıca 1N4007 kullanılarak motorun oluşturabileceği geri EMK etkisine karşı ek koruma istenir. Rapor yazarken bunu “indüktif yükün ters gerilimini bastırmak” şeklinde ifade etmek doğru olur.

Buton görevleri nasıl tasarlanmalı?

  • Hız artır: Her basışta duty cycle yaklaşık %10 yükseltilir.
  • Hız azalt: Her basışta duty cycle yaklaşık %10 düşürülür.
  • Yön değiştir / başlat: Tek basış ve çift basış senaryoları ile motorun başlangıç ve dönüş yönü kontrol edilir.

Föyde ayrıca minimum ve maksimum sınır davranışları tanımlıdır. Maksimum veya minimum hıza ulaşıldığında yeşil ve sarı LED sabit kalırken kırmızı LED’in yanıp sönmesi istenir. Hız azaltma yönünde alt sınıra ulaşıldıktan sonra iki kez üst üste basıldığında motorun durması da istenen mantıklardan biridir.

LED’ler hangi bilgiyi verir?

  • Kırmızı LED: Hız minimum-%20 aralığında veya %80-maksimum aralığında aktif olacak şekilde kullanılabilir.
  • Yeşil LED: Motor hızı orta bölgede, yani yaklaşık %20-%80 aralığında yanar.
  • Sarı LED: Motor saat yönünün tersine döndüğünde aktif olur; saat yönünde dönerken sönük bırakılır.

Bu yaklaşım, kullanıcıya sadece motorun dönüp dönmediğini değil, hangi yönde ve yaklaşık hangi hız bölgesinde çalıştığını da görsel olarak anlatır.

PWM ile hız kontrolü nasıl bağlanır?

Pratikte en temiz yöntem, PWM sinyalini L293D’nin enable pinine vermektir. IN1 ve IN2 ile yön seçilir, enable pinindeki duty cycle ile hız ayarlanır. Böylece yön ve hız kontrolü birbirinden ayrılmış olur.

void motor_forward(uint8_t duty)
{
    HAL_GPIO_WritePin(IN1_GPIO_Port, IN1_Pin, GPIO_PIN_SET);
    HAL_GPIO_WritePin(IN2_GPIO_Port, IN2_Pin, GPIO_PIN_RESET);
    set_pwm_percent(duty);
}

void motor_reverse(uint8_t duty)
{
    HAL_GPIO_WritePin(IN1_GPIO_Port, IN1_Pin, GPIO_PIN_RESET);
    HAL_GPIO_WritePin(IN2_GPIO_Port, IN2_Pin, GPIO_PIN_SET);
    set_pwm_percent(duty);
}

void motor_stop(void)
{
    set_pwm_percent(0);
    HAL_GPIO_WritePin(IN1_GPIO_Port, IN1_Pin, GPIO_PIN_RESET);
    HAL_GPIO_WritePin(IN2_GPIO_Port, IN2_Pin, GPIO_PIN_RESET);
}

Tek basış / çift basış mantığı nasıl çözülür?

Bunun için buton zamanlaması tutulur. Belirli bir süre içinde ikinci basış gelirse çift basış, gelmezse tek basış kabul edilir. Bu yaklaşım sayesinde föyde istenen “tek basış saat yönü, çift basış ters yön” veya “çalışırken tek basışta yön tersine dönsün” senaryoları kararlı biçimde uygulanabilir.

En sık yapılan hatalar

  • Motoru yanlış besleme ile sürmek
  • STM32 ve motor beslemesinin topraklarını ortaklamayı unutmak
  • PWM’i yanlış pine vermek
  • Yön pinlerini aynı anda anlamsız seviyelerde tutmak
  • Butonları debounce etmeden çift basış algılamaya çalışmak

Rapor için kısa sonuç

L293D, DC motorun hız ve yön kontrolünü mikrodenetleyiciden güvenli biçimde yapmaya yarayan bir H-köprüsü sürücüdür. Yön kontrolü giriş pinleri ile, hız kontrolü ise enable pinine uygulanan PWM sinyali ile gerçekleştirilir. Butonlar ve durum LED’leri ile sistem kullanıcı açısından izlenebilir hale getirilir.

Bu yapının teorik temelini tekrar görmek için önce PWM nedir? yazısına dönmek faydalı olur.

Yazar notu

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir