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.
Gambar 1. Pergerakan telepon di rig pengujian untuk test_sensor_fusion
Gambar 2. Pergerakan telepon di rig pengujian untuk test_video_stabilization
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.
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 |
| |
Maret 2022 | 1 |
|
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.
Gambar 5. Pelindung perutean khusus (tampak atas)
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.
Gambar 7. Penerangan dan daya 12V terhubung ke pengontrol Android 13
Tergantung pada ukuran barel daya penerangan, gunakan adaptor sesuai kebutuhan.
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.
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.
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.
Gambar 11. Rev. 2 pengontrol Arduino
Gambar 12. Pengontrol kit Cana