ArduinoでBTS7960 DCモータードライバーモジュールを制御する

ArduinoでBTS7960 DCモータードライバーモジュールを制御する

このチュートリアルでは、Arduinoを使用してBTS7960 DCモータードライバーモジュールを制御する方法を学びます。このセットアップにより、パルス幅変調(PWM)を使用してDCモーターの方向と速度を制御できます。このチュートリアルの終わりには、自分のプロジェクトに簡単に修正できる動作するモーター制御システムを持つことになります。視覚的なガイドが必要な場合は、(ビデオは00:00にあります)ビデオをチェックしてください。

BTS7960_module-1

ハードウェアの解説

BTS7960は、最大43アンペアまで対応可能な高電流DCモータードライバーです。これは、時計回り(CW)および反時計回り(CCW)方向の両方でモーターを制御できる2つの集積回路(IC)で構成されています。このドライバーはPWM信号を使用してモーターの速度を変化させ、精密な制御が必要なアプリケーションにとって重要です。

このモジュールのもう一つの重要な側面は、内蔵の電流検出および過温度保護機能です。これにより、動作中にモーターやドライバーが損傷するのを防ぎます。このモジュールは外部ソースから電源が供給され、ロジック回路には別途5Vの電源が必要です。

データシートの詳細

製造業者 インフィニオンテクノロジーズ
部品番号 BTS7960
論理/IO電圧 5 V
供給電圧 6-27 V
出力電流(チャンネルごと) 43 A最大
ピーク電流(チャネルごと) 60 A
PWM周波数ガイダンス 25 kHz
入力論理閾値 0.8 V(高)、0.3 V(低)
電圧降下 / RDS(on)/ 飽和度 16 mΩ
熱的制限 最大125°C
パッケージ PTO-263-7
ノート / バリアント デュアルHブリッジ構成

  • 高電流アプリケーションに対して適切なヒートシンクを確保してください。
  • 最大電流を扱うために適切なワイヤーゲージを使用してください。
  • 最適な性能を得るためにPWM周波数を指定された範囲内に保ってください。
  • 電源ピンの近くにデカップリングコンデンサを実装して、電圧を安定させます。
  • 動作中に温度を監視し、過熱を防ぎます。

配線指示

BTS7960-_motor_wiring

BTS7960モータードライバーモジュールをArduinoに配線するには、電源、グラウンド、制御、モーター端子を正しく接続する必要があります。まず、電源をモジュールに接続します。B+そしてB-端子が極性が正しいことを確認します。B+端子は正の供給が接続される場所です、一方B-接地します。

次に、モーターを接続します。M+M-モジュール上的端子。これらはモーターの方向を制御します。制御ピンについては、次のようにArduinoのピンをモジュールに接続してください。RPWM3にピンを刺す、R_EN4にピンを。R_ISピン5に、LPWMピン6に、L_ENピン7に、そしてL_ISピン8に接続します。また、Arduinoのグラウンドをモジュールのグラウンドにも接続することを確認してください。

BTS7960_module-2

必要なライブラリをインストールする

インストールするにはrobojax_BTS7960_motor_driver_libraryArduino IDEで、まず提供されたリンクからライブラリのZIPファイルをダウンロードします。ファイルを保存したら、Arduino IDEを開き、移動します。スケッチ > ライブラリを含める > .ZIPライブラリを追加...ファイル選択ダイアログで、ダウンロードしたZIPファイルを参照し、選択して「開く」をクリックします。IDEはライブラリをインストールします。インストールが成功したかどうかは、確認することができます。ファイル > サンプルメニューに「Robojax BTS7960 モータードライバーライブラリ」という新しいカテゴリが表示されるはずです。これで、コードにライブラリヘッダーを含めることができます。#include <RobojaxBTS7960.h>.

コード例とウォークスルー

BTS7960モータードライバを制御するためのArduinoコードは、必要なピンを定義することから始まります。例えば、右のPWM信号用のピンは次のように定義されます。RPWMおよびピン3に設定されます。さらに、右側のイネーブルピンは次のように定義されています。R_ENピン4に設定します。

#define RPWM 3 // define pin 3 for RPWM pin (output)
#define R_EN 4 // define pin 4 for R_EN pin (input)

このセットアップは、モーターを正確に制御できるようにします。setup()機能、モーターは初期化されますmotor.begin()運転手を作業に備えさせる。

void setup() {
  Serial.begin(9600);// setup Serial Monitor to display information
  motor.begin(); // Initialize motor
}

In theloop()機能、モーターの方向と速度は使用して制御されますmotor.rotate(speed, direction)メソッド。例えば、モーターを全速で時計回りに回すには、次のようにします。motor.rotate(100, CW);.

void loop() {
    motor.rotate(100,CW); // run motor with 100% speed in CW direction
    delay(5000); // run for 5 seconds
}

記事の下にロードされた完全なコードをチェックして、より詳細な例やバリエーションを確認してください。

デモンストレーション / 期待すること

すべてが正しく配線され、プログラムされている場合、モーターはコードに基づいて両方向に回転することを期待できます。最初に、モーターは5秒間全速で回転し、3秒間停止し、その後同じ期間反対方向に回転します。このサイクルは繰り返され、モーターのPWM信号への応答性を見ることができます。

一般的な落とし穴には、モーターや電源を接続する際の極性の逆転が含まれ、これがコンポーネントを損傷させる可能性があります。さらに、コード内でPWMピンが正しく割り当てられていることを確認してください(動画の12:34で)。

ビデオのタイムスタンプ

  • 00:00 スタート
  • 00:48 ハードウェアの解説
  • 04:06 データシートが表示されました
  • 07:07 配線の説明
  • 09:00 コードの説明
  • 14:33 デモンストレーション
  • 16:47 最大電流テスト
  • 19:25 サーマルイメージ
  • 19:27 異なるコードテスト

画像

BTS7960-_motor_wiring
BTS7960-_motor_wiring
BTS7960_module-1
BTS7960_module-1
BTS7960_module-2
BTS7960_module-2
BTS7960_module-3
BTS7960_module-3
BTS7960_module-4-heat-sink
BTS7960_module-4-heat-sink
202-Arduino Code to control BTS7960 Motor Driver
言語: C++
203-Arduino Code to control two or more DC motors using BTS7960 motor driver
言語: C++
コピーしました!

ファイル📁

Arduinoライブラリ(zip)

データシート(pdf)

フリッツィングファイル