Buy from US

はじめに

OSOYOO Model Y 4チャンネルHブリッジモータードライバーは、5V/3.3V MCUと互換性があり、最大4つのDCモーターまたは2つのステッピングモーターを同時に制御できます。

モータードライバーボードには2つのPT5126チップ、2セットのHブリッジ制御インターフェース(4つのPWM入力ピンと8つの方向制御ピン)があります。そのため、4つのモーターの速度と回転方向を簡単に制御できます。独立して動作する2つのモーターのみをサポートする従来のL298Nモジュールと比較して、OSOYOO Model YモジュールはオムニメカナムホイールカーおよびZervsで見つけることができるその他の車両に理想的なモータードライバーです。

さらに、OSOYOO Model Yは従来のL298NおよびL293 Hブリッジモータードライバーよりもサイズが小さく、効率がはるかに優れています。これにより、ロボットおよびドローンモーターの作動時間を延長できます。

チップは定格範囲内で発熱せず、最大出力2.8Aの連続電流を出力できます。このボードには内蔵低電圧検出回路および熱遮断保護回路が含まれており、安全で信頼性があります。

OSOYOO Model Y 4チャンネルモータードライバーボードには4つの3.5mm固定穴があり、他のデバイスへの取り付けが容易です。このモジュールはあらゆる種類のDIY製作に適しています。

仕様

Model Y 寸法

ボード概要

Model Y V1.0

①電源選択スイッチ。
②異なる電源のために追加のネジ端子を提供し、プロジェクトへの電源供給に多様な選択肢を提供します。
③赤いXH2.54逆接防止端子は電源入力インターフェースです。
④電源出力インターフェース。白いXH2.54逆接防止端子は同じプロジェクト内の他のデバイスに電源を供給でき、電源供給はオンボードスイッチで制御されます。
⑤コントローラー信号インターフェース、5V/3.3Vコントローラーと互換性があり、それらを使用してモーターの回転方向、回転速度、開始および停止を制御します。
⑥PT5126-HSモータードライバー。これらは4つのDCモーターを駆動でき、各モジュールは2つのDCモーターを個別に制御できます。必要に応じて、最も一般的な赤いTB6612モジュールに置き換えることができます。
⑦電源インジケーター。
⑧サーボインターフェース。ロボットプロジェクトをより良く構築するために、2つのサーボポートを提供し、それぞれがコントローラーからのドライブピンおよび3Pin汎用サーボピンに接続できます。
⑨XH2.54逆接防止モーターインターフェース。モーターを接続する際は、直接差し込むだけで済みます。AK1/AK2は同じ駆動信号で制御され、AK3/AK4も同じ信号で制御されます。反対側の4つのポートについても同様です。
⑩ネジ端子モーターインターフェース。異なるモーターがこのプロジェクトに参加する機会を提供します。
⑪電源入出力ピンヘッダー。同時に外部3線式電圧計を接続して、電源電圧を簡単に確認できます。
⑫モーター制御インジケーター。

当社の技術チームは、Model Y v1.0で2つの個別のPT5126ボードを統合されたボードにまとめ、配線プロセスを合理化し、顧客の組み立ての容易性を向上させました。

Model Y V2.0

説明:
上記の写真では、最大8つのモーターを接続できる8つのソケットが確認できます。
ソケットAK1とAK2は同期しており、これをA1ペアと呼びます。
ソケットAK3とAK4は同期しており、これをA2ペアと呼びます。
ソケットBK1とBK2は同期しており、これをB1ペアと呼びます。
ソケットBK3とBK4は同期しており、これをB2ペアと呼びます。

A1ペアモーターの移動方向はチャネルA制御ピンIN1/IN2で制御され、速度はチャネルA ENAで制御されます
A2ペアモーターの移動方向はチャネルA制御ピンIN3/IN4で制御され、速度はチャネルA ENBで制御されます
B1ペアモーターの移動方向はチャネルB制御ピンIN1/IN2で制御され、速度はチャネルB ENAで制御されます
B2ペアモーターの移動方向はチャネルB制御ピンIN3/IN4で制御され、速度はチャネルB ENBで制御されます
以下は制御信号の表です

ソケット 移動方向 PWM速度制御ピン 方向ピン値
AK1/AK2 前進 Aチャネル ENA Aチャネル IN1=1 IN2=0
AK1/AK2 後退 Aチャネル ENA Aチャネル IN1=0 IN2=1
AK3/AK4 前進 Aチャネル ENB Aチャネル IN3=1 IN4=0
AK3/AK4 後退 Aチャネル ENB Aチャネル IN3=0 IN4=1
BK1/BK2 前進 Bチャネル ENA Bチャネル IN1=1 IN2=0
BK1/BK2 後退 Bチャネル ENA Bチャネル IN1=0 IN2=1
BK3/BK4 前進 Bチャネル ENB Bチャネル IN3=1 IN4=0
BK3/BK4 後退 Bチャネル ENB Bチャネル IN3=0 IN4=1

寸法プログラミングガイド:
1) サンプルモーター接続図:

説明:
上記の例ではOSOYOO FlexiRoverフレームワーク+520 DCモーター+メカナムホイールを使用しています

上記のハードウェアを使用する必要はありません。任意のフレームワークおよび任意のDCモーターを使用できますが、OSOYOO DCモーターにはModel Yの8つの出力モーターソケットに簡単に接続できるXH 2.54プラグがあります。独自のモーターを使用する場合は、モーターにXH2.54プラグを半田付けすることをお勧めします。これにより、ソケットに確実に差し込むことができます。

Arduino配線接続例:

説明:
Model Y Hブリッジは4つの独立したモーターチャンネルを制御するために12ピン(2つのPWMを含む)を必要とします。Model Yモジュールを制御するには、UNOボードではなくArduino MEGA2560を使用することを強くお勧めします。

サンプルコード ダウンロード https://osoyoo.com/download/model_Y_sample.zip:

#define SPEED               100 //速度は0から255までのPWM値です
#define TURN_SPEED          100 //速度は0から255までのPWM値です
#define Speed_BK1_Socket    9   //BK1モーターソケット速度はModel-Yチャネル-B ENA PWM値で制御されます
#define Chnl_B_IN1          22  //BK1モーター回転方向制御ピン1はチャネル-B IN1です 
#define Chnl_B_IN2          24  //BK1モーター回転方向制御ピン2はチャネル-B IN2です                               
#define Chnl_B_IN3          26  //BK3モーター回転方向制御ピン1はチャネル-B IN3です  
#define Chnl_B_IN4          28  //BK3モーター回転方向制御ピン2はチャネル-B IN4です 
#define Speed_BK3_Socket    10  //BK3モーターソケット速度はModel-Yチャネル-B ENB PWM値で制御されます

#define Speed_AK1_Socket    11  //AK1モーターソケット速度はModel-Yチャネル-A ENA PWM値で制御されます
#define Chnl_A_IN1          5   //AK1モーター回転方向制御ピン1はチャネル-A IN1です
#define Chnl_A_IN2          6   //AK1モーター回転方向制御ピン2はチャネル-A IN2です
#define Chnl_A_IN3          7   //AK3モーター回転方向制御ピン1はチャネル-A IN3です
#define Chnl_A_IN4          8   //AK3モーター回転方向制御ピン2はチャネル-A IN4 (K3)です
#define Speed_AK3_Socket    12  //AK3モーターソケット速度はModel-Yチャネル-A  ENB PWM値で制御されます

void BK1_fwd(int speed)  //前右ホイール前進
{
  digitalWrite(Chnl_B_IN1,HIGH);
  digitalWrite(Chnl_B_IN2,LOW); 
  analogWrite(Speed_BK1_Socket,speed);
}
void BK1_bck(int speed) // 前右ホイール後退
{
  digitalWrite(Chnl_B_IN1,LOW);
  digitalWrite(Chnl_B_IN2,HIGH); 
  analogWrite(Speed_BK1_Socket,speed);
}
void BK3_fwd(int speed) // 前左ホイール前進
{
  digitalWrite(Chnl_B_IN3,HIGH);
  digitalWrite(Chnl_B_IN4,LOW);
  analogWrite(Speed_BK3_Socket,speed);
}
void BK3_bck(int speed) // 前左ホイール後退
{
  digitalWrite(Chnl_B_IN3,LOW);
  digitalWrite(Chnl_B_IN4,HIGH);
  analogWrite(Speed_BK3_Socket,speed);
}

void AK1_fwd(int speed)  //後右ホイール前進
{
  digitalWrite(Chnl_A_IN1, HIGH);
  digitalWrite(Chnl_A_IN2,LOW); 
  analogWrite(Speed_AK1_Socket,speed);
}
void AK1_bck(int speed)  //後右ホイール後退
{
  digitalWrite(Chnl_A_IN1, LOW);
  digitalWrite(Chnl_A_IN2,HIGH); 
  analogWrite(Speed_AK1_Socket,speed);
}
void AK3_fwd(int speed)  //後左ホイール前進
{
  digitalWrite(Chnl_A_IN3,HIGH);
  digitalWrite(Chnl_A_IN4,LOW);
  analogWrite(Speed_AK3_Socket,speed);
}
void AK3_bck(int speed)    //後左ホイール後退
{
  digitalWrite(Chnl_A_IN3,LOW);
  digitalWrite(Chnl_A_IN4,HIGH);
  analogWrite(Speed_AK3_Socket,speed);
}
 
void stop_motor()    //停止
{
  analogWrite(Speed_AK3_Socket,0);
  analogWrite(Speed_AK1_Socket,0);
  analogWrite(Speed_BK3_Socket,0);
  analogWrite(Speed_BK1_Socket,0);
}


//ピン初期化
void init_GPIO()
{
  pinMode(Chnl_A_IN1, OUTPUT); 
  pinMode(Chnl_A_IN2, OUTPUT); 
  pinMode(Chnl_A_IN3, OUTPUT);
  pinMode(Chnl_A_IN4, OUTPUT); 
  pinMode(Speed_AK1_Socket, OUTPUT);
  pinMode(Speed_AK3_Socket, OUTPUT);  
  pinMode(Chnl_B_IN1, OUTPUT); 
  pinMode(Chnl_B_IN2, OUTPUT); 
  pinMode(Chnl_B_IN3, OUTPUT);
  pinMode(Chnl_B_IN4, OUTPUT); 
  pinMode(Speed_BK1_Socket, OUTPUT);
  pinMode(Speed_BK3_Socket, OUTPUT);  
  stop_motor();
}

void setup()
{
  init_GPIO();
  AK1_fwd(SPEED);
  delay(800);
  stop_motor();
  delay(100);
  
  AK1_bck(SPEED);
  delay(800);
  stop_motor();
  delay(100);
 
  AK3_fwd(SPEED);
  delay(800);
  stop_motor();
  delay(100);
  
  AK3_bck(SPEED);
  delay(800);
  stop_motor();
  delay(100);

  BK1_fwd(SPEED);
  delay(800);
  stop_motor();
  delay(100);
  
  BK1_bck(SPEED);
  delay(800);
  stop_motor();
  delay(100); 
  
  BK3_fwd(SPEED);
  delay(800);
  stop_motor();
  delay(100);
  
  BK3_bck(SPEED);
  delay(800);
  stop_motor();

}

void loop(){
}

上記のコードをArduino MEGA2560ボードにアップロードすると、AK1、AK3、BK1、BK3のモーターが順番に前進および後退します。