11.サーボモーターを動かす (2025.6.24)

RasPiでは小型サーボモーターSG90を使って、超音波センサーの首振りやカメラのパン・チルト動作を実験しました。そして、安定して実用的に動かすにはハードウェアPWMが必須だと言うことが分かりました。そのために複数のサーボモーターを制御可能なドライバPCA9685を使用しました。今度はこれをArduinoで実験することにします。PCA9685の基板には信号名等が印刷されているため結線に困ることは無いと思います。ロジック回路の電源(Vcc)は5VでRasPiから供給し、サーボ側の電源V+は別に5Vの外部電源を用意します。ただし、1個か2個程度のSG90ならRasPiの電源からでも駆動可能です。本来サーボの電源は緑色の端子部から供給すれば良いのですが、これが使えない互換品の不良品も多く出回っており、その場合はピン端子側のV+に接続して下さい。


PCA9685

実験に当たりPCA9685を使用するためのライブラリ、「Adafruit PWM Servo Driver library」をインストールします。ライブラリの管理から「Adafruit PWM Servo」で検索すれば見つかりますから、あらかじめインストールを行って下さい。PCA9685はI2C通信を使います。電源は5Vを使うためSCL、SDA共に変換基板は不要です。

●サーボモーターテスト

プログラムの中で変数angleの値を変えれば回転角を変更できます(現在は0度と10度を繰り返す)。また接続pinは現在0番を使用していて、PCA9685では0~15の計16台のサーボモーターを制御できます。