CHIRIMEN Servo

Created Date: 2015-07-24/ updated date: 2015-11-20
  • Medium img 0025
Owner & Collaborators
License
By sa
Summary
CHIRIMENでサーボモータを制御する方法。

Materials

    Tools

      Blueprints

        Making

        • サーボモータとは?

          0
          • サーボモータとは、回転位置を制御することができるモータで、ロボットの関節部分などに用いられることが多い。
          • 回転位置の検出器付きのモーターで、フィードバック制御されるものが一般的。
          サーボモータ - Wikipedia
          • サーボドライバ

            0
            • サーボモータはPWM信号で制御されることが一般的。PWM制御とは電源オン/オフのパルス間隔を変化させることで制御を行う方式である。
            • CHIRIMENからPWM信号を出力するために、I2Cインターフェースを持つサーボドライバを使用する。
            • サーボドライバはI2Cの信号を受けて、PWM信号によってサーボモータを制御する。
            MMMDB - PWM制御
            • サーボモータサンプルアプリの実行

              0
              • サーボモータサンプルアプリの読み込み
              • サーボモータ回路の配線
              • アプリ実行
              • サーボモータサンプルアプリの読み込み

                0
                • サーボモータサンプルアプリをダウンロードして、任意のディレクトリに展開する。
                • Web IDE左上から「パッケージ型アプリを開く」からダウンロードしたボタンサンプルアプリを読み込む。
                Small
              • サーボモータ回路の配線

                0
                • 配線図に従ってサーボモータ、サーボドライバを接続する。接続にはスルーホール用ジャンパ線を用いる。
                1. CHIRIMENのI2C0_SDA(CN2-12)、I2C0_SCL(CN2-11)とサーボドライバのSDA、SCLを接続する。
                2. CHIRIMENのGND(CN2-1)、VCC(CN2-18)とサーボドライバのGND、VCCを接続する。
                3. サーボドライバのV+(モータ用の電源入力)とVCCを接続する。
                4. サーボモータのPWM、V+、GNDとサーボドライバのPWM、V+、GNDを接続する。
                Small pca9685 breadboard
              • アプリ実行

                0
                • 配線が正しいことを確認し、CHIRIMENとPCを接続する。
                • アプリをインストールする。
                • 正しく動作すればサーボモータが回転し始めることが確認できる。
            • プログラムの解説

              0
              • ライブラリの読み込み
              • I2Cの初期化とポートオープン
              • サーボドライバの初期化
              • サーボモータの制御
              • ライブラリの読み込み

                0
                • I2Cのセンサと同様、サーボモータもライブラリを用いて制御を行う。
                該当コード:ライブラリの読み込み

              • I2Cの初期化とポートオープン

                0
                I2Cセンサと同様に、サーボドライバの制御するためにI2Cの初期化処理とポートオープンの処理を行う。
                該当コード:I2Cの初期化とポートオープン
              • サーボドライバの初期化

                0
                • サーボドライバによりサーボモータを制御するために、サーボドライバの初期化処理を行う。
                該当コード:サーボドライバの初期化
                • PCA9685.init(<I2Cポートオブジェクト>,<デバイスアドレス>)でサーボドライバの初期化を行うことができる。
                • サーボドライバのデバイスアドレスは0x40(初期設定)を用いる。
              • サーボモータの制御

                0
                • サーボモータの制御を行う。
                該当コード:サーボモータの制御
                • PCA9685.setServo(<I2Cポートオブジェクト>,<デバイスアドレス>,<サーボモータのID>,<サーボモータの角度>)でサーボモータを制御することができる。
                • <サーボモータのID>でサーボドライバに接続されたどのサーボモータを動かすかを指定する。0〜15の整数で指定する。
                • <サーボモータの角度>で指定した角度にサーボモータを動かすことができる。-90〜90の整数で指定する。
            Add Card Order

            References

              Usages

                Convert State

                 to Annotation.

                Select the numebr of the state to annotate.

                OK
                cancel
                Loading

                facebook

                , data-width="400", data-show-faces="true" data-send="true"
                , data-width="400", data-order-by="reverse_time"