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!