Android 13 コントローラー

このページでは、センサー フュージョン テスト リグの動きと ITS-in-a-box の照明を制御する Android 13 コントローラーの組み立て方法について説明します。センサー フュージョン テストは、 Compatibility Test Suite (CTS) のCamera Image Test Suite (Camera ITS) の一部です。 Android 13 コントローラーは、以前のバージョンのコントローラーと比較して、組み立てを容易にし、コストを削減するように設計されています。追加の利点は、電子機器とサーボ間の電源分離と、1 つのコントローラーから最大 3 つのサーボと 3 つのライトを制御できることです。

Android 13 コントローラーの概要

テスト装置のサーボおよび照明制御

センサー フュージョン テスト リグは、再現可能なテストのために電話の固定モーションを提供します。携帯電話をチェッカーボードのターゲットの前で回転させて、さまざまな位置で携帯電話を使用して画像をキャプチャできるようにします。 test_sensor_fusion の場合、サーボは電話を軸のカメラ中心を中心に 90 度回転させ、約 2 秒で元に戻します。 test_video_stabilization の場合、サーボは携帯電話を軸のカメラ中心を中心に 10 度繰り返し回転させ、歩きながらビデオを撮影するときの携帯電話の動きを模倣します。図 1 は、センサー フュージョン テスト リグ内で移動する 2 台の電話を示しています。図 2 は、センサー フュージョン テスト リグ内で移動する 1 台の電話を示しています。

ITS-in-a-box は、外部光源なしで一貫した照明に加えて、テスト タブレットとテスト電話の間の固定距離で一貫したテスト環境を提供します。 test_auto_flash の場合、テスト用スマートフォンでオート フラッシュ機能をトリガーするには、ライトをオフにした暗い環境が必要です。図 3 は、ITS-in-a-box のライトが Android 13 コントローラーによってオフおよびオンになっている様子を示しています。

テスト装置での電話の動き

図 1. test_sensor_fusion のテスト リグでの電話の動き

テスト装置での電話の動き

図 2. test_video_stabilization のテスト リグでの電話の動き

ITS-in-a-box内の光制御

図 3. test_auto_flash のライトのオフとオン

サーボモーター制御

テスト装置のアナログ サーボ モーターは、パルス幅変調 (PWM) を使用して制御される位置サーボです。典型的な位置制御の例を図 3 に示します。制御信号の周期は 20 ms です。パルス幅を最小幅に変更するとモーターはニュートラル位置に移動し、パルス幅を最大幅に変更するとモーターは時計回りに 180 度移動します。

サーボ制御の説明

図 4.典型的なサーボ制御の説明

ビデオチュートリアル

これは、Android 13 コントローラーのセットアップ方法に関するビデオ チュートリアルです。

改訂履歴

次の表では、Camera ITS WFoV リグの改訂履歴について説明し、プロダクション ファイルの各バージョンへのダウンロード リンクを示します。

日にちリビジョン生産ファイルのダウンロード変更ログ
2022 年 12 月1.1
  • EasyEDA から実装された PCB ボードを注文するオプションを追加
  • Arduino マイクロコードでサーボが移動した後の誤った遅延を削除
  • スタンドオフを金属からナイロンに変更
  • スルーホールMOSFETを表面実装MOSFETに変更
  • コンデンサを10uFから1000uFに変更
2022年3月1
  • 照明制御機能を追加。
  • 6サーボ制御から3灯3サーボ制御に変更

Android 13 コントローラーの実装

ホスト コンピューターを介してサーボ モーターの動作とライトを制御するには、センサー フュージョン テスト リグに USB 接続が必要です。 Android 13 コントローラーは、上部にカスタム ルーティング ボード (またはシールド) が取り付けられた USB 接続の Arduino UNO R3 ボードを使用します。 2 層シールドはオープンソースのオンライン PCB 設計ツールで設計されており、 https://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populatedで入手できます。カスタム ルーティング シールドの上面図と底面図を図 5 と図 6 に示します。

カスタム ルーティング シールドの上面図

図 5.カスタム ルーティング シールド (上面図)

カスタム ルーティング シールドの上面図

図 6.カスタム ルーティング シールド (底面図)

Android 13 コントローラーは、1 台のホスト コンピューターから最大 3 つのセンサー フュージョン リグと 3 つの ITS-in-a-box を制御できます。上面図は、中心軸に沿って 3 つの 3 ピン モーター ヘッダーと 3 つの LED 電源ジャックを取り付けるためのシルクスクリーンのアウトラインを示しています。下の図は、UNO、5 V 電源ジャック、および 10 uF バイパス コンデンサと嵌合するために必要な 4 および 8 ピン ヘッダー接続のシルクスクリーン アウトラインを示しています。

サーボと照明電流を分離するために、サーボの電源は外部 5 V ジャックから供給されます。 UNO 電子機器は、USB コネクタを介して個別に給電され、2 つのボード間で電力が共有されることはありません。 UNO の既存の外部電源ジャックは使用されておらず、コントローラーに電源を接続する際の混乱を避けるために筐体設計で覆われていることに注意してください。

Android 13コントローラーに接続された照明電源と12V充電器

図 7. Android 13 コントローラに接続された照明と 12V 電源

照明電源のバレルサイズに応じて、必要に応じてアダプターを使用してください。

3.5mm x 1.35mm オスプラグ - 5.5mm x 2.1mm メスジャックコンバーター

図 8.照明電源をコントローラーに接続するアダプター

Android 13 コントローラーの組み立て

部品表 (BOM)

数量説明PN/リンク
1厚さ 1.6 mm の CameraITS Arduino シールドhttps://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populated
1 Arduino UNO R3 https://store.arduino.cc/usa/arduino-uno-rev3
6 2.1x5.5 mm、5 V スルーホール、直角バレル ジャック101179
2 35 V、10%、10 uF タンタル コンデンサ2290863
2 50 V、5%、100 pF セラミック 1206 マウント コンデンサ12065A101JAT2A
3 1kΩ、表面実装抵抗CRCW08051K00FKEAC
3パワーMOSFET RFP30N06LE
3 1x3x、100 ミル (2.54 mm) ピッチ、スルーホール オス ヘッダー732-5316-ND
1 1x8x、100 ミル (2.54 mm) ピッチ、スルーホール オス ヘッダー732-5321-ND
1 1x4x、100 ミル (2.54 mm) ピッチ、スルーホール オス ヘッダー732-5317-ND
3 11 mm メス-メス ナイロン スタンドオフ (幅 5 mm、M3-0.5 ネジ) 92319a317
4 6 mm オス/メス ナイロン スタンドオフ (幅 5 mm、M3-0.5 ネジ) 95783a004
3 M3-0.5 6 mm なべ頭ナイロンねじ92492A716
4 M3-0.5 8mm皿小ネジXM2510008A20000
2 M3-0.5 6mm皿小ネジXM2510006A20000
6 #4、1/2 インチ丸頭板金ネジ90925A110
1 5 V、15 W UL 認定電源、2.1x5.5 mm プラグ (モーター) KSAS0180500300VU-VI
1 12 V、60 W UL 認定電源、2.1x5.5 mm プラグ (ライト) GSM60A12-P1J

その他必要なツール

  • はんだごて、はんだ、はんだ吸い取り機
  • 小型プラスドライバー
  • サイズ T10 トルクスドライバー

ルーティング ボードの実装

ルーティング ボードの上部と下部に、パーツをアウトラインに合わせて配置します。ボードの下部については、ヘッダーを Arduino ボードの正しい位置に配置し、ルーティング ボードをコネクタの上に配置することで、オス ヘッダーを整列させることができます。次に、1x8 および 1x4 ヘッダーを所定の位置にはんだ付けして、Arduino とルーティング ボード間の良好な位置合わせを保証します。電源ジャックについても同じことができますが、組み立て後に電源ジャックが Arduino に載らないため、しっかりと組み立てるためにシムが必要です。バイパス コンデンサをはんだ付けした後、ボードの上部にモーター制御用の 6 つの 1x3 オス ヘッダーを取り付けることができます。ヘッダーは、スナップイン コネクタの下部がモーターに向くように向きを合わせて、モーター マウントに最大限のスペースを確保する必要があることに注意してください。

すべてのコンポーネントがはんだ付けされたら、スタンドオフとネジを使用してシステムを組み立てることができます。 Arduino とプラスチック筐体の底部の間に機械的な安定性を確保するために、4 つのオス - メス 6 mm スタンドオフがあります。ただし、Arduino の 1 つの穴 (SCL ピンに近い穴) が Arduino のメス ヘッダーに近接しているため使用できないため、Arduino とカスタム シールドの間には 11 mm のメス - メスのスタンドオフが 3 つしかありません。 3 つのメス - メス スタンドオフを 3 つのオス - メス スタンドオフにねじ込み、スタンドオフを Arduino に固定します。次に、3 本の M3 ネジを使用してルーティング ボード シールドをスタンドオフに取り付けます。図 9 は、Arduino シールドの回路図を示しています。

Arduinoシールドの回路図

図 9. Arduino シールドの回路図

コントローラーエンクロージャー

コントローラには、カスタム エンクロージャが含まれています。組み立てられたコントローラーは、エンクロージャーの底板を通る 4 つの皿ネジでエンクロージャーに取り付けられます。 6 つの丸頭ネジと 2 つの平頭ネジを使用してエンクロージャを組み立てます。サーボや 5 V 外部電源などの関連情報は、プラスチック製の上部にエッチングされています。図 10 は、組み立てられたエンクロージャー内のコントローラーのイメージを示しています。

エンクロージャーに組み立てられたシステム

図 10.エンクロージャー内の実装済みシールドと組み立て済みシステム

ホストからのソフトウェア制御

マイクロコードをUNOにダウンロードして、PWMピンをモーター信号に割り当て、さまざまな角度のパルス幅範囲を定義できます。 6 つの HS-755MB モーターのサーボ回転制御用のマイクロコードは、その他のリソースに含まれています。このセクションには、サーボを回転させるrotator.pyという単純なプログラムへのリンクも含まれています。

Android 13 コントローラーの使用

カメラ ITS の使用法:

python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion

付属のテスト スクリプトを使用すると、次のようになります。

python rotator.py --ch 1 --dir ON --debug

以前のコントローラーと互換性

Rev. 2 コントローラーと Rev. 1 コントローラー (図 11 と 12 を参照) は、Android 13 と互換性がなく、test_preview_stabilization、test_video_stabilization、および test_auto_flash をサポートしていません。コントロール。

Rev.2 Arduino コントローラ

図 11. Rev. 2 Arduino コントローラー

エンクロージャーに組み立てられたシステム

図 12. Cana キット コントローラー

その他のリソース

機械図面のダウンロード

ソフトウェア制御のダウンロード