BTS7960 Motor Driver adalah modul h-bridge yang kuat yang mampu menangani arus tinggi, membuatnya ideal untuk mengendalikan motor DC dalam proyek robotika dan otomatisasi. Dalam tutorial ini, Anda akan belajar cara menghubungkan dan mengontrol BTS7960 dengan pi raspberry untuk mengendarai motor.
Apa yang Anda Butuhkan
- Raspberry Pi (Model apa pun dengan kemampuan GPIO, mis., Pi 3, Pi 4)
- BTS7960 Modul Driver Motor
- Motor DC (Cocok untuk proyek Anda)
- Catu daya eksternal (Pencocokan tegangan motor Anda dan persyaratan saat ini)
- Papan tempat memotong papan dan kabel jumper
Langkah 1: Memahami pengemudi motor BTS7960
Modul BTS7960 mencakup dua jembatan setengah daya tinggi yang mampu mendorong motor dengan arus hingga 43A. Fiturnya:
- Pin input PWM untuk kontrol kecepatan
- Pin kontrol arah
- Perlindungan arus berlebih dan termal
Pinout
Pin | Keterangan |
---|---|
Vcc | Input Daya Logika 5V |
Gnd | Tanah |
RPWM | Input PWM untuk gerakan maju |
LPWM | Input PWM untuk gerakan terbalik |
R_en | Aktifkan pin untuk gerakan maju |
L_en | Aktifkan pin untuk gerakan terbalik |
Motor+ (M+) | Terminal positif motorik |
Motor- (M-) | Terminal negatif motorik |
Vin | Catu Daya Motor Eksternal |
GND (Power) | Tanah untuk Catu Daya Motor |
Langkah 2: Kabel BTS7960 ke Raspberry Pi
Koneksi
Pin BTS7960 | Raspberry Pi Pin |
---|---|
Vcc | 5v |
Gnd | Gnd |
Rpwm | GPIO18 (saluran PWM 0) |
LPWM | GPIO19 (saluran PWM 1) |
R_en | GPIO23 |
L_en | Gpio24 |
Koneksi motor dan catu daya
- Hubungkan terminal motor ke Motor+ (M+) Dan Motor- (M-) pin.
- Hubungkan terminal positif catu daya eksternal ke Vin.
- Menghubungkan ground catu daya eksternal ke GND (Power) pin.
Catatan: Pastikan catu daya eksternal cocok dengan tegangan motor dan persyaratan saat ini.
Langkah 3: Mengaktifkan PWM di Raspberry Pi
Untuk mengontrol kecepatan motor, Anda akan menggunakan PWM (modulasi lebar pulsa). Raspberry Pi Gpio Pin 18 dan 19 Dukungan Perangkat Keras PWM.
Aktifkan PWM melalui konfigurasi Raspberry PI
- Buka terminal dan jalankan:
sudo raspi-config
- Navigasikan ke Opsi Antarmuka> P5: I2C, dan aktifkan I2C.
- Simpan dan reboot raspberry pi:
sudo reboot
Langkah 4: Menulis kode Python untuk mengontrol motor
Instal RPi.GPIO
Perpustakaan untuk mengontrol pin GPIO jika belum diinstal:
pip install RPi.GPIO
Contoh Kode Python
Contoh ini menunjukkan cara mengontrol kecepatan dan arah motor menggunakan BTS7960.
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()
Langkah 5: Menguji Pengaturan Anda
- Hubungkan motor dan catu daya.
- Jalankan skrip Python:
python3 bts7960_control.py
- Amati kecepatan dan arah perubahan motor seperti yang diprogram.
Pemecahan masalah
-
Motor Tidak Berjalan:
- Periksa koneksi kabel.
- Verifikasi catu daya eksternal.
-
PWM Tidak Bekerja:
- Pastikan GPIO18 dan GPIO19 dikonfigurasi untuk PWM.
- Periksa nilai siklus tugas dalam skrip.
-
Modul overheating:
- Pastikan undian motor saat ini tidak melebihi peringkat BTS7960.
Aplikasi BTS7960 dengan Raspberry Pi
- Mengontrol motor DC arus tinggi dalam robotika
- Membangun kendaraan atau robot otomatis
- Membuat sistem bermotor untuk aplikasi industri
- Mengembangkan sistem yang dikendalikan dari jarak jauh
Kesimpulan
Pengemudi motor BTS7960 adalah solusi yang kuat dan efisien untuk mengendarai motor arus tinggi. Dikombinasikan dengan kemampuan GPIO Raspberry Pi, ini membuka banyak kemungkinan untuk proyek robotika dan otomatisasi. Dengan mengikuti panduan ini, Anda dapat mengatur dan mengontrol BTS7960 untuk membuat sistem bermotor yang kuat. Eksperimen dengan frekuensi PWM yang berbeda dan siklus tugas untuk mengoptimalkan kinerja untuk aplikasi spesifik Anda!