De BTS7960 motor driver BTS7960 met een Raspberry Pi om een motor aan te sturen.
Wat u nodig hebt
- Raspberry Pi
- BTS7960 Motor Driver Module
- DC-motor (geschikt voor uw project)
- Externe voeding
- Breadboard en jumperdraden
Stap 1: Begrijpen van de BTS7960 Motor Driver
De BTS7960-module bevat twee krachtige halve bruggen die motoren kunnen aansturen met stromen tot 43A. Kenmerken:
- PWM-ingangspinnen voor snelheidsregeling
- Richtingcontrolepinnen
- Overstroom- en thermische beveiliging
Pinout
| Pin | Beschrijving |
|---|---|
| VCC | 5V logische voedingsingang |
| GND | Grond |
| RPWM_ | PWM-ingang voor voorwaartse beweging |
| LPWM_ | PWM-input voor achterwaartse beweging |
| R_NL | Pincode inschakelen voor voorwaartse beweging |
| L_NL | Pin inschakelen voor achterwaartse beweging |
| Motor+ (M+) | Positieve pool van de motor |
| Motor- (M-) | Negatieve pool van de motor |
| VIN | Externe motorvoeding |
| GND (stroom) | Aarding voor motorvoeding |
BTS7960
Verbindingen
| BTS7960 Pin | Raspberry Pi Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| RPWM_ | GPIO18 (PWM-kanaal 0) |
| LPWM_ | GPIO19 (PWM-kanaal 1) |
| R_NL | GPIO23 |
| L_NL | GPIO24 |
Motor- en voedingsaansluitingen
- Motor+ (M+) en Motor- (M-) pins.
- VIN.
- GND (stroom) pin.
Opmerking: Zorg ervoor dat de externe voeding overeenkomt met de spannings- en stroomvereisten van uw motor.
Step 3: Enabling PWM on the Raspberry Pi
Om de motorsnelheid te regelen, gebruik je PWM (Pulse Width Modulation). Raspberry Pi GPIO-pinnen 18 en 19 ondersteunen hardware-PWM.
Schakel PWM in via de Raspberry Pi-configuratie
- Open de terminal en voer het volgende uit:
sudo raspi-config - Navigeer naar Interface-opties > P5: I2C, and enable I2C.
- Sla op en start de Raspberry Pi opnieuw op:
sudo reboot
Step 4: Writing Python Code to Control the Motor
Installeer de RPi.GPIO bibliotheek om GPIO-pinnen aan te sturen als deze nog niet is geïnstalleerd:
pip install RPi.GPIO
python Voorbeeld Python-code
python
import RPi.GPIO as GPIO
import time
# Pin-definities
RPWM_PIN = 18
LPWM_PIN = 19
REN_PIN = 23
LEN_PIN = 24
# GPIO-configuratie
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-configuratie
frequency = 1000 # PWM-frequentie in Hz
rpwm = GPIO.PWM(RPWM_PIN, frequency)
lpwm = GPIO.PWM(LPWM_PIN, frequency)
# Start PWM met 0% inschakelduur (uit)
rpwm.start(0)
lpwm.start(0)
try:
while True:
# Voorwaartse beweging inschakelen
GPIO.output(REN_PIN, GPIO.HIGH)
GPIO.output(LEN_PIN, GPIO.LOW)
# Voorwaartse snelheid instellen (50% inschakelduur)
rpwm.ChangeDutyCycle(50)
lpwm.ChangeDutyCycle(0)
time.sleep(2)
# Achterwaartse beweging inschakelen
GPIO.output(REN_PIN, GPIO.LOW)
GPIO.output(LEN_PIN, GPIO.HIGH)
# Achterwaartse snelheid instellen (30% inschakelduur)
rpwm.ChangeDutyCycle(0)
lpwm.ChangeDutyCycle(30)
time.sleep(2)
except KeyboardInterrupt:
print("Motor stoppen...")
finally:
rpwm.stop()
lpwm.stop()
GPIO.cleanup()
Step 5: Testing Your Setup
- Sluit de motor en de voeding aan.
- python
# Voer het Python-script uit:
python3 bts7960_control.py - Observeer hoe de motor van snelheid en richting verandert zoals geprogrammeerd.
Probleemoplossing
-
Motor draait niet:
- Controleer de bedradingsaansluitingen.
- Controleer de externe voeding.
-
PWM werkt niet:
- Zorg ervoor dat GPIO18 en GPIO19 zijn geconfigureerd voor PWM.
- Controleer de waarden van de inschakelduur in het script.
-
Oververhittingsmodule:
- Zorg ervoor dat het stroomverbruik van de motor niet hoger is dan de BTS7960’s rating.
Toepassingen van de BTS7960 met Raspberry Pi
- Het aansturen van DC-motoren met hoge stroomsterkte in de robotica
- Het bouwen van geautomatiseerde voertuigen of robots
- Het creëren van gemotoriseerde systemen voor industriële toepassingen
- Het ontwikkelen van op afstand bestuurbare systemen
Conclusie
De BTS7960 motor driver is een robuuste en efficiënte oplossing voor het aansturen van motoren met een hoge stroomsterkte. In combinatie met de GPIO-mogelijkheden van de Raspberry Pi opent dit tal van mogelijkheden voor robotica- en automatiseringsprojecten. Door deze handleiding te volgen, kunt u de BTS7960 om krachtige gemotoriseerde systemen te creëren. Experimenteer met verschillende PWM-frequenties en inschakelduurs om de prestaties voor jouw specifieke toepassing te optimaliseren!
