De BTS7960 Motor Driver is een krachtige H-Bridge-module die in staat is om hoge stromingen te verwerken, waardoor het ideaal is voor het besturen van DC-motoren in robotica en automatiseringsprojecten. In deze zelfstudie leert u hoe u de BTS7960 kunt verbinden en besturen met een Raspberry Pi om een motor aan te drijven.
Wat u nodig hebt
- Raspberry Pi (Elk model met GPIO -mogelijkheden, bijvoorbeeld PI 3, PI 4)
 - BTS7960 Motor Driver Module
 - DC -motor (Geschikt voor uw project)
 - Externe voeding (het matchen van de spanning- en stroomvereisten van uw motor)
 - Breadboard en jumper draden
 
Stap 1: Inzicht in de BTS7960 -motorrijder
De BTS7960-module bevat twee krachtige halfbruggen die in staat zijn om motoren met stromen tot 43A te besturen. Het beschikt over:
- PWM -invoerpennen voor snelheidsregeling
 - Richtingsbesturingpennen
 - Overstroom en thermische bescherming
 
Uitspraken
| Pin | Beschrijving | 
|---|---|
| VCC | 5V Logic Power Input | 
| GND | Grond | 
| RPWM | PWM -invoer voor voorwaartse beweging | 
| LPWM | PWM -invoer voor omgekeerde beweging | 
| R_en | Schakel pin in voor voorwaartse beweging | 
| L_en | Schakel pin in voor omgekeerde beweging | 
| Motor+ (M+) | Motorische positieve terminal | 
| Motor- (m-) | Motorische negatieve terminal | 
| Vin | Externe motor voeding | 
| GND (Power) | Grond voor motor stroomvoorziening | 
Stap 2: De BTS7960 bedraden naar de Raspberry Pi
Verbindingen
| BTS7960 PIN | Raspberry Pi Pin | 
|---|---|
| VCC | 5V | 
| GND | GND | 
| RPWM | GPIO18 (PWM -kanaal 0) | 
| LPWM | GPIO19 (PWM -kanaal 1) | 
| R_en | GPIO23 | 
| L_en | GPIO24 | 
Motor- en voedingsverbindingen
- Sluit de motoraansluitingen aan op de Motor+ (M+) En Motor- (m-) pinnen.
 - Verbind de positieve terminal van de externe voeding met Vin.
 - Verbind de grond van de externe voeding met de GND (Power) pin.
 
Opmerking: Zorg ervoor dat de externe voeding overeenkomt met de spanning en de huidige vereisten van uw motor.
Stap 3: PWM inschakelen op de Raspberry Pi
Om de motorsnelheid te regelen, gebruikt u PWM (pulsbreedtemodulatie). Raspberry Pi GPIO PINS 18 en 19 Support Hardware PWM.
Schakel PWM in via Raspberry Pi -configuratie
- Open de terminal en run:
sudo raspi-config - Navigeren naar Interface -opties> P5: I2C, en schakel i2c in.
 - Sla de Raspberry Pi op en start opnieuw op:
sudo reboot 
Stap 4: Python -code schrijven om de motor te bedienen
Installeer de RPi.GPIO bibliotheek om GPIO -pinnen te besturen indien niet al geïnstalleerd:
pip install RPi.GPIO
Voorbeeld Python -code
Dit voorbeeld laat zien hoe de snelheid en richting van de motor kan worden geregeld met behulp van de 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()
Stap 5: uw setup testen
- Sluit de motor en de voeding aan.
 - Voer het Python -script uit:
python3 bts7960_control.py - Bekijk de motorische snelheid en richting zoals geprogrammeerd.
 
Problemen oplossen
- 
Motor loopt niet:
- Controleer de bedradingverbindingen.
 - Controleer de externe voeding.
 
 - 
PWM werkt niet:
- Zorg ervoor dat GPIO18 en GPIO19 zijn geconfigureerd voor PWM.
 - Controleer de werkcycluswaarden in het script.
 
 - 
Oververhitting module:
- Zorg ervoor dat de huidige trekking van de motor de beoordeling van de BTS7960 niet overschrijdt.
 
 
Toepassingen van de BTS7960 met Raspberry Pi
- Controle van hoogstroom DC-motoren in robotica
 - Geautomatiseerde voertuigen of robots bouwen
 - Gemotoriseerde systemen maken voor industriële toepassingen
 - Ontwikkeling van externe gecontroleerde systemen
 
Conclusie
De BTS7960-motorrijder is een robuuste en efficiënte oplossing voor het besturen van hoogstroommotoren. Gecombineerd met de GPIO -mogelijkheden van de Raspberry PI, opent het talloze mogelijkheden voor robotica en automatiseringsprojecten. Door deze gids te volgen, kunt u de BTS7960 instellen en besturen om krachtige gemotoriseerde systemen te maken. Experimenteer met verschillende PWM -frequenties en dienstcycli om de prestaties voor uw specifieke toepassing te optimaliseren!
            