wiki:BD62xx-Basic

Version 10 (modified by sgk, 15 years ago) ( diff )

--

BD62xxFモータードライバ

Hブリッジです。

  • ブラシ付きモーター用
  • 正転、逆転、ブレーキ、空走
  • 無段階変速。入力はPWMまたはアナログ電圧。
  • 電源電圧3~5.5V。
  • ドライブ電流最大1A。

計画からずいぶん時間が経ってしまいました。 実は、基板屋にEagleの.brdファイルで依頼したら、Gerberへの変換ミスでシルクがぐちゃぐちゃになり、作り直してもらったのです。 そんなことがあるとは思いもしませんでした。 製造前にPDFで確認したときは大丈夫だったんですけど。

今回のロットは、なんと手付けです。 そのうち、「なんちゃってリフロー」で製造しますよ!。

良い点:

  • 小型
  • (たぶん)安い
  • ブレーキ、空走機能付き
  • 無段階変速
  • この大きさで1Aまでドライブできる
  • 保護回路いろいろ(過電流、温度、過電圧、低電圧)

悪い点:

  • 信号系と負荷系の電源が分離されていない

モーターの定格電圧が信号系(マイコン)の電源電圧よりも低い場合は困ってしまいます。 モーターによっては、PWMで一定のデューティよりも上げないように注意すれば大丈夫な場合があります。

さて、お値段どうしましょう。

使い方

  • VCC -- 電源3~5.5Vを接続
  • GND -- グラウンド
  • OUT1 -- モーター接続端子(出力)
  • OUT2 -- モーター接続端子(出力)

ここまでは自明でしょう。

  • FIN -- 制御端子(入力)
  • RIN -- 制御端子(入力)
  • VREF -- 制御端子(入力)出荷時は基板裏側でVCCに接続してあります。

使い方が2種類あります。

PWM制御方式
  • FINとRINにPWM信号を与え、回転方向および回転速度を制御する。
  • VREFにはVCCを与えておく。出荷時状態なら、VCCに接続してあります。
VREFアナログ制御方式
  • FINとRINには論理1または0のデジタル信号を与えて回転方向を制御する。
  • VREFに与えたアナログ電圧で、回転速度を制御する。基板裏のJ1のパターンをカッターで切り離して下さい。

PWM制御方式の場合、

FIN RIN 動作
論理0 論理0 空転
PWM信号 論理0 正転
論理0 PWM信号 逆転
論理1 論理1 ブレーキ

PWMの周波数は20kHz~100kHzです。

VREFアナログ制御方式の場合、

FIN RIN 動作
論理0 論理0 空転
論理1 論理0 正転
論理0 論理1 逆転
論理1 論理1 ブレーキ

スケッチの例

int FIN = 5;
int RIN = 6;
int OFFSET = 1.0 * 256 / 5;
int MAX = 1.5 * 256 / 5 - OFFSET;
int degree = 0;

void setup() {
  Serial.begin(9600);
  pinMode(FIN, OUTPUT);
  pinMode(RIN, OUTPUT);
}

void loop() {
  delay(100);
  degree += 1;
  degree %= 360;
  long v = int(sin(degree * 2 * PI / 360) * MAX);
  Serial.println(v);
  if (v > 0) {
    analogWrite(FIN, v + OFFSET);
    analogWrite(RIN, 0);
  } else
  if (v < 0) {
    analogWrite(FIN, 0);
    analogWrite(RIN, OFFSET - v);
  } else {
    Serial.println();
    analogWrite(FIN, 255);
    analogWrite(RIN, 255);
  }
}

(2009/4/10 - sgk)

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.