ロボットの回路を組んでいると、例えばロボットアーム用のサーボモータ と移動用のDCモータを同時に駆動しなければならない時があります。その際、電源を共有していると、一方の駆動での電流消費によってもう一方が影響を受けてしまうこともあります。また、そもそも駆動電圧が異なることも多く、電源を複数用意することが良い時もあります。

さらに、常に電源をONにしなくても良い状況の場合は、必要な時だけプログラム側からONにした方が待機電力を食わないので、電力消費を抑えられそうです。

リレーモジュールがおすすめ

そのような時はリレー回路を組む必要がありますが、必要な一式が全て揃ったリレーモジュールなるものがあり、非常に便利でしたのでこれを用いることをおすすめします。

接続例

こちらが2種類の異なる電圧の電源のON/OFFをArduinoで制御する回路の例です。

複数電源のON/OFFを制御

リレーモジュールにあるIN1〜IN4は、4つのリレー回路に対応しています。制御電圧は5Vのため、Arduinoから引っ張ってきます。リレー回路は3つの接続部があり、INの端子にLOW/HIGHを切り替えた時に上2つ/下2つが導通するように切り替わります。

上2つに接続しているのには理由があります。私が持っているリレーモジュールは制御電圧がかかっていない(=リレーモジュールの電源が落ちている)時に下2つが導通する(上2つは切れる)ためです。

制御電圧を緊急停止ボタンに繋げておけば、不慮の事故がおきて緊急停止ボタンが押下されると制御電圧が無くなり、リレーモジュールに繋がっている全ての電源も落ちて緊急停止ができるためです。

リレー

Related Posts

Jetson TX2でスイッチボタンを押さずに電源を入れる
Jetson TX2でスイッチボタンを押さずに電源を入れる
概要 Jetson TX2の開発ボードは電源を入れる際、スイッチを長押ししないと電源がつきません。しかし、ロボットの中に組み込んだり、スイッチを直接押して起動することが難しい場合もあります。本記事では、そのような場合にスイッチを押さず...
Read More
rospyでImageデータを取得してOpenCVの配列として扱う
rospyでImageデータを取得してOpenCVの配列として扱う
概要 PythonでROS開発をする際、sensor_msgs/Image型のトピックを受信して色々な処理をかけたいときには、OpenCVの配列に変換した上で処理を行うと便利です。CvBridgeというsensor_msgs/Imag...
Read More
ネイティブアプリでROS通信をする際はFlutterとroslibがおすすめ
ネイティブアプリでROS通信をする際はFlutterとroslibがおすすめ
概要 ROSを起動させているロボットに対して、スマートデバイスからROSで通信を行いたい時があるときは、Flutterを用いたネイティブアプリで実装するのがおすすめです。 roslibjsを使ってJavaScriptでROSトピックの...
Read More