ArduinoでBTS7960 DCモータードライバーモジュールを制御する
このチュートリアルでは、Arduinoを使用してBTS7960 DCモータードライバーモジュールを制御する方法を学びます。このセットアップにより、パルス幅変調(PWM)を使用してDCモーターの方向と速度を制御できます。このチュートリアルの終わりには、自分のプロジェクトに簡単に修正できる動作するモーター制御システムを持つことになります。視覚的なガイドが必要な場合は、(ビデオは00:00にあります)ビデオをチェックしてください。
ハードウェアの解説
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モータードライバーモジュールをArduinoに配線するには、電源、グラウンド、制御、モーター端子を正しく接続する必要があります。まず、電源をモジュールに接続します。B+そしてB-端子が極性が正しいことを確認します。B+端子は正の供給が接続される場所です、一方B-接地します。
次に、モーターを接続します。M+とM-モジュール上的端子。これらはモーターの方向を制御します。制御ピンについては、次のようにArduinoのピンをモジュールに接続してください。RPWM3にピンを刺す、R_EN4にピンを。R_ISピン5に、LPWMピン6に、L_ENピン7に、そしてL_ISピン8に接続します。また、Arduinoのグラウンドをモジュールのグラウンドにも接続することを確認してください。
必要なライブラリをインストールする
インストールするには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 異なるコードテスト
リソースと参考文献
-
外部AmazonでBTS7960を購入するamzn.to
-
外部AmazonカナダでBTS7960を購入するamzn.to
-
外部AmazonフランスのBTS7960amzn.to
-
外部BTS7960 アマゾンジャパンamzn.to
-
外部BTS7960、アマゾン・ドイツamzn.to
-
外部BTS7960はアマゾンスペインにあります。amzn.to
-
外部BTS7960をアマゾンイタリアでamzn.to
-
外部BTS7960を購入、Amazon UKamzn.to
ファイル📁
Arduinoライブラリ(zip)
-
robojax_BTS7960_motor_driver_library
robojax_BTS7960_motor_driver_library.zip0.10 MB
データシート(pdf)
-
BTS7960_datasheet
BTS7960_datasheet.pdf0.45 MB
フリッツィングファイル
-
BTS7960_driver
BTS7960_driver.fzpz0.01 MB