相机快门配置和热靴反馈
ArduPilot 允许PWM脉冲输出或GPIO继电器控制(常见),可使用遥控器、地面站或在航线任务期触发拍照。
继电器控制快门触发拍照
将相机或接收高/低电平输入的相机控制线连接到飞控其中一个 GPIO引脚。例如连接到M13通道:
Servo13_function=-1(设置使用哪个伺服输出通道为GPIO)
CAM1_TYPE=2(RELAY)(设置相机快门触发的类型)
Relay1_function=4:camera(设置继电器1的功能)
CAM1_DURATION 设置为相机保持触发状态的时间(以秒为单位)
CAM1_RELAY_ON (默认是1,即通输出低电平,然后以高电平来触发相机快门)
Relay1_pin=54 通道引脚对应如下:
-
- M9 AUXOUT1:50
- M10 AUXOUT2:51
- M11 AUXOUT3:52
- M12 AUXOUT4:53
- M13 AUXOUT5:54
- M14 AUXOUT6:55
- M15 56
- M16 57
注:参数配置完成后飞控需要彻底断电重启。
伺服控制连接和配置
将飞控的 PWM 输出之一(又名伺服输出)连接到接收PWM 输入的摄像机。配置以下参数:
SERVOx_FUNCTION = 10(CameraTrigger),其中“x”是使用飞控哪个通道连接到摄像机。
CAM1_TYPE = 1(Servo)点数据刷新,出来下一级参数。
CAM1_SERVO_ON 设置触发拍照的PWM值
CAM1_SERVO_OFF 设置为不拍照时输出的PWM值
CAM1_DURATION 设置为PWM值应保持较高的时间(以秒为单位)
相机热靴反馈记录
ArduPilot 在触发摄像头时记录TRIG消息。如果相机提供GPIO输出(例如相机闪光灯热靴),则它可用于在拍摄照片的准确时刻记录CAM消息。
将相机的 GPIO 输出连接到飞控的其中一个 GPIO 引脚。例如接M14:
SERVO14_FUNCTION=-1
CAM1_FEEDBAK_PIN=55(设置为连接到热靴的引脚号)
CAM1_FEEDBAK_POL = 0(如果拍摄照片时热靴电压变低,则设置为0 ,如果电压变高,则设置为1)
快门触发的方式
方式1:用遥控器通道触发
如遥控器输入6通道触发快门设置RC6_OPTION=9,
注意:飞控的安全开关需要在解除锁定状态伺服通道才会有输出,可以长按ONEGNSS的安全开关至常亮状态或者修改参数brd_safety_deflt为1,重启飞控。
方式2:地面站触发
地面站动作里选择trigger_camera,点执行动作即触发一次,方式1和2适合地面测试验证。