(11)(2.1.7) FETtec OneWire ESCs(二)
Ardupilot官网关于《Peripheral Hardware》的翻译 —《(2.1.7) FETtec OneWire ESCs》。
文章目录
前言
!Note
此功能在固件版本4.1.1及更高版本上可用。
3 组态
FTW掩码
SERVO_FTW_MASK 参数选择将哪些伺服输出(如果有的话)路由到 FETtec ESC。更改此参数后需要重新启动。只有SERVO_FUNCTION到SERVO1_FUNCTION可以使用SERVO_FTW_MASK 进行路由。如果使用 SERVO_FTW_MASK 参数更改 ArduPilot 内的伺服输出分配,则不需要更改 ESC 内的 FETtec ID。
之后,你必须在 SERVO_FTW_MASK 参数中设置要使用的伺服输出通道,然后再次重新启动自动驾驶仪。例如,使用前四个电机的四轴飞行器需要位掩码集的前四位:
SERVO_FTW_MASK = 15
掩码的每一位都描述了是否连接了电机,以及是否应该与 oneWire 一起使用。该值配置为十进制,是每个设置位的十进制等效值之和。位1对应 2^1=1,位2对应 2^2=2。例如,如果你连接了电机1,2,3,4,则掩码为1+2+4+8=15。
只需将连接的电机的十进制值相加,或从下面的列表中读取。
Motor Count | Mask |
1 | 1 |
2 | 3 |
3 | 7 |
4 | 15 |
5 | 31 |
6 | 63 |
7 | 127 |
8 | 255 |
9 | 511 |
10 | 1023 |
11 | 2047 |
12 | 4095 |
反转电机方向掩码
SERVO_FTW_RVMASK 参数选择哪些输出(如果有的话)将反转其旋转。当更改且电机未启动时,此参数会立即影响输出。仅当 SERVO_FTW_MASK 参数至少设置了一个位时,此参数才可见。
要让电机保持默认旋转方向,请执行以下操作:
SERVO_FTW_RVMASK = 0
掩码的每一位都描述了电机的旋转方向是否应该反转。该值配置为十进制,是每个设置位的十进制等效值之和。位0(第一个 ESC)对应 2^0=1,位1(第二个 ESC)相应 2^1=2。
电机电极数量
SERVO_FTW_POLES 参数选择电机电极数。它用于计算电机转速。此参数更改后会立即影响转速计算。仅当 SERVO_FTW_MASK 参数至少设置了一个位时,此参数才可见。
4 可选功能
可选功能可以使用各自 wiki 页面上的说明进行配置:
- 动态调整陷波滤波器的中心频率,以降低陀螺仪的框架振动噪声(notch filters used to reduce frame vibration noise in the gyros);
- 测量电池电压、电流和功耗(battery voltage, current and power consumption)。
5 SITL模拟
通过在 SITL 命令行中添加 --serial5=sim:fetteconewiresc 并设置以下附加参数,可以在 SITL 中模拟 ESC:
- SERIAL5_PROTOCOL = 38;
- SIM_FTOWESC_ENA = 1。
这假设你使用 SERIAL5 进行模拟。如果要使用另一个参数,则需要调整 SITL 命令行参数和SERIAL*_PROTOCOL 参数。
6 故障排除
ESC继续初始化
如果飞行控制系统没有从每个 ESC 接收遥测信号,并且没有武装,它会重新初始化 ESC,直到每个 ESC 都配置正确。FTW 掩码用于确定必须找到的电机计数。仔细检查 SERVO_FTW_MASK 是否正确计算以适应实际电机计数。
ESC未初始化
检查参数是否正确。还要确保遥测引脚已连接,因为没有它就无法工作。
在FETtec配置程序中找不到ESC
与 FETtec 配置器一起使用需要半双工 2MBaud/s 串行连接,ArduPilot 目前不支持该配置器。你需要使用外部串行设备,如 FETtec FC 或 USB 串行适配器。请断开 ArduPilot FC 与 ESC 的连接,以便在 FETtec 配置器中找到它。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)