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
- Raspberry Pi (Tout modèle avec des capacités GPIO, par exemple, PI 3, PI 4)
- Module de conducteur de moteur BTS7960
- Moteur CC (adapté à votre projet)
- Alimentation externe (correspondant aux exigences de tension et de courant de votre moteur)
- 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
- Connectez les bornes du moteur à la Moteur + (M +) et Moteur (m-) broches.
- Connectez le terminal positif de l'alimentation externe à Vin.
- 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
- Ouvrez le terminal et exécutez:
sudo raspi-config
- Se diriger vers Options d'interface> P5: I2C, et activez i2c.
- 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
- Connectez le moteur et l'alimentation.
- Exécutez le script Python:
python3 bts7960_control.py
- Observez la vitesse et la direction de changement de moteur comme programmées.
Dépannage
-
Moteur ne fonctionne pas:
- Vérifiez les connexions de câblage.
- Vérifiez l'alimentation externe.
-
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.
-
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
- Contrôle des moteurs CC à courant élevé en robotique
- Construire des véhicules ou des robots automatisés
- Création de systèmes motorisés pour applications industrielles
- 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!