移动伺服器¶
本页介绍地面站或配套计算机如何使用 MAVLink 来移动伺服器。舵机 伺服器的用户维基页面在这里.
使用 MAV_CMD_DO_SET_SERVO 设置伺服位置¶
伺服器的位置可以通过发送 命令长 命令、param1 和 param2 字段的设置与为 mav_cmd_doo_set_servo 指挥。
指令字段 | 类型 | 说明 |
---|---|---|
目标系统 | uint8_t | 飞行控制器的系统 ID 或仅为 0 |
目标组件 | uint8_t | 飞行控制器的组件 ID 或仅为 0 |
指挥部 | uint16_t | MAV_CMD_DO_SET_SERVO=183 |
证实 | uint8_t | 0 |
参数1 | 浮动 | 伺服实例编号 |
参数2 | 浮动 | PWM (通常在 1000 至 2000 之间) |
参数3 | 浮动 | 未使用 |
参数4 | 浮动 | 未使用 |
参数5 | 浮动 | 未使用 |
参数6 | 浮动 | 未使用 |
参数7 | 浮动 | 未使用 |
备注
"ServoRelayEvent.Channel x is already in use"(伺服延时事件:如果尝试移动已配置为控制面或其他功能的伺服,则会显示 "通道 x 已在使用中"。检查 SERVOx_FUNCTION 参数值,并确保其为 0("禁用")、1("RCPassThru")、22("SprayerPump")、23("SprayerSpinner")或 51("RCIN1")至 66("RCIN16")之间的值
示例
可以将下面的示例命令复制粘贴到 MAVProxy(又名 SITL)中来测试该命令。运行这些命令前,请输入
模块加载消息
模块负载图
图 SERVO_OUTPUT_RAW.servo8_raw
MAVProxy/SITL 命令示例 |
说明 |
---|---|
|
将伺服输出 8 移至 1200 |
使用 MAV_CMD_DO_REPEAT_SERVO 循环伺服位置¶
伺服器的位置可设置为在 PWM 值与 SERVOx_TRIM 通过发送 命令长 的指定字段。 mav_cmd_doo_repeat_servo 指挥。
指令字段 | 类型 | 说明 |
---|---|---|
目标系统 | uint8_t | 飞行控制器的系统 ID 或仅为 0 |
目标组件 | uint8_t | 飞行控制器的组件 ID 或仅为 0 |
指挥部 | uint16_t | MAV_CMD_DO_REPEAT_SERVO=184 |
证实 | uint8_t | 0 |
参数1 | 浮动 | 伺服实例编号 |
参数2 | 浮动 | PWM (通常在 1000 至 2000 之间) |
参数3 | 浮动 | 周期计数 |
参数4 | 浮动 | 周期时间(毫秒) |
参数5 | 浮动 | 未使用 |
参数6 | 浮动 | 未使用 |
参数7 | 浮动 | 未使用 |
可以将下面的示例命令复制粘贴到 MAVProxy(又名 SITL)中来测试该命令。运行这些命令前,请输入
模块加载消息
模块负载图
图 SERVO_OUTPUT_RAW.servo8_raw
MAVProxy/SITL 命令示例 |
说明 |
---|---|
|
伺服输出 8 在 1200 和 1500 之间循环 3 次,频率为 1 赫兹 |