ここしばらく、新しい作品作りでブログ更新が滞ってました。
今回から16chPWM制御コントローラーのPCA9685でサーボモーターを動かす方法を書いていこうと思います。今回はPCA9685搭載ボードについてまとめました。
PCA9685とは
簡単に言うと、I2C通信で動かせるPWM制御ピンを16個搭載したICです。言い換えると、これ一つでサーボモーターを16個まで動かせます。
また、各ピンは25mAの駆動電流を流せるため、小さなLEDであれば直結して光らせることも可能です。
購入先
オンラインでも割とすぐに購入できます。
AmazonやAliExpressなどの通販だといろんな価格のものが出ていますが、値段で性能が変わるわけではないので、単価が安いのを選べばいいと思います。Amazonですと、例えばこの辺りが安いです(1個640円くらい)。
また、さらに安く購入したい場合はAliExpressなどでも探せます(送料別)。
ただ、数百円くらいで買えるボードは、たいてい中国のショップから販売されているものですが、割と不良品に当たる確率も高いです。
以前10個ぐらいまとめて購入したときは、いくつかピンヘッダが曲がっていたりズレてハンダ付けされているのがあって直すのが面倒でした…。
不良品を避けるのであれば、秋月電子やSwitch Scienceなどから購入するのをお勧めします。
スペック
基本的にはPCA9686のチップ準拠です。
購入するボードによっても多少異なりますが、大まかにまとめると以下の通りです。
電源電圧 | 6V (max) | ピンヘッダ、またはターミナルブロックから供給 |
ロジック電圧 | 3.3 – 5V | |
PWM周波数 | 40 – 1000Hz | サーボモーターの場合は、50 or 60 Hzを推奨 |
PWM分解能 | 12bit | |
出力電流 | 25mA | 合計400mA (= 25mA x 16ch) |
I2Cアドレス | 0x40 | ジャンパーピンをハンダ付けでショートして変更可(後述) 0x40 – 0x7F、最大62ユニット(992個)まで制御可能 |
利用できるサーボモーターは、ラジコンやロボットなどで使われるPWM制御のRCサーボモーターと呼ばれるもので、電源、GND、PWM制御の3ピンを搭載したものです。
秋葉原の電子部品ショップなどでも数百円から購入できるので、電子工作の入門としてもよくつかわれています。
使えるモーターとしては、例えば以下のようなものがあります。
また、モーターの電源については単三電池4本でもOKです。
必要な電流は動かしたいモーターの数次第で大きく変わりますが、数個であれば単三電池でも余裕で動きます。
なお、データシートも公開されているので、詳細はそちらをご確認ください。
次回は
Arduinoとつないで構成するハードウェアとファームウェアについての記事を書いていく予定です。
(10/6追記) ハードウェア編を公開しました。
参考
PCA9685のスペックはこちらを参考にしました。