ロボットなどの高電圧サーボは「電圧レベル変換」を行い動作させる [Arduino]
高トルクサーボのLY10-1,KY72-1,XL-320,DS3218,RDS3115,MG996Rなどの動作電圧(推奨)は6V以上になっています。これをArduinoで動作させるには電池やACアダプタなどの外部電源の他に「電圧レベル変換」が必要となります。
電圧レベル変換には「BSS138」(MOSFET)を使用している双方向ロジックレベルコンバータが必要です。BSS138の電圧範囲は1.8Vから10V迄です。
秋月電子の「I2Cバス用双方向電圧レベル変換モジュール(FXMA2102)」「I2Cバス用双方向電圧レベル変換モジュール(PCA9306)」「8ビット双方向ロジックレベル変換モジュール FXMA108」の標準電圧は1.65Vから5.5Vで、絶対最大定格は7Vですが、5.6V以上で使用すると壊れる可能性が高いので使用しない方が良いです。(実際にFXMA108は1個壊しました)
それで、何処で購入するかというと秋月電子では「I2C双方向ロジックレベルコンバータ」(Adafruit社 ¥480)、スイッチサイエンスでは「BSS138搭載4CH-I2C用双方向ロジックレベルコンバータ」(Adafruit社 ¥550)、「ロジックレベル双方向変換モジュール」(Sparkfun社 ¥368)です。(秋月とスイッチのAdafruitは同一品)。他にもあるかも知れませんが、この2つはLY10-1とMG996Rで動作確認済みです。
左はAdafruit。右はSparkfun。
Adafruit製品の使い方
左側のLV,GNDにArduinoの5V電源、GNDを接続する。
右側のHV,GNDに電池、ACアダプタ、バッテリ等の電源、GNDを接続する。
左側のA1-A4の何れかにArduinoでサーボを操作するデジタルピンを接続する。その反対の右側にサーボの信号線を接続すればOKです。(例えばデジタルピンをA1に差したら、B1にサーボの信号線を差す)
Sparkfun製品の使い方
左側のLV,GNDにArduinoの5V電源、GNDを接続する。
右側のHV,GNDに電池、ACアダプタ、バッテリ等の電源、GNDを接続する。
左側のLV1-LV4の何れかにArduinoでサーボを操作するデジタルピンを接続する。その反対の右側にサーボの信号線を接続すればOKです。(例えばデジタルピンをLV1に差したら、HV1にサーボの信号線を差す)
最後に
サーボを購入したのはいいけど「サーボが動作しない」などの現象はこれで解決すると思います。この電圧レベル変換で動作しない場合は電流不足 or 故障のどちらかになります。
電流不足の場合は最低でも2A以上のACアダプタを使用する。もしくはロボット用の軽量バッテリーを使用すると数十Aを出力できます。
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
前の記事: | ロボット用の軽量バッテリー |
次の記事: | ロボットアーム [Arduino] |