DCモータを使ったマイクロマウス入門③

ショップからの重要なお知らせ

佐倉です。
本日もDCコアレスモータを使うマイクロマウスの入門講座を進めていこうと思います。

前回は、させたい運動(加速度a[m/s2]、角加速度α[rad/s2])を決めた時に、左右のモータの軸まわりでのトルクがそれぞれどれくらい必要になるかという事を求めました。
というわけで、今度はモータからあるトルクを出すにはどうすれば良いかという事を考えます。

まず、DCモータがどういう物かという所から入って行きましょう。
皆さんなんとなく持っているであろう、電圧をかけると回るものという概念は捨ててください。

DCモータには、2つの特性があります。それは、

  • 現在の回転数に応じた電圧を出力する
  • 入力された電流に応じてトルクを出力する

というものです。
電圧をかけると回るように見えるのは、この組み合わせでたまたまそう見えているだけです。場合によっては違う動きをします。

まず、1つ目。これはモータが出力する特性です。
モータの回転数に比例した電圧を出力するという特性です。逆起電圧という名称がついています。

2つ目、今回特に使いたい特性ですね。
モータはコイルに流れる電流に比例したトルクを出力します。

式にしておきましょう。
電圧の方の式
E[V]=KE[V/rpm]×ω[rpm]

電流の方の式
τ[N・m]=KT[N・m/A]×I[A]

それぞれ、比例関係にありますというだけの式ですね。
定数はそれぞれ

  • KE[V/rpm]
    トルク定数
  • KT[N・m/A]
    逆起電圧定数

という名前がついていて、ちゃんとしたモータであればデータシートに記載されています。(逆数の形で記載されている場合もあります)
RC用の安いDCコアレスモータを使う場合は自分で計測する必要があります。
計測方法については小島さんの記事(4連載)が非常に参考になります。

さて、今回の目的はというと、出力するトルクを決めたいのでした。
τ[N・m]=KT[N・m/A]×I[A] なる式が出ていて、KTは既知の定数です。
じゃあIについて解いて、I = τ/KTでおしまいかというと、そういう訳には行きません。
電流出力のモータドライバがあればこれでおしまいなのですが、マイクロマウスでは大きさ的に電圧出力の物がほとんどです。

(ここから先で紹介するのはメジャーな方法ではありません。通常は、電流出力のモータドライバとして扱えるような電流フィードバック付きのモータドライバモジュールを使います。もしくは、適当にぶん回す用途で使います。)

電気的な部分を考えるために等価回路を書いておきましょう。
motor_eq

もう2つ定数が出て来ました。巻線抵抗値R[Ω]と巻線のインダクタンスL[H]です。
これらはちゃんとしたモータならデータシートに書いてありますし、安いモータでもLCRメータで調べられます。
インダクタンスは(コアレスモータの場合)動かす時にはあまり関わりがなく、回路設計の時に考える必要があります。こちらは次回紹介します。

というわけでとりあえず、コイルを無視してモータに電圧をかけてみましょう。
無題
こんな感じですね。オームの法則の式を立ててみると、
I=(VO-E)/R となります。
VOはこちらからモータに対して出力する電圧で、
VBAT:電源(電池)電圧[V]
Duty:デューティ比[V/V]
を使って、
VO=VBAT×Duty
なる値です。出力電圧が均されたとしたらこうなる、という数字ですね。
実際は電流が巻線インダクタンスで均されるのですが、モータの場合は他に要素がないので、電圧が均される物として見ても問題ありません。

実際にマイコンが出力するのはDuty比ですから、Duty比について解いておきましょう。
まずはVOについて解きます。
VO = IR + E
出力電圧 = (巻線抵抗×流したい電流) + 逆起電力 という当たり前の式ですね。
VOに代入してDutyについて解くと、
Duty = ( IR + E ) / VBAT
となりました。
ここの I に、上で出てきた 電流とトルクの関係式I = τ/KTを代入してやり、ついでに逆起電力EについてもE=KE・ωを代入してやると
Duty = ( R・τ/KT + KE・ω ) / VBAT
となり、めでたくトルクτを出力したい時に出力すべきDuty比が求まりました。

ここでそこそこよくある勘違いを正しておきます。モータが正回転している時には正方向にしか電流を流してはいけない、というのは間違いです。
そんなプログラムを組むと減速や停止がマトモにできない残念なマウスが出来上がります。
Duty比、トルク、回転数を方向のある値として見ると上の式だけでモータの出力トルクを全て表現できます。

モータをちゃんと動かすのに必要な情報をまとめてみると
・定数

  1. トルク定数KT[Nm/A]
  2. 逆起電圧定数KE[V/rpm]
  3. 巻線抵抗R[Ω]

・変数

  1. モータ回転数ω[rpm]
  2. 電源電圧VBAT[V]

・入力

  1. 出力トルクτ[N・m]

です。

電池電圧VBATの監視は設計の時に忘れがちな要素です。
定数として見て動かしてもそこそこ動きますが、電池残量で出力トルクが変わるので再現性がなく、調整が大変なマウスになります。
最近主流のLiPo電池の場合、1セルあたり満充電4.2[V]~使用中止電圧3.3[V]で考えると20%以上出力トルクが変わる可能性があります。
電池の健全な使用のためにも、ちゃんと走らせるためにも、電池電圧のモニタは付けておきましょう。

次回は、ここまでの運動と出力Duty比の関係を設計に活かす方法を紹介します。


迷路

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