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.
| EN | IN1 | IN2 | Motor davranışı |
|---|---|---|---|
| 1 | 1 | 0 | Bir yönde döner |
| 1 | 0 | 1 | Ters yönde döner |
| 1 | 0 | 0 | Durur / boşa yakın davranış |
| 0 | X | X | Motor 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.
Bir yanıt yazın