伺服

旋翼飞行器、飞机和UGV无人车可以控制伺服器用于任何目的,包括:触发相机快门、释放降落伞或投掷网球。这些伺服器可以由飞行员通过发射器上的开关直接控制,也可以通过地面站发送的指令或作为任务的一部分进行控制。

可使用模拟或数字伺服器,如 ArduPilot 合作伙伴提供的伺服器。 Hitec 或其他供应商。

将伺服器连接至(飞行)控制器

../_images/Servo_Pixhawk.jpg
  • 如果使用 Copter,将伺服器连接至 AUX OUT 1、2、3 或 4。应避免使用主输出 1 ~ 8,因为这些输出的更新频率为 400 赫兹。

  • 如果使用 Plane 或 Rover,所有 PWM 输出的更新时间为 伺服速率默认为 50 赫兹,可以使用任何未使用的主输出或辅助输出 1 ~ 4。

  • 默认情况下不能使用 AUX OUT 5 和 6,因为它们被设置为 继电器.这些引脚可通过设置 BRD_PWM_COUNT 参数设置为 6,并将 RELAY1_PINRELAY2_PIN 为-1。

  • Pixhawk (飞行)控制器无法为舵机供电,因此应使用可提供 5V 电压的外部 BEC 或 ESC。

备注

在固件 4.2 及更高版本中,将 PWM/SERVO/MOTOR 输出设置为 GPIO 功能的方法有所改变。而不是 BRD_PWM_COUNT 个人 SERVOx_FUNCTION 参数仅设置为"-1"。如果设置为 "0",则仍为 PWM 输出,未指定功能,并在电路板安全未激活时输出该输出的微调值。如果舵机功能被 "镜像 "到远程设备(如 DroneCAN 或 KDECAN ESC),那么要将自动驾驶板的相应输出引脚改为 GPIO,但允许 SERVOx_FUNCTION 仍分配给远程设备,则 servo_gpio_mask 参数可用于将电路板引脚指定为 GPIO,而不影响 SERVOx_FUNCTION 远程设备的分配。

备注

在使用数字伺服器时,如果通过设置 伺服速率 根据所使用舵机的性能,将该值调至更高,如 100Hz、333Hz 或甚至 400Hz。该值会影响 一应俱全 因此,只有当载具上的所有舵机都是支持这种较高速率的数字舵机时,才能使用 PWM 输出(电机控制输出除外)。

像控制相机快门一样控制伺服器

关于如何像触发相机快门一样设置和控制伺服器的详细信息,请参阅以下内容 这里是相机云台维基页面.这种设置的优点是

  • 可通过旋翼飞行器上的 ch7 或 ch8 辅助开关触发伺服系统

  • 如果您希望伺服器移动到某个位置,延迟片刻后再返回原位,只需一条任务指令就能完成。

  • 每次触发伺服器时,都会将旋翼飞行器的位置和姿态记录到闪存中

使用相机快门方法的缺点是伺服器只能移动到两个预先配置的位置。

网球掉落的视频示例 Sparkfun 的 AVC 2012.

将伺服器作为伺服器控制

控制伺服器的传统方法只能作为任务的一部分(即自动模式)。请按照以下说明操作:

  • 从地面站连接(飞行)控制器

  • 在 Config/Tuning > Full Parameter List(配置/飞行稳定调整 >完整参数列表)页面上,确保伺服的 SERVOx_FUNCTION(或 RCx_FUNCTION)设置为零(即伺服的 SERVOx_FUNCTION(或 RCx_FUNCTION))。 servo9_function = 0(如果伺服连接到 Pixhawks AUX OUT2)。

  • 按 "写参数 "按钮

    ../_images/MissionPlanner_ServoSetup.jpg
  • 创建您希望执行的飞行任务,并添加 DO_SET_SERVO 命令,在 "Ser No(伺服器编号)"字段中包含伺服器编号(如 "10"),在 "PWM "字段中包含 PWM 值(通常在 1000 ~ 2000 之间)。

    ../_images/mp_move_servo.jpg

请注意,DO_SET_SERVO 命令是一条 "执行命令",这意味着它只能在航点之间运行,因此不能作为任务中的第一条或最后一条命令。该命令将在其前面的航点之后立即执行。

使用Mission Planner地面站进行测试

Mission Planner地面站的 "飞行数据 "屏幕右下方有一个 "舵机 "选项卡,可用于测试舵机是否正确移动。

../_images/Servo_TestingWithMP.jpg