ตัวควบคุม Android 13

หน้านี้อธิบายวิธีประกอบคอนโทรลเลอร์ Android 13 ซึ่งควบคุมการเคลื่อนไหวสำหรับแท่นทดสอบการรวมเซ็นเซอร์และ แสงสว่างสำหรับ ITS-in-a-box การทดสอบการรวมเซ็นเซอร์เป็นส่วนหนึ่งของ ชุดทดสอบรูปภาพจากกล้อง (ITS กล้อง) ใน Compatibility Test Suite (CTS) คอนโทรลเลอร์ Android 13 ช่วยให้การทำงานอัตโนมัติเป็นไปได้โดย ควบคุมไฟของอุปกรณ์และเซอร์โวมอเตอร์สำหรับฉากทดสอบที่ต้องมีการหมุน และการควบคุมแสง

ภาพรวมของตัวควบคุม Android 13

ITS-in-a-box มีสภาพแวดล้อมการทดสอบที่สอดคล้องกันโดยมีระยะห่างคงที่ ระหว่างแท็บเล็ตทดสอบกับโทรศัพท์ทดสอบ รวมถึงแสงสว่างที่สอดคล้องกัน โดยไม่มีแหล่งกำเนิดแสงภายนอก คอนโทรลเลอร์ Android 13 จะทำให้การควบคุมเซอร์โวและการควบคุมแสงสว่างเป็นแบบอัตโนมัติ และช่วยลด ความจำเป็นในการหมุน DUT ด้วยตนเองสำหรับการทดสอบฉากฟิวชันของเซ็นเซอร์ และ การเปิดและปิดไฟด้วยตนเองสำหรับการทดสอบที่ควบคุมด้วยแสงสว่าง

การควบคุมเซอร์โวและแสงสว่างในแท่นทดสอบ

แท่นทดสอบการรวมเซ็นเซอร์จะให้การเคลื่อนไหวที่แน่นอนของโทรศัพท์สำหรับการทดสอบที่ทำซ้ำได้ หมุนโทรศัพท์ด้านหน้าเป้าหมายลายตารางหมากรุกเพื่อให้ จับภาพด้วยโทรศัพท์ในตำแหน่งต่างๆ สำหรับ test_sensor_fusion เซอร์โวจะหมุนโทรศัพท์รอบแกนกลางของกล้อง 90 องศาและกลับ ในเวลาประมาณ 2 วินาที สำหรับ test_video_stabilization เซอร์โวจะหมุนโทรศัพท์รอบ จุดศูนย์กลางของแกนกล้อง 10 องศาและหมุนกลับซ้ำๆ เพื่อจำลองการเคลื่อนไหวของโทรศัพท์ ขณะถ่ายวิดีโอขณะเดิน รูปที่ 1 แสดงโทรศัพท์ 2 เครื่องที่เคลื่อนที่ในแท่นทดสอบการผสานเซ็นเซอร์ รูปที่ 2 แสดงโทรศัพท์เครื่องหนึ่งที่เคลื่อนที่ในแท่นทดสอบการผสานเซ็นเซอร์

การเคลื่อนไหวของโทรศัพท์ในแท่นทดสอบ

รูปที่ 1 การเคลื่อนไหวของโทรศัพท์ในแท่นทดสอบสำหรับ test_sensor_fusion

การเคลื่อนไหวของโทรศัพท์ในแท่นทดสอบ

รูปที่ 2 การเคลื่อนไหวของโทรศัพท์ในแท่นทดสอบสำหรับ test_video_stabilization

การควบคุมเซอร์โวมอเตอร์

เซอร์โวมอเตอร์แบบอนาล็อกในแท่นทดสอบเป็นเซอร์โวแบบกำหนดตำแหน่งที่ควบคุมโดยใช้ การมอดูเลตความกว้างพัลส์ (PWM) ตัวอย่างการควบคุมตำแหน่งทั่วไปแสดงใน รูปที่ 3 สัญญาณควบคุมมีช่วงเวลา 20 มิลลิวินาที การเปลี่ยนความกว้างของพัลส์เป็นความกว้างขั้นต่ำจะทำให้มอเตอร์เคลื่อนที่ไปยังตำแหน่งที่เป็นกลาง และการเปลี่ยนความกว้างของพัลส์เป็นความกว้างสูงสุดจะทำให้มอเตอร์หมุนตามเข็มนาฬิกา 180 องศา

คำอธิบายการควบคุมเซอร์โว

รูปที่ 3 คำอธิบายการควบคุมเซอร์โวทั่วไป

การควบคุมแสงสว่าง

หากต้องการควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์และไฟโดยใช้คอมพิวเตอร์โฮสต์ แท่นทดสอบฟิวชันเซ็นเซอร์จะต้องมีการเชื่อมต่อ USB คอนโทรลเลอร์ Android 13 ใช้บอร์ด Arduino UNO R3 ที่เชื่อมต่อ USB พร้อมบอร์ดกำหนดเส้นทางที่กำหนดเอง (หรือชิลด์) ที่ติดตั้งไว้ด้านบน ตัวควบคุม Android 13 สามารถควบคุมเซอร์โวโรเตเตอร์ของอุปกรณ์รวมเซ็นเซอร์ได้สูงสุด 3 ตัว และระบบไฟ ITS- in-a-box หรืออุปกรณ์รวมเซ็นเซอร์ได้สูงสุด 3 ตัวจากคอมพิวเตอร์โฮสต์เครื่องเดียว

คอนโทรลเลอร์ Android 13 ฉบับแก้ไข 3.0 ช่วยให้ผู้ใช้ ปิดใช้การรีเซ็ตอัตโนมัติได้เมื่อเปิดพอร์ตอนุกรม Arduino ผ่าน USB ระบบจะเปิดใช้ ฟังก์ชันรีเซ็ตอัตโนมัติเมื่อเสียบตัวควบคุมเข้ากับโฮสต์อื่น หรือใช้สำหรับกรณีทดสอบอื่นๆ ผู้ใช้สามารถเปิดหรือปิดใช้การรีเซ็ตอัตโนมัติได้โดยใช้ สวิตช์จริงบนคอนโทรลเลอร์

คอนโทรลเลอร์ Android 13 ใช้ได้กับ Camera ITS-in-a-box ทุกรุ่น ตัวควบคุม Android 13 สามารถเชื่อมต่อกับ Camera ITS-in-a-box (RFoV, WFoV, Modular) หรือกล่อง Sensor Fusion เพื่อทำการทดสอบที่มีการควบคุมแสง ตั้งแต่ Android 15 เป็นต้นไป การทดสอบที่ควบคุมแสงทั้งหมด จะรวมอยู่ใน scene_flash และเรียกใช้ได้โดยใช้กล่องรวมเซ็นเซอร์ ยกเว้น scene_low_light ซึ่งต้องใช้แท็บเล็ตเพื่อแสดงแผนภูมิและต้องเรียกใช้โดยใช้ Camera ITS-in-a-box

สำหรับการทดสอบใน scene_flash และ scene_low_light คุณต้องอยู่ใน สภาพแวดล้อมที่มืดและปิดไฟเพื่อเรียกใช้ฟังก์ชันแฟลชอัตโนมัติ ในโทรศัพท์ที่ใช้ทดสอบ รูปที่ 4 แสดงการปิดและเปิดไฟใน ITS-in-a-box โดยตัวควบคุม Android 13

การควบคุมไฟภายใน ITS-in-a-box

รูปที่ 4 ปิดและเปิดไฟสำหรับการทดสอบ test_auto_flash

ประวัติการแก้ไข

ตารางต่อไปนี้อธิบายประวัติการแก้ไขของตัวควบคุม Android 13 และมีลิงก์ดาวน์โหลดไฟล์เวอร์ชันที่ใช้งานจริง แต่ละเวอร์ชัน

วัน การแก้ไข การดาวน์โหลดไฟล์เวอร์ชันที่ใช้งานจริง บันทึกการเปลี่ยนแปลง
สิงหาคม 2024 3.0
  • เพิ่มการข้ามการรีเซ็ตอัตโนมัติเพื่อไม่ให้ไฟสลับระหว่างการสื่อสาร กับ DUT
ธันวาคม 2022 2.2
  • เพิ่มตัวเลือกในการสั่งซื้อบอร์ด PCB ที่สร้างขึ้นจาก EasyEDA
  • นำการหน่วงเวลาที่ไม่ถูกต้องออกหลังจากที่เซอร์โวเคลื่อนที่ในไมโครโค้ดของ Arduino
  • เปลี่ยนตัวคั่นจากโลหะเป็นไนลอน
  • เปลี่ยน MOSFET แบบรูทะลุเป็น MOSFET แบบติดบนพื้นผิว
  • เปลี่ยนตัวเก็บประจุจาก 10 uF เป็น 1000 uF
มีนาคม 2022 1
  • เพิ่มความสามารถในการควบคุมแสง
  • เปลี่ยนจากการควบคุมเซอร์โว 6 ตัวเป็นการควบคุมแสง 3 ตัวและการควบคุมเซอร์โว 3 ตัว

การตั้งค่าคอนโทรลเลอร์ Android 13

ส่วนนี้จะอธิบายวิธีตั้งค่าคอนโทรลเลอร์ Android 13

คอมโพเนนต์ที่จำเป็น

คุณสามารถซื้อตัวควบคุม Android 13 ผ่านผู้ให้บริการที่มีคุณสมบัติรายใดรายหนึ่งของเรา หรือจะสร้างตัวควบคุมด้วยตนเองก็ได้ ไฟล์การผลิตประกอบด้วย ไฟล์ Gerber ของ PCB, รายการวัสดุ (BOM) ของ PCB, ข้อมูลการวาง PCB และ ไฟล์ STEP ของกล่องหุ้ม หากต้องการดาวน์โหลดไฟล์เวอร์ชันที่ใช้งานจริง ให้ดูตารางในประวัติการแก้ไข

หากสร้างคอนโทรลเลอร์ด้วยตนเอง คุณต้องมีบอร์ด Arduino UNO R3 หากซื้อคอนโทรลเลอร์ผ่านผู้ให้บริการที่มีสิทธิ์ จะมี Arduino มาให้ด้วย

กล่องหุ้มคอนโทรลเลอร์ Android 13 เป็นส่วนประกอบที่ไม่บังคับแต่แนะนำ ซึ่งจะปกป้องคอนโทรลเลอร์และปิดกั้นพอร์ต USB ที่ไม่ได้ใช้เพื่อป้องกันข้อผิดพลาดในการตั้งค่า หากต้องการทราบรายละเอียดเกี่ยวกับราคาและตัวเลือกสำหรับตัวควบคุม โปรดติดต่อ ผู้ให้บริการที่มีคุณสมบัติ

ขั้นตอนการตั้งค่า

หากต้องการตั้งค่าคอนโทรลเลอร์ Android 13 ให้ทำตามขั้นตอนต่อไปนี้

  1. ต่ออะแดปเตอร์ 12V (สำหรับไฟ) และ 5V (สำหรับเซอร์โว) เข้ากับแจ็คจ่ายไฟที่เหมาะสม (รูปที่ 5)

    ตำแหน่งอะแดปเตอร์

    รูปที่ 5 ตำแหน่งอะแดปเตอร์

  2. เชื่อมต่อไฟ ITS-in-a-box หรือ Sensor Fusion Box เข้ากับแจ็คเอาต์พุตช่องสัญญาณไฟ (รูปที่ 6) ใช้อะแดปเตอร์ตามที่จำเป็น (รูปที่ 7) ทั้งนี้ขึ้นอยู่กับกำลังไฟของหลอดไฟ

    ตำแหน่งเอาต์พุตของแสง

    รูปที่ 6 ตำแหน่งเอาต์พุตของช่องไฟ

    ปลั๊กตัวผู้ขนาด 3.5 มม. x 1.35 มม. เป็นตัวแปลงแจ็คตัวเมียขนาด 5.5 มม. x 2.1 มม.

    รูปที่ 7 อะแดปเตอร์ที่เชื่อมต่อแหล่งจ่ายไฟของหลอดไฟกับตัวควบคุม

  3. หากต้องการตั้งค่าสำหรับฉาก sensor_fusion ให้เชื่อมต่อเซอร์โวกับส่วนหัวของการเชื่อมต่อช่องเซอร์โวช่องใดช่องหนึ่ง

    ตำแหน่งการเชื่อมต่อช่องเซอร์โว

    รูปที่ 8 ตำแหน่งการเชื่อมต่อเซอร์โว

    สำหรับตัวควบคุมเวอร์ชัน 3.0 เมื่อเชื่อมต่อตัวควบคุมกับโฮสต์ใหม่ ต้องตั้งค่าสวิตช์รีเซ็ตอัตโนมัติเป็น Enable

    สำหรับรุ่น 3.0 คอนโทรลเลอร์มีสวิตช์รีเซ็ตอัตโนมัติที่ เปิดหรือปิดใช้ได้ เมื่อทดสอบ เราขอแนะนำให้ตั้งค่าสวิตช์รีเซ็ตอัตโนมัติ เป็น Disable เพื่อป้องกันไม่ให้ไฟทั้งหมดดับชั่วคราวที่ จุดเริ่มต้นของการทดสอบแต่ละครั้ง เนื่องจาก its_base_test จะสร้างการสื่อสารกับ ตัวควบคุม Arduino ซึ่งมีความสำคัญอย่างยิ่งเมื่อทำการทดสอบแบบคู่ขนาน (ITS ทำงานพร้อมกับระบบไฟส่องสว่างของแท่นทดสอบที่เชื่อมต่อกับ คอนโทรลเลอร์เดียวกัน)

    รีเซ็ตตำแหน่งอัตโนมัติ

    รูปที่ 9 สวิตช์รีเซ็ตอัตโนมัติ

  4. เชื่อมต่อคอนโทรลเลอร์กับโฮสต์ด้วยสาย USB-A

    ตำแหน่ง USB-A

    รูปที่ 10 พอร์ตเชื่อมต่อ USB-A กับโฮสต์

รูปที่ 11 แสดงตัวอย่างการตั้งค่าคอนโทรลเลอร์ Android 13 ที่เสร็จสมบูรณ์สำหรับ ระบบไฟและเซอร์โว 1 ระบบ

ตำแหน่ง USB-A

รูปที่ 11 ตั้งค่าคอนโทรลเลอร์ Android 13 เสร็จสมบูรณ์

การควบคุมซอฟต์แวร์จากโฮสต์

คุณสามารถดาวน์โหลดรหัสขนาดเล็กไปยัง UNO เพื่อกำหนดพิน PWM ให้กับสัญญาณมอเตอร์ และกำหนดช่วงความกว้างของพัลส์สำหรับมุมต่างๆ ไมโครโค้ด สำหรับการควบคุมการหมุนของเซอร์โวของมอเตอร์ HS-755MB ทั้ง 6 ตัวรวมอยู่ใน แหล่งข้อมูลอื่นๆ ส่วนนั้นยังมีลิงก์ไปยัง โปรแกรมง่ายๆ ที่ชื่อ 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

การดาวน์โหลดการควบคุมซอฟต์แวร์