RH2BMD

これで勝てる!ロボコン仕様!
DCモータードライバー

お問い合わせはこちらから

製品仕様 型式:RH2BMD

機器の分類DCモーター制御本体サイズ(端子除く)幅70mm奥行35mm高さ12mm
重量48gチャンネル数2ch
入力電圧6V-24VチャンネルID各ch 0~31
連続電流20A ×2chID設定方法Modeボタン(下記記載)
制御方式UART(シリアル通信)通信データ2byte (ID・回転方向・速度)
通信速度38400bpsPWM周波数15.8kHz

ID設定方法(初期値 Ach=1 Bch=2)

①電源投入(運転モード) ※安全のため信号線は外してください

②Modeボタン長押し

③Ach設定モードになるのでボタンを短く押してID設定(2進数で設定)

④Modeボタン長押し

⑤Bch設定モードになるのでボタンを短く押してID設定(2進数で設定)

⑥Modeボタン長押し

⑦運転モードへ戻る

シリアル通信方法

送信側条件:通信速度38400bps  ストップビット1 パリティなし

1byte目 1✕✕✕ ✕✕〇▢

✕=ID(1~31) 〇=0(ストップ) 〇=1(ブレーキ) ▢=0(正転) ▢=1(逆転)

2byte目 0△△△ △△△△

△=0~127(127段階の出力調整0~100%)

送信例① 1byte目10000100 2byte目00001111 →ID1を正転、速度15(15/127)で回転

送信例② 1byte目10101101 2byte目00101111 →ID11を逆転、速度47(47/127)で回転

送信例③ 1byte目1010111X 2byte目0XXXXXXX →ID11をブレーキ、速度任意(関係なし)

送信例④ 1byte目10101100 2byte目00000000 →ID11をストップ、速度0

Arduinoサンプルプログラム

byte Speed=127; //速度設定範囲0~127
#define CW  0 //正転
#define CCW 1 //逆転
#define BK  2 //ブレーキ

void setup() { //シリアル通信
  Serial.begin(38400);
}

void loop() { //メインループ
  MdSendData( 1, CW, Speed); //ID1を正転,速度127
  delay(4000); //待ち時間4秒
  MdSendData( 1, CCW, Speed); //ID1を逆転,速度127
  delay(4000); //待ち時間4秒
  MdSendData( 1, BK, 0); //ID1をブレーキ,速度関係なし
  delay(4000); //待ち時間4秒
}

void MdSendData(int ID,int DIR,int SPEED){ //送信プログラム
  // DIR: 2->CCW / 1->CW / 2->Brake
  byte SendData[2] = {0x00,0x00}; //変数設定
  SendData[0] = (ID*0x04 + DIR) | 0x80; //IDを2ビットシフト,回転方向の加算,8bit目を1
  SendData[1] = SPEED & 0x7F; //8bit目を0の状態で速度を代入
  Serial.write(SendData[0]); //1byte目送信 1✕✕✕ ✕✕〇▢(ID,ブレーキ,回転方向)
  Serial.write(SendData[1]); //2byte目送信 0△△△ △△△△(回転速度)
}

参考動画