Raspberry Pi ile BTS7960'ı kullanma

Using the BTS7960 with the Raspberry Pi

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

  1. Ahududu pi (GPIO özelliklerine sahip herhangi bir model, örneğin Pi 3, Pi 4)
  2. BTS7960 Motor Sürücü Modülü
  3. DC Motor (projeniz için uygun)
  4. Dış güç kaynağı (Motorunuzun voltajı ve mevcut gereksinimleri eşleştirme)
  5. 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ı

  1. Motor terminallerini Motor+ (M+) Ve Motor- (M-) pimler.
  2. Dış güç kaynağının pozitif terminalini Vin.
  3. 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

  1. Terminali açın ve çalıştırın:
    sudo raspi-config
    
  2. Gezmek Arayüz Seçenekleri> P5: I2Cve I2C'yi etkinleştirin.
  3. 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

  1. Motor ve güç kaynağını bağlayın.
  2. Python betiğini çalıştırın:
    python3 bts7960_control.py
    
  3. Motor değiştirme hızını ve yönünü programlanmış olarak gözlemleyin.

Sorun giderme

  1. Motor çalışmıyor:

    • Kablo bağlantılarını kontrol edin.
    • Dış güç kaynağını doğrulayın.
  2. 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.
  3. 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ı

  1. Robotlarda yüksek akım DC motorlarını kontrol etmek
  2. Otomatik araçlar veya robotlar inşa etmek
  3. Endüstriyel uygulamalar için motorlu sistemler oluşturmak
  4. 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!

Yorum bırak

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.