#サーボモータHOME電子工作RaspberryPiとPCA9685でサーボモータが動かない原因を探るスポンサーリンク今回はRaspberryPiとサーボモータドライバのPCA9685でサーボモータを動かそうとしてみましたが、動かすことができませんでした。その原因について色々と調査してみましたので、そのときのことを記録しておこうと思います。今回は以下の構成で実施しています。原因を調査するにあたり、以下の点を確認してみました。今回の調査で学んだことI2Cが認識できているか?まずはじめに、以下のコマンドを入力してI2Cが認識できているか確認してみました。ツールは先にインストールしておきます。1結果としては2桁の数値が0列のところに表示されるということなのですが、私の場合は全体的に数値が表示されてしまいました。これは正常に認識できてないっぽいです。77どうやらI2Cを認識できていない?ようです。認識できていないのか引き続き原因を調べてみました。Piの設定で有効になっていることを確認しました。有効にしていても動きませんでした。GUIからI2Cを有効にするには以下の手順で行います。Piの設定→インターフェイス→I2Cを「有効」に設定→OK→ラズパイを再起動(念のため)こちらのサイトが参考になります。PiのI2Cを使って電圧を測定する(2019年3月版)インストールや設定に間違いはないか?インストールはこちらのサイトやその他のサイトに記載してあるものを一通り試してみました。これが原因であれば何回か試しているうちに動く動いてくれると思ったのですが、どのパターンでもダメでしたのでインストールや設定は間違えていないと思われます。(追記)最終的に動かせるようになったときの手順をこちらの記事にまとめました。RaspberryPi3B+とサーボモータードライバ(PCA9685)でサーボを動かしてみた配線に間違いはないか?こちらについてもその他のサイトを見ながら間違えのないように実施しました。Piをつないでいる線は4本しかありませんが、何度も確認しました。こちらについても問題はなさそうです。サーボモーターが壊れているのではないか?試しにPCA9685なしで動かしてみたところ、普通に動いてくれたのでサーボモーターは問題なさそうです。デジタルサーボは動作しない」とあります。...マジで?デジタルサーボは動かないだと。恥ずかしながら今まで自分のサーボがアナログかデジタルかを考えたことがありませんでしたので、使っているサーボモータ(MG996R)の表記を確認するとデジタルサーボのようです。アナログサーボモーターを使ったほうがいいかもしれないので、他の方が使われている「SG90」という小さいサーボを1個購入して試してみる価値はありそうです。(追記)「SG90」を購入して試してみました!結果動かすことができませんでした。サーボの種類は関係なさそうです。ModelB」を購入して試してみたところ、新品のほうでは動かすことができました。古いほうが壊れていました。起動することはできるしGPIOも使うことができる状態なのですが、I2Cの機能が壊れていたようです。RaspberryPiのI2Cが壊れやすいというのは本当でした。(2019/8/1修正)サーボモータードライバが壊れているのではないか?新品で購入して一回もサーボを動かせずに壊れているのは嫌なのですが、一度配線を間違えたので可能性はありそうです。今回は「PCA9685」の互換品を購入しましたので、スイッチサイエンスから出ている純正品を購入して試してみたいと思います。(I2C接続)(追記)スイッチサイエンスから出ているPCA9685で動かすことができました!RaspberryPiに続いてサーボモータドライバも壊れていたようです。詳細は下記の調査結果をご参照ください。今回の調査で試してみたサーボドライバは以下の3種類です。JP表にまとめると以下のようになりました。「✕」はサーボドライバでサーボを動かすことができなかった組み合わせで、「○」はサーボを動かすことができた組み合わせです。「-」については、NOOBS2.4.1が3B+にインストールすることができなかったので対象外としています。当初は全てのパターンで動かなかった3Bですが、新品と交換することで動かすことができました。3のモータドライバは破損していて動かすことができませんでした。JPのPCA9685」が破損していたことが分かりました。よって、これらを取り替えることで動かせるようになりました。当初はハードの組み合わせが悪いのかなと思いましたが、ハードの組み合わせは関係ありませんでした。上記の組み合わせで動かせるようになったときの手順を記事に記載しています。PiのI2Cは非常に壊れやすいので、間違えがないように配線は3回ぐらいチェックしたほうがいい。・プログラムのトライアンドエラーはいいけど、配線のトライアンドエラーは厳禁。・I2Cのチェックがどうしてもうまくいかない場合はハードが壊れていることを疑え。以上、今回はRaspberryPiとPCA9685でサーボモータが動かない原因について調査してみました。2019.10.26今回はダイソーのカラーボードを使ってラジコンボートを作ってみたいと思います。100均で材料をそろえると材料費が安くなっていいですよね。2018.07.16今回はArduinoIDEのボードにArduinoDUEがないときに追加する方法をご紹介したいと思います。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイトプロフィールKAZUKIです。モノづくりが好きで、ブログでは趣味の電子工作やゴミ回収ロボットのことを書いています。ゴミ回収ロボットを一緒に開発してくれる方がいらっしゃいましたらお問い合わせフォームからご連絡ください。その他雑記も書きます。興味のある記事がありましたら是非読んでみてください。WordPress.。