Sterownik silnika BTS7960 to potężny moduł mostka, który jest w stanie obsłużyć wysokie prądy, co czyni go idealnym do kontrolowania silników DC w projektach robotyki i automatyzacji. W tym samouczku nauczysz się łączyć i kontrolować BTS7960 z Raspberry Pi, aby napędzać silnik.
Czego będziesz potrzebować
- Raspberry Pi (Każdy model z możliwościami GPIO, np. PI 3, PI 4)
- Moduł sterownika silnika BTS7960
- Silnik DC (odpowiednie do twojego projektu)
- Zewnętrzny zasilacz (Dopasowanie napięcia i wymagań dotyczących silnika)
- Druty chleba i skoczków
Krok 1: Zrozumienie sterownika silnika BTS7960
Moduł BTS7960 obejmuje dwa przyrodnie mosty o dużej mocy zdolne do napędzania silników z prądami do 43A. Posiada:
- PINS wejściowy PWM do sterowania prędkością
- Pinsy kontrolne kierunku
- Ochrona nad nadmierną prądem i termicznie
Pinout
Szpilka | Opis |
---|---|
VCC | Wejście zasilania logicznego 5 V |
GND | Grunt |
RPWM | Wejście PWM do ruchu do przodu |
LPWM | Wejście PWM dla ruchu odwrotnego |
R_en | Włącz PIN do ruchu do przodu |
L_en | Włącz PIN do ruchu odwrotnego |
Silnik+ (m+) | Motor dodatni terminal |
Motor- (m-) | Mocowy terminal ujemny |
Vin | Zewnętrzny zasilacz silnika |
GND (moc) | Ziemia do zasilania silnika |
Krok 2: Okablowanie BTS7960 do Raspberry Pi
Znajomości
BTS7960 PIN | Pin Raspberry Pi |
---|---|
VCC | 5v |
GND | GND |
RPWM | GPIO18 (kanał PWM 0) |
LPWM | GPIO19 (kanał PWM 1) |
R_en | GPIO23 |
L_en | GPIO24 |
Połączenia silnika i zasilania
- Podłącz zaciski silnika do Silnik+ (m+) I Motor- (m-) szpilki.
- Podłącz dodatni terminal zasilacza zewnętrznego do Vin.
- Podłącz ziemię zewnętrzną z zasilaczem do GND (moc) szpilka.
Notatka: Upewnij się, że zasilacz zewnętrzny odpowiada napięciu i bieżącym wymaganiom silnika.
Krok 3: Włączanie PWM na Raspberry Pi
Aby kontrolować prędkość silnika, użyjesz PWM (modulacja szerokości impulsu). Raspberry Pi GPIO Pins 18 i 19 Wsparcie PWM.
Włącz PWM poprzez konfigurację Raspberry Pi
- Otwórz terminal i uruchom:
sudo raspi-config
- Przejść do Opcje interfejsu> P5: I2Ci włącz I2C.
- Zapisz i uruchom ponownie Raspberry Pi:
sudo reboot
Krok 4: Pisanie kodu Pythona do kontrolowania silnika
Zainstaluj RPi.GPIO
Biblioteka do kontrolowania pinów GPIO, jeśli jeszcze nie zainstalowane:
pip install RPi.GPIO
Przykładowy kod Pythona
Ten przykład pokazuje, jak kontrolować prędkość i kierunek silnika za pomocą 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()
Krok 5: Testowanie konfiguracji
- Podłącz silnik i zasilacz.
- Uruchom skrypt Python:
python3 bts7960_control.py
- Obserwuj prędkość i kierunek zmiany silnika zgodnie z zaprogramowaniem.
Rozwiązywanie problemów
-
Nie działa silnik:
- Sprawdź połączenia okablowania.
- Sprawdź zewnętrzny zasilacz.
-
PWM nie działa:
- Upewnij się, że GPIO18 i GPIO19 są skonfigurowane dla PWM.
- Sprawdź wartości cyklu pracy w skrypcie.
-
Moduł przegrzany:
- Upewnij się, że bieżące losowanie silnika nie przekracza oceny BTS7960.
Zastosowania BTS7960 z Raspberry Pi
- Kontrolowanie silników DC o wysokiej prądu w robotyce
- Budowanie zautomatyzowanych pojazdów lub robotów
- Tworzenie zmotoryzowanych systemów do zastosowań przemysłowych
- Opracowanie zdalnie sterowanych systemów
Wniosek
Silnik BTS7960 jest solidnym i wydajnym rozwiązaniem do prowadzenia silników o wysokiej prądu. W połączeniu z możliwościami GPIO Raspberry PI, otwiera wiele możliwości dla projektów robotyki i automatyzacji. Postępując zgodnie z tym przewodnikiem, możesz skonfigurować i kontrolować BTS7960 w celu stworzenia mocnych systemów zmotoryzowanych. Eksperymentuj z różnymi częstotliwościami PWM i cyklami służby, aby zoptymalizować wydajność dla konkretnej aplikacji!