BTS7960 motor sürücüsü, yüksek akımları taşıyabilen güçlü bir H-Bridge modülüdür, bu da robotik ve otomasyon projelerinde DC motorlarını kontrol etmek için idealdir. Bu öğreticide, bir motor sürmek için BTS7960'ı bir Raspberry Pi ile nasıl bağlayacağınızı ve kontrol edeceğinizi öğreneceksiniz.
Ne İhtiyacınız Olacak
- Ahududu pi (GPIO özelliklerine sahip herhangi bir model, örneğin Pi 3, Pi 4)
- BTS7960 Motor Sürücü Modülü
- DC Motor (projeniz için uygun)
- Dış güç kaynağı (Motorunuzun voltajı ve mevcut gereksinimleri eşleştirme)
- Breadboard ve jumper telleri
1. Adım: BTS7960 motor sürücüsünü anlamak
BTS7960 modülü, 43A'ya kadar akımları olan motorları sürebilen iki yüksek güçlü yarım köprü içerir. Özellikler:
- Hız kontrolü için PWM giriş pimleri
- Yön kontrol pimleri
- Aşırı akım ve termal koruma
Pinout
Pin | Tanım |
---|---|
VCC | 5V mantık gücü girişi |
Gnd | Zemin |
RPWM | İleri hareket için PWM girişi |
LPWM | Ters hareket için PWM girişi |
R_en | İleri hareket için pimi etkinleştir |
L_en | Ters hareket için pimi etkinleştir |
Motor+ (M+) | Motor pozitif terminal |
Motor- (M-) | Motor negatif terminali |
Vin | Harici motor güç kaynağı |
GND (güç) | Motor güç kaynağı için zemin |
Adım 2: BTS7960'ı Raspberry Pi'ye bağlama
Bağlantılar
BTS7960 PIN | Raspberry Pi Pimi |
---|---|
VCC | 5V |
Gnd | Gnd |
RPWM | GPIO18 (PWM kanalı 0) |
LPWM | GPIO19 (PWM Kanal 1) |
R_en | GPIO23 |
L_en | GPIO24 |
Motor ve güç kaynağı bağlantıları
- Motor terminallerini Motor+ (M+) Ve Motor- (M-) pimler.
- Dış güç kaynağının pozitif terminalini Vin.
- Harici güç kaynağının topraklarını GND (güç) PIN.
Not: Harici güç kaynağının motorunuzun voltajına ve akım gereksinimlerine uyduğundan emin olun.
Adım 3: Raspberry Pi'de PWM'nin etkinleştirilmesi
Motor hızını kontrol etmek için PWM (Pulse Genişlik Modülasyonu) kullanacaksınız. Raspberry Pi GPIO PIN'leri 18 ve 19 Destekleme PWM.
Raspberry Pi Yapılandırması aracılığıyla PWM'yi etkinleştirin
- Terminali açın ve çalıştırın:
sudo raspi-config
- Gezmek Arayüz Seçenekleri> P5: I2Cve I2C'yi etkinleştirin.
- Raspberry Pi'yi kaydedin ve yeniden başlatın:
sudo reboot
Adım 4: Motoru kontrol etmek için python kodu yazma
Kurun RPi.GPIO
Zaten kurulmamışsa GPIO pimlerini kontrol etmek için kütüphane:
pip install RPi.GPIO
Örnek Python kodu
Bu örnek, BTS7960'ı kullanarak motorun hızının ve yönünün nasıl kontrol edileceğini gösterir.
import RPi.GPIO as GPIO
import time
# Pin Definitions
RPWM_PIN = 18
LPWM_PIN = 19
REN_PIN = 23
LEN_PIN = 24
# GPIO Setup
GPIO.setmode(GPIO.BCM)
GPIO.setup(RPWM_PIN, GPIO.OUT)
GPIO.setup(LPWM_PIN, GPIO.OUT)
GPIO.setup(REN_PIN, GPIO.OUT)
GPIO.setup(LEN_PIN, GPIO.OUT)
# PWM Setup
frequency = 1000 # PWM frequency in Hz
rpwm = GPIO.PWM(RPWM_PIN, frequency)
lpwm = GPIO.PWM(LPWM_PIN, frequency)
# Start PWM with 0% duty cycle (off)
rpwm.start(0)
lpwm.start(0)
try:
while True:
# Enable Forward Motion
GPIO.output(REN_PIN, GPIO.HIGH)
GPIO.output(LEN_PIN, GPIO.LOW)
# Set forward speed (50% duty cycle)
rpwm.ChangeDutyCycle(50)
lpwm.ChangeDutyCycle(0)
time.sleep(2)
# Enable Reverse Motion
GPIO.output(REN_PIN, GPIO.LOW)
GPIO.output(LEN_PIN, GPIO.HIGH)
# Set reverse speed (30% duty cycle)
rpwm.ChangeDutyCycle(0)
lpwm.ChangeDutyCycle(30)
time.sleep(2)
except KeyboardInterrupt:
print("Stopping motor...")
finally:
rpwm.stop()
lpwm.stop()
GPIO.cleanup()
Adım 5: Kurulumunuzu test etmek
- Motor ve güç kaynağını bağlayın.
- Python betiğini çalıştırın:
python3 bts7960_control.py
- Motor değiştirme hızını ve yönünü programlanmış olarak gözlemleyin.
Sorun giderme
-
Motor çalışmıyor:
- Kablo bağlantılarını kontrol edin.
- Dış güç kaynağını doğrulayın.
-
PWM çalışmıyor:
- PWM için GPIO18 ve GPIO19'un yapılandırıldığından emin olun.
- Komut dosyasındaki görev döngüsü değerlerini kontrol edin.
-
Aşırı ısınma modülü:
- Motorun geçerli çekilişinin BTS7960’ın derecesini aşmadığından emin olun.
BTS7960'ın Raspberry Pi ile Uygulamaları
- Robotlarda yüksek akım DC motorlarını kontrol etmek
- Otomatik araçlar veya robotlar inşa etmek
- Endüstriyel uygulamalar için motorlu sistemler oluşturmak
- Uzaktan kumandalı sistemlerin geliştirilmesi
Çözüm
BTS7960 motor sürücüsü, yüksek akım motorları sürmek için sağlam ve verimli bir çözümdür. Raspberry Pi’nin GPIO yetenekleriyle birleştiğinde, robotik ve otomasyon projeleri için çok sayıda olasılık açıyor. Bu kılavuzu izleyerek, güçlü motorlu sistemler oluşturmak için BTS7960'ı kurabilir ve kontrol edebilirsiniz. Özel uygulamanız için performansı optimize etmek için farklı PWM frekansları ve görev döngülerini deneyin!