WRX micro:bitを車両で使う その11 可動式雲台を作る(2軸編)
micro:bitでのサーボモーターの利用方法が分かったので、今回は実際にサーボモーターを使った可動式の雲台(カメラマウント)を作ってみる事にしました。サーボモーターは2個購入しているのでこれを組み合わせ、上下左右へ動かせる様にします。
サーボモーターについて
前回と前々回の記事の補足になりますが、購入したサーボモーターはアルミブラケットが付属していて、一見両軸駆動に見えますが、実際には他のラジコンや模型用のサーボモーター同様に片軸です。回転する軸の反対側は単に本体に軸が付いていて、アルミ部品(フランジ)による滑りになっています。このアルミ部品と本体の軸にはガタ付きはなく、しっかりとブラケットの回転をサポートしています。
回転する軸は金属で同様にアルミ部品を取り付けますが、こちら側は回り止めに溝が切ってあります。ただし軸の定位置と4か所のネジ位置(十字となる角度)はあまり正確ではなく、一番近くなる状態を探して取り付けました。
また本体側に固定するブラケットはタッピングネジで本体に直接ねじ込むので、繰り返しの取り付け・取り外しには向いていません。
ブラケット同士は正方形のピッチで穴が開いているので、90度回転させても固定する事が出来ます。
可動式雲台(2軸)
今回作成する可動式雲台は上記の様に考えました。ブラケット同士を90度に組み合わせて、2軸で上下左右の回転を行います。
2D-CADから3D-CADで立体化し、スライスソフトでGコードに変換してから3Dプリンターで部品を作りました。カメラの固定はいつものアクションカムパーツの方式を流用しています。
実際に組み上げると、上記の様な形になります。
動作プログラム
※今回のサーボモーターの動作には、サーボモーターの動作用モジュールを使用しています。micro:bit本体のみでは以降のプログラムは動作しません。あくまで参考として下さい。
次にmicro:bitでプログラムを組みます。操作方法はmicro:bit本体を傾ける事で変化する、ロールとピッチ角度を利用します。micro:bitのLEDを上面としてロールとピッチ角度の約「90度から-90度」をサーボモーターの「30度から150度」に割り当てます。またロールとピッチ角度については、堺となる付近で行ったり来たりが発生しそうなので、無反応区間を付けました。
ただしこのプログラムでのサーボモーターはロールとピッチ角度に追従するのではなく、段階的に動作します。また利用するサーボモーターの動作角度は270度になっていますが、内部ギアで増分させている様子でプログラム上の角度指定と動作結果が合いません。「30度~150度」の指定でサーボモーターは「0度~180度」になりました。※このプログラム作成時、まだ「数値をマップする」ブロックの存在に気付いていませんでした。次回以降で使用しています。
さらに次で2台のmicro:bitで操作側と動作側に分けて、互いに無線機能でやり取りを行う方法に変更してみます。
操作側
操作側については単純に、先のプログラムでロールとピッチ角度によるサーボモーター角度指令を数値として送信しているだけです。混在を防ぐ為にピッチは「-6から6」、ロールは「-16~16」で数値その物に意味は無く、あくまで区別です。
動作側
動作側は操作側から送信される数値によって、サーボモーターを対応する角度に移動させているだけです。
おまけ
ピッチ側サーボモーターの基準位置(原点)を90度変更し、部品を変更して上記の様にしました。この状態で操作側のロールとピッチ角度に対してサーボモーターの動作方向を逆にすれば、カメラを水平に保つスタビライズ的な動きになります。
ただしピッチ側は動ける範囲が狭くなるので、プログラム上でも角度範囲を減らしています。
動画
今回の様子を動画で撮りました。サーボモーターの反応が良すぎて、スタビライズ的な動作ではmicro:bit本体と一緒に片手で持つと、逆に手が振れてしまって逆効果です。サーボモーターの加減速なども変更出来れば良いのですが、常用する予定もないのでここまでとします。
また車載動画で使う場合はピッチ角度に対する上下方向の移動は必要なさそうなので、次回はサーボモーター1つで左右方向のみの可動式雲台を作成してみます。さらにmicro:bit2台と「数値をマップする」ブロックを使い、ハンドルの切り角に追従して左右に移動する機能を作成し、試してみたいと思っています。
micro:bit 新バージョン「2.0」について
2020年11月25日より、Micro:bit本体の新バージョン「2.0」が発売になっています。従ってこれまでの古いmicro:bitを使用した記事(~その24)と新しいmicro:bitでは記事内容に相違がある場合があります。ただしこれまでのプログラムは基本的には新しいmicro:bitでも動作し、古いmicro:bitも引き続き使用する事が可能です(ハード的に新たに追加された機能は、拡張ボード等が必要ですが)。
なお新しいmicro:bitについては実際に1つ購入し、micro:bit関連記事「その25」から扱っています。
2022年4月追記
2021年12月にmicro:bit本体のバージョンが「2.2」になるとのアナウンスがありましたが、「2.0」との機能上の違いは無いとされています。
「micro:bit」関連記事
以下は「micro:bit」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。「その24」までの記事ではmicro:bit本体のバージョン「1.5」を使用しています。
クリックで開きます
- WRX micro:bitを車両で使う その1 micro:bitの購入
- WRX micro:bitを車両で使う その2 Microsot MakeCodeとスマホ用アプリ
- WRX micro:bitを車両で使う その3 micro:bitの仕様と購入したブレイクアウトボード
- WRX micro:bitを車両で使う その4 本体ファームウェアの更新とWebUSB
- WRX micro:bitを車両で使う その5 無線機能の利用
- WRX micro:bitを車両で使う その6 方位センサーの利用
- WRX micro:bitを車両で使う その7 加速度センサーの利用
- WRX micro:bitを車両で使う その8 micro:bitからSIドライブのモード切替
- WRX micro:bitを車両で使う その9 サーボモーターの利用(準備編)
- WRX micro:bitを車両で使う その10 サーボモーターの利用(動作編)
- WRX micro:bitを車両で使う その11 可動式雲台を作る(2軸編)
- WRX micro:bitを車両で使う その12 可動式雲台を作る(1軸編)
- WRX micro:bitを車両で使う その13 連続回転サーボモーターの利用
- WRX micro:bitを車両で使う その14 Bluetoothでスマホから操作(データ受信)を行う
- WRX micro:bitを車両で使う その15 LCDパネル(I2C LCD1602・2004)の利用
- WRX micro:bitを車両で使う その16 シリアル通信(RS232C)を行う
- WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用
- WRX micro:bitを車両で使う その18 LEDのフォントとスクロールスピードを変える
- WRX micro:bitを車両で使う その19 ELM327の車両との通信を確認する
- WRX micro:bitを車両で使う その20 アスキーコード16進数から数値10進数への変換
- WRX micro:bitを車両で使う その21 車両からエンジン回転数を得る
- WRX micro:bitを車両で使う その22 7セグメントLEDの利用(TM1637ドライバ)
- WRX micro:bitを車両で使う その23 DCモーターを制御する(TB6612FNG・DRV8833)
- WRX micro:bitを車両で使う その24 ステッピングモーターを制御する(ULN2003ドライバ)
- WRX micro:bitを車両で使う その25 micro:bit バージョン2.0を購入(2021年12月 v2.2アナウンスあり)
- WRX micro:bitを車両で使う その26 バージョン2.0で追加されたMakeCodeブロック
- WRX micro:bitを車両で使う その27 バージョン2.0の初期状態と追加された機能
- WRX micro:bitを車両で使う その28 新バージョン(v2.0)のI2C通信
- WRX micro:bitを車両で使う その29 環境モニターを作る(気温・気圧・湿度編)
- WRX micro:bitを車両で使う その30 環境モニターを作る(二酸化炭素・有機化合物編)
- WRX micro:bitを車両で使う その31 環境モニターを作る(LCD表示・動作確認編)
- WRX micro:bitを車両で使う その32 環境モニターを作る(RTCモジュール追加編)
- WRX micro:bitを車両で使う その33 環境モニターを作る(ロギングモジュール追加編)
- WRX micro:bitを車両で使う その34 環境モニターを作る(ログデータ記録編)
- WRX micro:bitを車両で使う その35 車内のCO2濃度と換気について
- WRX micro:bitを車両で使う その36 新バージョン(v2.0)でのI2C通信の問題解決
- WRX micro:bitを車両で使う その37 Microsoft MakeCodeの新バージョン(v4)と新機能データロガー
- WRX micro:bitを車両で使う その38 mp3音声ファイルの再生(DFPlayer Mini)
- WRX micro:bitを車両で使う その39 車速パルス信号から速度を計算する
- WRX micro:bitを車両で使う その40 フルカラーLED(WS2812B)でメーターを作る
- WRX micro:bitを車両で使う その41 フルカラーLEDマトリックス(WS2812B)で時計を作る
- WRX micro:bitを車両で使う その42 フルカラーLEDマトリックス(WS2812B)でピクセルアートアニメーションを作る
「micro:bit+プラレール」も始めました。
その他
FA用PLCとELM327を使用した「OBD2」関連の記事は以下の記事から始まります。
注記
-
- このブログ内で書いている内容はあくまで私の利用する製品(アプリ含む)や機器での場合です。他メーカーの製品や機器をはじめ、同じメーカーの製品・機器であってもバージョン違い等の場合もあるので、記事内容の保証や責任を負う事は出来ません。
- 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で仕様等を確認し、自己判断と自己責任の下で利用して下さい。
- 記事内で公開しているmicro:bit用プログラムは自由に利用・改変して頂いて構いません。ただし不具合やバグもありますので、プログラムを利用した際の故障や事故等についての保証や責任を負う事は出来ません。自己判断と自己責任の下で利用して下さい。
- micro:bit製品やプログラミング、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
- BBC micro:bitは、micro:bit教育財団の登録商標です。その他のブランド名または製品名は各所有者の商標です。