Pengontrol Android 13

Halaman ini menjelaskan cara merakit pengontrol Android 13, yang mengontrol pergerakan untuk rig uji fusi sensor dan pencahayaan untuk ITS-in-a-box. Uji fusi sensor merupakan bagian dari Camera Image Test Suite (Camera ITS) yang ada di Compatibility Test Suite (CTS). Pengontrol Android 13 dirancang untuk memudahkan perakitan dan mengurangi biaya dibandingkan dengan versi pengontrol sebelumnya. Manfaat tambahannya adalah isolasi pasokan antara elektronik dan servo serta kontrol hingga tiga servo dan tiga lampu dari satu pengontrol.

Ikhtisar pengontrol Android 13

Kontrol servo dan pencahayaan di rig pengujian

Rig uji fusi sensor memberikan gerakan tetap pada ponsel untuk pengujian yang dapat direproduksi. Telepon diputar di depan target kotak-kotak untuk memungkinkan pengambilan gambar dengan telepon di berbagai posisi. Untuk test_sensor_fusion, servo memutar ponsel di sekitar pusat sumbu kamera 90 derajat dan mundur dalam waktu sekitar 2 detik. Untuk test_video_stabilization, servo memutar ponsel di sekitar pusat sumbu kamera 10 derajat dan mundur berulang kali untuk meniru gerakan ponsel saat mengambil video sambil berjalan. Gambar 1 menunjukkan dua ponsel bergerak dalam alat uji fusi sensor. Gambar 2 menunjukkan satu ponsel bergerak dalam alat uji fusi sensor.

ITS-in-a-box menyediakan lingkungan pengujian yang konsisten dengan jarak tetap antara tablet uji dan ponsel uji, selain pencahayaan yang konsisten tanpa sumber cahaya eksternal. Untuk test_auto_flash, lingkungan gelap dengan lampu dimatikan diperlukan untuk memicu fungsi flash otomatis pada ponsel pengujian. Gambar 3 menunjukkan lampu di dalam kotak ITS yang dimatikan dan dinyalakan oleh pengontrol Android 13.

Pergerakan telepon di rig pengujian

Gambar 1. Pergerakan telepon di rig pengujian untuk test_sensor_fusion

Pergerakan telepon di rig pengujian

Gambar 2. Pergerakan telepon di rig pengujian untuk test_video_stabilization

Kontrol cahaya di dalam ITS-in-a-box

Gambar 3. Lampu dimatikan dan dihidupkan untuk test_auto_flash

Kontrol motor servo

Motor servo analog di rig pengujian adalah servo posisi yang dikontrol menggunakan modulasi lebar pulsa (PWM). Contoh kontrol posisi tipikal ditunjukkan pada Gambar 3. Sinyal kontrol memiliki periode 20 ms. Mengubah lebar pulsa ke lebar minimum akan menggerakkan motor ke posisi netral dan mengubah lebar pulsa ke lebar maksimum akan menggerakkan motor 180 derajat searah jarum jam.

Deskripsi kontrol servo

Gambar 4. Deskripsi kontrol servo pada umumnya

Video tutorial

Ini adalah video tutorial cara setting pengontrol Android 13.

Riwayat revisi

Tabel berikut menjelaskan riwayat revisi rig WFoV Kamera ITS dan menyertakan tautan unduhan ke setiap versi file produksi.

Tanggal Revisi Pengunduhan file produksi Ubah catatan
Desember 2022 1.1
  • Menambahkan opsi untuk memesan papan PCB yang diisi dari EasyEDA
  • Menghapus penundaan palsu setelah servo bergerak dalam kode mikro Arduino
  • Mengubah kebuntuan dari logam menjadi nilon
  • Mengubah MOSFET lubang tembus menjadi MOSFET yang dipasang di permukaan
  • Mengubah kapasitor dari 10 uF menjadi 1000 uF
Maret 2022 1
  • Menambahkan kemampuan kontrol pencahayaan.
  • Berubah dari 6 kontrol servo menjadi 3 pencahayaan dan 3 kontrol servo

Implementasi pengontrol Android 13

Untuk mengontrol gerak dan lampu motor servo melalui komputer host, alat uji fusi sensor memerlukan koneksi USB. Pengontrol Android 13 menggunakan papan Arduino UNO R3 yang terhubung ke USB dengan papan perutean khusus (atau pelindung ) yang dipasang di atasnya. Pelindung dua lapis ini dirancang dengan alat desain PCB online sumber terbuka dan tersedia di https://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populated . Tampilan atas dan bawah pelindung perutean khusus ditunjukkan pada Gambar 5 dan 6.

Tampilan atas pelindung perutean khusus

Gambar 5. Pelindung perutean khusus (tampak atas)

Tampilan atas pelindung perutean khusus

Gambar 6. Pelindung perutean khusus (tampilan bawah)

Pengontrol Android 13 dapat mengontrol hingga tiga rig fusi sensor dan tiga ITS-in-a-box dari satu komputer host. Tampilan atas menunjukkan garis silkscreen untuk memasang tiga header motor 3-pin di sepanjang sumbu tengah, dan tiga colokan listrik LED. Tampilan bawah menunjukkan garis besar layar sutra untuk koneksi header 4 dan 8-pin yang diperlukan untuk dipasangkan dengan UNO, colokan listrik 5 V, dan kapasitor bypass 10 uF.

Untuk mengisolasi arus servo dan penerangan, daya untuk servo disediakan melalui jack 5 V eksternal. Elektronik UNO diberi daya secara terpisah melalui konektor USB, dan tidak ada pembagian daya antara kedua papan. Perhatikan bahwa colokan listrik eksternal yang ada pada UNO tidak digunakan dan ditutupi dalam desain penutup untuk menghindari kebingungan saat menyambungkan daya ke pengontrol.

Daya penerangan dan pengisi daya 12V terhubung ke pengontrol Android 13

Gambar 7. Penerangan dan daya 12V terhubung ke pengontrol Android 13

Tergantung pada ukuran barel daya penerangan, gunakan adaptor sesuai kebutuhan.

Steker jantan 3,5 mm x 1,35 mm ke konverter jack betina 5,5 mm x 2,1 mm

Gambar 8. Adaptor yang menghubungkan daya penerangan ke pengontrol

Merakit pengontrol Android 13

Daftar bahan (BOM)

Jumlah Keterangan PN/Tautan
1 Kamera setebal 1,6 mm, pelindung 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, lubang tembus 5 V, jack barel sudut kanan 101179
2 Kapasitor tantalum 35 V, 10%, 10 uF 2290863
2 Kapasitor dudukan keramik 1206 50 V, 5%, 100 pF 12065A101JAT2A
3 1 kΩ, resistor pemasangan permukaan CRCW08051K00FKEAC
3 MOSFET daya RFP30N06LE
3 1x3x, pitch 100 mil (2,54 mm), header pria melalui lubang 732-5316-ND
1 1x8x, pitch 100 mil (2,54 mm), header pria melalui lubang 732-5321-ND
1 1x4x, pitch 100 mil (2,54 mm), header pria melalui lubang 732-5317-ND
3 Kebuntuan nilon betina-betina 11 mm (lebar 5 mm, ulir M3-0,5) 92319a317
4 Kebuntuan nilon jantan-betina 6 mm (lebar 5 mm, ulir M3-0,5) 95783a004
3 Sekrup nilon kepala pan M3-0,5 6 mm 92492A716
4 Sekrup mesin kepala datar M3-0,5 8 mm XM2510008A20000
2 Sekrup mesin kepala datar M3-0,5 6 mm XM2510006A20000
6 #4, 1/2 sekrup logam lembaran kepala bulat 90925A110
1 Catu daya 5 V, 15 W yang terdaftar di UL, konektor 2,1x5,5 mm (motor) KSAS0180500300VU-VI
1 Catu daya 12 V, 60 W yang terdaftar di UL, konektor (lampu) 2,1x5,5 mm GSM60A12-P1J

Alat lain yang dibutuhkan

  • Besi solder, solder, pengisap solder
  • Obeng kepala Phillips kecil
  • Obeng Torx ukuran T10

Mengisi papan perutean

Isi bagian atas dan bawah papan perutean dengan bagian-bagian yang sesuai dengan garis luarnya. Untuk bagian bawah papan, header laki-laki dapat disejajarkan dengan menempatkan header ke lokasi yang benar di papan Arduino dan menempatkan papan perutean di atas konektor. Header 1x8 dan 1x4 kemudian dapat disolder pada tempatnya, menjamin keselarasan yang baik antara Arduino dan papan perutean. Hal yang sama dapat dilakukan untuk colokan listrik, tetapi shim diperlukan untuk perakitan yang rapat karena colokan listrik tidak bertumpu pada Arduino setelah perakitan. Setelah menyolder kapasitor bypass, bagian atas papan dapat diisi dengan enam header jantan 1x3 untuk kontrol motor. Perhatikan bahwa header harus diorientasikan sehingga bagian bawah konektor snap in mengarah ke motor untuk memberikan ruang maksimal untuk pemasangan motor.

Ketika semua komponen telah disolder pada tempatnya, sistem dapat dirakit menggunakan penyangga dan sekrup. Ada empat standoff 6 mm jantan-betina untuk memberikan stabilitas mekanis antara Arduino dan bagian bawah penutup plastik. Namun, hanya ada tiga kebuntuan betina-betina berukuran 11 mm antara Arduino dan pelindung khusus karena satu lubang pada Arduino (lubang di dekat pin SCL) tidak dapat digunakan karena kedekatannya dengan header betina pada Arduino. Pasang kebuntuan tiga perempuan-perempuan ke tiga kebuntuan laki-laki-perempuan untuk mengamankan kebuntuan ke Arduino. Kemudian pasang pelindung papan perutean ke penyangga dengan tiga sekrup M3. Gambar 9 menunjukkan skema perisai Arduino.

Skema perisai Arduino

Gambar 9. Skema perisai Arduino

Penutup pengontrol

Pengontrol menyertakan penutup khusus. Pengontrol yang telah dirakit dipasang ke enklosur melalui empat sekrup countersunk melalui pelat bawah enklosur. Rakit enklosur menggunakan enam sekrup rakitan kepala bulat dan dua sekrup rakitan kepala datar. Informasi terkait, seperti servo dan suplai eksternal 5 V, terukir di bagian atas plastik. Gambar 10 menunjukkan gambar pengontrol di dalam enklosur yang telah dirakit.

Sistem rakitan di dalam enclosure

Gambar 10. Perisai berpenghuni dan sistem rakitan di dalam selungkup

Kontrol perangkat lunak dari host

Kode mikro dapat diunduh ke UNO untuk menetapkan pin PWM ke sinyal motor dan menentukan rentang lebar pulsa untuk sudut yang berbeda. Kode mikro untuk kontrol rotasi servo enam motor HS-755MB disertakan dalam Sumber daya lainnya . Bagian itu juga menyertakan link ke program sederhana bernama rotator.py , yang memutar servo.

Menggunakan pengontrol Android 13

Kamera Penggunaannya:

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

Dengan skrip tes yang disertakan:

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

Pengontrol dan kompatibilitas sebelumnya

Pengontrol Rev. 2 dan pengontrol Rev. 1 (ditunjukkan pada Gambar 11 dan 12) tidak kompatibel dengan Android 13 dan tidak mendukung test_preview_stabilization, test_video_stabilization, dan test_auto_flash karena tidak memungkinkan pergerakan halus yang diperlukan untuk stabilisasi dan pencahayaan kontrol.

Rev.2 pengontrol Arduino

Gambar 11. Rev. 2 pengontrol Arduino

Sistem rakitan di dalam enclosure

Gambar 12. Pengontrol kit Cana

Sumber daya lainnya

Download gambar mekanik

Unduhan kontrol perangkat lunak