2024年11月21日
007-1.モーター制御入門-第3回「モーターのトルクとは」
ここでは、モーターの制御に関わる技術を紹介していきたいと思います。ロボット競技にも応用してみましょう。(文/松原拓也)
◆ 「トルク」とは
モーターを制御する上で、重要な要素「トルク」について紹介します。
ただ、困ったことに「トルク」は小学校・中学校では習いません。トルクについては知らなくても当然です。、、、ですが、これを知らないと、ロボット作りに極めることができませんので、これを機に頑張ってみましょう。どんな専門知識も噛み砕いて考えさえすれば、必ず覚えることができます。
まず、「トルク」というのは「回転する力(ちから)」のことです。 回転する力が強いと「トルクが大きい」と言ったりします。トルクには、「N・cm」や「N・m」のように、その力を表すための専用の単位があります。 たとえば、図のようにモーターの先端にひもが付いていて、さらに1kgの重りが付いていたとします。モーターを時計方向に回せば、重りを持ち上げることができます。ここでモーターにトルク(回転する力)が必要となります。 では、本当にNXT用のモーターで1kgの重りを引っ張ることができるのでしょうか?1kgというのは、ペットボトルに水を1リットル入れたくらいの重さです。
モーターにどれくらいのトルクが必要となるのか、考えてみましょう
「1kgの重りを持ち上げられるか?」どうかは実際にやってみれば一発で分かりますが、失敗した場合には、モーターが壊れてしまうかもしれません。
さらに「どれくらいのトルクが必要か?」を数値として答えを出すには、なんらかの計算する必要があります。
そこで、物理計算用のシミュレーターをパソコンで動かして、数学的にトルクを求めてみたいと思います。 シミュレーターは「Algodoo」というフリーソフトを使います。ソフトはこちら(http://www.algodoo.com/)からダウンロードできます。この手のシミュレーターの値段は最低でも6~7万円くらいするのが相場だったのですが、なんと、このソフトは無償で使うことができます。日本語にも対応しています。素晴らしいです。
「Algodoo」の機能や使い方については、くわしいチュートリアルが内蔵されていますので、省略します。
写真は「Algodoo」を実行して、1kgの物体を空中に置いてみた状態です。青色が「空中」で、緑色が「地面」と考えます。
シミュレーションを実行してみました。
物体がポトンと地面に落ちました。 落ちていく感じが、ゲームの一場面のようです。
物体にかかる力を矢印で表示すると、こうなります。
矢印に「9.8N」と表示されていますが、これが重力(地球の引力)です。正確には、重力によって発生した力ですね。物体を下方向に動かす力です。
「N(ニュートン)」とは物を動かす力の単位です。 「ニュートン」については、中学校の理科で習うと思います。
シミュレーションの結果を見れば、1kgの物体には、空中に居ても、地面に落ちても、つねに9.8Nの力がかかっていることが分かると思います。
◆ ロープを巻いて持ち上げる
「1kgの物体」「円」「ロープ」をこのように組み合わせてみました。
「円」の物体は糸巻きです。これが回転してロープを巻き上げます。そして、「円」の中心に「モーター」を取り付けます。 これで、「円の物体」が見えない壁に固定されましたので、空中に浮いて見えます。
画面右にある設定値の「モーターの速さ:~rpm」はモーターを回す速度です。「rpm」は前回紹介した回転速度の単位です。 「0rpm」は回転せず止まっている状態です。
「モーターのトルク:100Nm」の設定値は無視して、そのままにしておきます。
シミュレーションを実行してみました。
「0rpm」に設定していますので、見た目ではモーターは回っていません。しかし、重りが下に落ちないようにモーターに力を加えています。
「モーターのトルク:5.153Nm」と表示されました。これが、モーターが発生させているトルクです。トルクの単位は「N・m」と書くのが正しいのですが、このソフトの場合、なぜか「Nm」と表示されています。心の中で「N・m」に直して読みましょう。
しかし、「トルクが5.153N・mだ」と分かっても実感がなくて、ピンときませんね。実験を重ねていくと、なんとなく分かってきますので、ここはあえて先に進みます。
ちなみに、先ほど求めたトルクは「ロープの重さ」もシミュレーションに含まれています。ロープを取り去ると、正確な値が求まります。
値が正確なのは結構なのですが、見た目があまり良くない(イメージが伝わりにくい)ので、これ以降ではロープを使いたいと思います。
トルクは回転軸からどれだけ離れているかで決まります。 たとえば、「円」の直径を先ほどの半分にしてみましょう。
するとモーターのトルクが「5.153N・m」→「2.588N・m」になりました。ロープの重さが入っているので、若干、不正確ですが、、、。
なんと、円の直径を半分すると、トルクもおよそ半分になりました。 この仕組みについては、後で紹介します。
話が前後しますが、「モーターのトルク:~」は、モーターが出すことができる最大のトルクの設定です。
たとえば、この設定値を「2.0N・m」にすると、重りがダランと下がってしまいました。修正する前は「100N・m」だったので、無理な動きでも問題なく回転することができました。しかし、修正後はモーターのトルクが必要とされるトルクより少ないため、重りが下がってしまったわけです。この状態をよく「トルクが足りない」と言ったりします。
◆ トルクのしくみ
(話を元に戻しますが)回転軸と距離の関係について、もっと考えてみましょう。
たとえば、この画面は「ハサミ」をイメージした装置です。右のモデルと左のモデルで切られる物体(赤い円)の位置が違います。
シミュレーション結果を見るかぎり、切られる物体が回転軸に近づくほど、切る力は強くなっています。回転軸までの距離が半分になると、力は約2倍になっています。これがトルクの仕組みです。
これは実際にハサミを使う時にも役立つと思います。
歯車を使う時にもトルクが影響します。
たとえば、画面のように、2種類のギヤの組み合わせがあったとします。左側は歯車が「40歯:8歯」の組み合わせ、右側は「40歯:24歯」の組み合わせです。ギヤを通して、回転速度が落ちるので、「減速ギヤ」と呼びます。
シミュレーションの結果は見てのとおり。モーターが必要とするトルクは右より左のほうが1/3で済んでいます。逆に言うと、右より左のほうが3倍も力持ちです。歯車の数の違いがそのままトルクに表れました。
以上のように、歯車の組み合わせを変えるだけで、トルクを変えることができるわけです。いろいろギヤの組み合わせを変えて結果をチェックしてみましょう。
では、最初の問いに戻りましょう。
NXT用のモーターで「1kgの重りを持ち上げられるか?」という問いです。
この回答を出すためには「モーターのトルク:~」の設定値をNXT用のモーターにぴったり合わせないといけません。資料が見当たらなかったので、正しい値は不明ですが、EV3用のLモーターのカタログには「ストールトルク(停動トルク)40N・cm」と書かれていましたので、これをそのまま当てはめてみたいと思います。ストールトルクというのは「これよりも負荷がかかったら回転が止まってしまうトルク」のことです。「40N・cm」の単位を直すと、「0.40N・m」となりますので、この値をモーターに入力します。
続いて、ロープを巻く「円」の直径を小さくしていきます。なぜ小さくするかというと、小さいほどトルクが増えるからです。直径3cmくらいにすると、モーターのトルクが「0.278N・m」と表示されました。重りがダランと下がっていません。トルクが足りているというわけです。
つまり結論としては「糸巻きの直径が3cmくらいなら、1kgの重りを持ち上げることができる」ということになります。シミュレーションの中だけでの話ですが、NXT用のモーターがかなりパワフルであることが証明できました。
なお、シミュレーションを活用すると、モーターのトルクがどれくらい必要で、どれくらいのことができるのか、あらかじめ分かることができます。
いろいろ実験してみてはいかがでしょうか。
当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。