DCモータを自分で制御しようとするとHブリッジ回路から自作しなければならず、大きな手間がかかってしまいます。特に走行するロボットを製作するような、複数のDCモータを制御しなければならない場合には、あまりDCモータの制御を1から構築したい人はあまりいないと思います。

そこで、DCモータを制御できるコントローラ(モジュール)を導入することで手間を省くことができます。

https://rb-station.com/blogs/article/l298n-arduino-dc-motor

上記は、L298Nというモータコントローラで制御を行う例です。他にもいくつかモータコントローラがあるので選定のポイントを解説します。

DCモータコントローラ選定のポイント

まずは、動作させたいDCモータの定格電圧・定格電流・個数を決めましょう。

DCモータの定格電圧・電流が範囲内にあるか

DCモータの定格電圧・電流を確認します。DCモータは定格電圧以上の電圧をかけると故障の原因になってしまうので、絶対に定格電圧を守ります。

上記はDCモータの特性になりますが、起動時や逆転時などの回転数が0になるタイミングで最大電流が流れますので、モータの仕様を見て最大電流が範囲内にあるモータコントローラを選びましょう。

制御するDCモータの個数

複数個のDCモータを制御する場合は、2チャンネル対応可能なコントローラなど、複数個のDCモータに対応したコントローラを選ぶと良いでしょう。

DCモータコントローラの比較

 コントローラ 画像 スペック
駆動電圧5V-35V / 駆動電流2A DCモータコントローラ L298N

駆動電圧:5V~35V

最大電流:2A

チャンネル数:2

8V~40V 2A対応 2チャンネル小型DCモータコントローラ

駆動電圧:8V~40V

最大電流:2A

チャンネル数:2

6.5V~27V 7A対応 2チャンネルDCモータコントローラ

 

駆動電圧:6.5V~27V

最大電流:7A

チャンネル数:2

6.5V~28V 12A対応 2チャンネルDCモータコントローラ

駆動電圧:6.5V~28V

最大電流:12A

チャンネル数:2

 

上にあるモーターの性能図から、最大電流が大きいほど、最も負荷がかかる回転開始・逆転時の負荷を超えられるようになってくるため、モータコントローラも高価になってきます。

予算との兼ね合いもあると思いますので、状況に最も適したモータコントローラを選定するようにしましょう。

モータコントロール

Related Posts

ROSのPythonで他のサービスが立ち上がるまで待つ方法
ROSのPythonで他のサービスが立ち上がるまで待つ方法
ROSでパッケージを作成する時に他のサービスが発行するトピックに依存している時など、他のサービスが立ち上がるまで待つ必要がある時があります。 その場合、wait_for_service()関数を使用することで実現できます。この関数は、...
Read More
ROSのLaserScanデータの一定角度の範囲を無視する方法
ROSのLaserScanデータの一定角度の範囲を無視する方法
ROSでLidarセンサーを使う時、ロボットの車体など一定角度の範囲に常に障害物があり、これを無視したい時があると思いますが、その方法を紹介します。 以下は、得られた/scan_rawトピックのデータの一定角度の範囲を無視して新しい/...
Read More
ROSのmove_baseで、Pythonからコストマップをクリアする方法
ROSのmove_baseで、Pythonからコストマップをクリアする方法
move_baseを使っていると、障害物が無いのにコストマップで障害物判定されてしまうことがあります。そのようなときは、コストマップを一度クリアしましょう。 コマンドから   move_baseノードには、コストマップをクリアする方法...
Read More