アフィリエイト広告
アフィリエイト広告

DCブラシモータを回してみる

モータシリーズ第 2 弾 (^_^;)

マブチモータでお馴染みの DC ブラシモータを、Arduino で回してみました。

DC ブラシモータの仕様

子供の頃、マブチモータでよく遊んだものです。
でも、まともな工作なんてしたことなかった。乾電池つないで回してみて、最後は分解して中の磁石を取り出して遊んでた。だから中の仕組みは良く知ってたりします (;´Д`)

秋月電子通商から「DCモータ FA-130RA-2270」を購入。
マブチモータ? ん? マーキュリモータ? Made in China ですね。

データシートによると、

  1. Rated Voltage : 1.5V DC
  2. Range Voltage : 1.5 ~ 3.0V DC
  3. No load current : 0.26A (0.36A Max)
  4. Load current : 0.66A (0.85A Max)
  5. Stall current : 2.2A

3.0V 駆動の場合は、

  1. Rated Voltage : 3.0V DC
  2. Range Voltage : 1.5 ~ 3.0V DC
  3. No load current : 0.26A (0.36A Max)
  4. Load current : 0.96A (1.24A Max)
  5. Stall current : 3.6A

かなり喰いますね。2SC2120 (35V 0.8A) で制御しようと考えていたんだけど、ちょっと無理っぽいです。

乾電池で回してみる

DCブラシモータを乾電池で回す

まずは、乾電池で DC ブラシモータを回してみましょう。

乾電池は単 2 形。新品ではないので、モータをつなぐと 1V ぐらいまで電圧が落ちます。その時の電流値が 0.19A でした。モータ軸をつまんでロックさせると、0.6A ほど流れました。

乾電池を 2 本にしてみたりといろいろやってみた感覚ですが、データシートに書かれているほど流れないような気がします。

ちなみに、モータにつけたリード線は、赤をプラス、黒をマイナスとしています。この極性で回転方向は、モータ軸を後側からみて時計方向になります。
データシートの回転方向は反時計方向になっていて逆なのですが、ここは JIS 規格に準じることにしました。

ブラシモータの駆動電源を作る

DC ブラシモータの駆動電源回路

DC ブラシモータを駆動するための 1.5V 電源を作りましょう。

使った電圧レギュレータは NJM317 です。
これは基準出力電圧が 1.25V の可変レギュレータですので、抵抗器の組み合わせで自由な電圧を出力することができます。
まぁ、普通のレギュレータでも同じことができますが、基準電圧が 1.25V なところがミソ。1.5V を作るには、それより低い電圧のレギュレータでなければいけません。

出力電圧は、

VO = VREF x ( 1 + R2 / R1 ) = 1.25 x ( 1 + 150 / 470 ) = 1.65 V

ちょっと高めですが、モータをつなぐとちょうど良い感じになります。

注意が必要なのは損失です。一次電圧に 12V を利用しているので、降下させる電圧が 10.5V もあります。1A 流すと損失は 10W 以上。しっかり放熱してやる必要があります。 もっと低い一次電圧を用意したほうがよさそうです。

ブラシモータの駆動回路を作る

DC ブラシモータの駆動回路

Arduino を含めた全体の回路図です。

Arduino の左側は入力です。
スイッチは、押している間モータが回転します。ボリュームは、モータの回転数を変化させます。

右側がモータの駆動回路です。
駆動用トランジスタは、Nch MOSFET 2SK4017 (60V 5A) を使用しました。
当初 2SC2120 (35V 0.8A) を考えていたのですが、コレクタ電流が不足する可能性があります。また、バイポーラトランジスタだとベース電流が大きくなるので、ベース駆動回路が必要になりそうです。

2SK4017 のゲート入力電荷量は 15nC 。立上り時間 1μs とすると必要なゲート電流は、

IG = 15 / 1 = 15 mA

なので、Arduino の出力で直接駆動できます。

以前「FET を使ってみる」でやったように、Arduino の出力を 20mA 程度に制限すると考えて、出力 5V 、ゲート電圧 0V 時のゲート抵抗は、

R6 = 5 / 20 = 0.25 KΩ

ですので、220Ω とします。
ゲート・ソース間抵抗は 22KΩ としておきます。

モータに並列に取り付けてあるダイオードは、モータから出るスパイク電圧の保護用です。いつも使っている簡易なオシロスコープでも数 10V の電圧が観測されますので、必ずつけましょう。
コンデンサはノイズ除去用です。

回転数の制御

DC ブラシモータの回転数は、印加する電圧で変化します。

なので、ブラシモータの回転数の制御は PWM でできます。
PWM は LED の明るさを調整するあの方法ですね。ブラシモータでも LED と同じです。試しにスケッチ例の Fade を書き込んでみると、モータはギューンギューンと動いたり止まったりを繰り返します。

スケッチ

スケッチです。
スイッチを押している間、モータが回転します。回転数はボリュームで設定できます。

  1. byte motorPin = 9;
  2. byte swPin = 14;
  3. byte potPin = 1;
  4. void setup() {
  5.   pinMode(motorPin, OUTPUT);
  6.   pinMode(swPin, INPUT);
  7. }
  8. void loop() {
  9.   static int value = 0;
  10.   value = analogRead(potPin);
  11.   value = map(value, 0, 1023, 105, 255);
  12.   
  13.   if(LOW == digitalRead(swPin)) {
  14.     analogWrite(motorPin, value);
  15.   } else {
  16.     analogWrite(motorPin, 0);
  17.   }
  18. }

ブラシモータの制御といっても、これまでの L チカなどでやったことと変わりありませんから、説明は省きます。

ブレッドボード

DCブラシモータ制御

ブレッドボードのようすです。

上のブレッドボードが電源です。
レギュレータがふたつ並んでいますが、左がロジック回路の 5V 用 (NJM7805) です。
右がブラシモータ駆動の 1.5V 用 (NJM317) で、モータを連続で稼働させるとヒートシンクはかなり熱くなりました。もっと大きいサイズのものが必要でしょう。

中央は Arduino UNO 。
スイッチ入力は、アナログ A0 ピンをデジタル D14 ピンとして使っています。理由はありません。入力を「Analog In」側、出力を「Digital」側に統一しただけです。

下のブレッドボードの右側に、回転数設定のボリュームとオンオフのスイッチがあります。左側は 2SK4017 のモータ駆動回路です。

モータにかかる電圧波形

DCブラシモータの電圧波形

最後に、DC ブラシモータにかかっている電圧波形です。

デューティー比 70% 時の波形ですが、インダクタンス負荷なのできれいなパルスにはなりませんね。
マイナス側にスパイク電圧がでていますが、ダイオードを入れてあるので 1V 程度に切られています。プラス側にも見えていません。

次は逆転もできるようにしましょう

今回は、DC ブラシモータを回してみましたが、回転方向は正転のみです。機構を反転させるにはモータを逆転させる必要もあるでしょう。
次は、モータを逆転させる方法を試してみることにします。

タイトルとURLをコピーしました