Raspberry PiでBTS7960を使用します

Using the BTS7960 with the Raspberry Pi

BTS7960モータードライバーは、高電流を処理できる強力なHブリッジモジュールであり、ロボット工学および自動化プロジェクトでDCモーターを制御するのに最適です。このチュートリアルでは、モーターを駆動するためにRaspberry PIでBTS7960を接続および制御する方法を学びます。


あなたが必要とするもの

  1. Raspberry Pi (GPIO機能を備えたモデル、例えばPI 3、PI 4)
  2. BTS7960モータードライバーモジュール
  3. DCモーター (プロジェクトに適しています)
  4. 外部電源 (モーターの電圧と現在の要件に合わせて)
  5. ブレッドボードとジャンパーワイヤ

ステップ1:BTS7960モータードライバーの理解

BTS7960モジュールには、最大43aの電流でモーターを駆動できる2つの高出力ハーフブリッジが含まれています。特徴:

  • 速度制御のためのPWM入力ピン
  • 方向制御ピン
  • 過電流と熱保護

ピンアウト

ピン 説明
VCC 5Vロジック電源入力
GND 地面
RPWM 前方モーションのPWM入力
LPWM 逆モーションのPWM入力
r_en フォワードモーションにピンを有効にします
l_en リバースモーションにピンを有効にします
モーター+(M+) モーターポジティブ端子
モーター(m-) モーターネガティブ端子
ヴィン 外部モーター電源
GND(パワー) モーター電源の地面

ステップ2:BTS7960をRaspberry Piに配線します

接続

BTS7960ピン ラズベリーPIピン
VCC 5V
GND GND
RPWM GPIO18(PWMチャンネル0)
LPWM GPIO19(PWMチャンネル1)
r_en GPIO23
l_en GPIO24

モーターと電源の接続

  1. モーター端子をに接続します モーター+(M+) そして モーター - (m-) ピン。
  2. 外部電源の正のターミナルを接続します ヴィン.
  3. 外部電源の地面をに接続します GND(パワー) ピン。

注記: 外部電源がモーターの電圧と現在の要件に一致するようにします。


ステップ3:Raspberry PiでPWMを有効にします

モーター速度を制御するには、PWM(パルス幅変調)を使用します。 Raspberry Pi Gpio Pins 18および19サポートハードウェアPWM。

Raspberry PI構成を介してPWMを有効にします

  1. ターミナルを開いて実行します。
    sudo raspi-config
    
  2. に移動します インターフェイスオプション> P5:I2C、およびi2cを有効にします。
  3. RaspberryPiを保存して再起動します:
    sudo reboot
    

ステップ4:モーターを制御するためのPythonコードの書き込み

インストールします RPi.GPIO まだインストールされていない場合はGPIOピンを制御するライブラリ:

pip install RPi.GPIO

Pythonコードの例

この例は、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()

ステップ5:セットアップのテスト

  1. モーターと電源を接続します。
  2. Pythonスクリプトを実行します:
    python3 bts7960_control.py
    
  3. プログラムされたように、モーターの変化速度と方向を観察します。

トラブルシューティング

  1. モーターが実行されていない:

    • 配線接続を確認します。
    • 外部電源を確認します。
  2. PWMが機能していません:

    • GPIO18とGPIO19がPWM用に構成されていることを確認してください。
    • スクリプトのデューティサイクル値を確認します。
  3. 過熱モジュール:

    • モーターの現在の抽選がBTS7960の評価を超えないようにしてください。

Raspberry Piを使用したBTS7960のアプリケーション

  1. ロボット工学の高電流DCモーターの制御
  2. 自動化された車両またはロボットを構築します
  3. 産業用途向けの電動システムの作成
  4. リモート制御システムの開発

結論

BTS7960モータードライバーは、高電流モーターを駆動するための堅牢で効率的なソリューションです。 Raspberry PiのGPIO機能と組み合わせることで、ロボット工学と自動化プロジェクトの可能性が多く開きます。このガイドに従うことにより、BTS7960を設定および制御して、強力な電動システムを作成できます。さまざまなPWM周波数とデューティサイクルを試して、特定のアプリケーションのパフォーマンスを最適化してください!

コメントを残す

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.