Utilisation du BTS7960 avec le Raspberry Pi

Using the BTS7960 with the Raspberry Pi

Le pilote de moteur BTS7960 est un puissant module de pont H capable de gérer des courants élevés, ce qui le rend idéal pour contrôler les moteurs CC dans les projets de robotique et d'automatisation. Dans ce tutoriel, vous apprendrez à connecter et à contrôler le BTS7960 avec un Raspberry Pi pour conduire un moteur.


Ce dont vous aurez besoin

  1. Raspberry Pi (Tout modèle avec des capacités GPIO, par exemple, PI 3, PI 4)
  2. Module de conducteur de moteur BTS7960
  3. Moteur CC (adapté à votre projet)
  4. Alimentation externe (correspondant aux exigences de tension et de courant de votre moteur)
  5. Fils de planche à pain et de cavalier

Étape 1: Comprendre le conducteur du moteur BTS7960

Le module BTS7960 comprend deux demi-ponts de haute puissance capables de conduire des moteurs avec des courants jusqu'à 43A. Il s'agit de fonctionnalités:

  • Broches d'entrée PWM pour le contrôle de la vitesse
  • Pins de commande de direction
  • Surintensité et protection thermique

Brochage

Épingle Description
VCC Entrée d'alimentation logique 5V
GND Sol
Rpwm Entrée PWM pour le mouvement vers l'avant
LPWM Entrée PWM pour le mouvement inversé
R_en Activer la broche pour le mouvement vers l'avant
L_en Activer la broche pour le mouvement inversé
Moteur + (M +) Terminal positif moteur
Moteur (m-) Terminal négatif moteur
Vin Alimentation moteur externe
GND (puissance) Terre pour l'alimentation motrice

Étape 2: Câblage du BTS7960 au Raspberry Pi

Relations

PIN BTS7960 Pin de framboise PI
VCC 5V
GND GND
Rpwm GPIO18 (canal PWM 0)
LPWM GPIO19 (canal PWM 1)
R_en Gpio23
L_en Gpio24

Connexions d'alimentation du moteur et d'alimentation

  1. Connectez les bornes du moteur à la Moteur + (M +) et Moteur (m-) broches.
  2. Connectez le terminal positif de l'alimentation externe à Vin.
  3. Connectez le sol de l'alimentation externe au GND (puissance) épingle.

Note: Assurez-vous que l'alimentation externe correspond aux exigences de tension et de courant de votre moteur.


Étape 3: activer PWM sur le Raspberry Pi

Pour contrôler la vitesse du moteur, vous utiliserez PWM (modulation de largeur d'impulsion). Raspberry Pi GPIO Pins 18 et 19 Support matériel PWM.

Activer PWM via la configuration Raspberry Pi

  1. Ouvrez le terminal et exécutez:
    sudo raspi-config
    
  2. Se diriger vers Options d'interface> P5: I2C, et activez i2c.
  3. Enregistrez et redémarrez le Raspberry Pi:
    sudo reboot
    

Étape 4: Écriture de code python pour contrôler le moteur

Installer le RPi.GPIO bibliothèque pour contrôler les broches GPIO si elle n'est pas déjà installée:

pip install RPi.GPIO

Exemple de code python

Cet exemple montre comment contrôler la vitesse et la direction du moteur à l'aide du 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()

Étape 5: Tester votre configuration

  1. Connectez le moteur et l'alimentation.
  2. Exécutez le script Python:
    python3 bts7960_control.py
    
  3. Observez la vitesse et la direction de changement de moteur comme programmées.

Dépannage

  1. Moteur ne fonctionne pas:

    • Vérifiez les connexions de câblage.
    • Vérifiez l'alimentation externe.
  2. PWM ne fonctionne pas:

    • Assurez-vous que GPIO18 et GPIO19 sont configurés pour PWM.
    • Vérifiez les valeurs du cycle de service dans le script.
  3. Module de surchauffe:

    • Assurez-vous que le tirage au courant du moteur ne dépasse pas la note du BTS7960.

Applications du BTS7960 avec Raspberry Pi

  1. Contrôle des moteurs CC à courant élevé en robotique
  2. Construire des véhicules ou des robots automatisés
  3. Création de systèmes motorisés pour applications industrielles
  4. Développement de systèmes télécommandés

Conclusion

Le conducteur du moteur BTS7960 est une solution robuste et efficace pour conduire des moteurs à courant élevé. Combiné avec les capacités GPIO de Raspberry Pi, il ouvre de nombreuses possibilités pour les projets de robotique et d'automatisation. En suivant ce guide, vous pouvez configurer et contrôler le BTS7960 pour créer de puissants systèmes motorisés. Expérimentez avec différentes fréquences PWM et cycles de service pour optimiser les performances pour votre application spécifique!

Laissez un commentaire

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.