Gebruik de BTS7960 met de Raspberry Pi

Using the BTS7960 with the Raspberry Pi

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

  1. Raspberry Pi (Elk model met GPIO -mogelijkheden, bijvoorbeeld PI 3, PI 4)
  2. BTS7960 Motor Driver Module
  3. DC -motor (Geschikt voor uw project)
  4. Externe voeding (het matchen van de spanning- en stroomvereisten van uw motor)
  5. 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

  1. Sluit de motoraansluitingen aan op de Motor+ (M+) En Motor- (m-) pinnen.
  2. Verbind de positieve terminal van de externe voeding met Vin.
  3. 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

  1. Open de terminal en run:
    sudo raspi-config
    
  2. Navigeren naar Interface -opties> P5: I2C, en schakel i2c in.
  3. 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

  1. Sluit de motor en de voeding aan.
  2. Voer het Python -script uit:
    python3 bts7960_control.py
    
  3. Bekijk de motorische snelheid en richting zoals geprogrammeerd.

Problemen oplossen

  1. Motor loopt niet:

    • Controleer de bedradingverbindingen.
    • Controleer de externe voeding.
  2. PWM werkt niet:

    • Zorg ervoor dat GPIO18 en GPIO19 zijn geconfigureerd voor PWM.
    • Controleer de werkcycluswaarden in het script.
  3. 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

  1. Controle van hoogstroom DC-motoren in robotica
  2. Geautomatiseerde voertuigen of robots bouwen
  3. Gemotoriseerde systemen maken voor industriële toepassingen
  4. 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!

Laat een reactie achter

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.