ブログだいちゃん

ブログだいちゃん

趣味のブログ

ブログだいちゃん

エンコーダー仕様のDCモーターを使用し倒立ロボットの作成

以前MEGA2560を使用してこのタイプのロボットカーを作成しましたが、途中まで仕上げて放置したままになっていました。
ロボットカーのスマフォでのコントロールが上手く行かなかったためで、途中からステッパモーター仕様のロボットカー作成に移行してしまい、引き出しの奥に埋もれていました。

引き出しの肥やしでは申し訳ないので、日の目を見させようと引っ張り出しました、今回はArduino UNO に変更して作成したいと思います。


OSOYOO から発売されている倒立ロボットカーを参考に作成


OSOYOOから教育用に販売されている以下の製品を参考に作成します。


f:id:blogdaichan:20190314180729j:plainf:id:blogdaichan:20190314180734j:plain

下のリンクにチュートリアルが書かれています、オープンソースとしてプログラムもアップされていますのでこれを使わせて頂きます。
製品版は12V仕様のモーターを使っていますが 6V仕様のモーターを使用します、このため電源関係やモーターがらみの変更があります。

OSOYOO Two Wheel Self Balancing Car Tutorial

上記リンクからスケッチ、ライブラリー、回路図、などがダウンロード出来ます。


使用パーツ


Arduino UNO 互換

Arduino用バニラシールド

Arduino用バニラシールド基板ver.2(白)

Arduino用バニラシールド基板ver.2(白)

エンコーダーモーター:6V仕様
www.banggood.com

モータードライバー:TB6612FNG

ジャイロ:MPU6050 ジンバルに使用していた物を流用(形が違います)


ブルートゥース:HC-06


必要なら ソナー:SR04


リチウムイオン電池:18650×3000mA 2本


その他スイッチ配線用ワイヤー、アクリル板、スペーサー等


回路図


回路図は OSOYOO のホームページからダウンロード出来ますがわかりにくいので Fritzing で作成しました、なお製品版のエンコーダーモーターと今回使用するエンコーダーモーターでは端子の配置が違いますので注意が必要です、また電圧が7.4Vなのでレギュレーターは使用しません。

f:id:blogdaichan:20190314180725j:plain


回路図には入れてありませんが、自動点滅のLEDを電源インジケーターとして追加しました、ソナーは取付けておりません。


モーターシールドの作成及び組み立て


バニラシールドにレイアウトを考えパーツを配置し配線します、ジャイロ(MPU6050)の取付方向に注意が必要です。

f:id:blogdaichan:20190314180742j:plainf:id:blogdaichan:20190314180745j:plain


フレームは以前作成した物を再利用し、パーツ取付け穴を開け直しました。

f:id:blogdaichan:20190314180749j:plainf:id:blogdaichan:20190314180753j:plainf:id:blogdaichan:20190314180756j:plain


動作確認

ArduinoUNOにスケッチを書き込み動作試験をします、書込みの時はBluetoothモジュールを外して行わないと書き込めません、コントロールにはスマフォを使用します私の場合AndroidですのでGoogle Play から専用アプリ(Osoyoo Balance Arduino Robot Car)をインストールします、スマフォの設定などはリュートリアルからのリンクがあります。

f:id:blogdaichan:20190315111120j:plainf:id:blogdaichan:20190315111137j:plain


スマフォからも PID の設定が出来ますが、ディフォルトの設定では安定しませんでしたのでスケッチの中のPIDを変更しました。

まだ調整も不十分ですが動画をアップしました、ギヤの遊びが原因なのかカクカクします、やはりステッパーモーター仕様の方が安定性が断然良いですね。



Create a self-balancing robot with a rotary encoder motor