本页将介绍如何为传感器融合测试装置组装修订版 2 控制器。传感器融合测试是兼容性测试套件 (CTS) 中的相机图像测试套件(相机 ITS)的一部分。修订版 2 控制器旨在简化组装并降低费用。此外,还有以下优势:电子元件和伺服器之间可以实现电源隔离,并且可以通过单个控制器控制最多 6 个伺服器。
修订版 2 传感器融合控制器概览
传感器融合测试装置
传感器融合测试装置让手机在固定范围内移动,以进行可重现的测试。对着拍摄目标旋转手机,以便在不同位置拍摄图片。测试装置将手机围绕摄像头轴中心旋转 90 度,并在大约 2 秒内将手机旋转回原位。图 1 显示了在传感器融合测试装置中移动的两部手机。
图 1.测试装置中的手机移动
伺服电机控制
测试装置中的模拟伺服电机是采用脉冲宽度调制 (PWM) 控制的位置伺服系统。图 2 显示了一个典型的位置控制示例。控制信号的周期为 20 毫秒。如果将脉冲宽度更改为最小宽度,电机移动会到空挡位置;如果将脉冲宽度更改为最大宽度,电机会顺时针旋转 180 度。
图 2.典型的伺服控制说明
传感器融合控制器实现
为了通过主机控制伺服电机移动,传感器融合测试装置需要 USB 连接。测试装置修订版 2 控制器使用一个顶部安装了自定义布线板(或护罩)的 Arduino UNO R3 板。采用开源在线 PCB 设计工具设计的两层护罩可以在以下位置获得:https://easyeda.com/portmannc/servo_controller。自定义布线护罩的俯视图和仰视图如图 3 和图 4 所示。
图 3.自定义布线护罩(俯视图)
图 4.自定义布线护罩(仰视图)
修订版 2 传感器融合控制器可以通过单个主机控制最多六个传感器融合装置。俯视图显示了用于沿中轴安装六个 3 脚电机针座的丝网印刷轮廓。顶部还有一个尚未用于此项目的连接器。俯视图显示了插接 UNO、5 V 电源插孔和 10 uF 旁路电容器所需的 4 脚和 8 脚针座连接的丝网印刷轮廓。
为了隔离伺服电流,伺服电源由外部 5 V 插孔提供。UNO 电子元件通过 USB 连接器单独驱动,二块布线板之间不会共享电源。请注意,UNO 中现有的外部电源插孔未使用;为了避免给控制器供电时产生混乱,该插孔封装在外壳设计中。
组装修订版 2 传感器融合控制器
材料清单 (BOM)
数量 | 说明 | 部件号/链接 |
---|---|---|
1 | 1.6 毫米厚的传感器融合布线板 | https://easyeda.com/portmannc/servo_controller |
1 | Arduino UNO R3 | https://store.arduino.cc/usa/arduino-uno-rev3 |
1 | 2.1x5.5 毫米,5 V 通孔,直角枪形插孔 | 101179 |
1 | 16 V,10%,10 uF 钽质电容器 | TAP106K016CCS |
1 | 1 排 2 脚,间距 200 密耳(5.08 毫米),通孔 Phoenix Contact 针座 | 651-1755736 |
6 | 1 排 3 脚,间距 100 密耳(2.54 毫米),通孔公形针座 | 732-5316-ND |
1 | 1 排 8 脚,间距 100 密耳(2.54 毫米),通孔公形针座 | 732-5321-ND |
1 | 1 排 4 脚,间距 100 密耳(2.54 毫米),通孔公形针座 | 732-5317-ND |
3 | 11 毫米母形对母形压铆螺母柱(5 毫米宽,M3-0.5 螺纹) | R30-1001102 |
4 | 6 毫米公形对母形压铆螺母柱(5 毫米宽,M3-0.5 螺纹) | R30-3000602 |
3 | M3-0.5 6 毫米平头机用螺钉 | 36-9191-3-ND |
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 毫米插座(电机) | 36-9191-3-ND |
所需的其他工具
- 焊铁、焊料、吸锡器
- 小号十字头螺丝刀
- T10 号梅花头螺丝刀
填充布线板
使用与丝网印刷轮廓匹配的部件填充布线板的顶部和底部。对布线板的顶部而言,可以通过把公形针座放入 Arduino 板的恰当位置并把布线板放到连接器顶部来对齐公形针座。然后可以通过将 1x8 和 1x4 针座焊接到恰当位置来保证 Arduino 和布线板充分对齐。可以对电源插孔进行同样的操作,但需要用一个垫片才能确保组装紧密,因为电源插孔在组装完毕后不会紧贴着 Arduino。旁路电容器焊接完毕后,布线板顶部可以填充六个用于电机控制的 1x3 公形针座,和 1x2 Phoenix Contact 针座。请注意,针座的朝向应该使连接器按扣底部面向电机,从而给电机座留下最大空间。
所有组件焊接到恰当位置后,就可以使用压铆螺母柱和螺钉组装系统。四个公形对母形 6 毫米压铆螺母柱可以在 Arduino 和塑料外壳底部之间提供机械稳定性。但是,Arduino 和自定义护罩之间只有三个 11 毫米母形对母形压铆螺母柱,因为 Arduino 上有一个孔由于靠近 Arduino 上的母形针座而无法使用。将三个母形对母形压铆螺母柱旋到三个公形对母形压铆螺母柱上,从而将压铆螺母柱旋到 Arduino 上。然后使用三个 M3 螺钉将布线板护罩固定到压铆螺母柱上。图 5 显示了安装在 Arduino 上的已填充护罩的概念化端视图。显示了已填充且已装好的系统的照片。
图 5.包括针座、电源插孔和间隔件的填充护罩图示(概念化端视图)
图 6.安装在 Arduino 上的修订版 2.2 填充护罩(俯视图)
控制器外壳
控制器包含自定义外壳。机械图如图 7 所示。
图 7.外壳的机械图
组装好的控制器可通过旋入外壳底板的四颗沉头螺钉安装到外壳上。外壳可以通过六颗圆头组装螺钉和两颗平头组装螺钉进行组装。伺服编号顺序和 5 V 外部电源等相关信息蚀刻在塑料顶部。图 8 是组装好的外壳内部的控制器的照片。
图 8. 外壳内的已组装系统
来自主机的控制软件
可将微代码下载到 UNO,为电机信号分配 PWM 针脚,并为不同角度定义脉冲宽度范围。有关用于六台 HS-755MB 电机的伺服旋转控制的微代码,请参阅其他资源。该部分还包括一个名为 rotator.py
的简易程序的链接,该程序可以使伺服系统旋转。
使用修订版 2 控制器
相机 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