คอนโทรลเลอร์ Android 13

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

ภาพรวมคอนโทรลเลอร์ Android 13

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

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

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 WForV และรวมถึงลิงก์ดาวน์โหลดไฟล์ที่ใช้งานจริงแต่ละเวอร์ชัน

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

การใช้งานคอนโทรลเลอร์ Android 13

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

มุมมองด้านบนของโล่กำหนดเส้นทางแบบกำหนดเอง

รูปที่ 5 แผงป้องกันการกำหนดเส้นทางแบบกำหนดเอง (มุมมองด้านบน)

มุมมองด้านบนของโล่กำหนดเส้นทางแบบกำหนดเอง

รูปภาพ 6 แผงป้องกันการกำหนดเส้นทางแบบกำหนดเอง (มุมมองด้านล่าง)

ตัวควบคุม Android 13 สามารถควบคุมแท่นฟิวชันเซ็นเซอร์ได้สูงสุด 3 เครื่องและ ITS-in-a-box 3 เครื่องจากคอมพิวเตอร์โฮสต์เครื่องเดียว มุมมองด้านบนแสดงโครงร่างซิลค์สกรีนสำหรับการติดตั้งส่วนหัวของมอเตอร์ 3 พินสามตัวตามแนวแกนกลาง และแจ็คไฟ LED สามตัว มุมมองด้านล่างแสดงโครงร่างซิลค์สกรีนสำหรับการเชื่อมต่อส่วนหัว 4 และ 8 พินที่จำเป็นในการจับคู่กับ UNO, แจ็คไฟ 5 V และตัวเก็บประจุบายพาส 10 uF

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

ไฟส่องสว่างและที่ชาร์จ 12V ที่เชื่อมต่อกับคอนโทรลเลอร์ Android 13

รูปที่ 7 ไฟส่องสว่างและไฟ 12V ที่เชื่อมต่อกับคอนโทรลเลอร์ Android 13

ขึ้นอยู่กับขนาดลำกล้องของกำลังไฟส่องสว่าง ให้ใช้อะแดปเตอร์ตามความจำเป็น

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

รูปที่ 8 อะแดปเตอร์เชื่อมต่อไฟส่องสว่างเข้ากับคอนโทรลเลอร์

กำลังประกอบคอนโทรลเลอร์ Android 13

สูตรการผลิต (BOM)

จำนวน คำอธิบาย PN/ลิงค์
1 ชิลด์ CameraITS Arduino หนา 1.6 มม https://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populated
1 อาร์ดูโน่ UNO R3 https://store.arduino.cc/usa/arduino-uno-rev3
6 แจ็คกระบอกมุมขวา 2.1x5.5 มม. 5 V ทะลุรู 101179
2 ตัวเก็บประจุแทนทาลัม 35 V, 10%, 10 uF 2290863
2 ตัวเก็บประจุแบบเซรามิก 50 V, 5%, 100 pF 1206 12065A101JAT2A
3 1 kΩ, ตัวต้านทานแบบยึดบนพื้นผิว CRCW08051K00FKEAC
3 เพาเวอร์มอสเฟต RFP30N06LE
3 ระยะพิทช์ 1x3x, 100 มิล (2.54 มม.) ส่วนหัวตัวผู้ทะลุรู 732-5316-ND
1 ระยะพิทช์ 1x8x, 100 มิล (2.54 มม.) หัวต่อตัวผู้ผ่านรู 732-5321-ND
1 ระยะพิทช์ 1x4x 100 มิล (2.54 มม.) หัวต่อตัวผู้ผ่านรู 732-5317-ND
3 แป้นรองไนลอนตัวเมีย-ตัวเมีย 11 มม. (กว้าง 5 มม. เกลียว M3-0.5) 92319a317
4 ตะแกรงไนลอนตัวผู้-ตัวเมีย 6 มม. (กว้าง 5 มม., เกลียว M3-0.5) 95783a004
3 M3-0.5 สกรูไนลอนหัวกระทะ 6 มม 92492A716
4 M3-0.5 สกรูหัวแบน 8 มม XM2510008A20000
2 M3-0.5 สกรูหัวแบน 6 มม XM2510006A20000
6 สกรูโลหะแผ่นหัวกลม #4, 1/2 นิ้ว 90925A110
1 แหล่งจ่ายไฟ 5 V, 15 W ตามรายการ UL, ปลั๊ก 2.1x5.5 มม. (มอเตอร์) KSAS0180500300VU-VI
1 แหล่งจ่ายไฟ 12 V, 60 W ตามรายการ UL, ปลั๊ก 2.1x5.5 มม. (ไฟ) GSM60A12-P1J

เครื่องมืออื่น ๆ ที่จำเป็น

  • หัวแร้ง บัดกรี บัดกรี-ดูด
  • ไขควงหัวแฉกขนาดเล็ก
  • ไขควงทอร์กขนาด T10

การเติมบอร์ดเส้นทาง

เติมด้านบนและด้านล่างของบอร์ดกำหนดเส้นทางโดยให้ชิ้นส่วนต่างๆ พอดีกับโครงร่าง ที่ด้านล่างของบอร์ด คุณสามารถจัดตำแหน่งส่วนหัวตัวผู้ได้โดยการวางส่วนหัวไว้ในตำแหน่งที่ถูกต้องในบอร์ด Arduino และวางบอร์ดกำหนดเส้นทางที่ด้านบนของตัวเชื่อมต่อ จากนั้นสามารถบัดกรีส่วนหัว 1x8 และ 1x4 เข้าที่ เพื่อรับประกันการจัดตำแหน่งที่ดีระหว่าง Arduino และบอร์ดกำหนดเส้นทาง เช่นเดียวกันสามารถทำได้กับแจ็คไฟ แต่จำเป็นต้องใช้ชิมสำหรับการประกอบที่แน่นหนา เนื่องจากแจ็คไฟไม่ได้วางอยู่บน Arduino หลังจากการประกอบ หลังจากบัดกรีตัวเก็บประจุบายพาสแล้ว ด้านบนของบอร์ดสามารถใส่ส่วนหัวตัวผู้ขนาด 1x3 จำนวน 6 ตัวสำหรับการควบคุมมอเตอร์ได้ โปรดทราบว่าส่วนหัวควรอยู่ในทิศทางเพื่อให้ด้านล่างของขั้วต่อแบบ snap in หันไปทางมอเตอร์เพื่อให้มีที่ว่างสูงสุดสำหรับที่ยึดมอเตอร์

เมื่อส่วนประกอบทั้งหมดถูกบัดกรีเข้าที่แล้ว ระบบสามารถประกอบได้โดยใช้สแตนด์ออฟและสกรู มีสแตนด์ออฟตัวผู้-ตัวเมีย 6 มม. สี่ตัวเพื่อให้เสถียรภาพทางกลระหว่าง Arduino และด้านล่างของตู้พลาสติก อย่างไรก็ตาม มีช่องว่างระหว่างหญิง-หญิงขนาด 11 มม. เพียงสามช่องระหว่าง Arduino และชิลด์แบบกำหนดเอง เนื่องจากรูหนึ่งบน Arduino (รูใกล้กับพิน SCL) ไม่สามารถใช้งานได้เนื่องจากอยู่ใกล้กับส่วนหัวตัวเมียบน Arduino ขันเกลียวสแตนด์ออฟหญิง - หญิงสามตัวเข้ากับสแตนด์ออฟชายหญิงสามตัวเพื่อยึดสแตนด์ออฟเข้ากับ Arduino จากนั้นติดแผงป้องกันแผงกำหนดเส้นทางเข้ากับแท่นรองด้วยสกรู M3 ทั้งสามตัว รูปที่ 9 แสดงแผนผังของชิลด์ Arduino

แผนผังของโล่ Arduino

รูปที่ 9 แผนผังของโล่ Arduino

ตู้ควบคุม

คอนโทรลเลอร์มีกล่องหุ้มแบบกำหนดเอง ตัวควบคุมที่ประกอบแล้วจะติดตั้งเข้ากับโครงเครื่องโดยใช้สกรูจมสี่ตัวผ่านแผ่นด้านล่างของโครงเครื่อง ประกอบกล่องหุ้มโดยใช้สกรูประกอบหัวกลมหกตัวและสกรูประกอบหัวแบนสองตัว ข้อมูลที่เกี่ยวข้อง เช่น เซอร์โวและแหล่งจ่ายไฟภายนอก 5 V จะถูกฝังไว้ที่ด้านบนพลาสติก รูปที่ 10 แสดงภาพของคอนโทรลเลอร์ภายในกล่องหุ้มที่ประกอบไว้

ระบบประกอบในตู้

รูปที่ 10 แผง ป้องกันแบบมีประชากรและระบบประกอบในตู้

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

สามารถดาวน์โหลดไมโครโค้ดลงใน UNO เพื่อกำหนดพิน PWM ให้กับสัญญาณมอเตอร์และกำหนดช่วงความกว้างพัลส์สำหรับมุมต่างๆ ไมโครโค้ดสำหรับการควบคุมการหมุนเซอร์โวของมอเตอร์ 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 คอนโทรลเลอร์ Arduino Rev. 2

ระบบประกอบในตู้

รูปที่ 12 ตัว ควบคุมชุด Cana

ทรัพยากรอื่นๆ

ดาวน์โหลดการเขียนแบบเครื่องกล

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