电子燃油喷射器¶
照片由 路坦工程公司
ArduPilot 支持多种类型的电子燃油喷射控制器,用于 内燃机.支持与 EFI 连接的 CAN 和串行通信接口。
大多数设备提供转速、燃油流量、消耗量、温度等状态信息。
这些信息通过 EFI、EFI2 和 ECYL 日志信息在(飞行)控制器日志中报告。实时数据通过 EFI MAVLink 信息发送,供 GCS 监控。
已测试并支持以下设备:
NWPMU CAN 总线
DroneCAN(上述系列设备的改编版)
PiccoloCAN (Currawong 的 ECU 和 IntelliJect EFI)
使用 LUA 脚本驱动程序:
串行设置¶
在下面的示例中,假定设备连接到(飞行)控制器的 SERIAL5 上。
EFI_TYPE:MegaSquirt = 1,Lutan = 3,Hirth = 8
serial5_protocol = 24(串行 EFI))
SERIAL5_BAUD = 115(115.2Kbaud)
备注
一个给定系统中只允许有一个串行 EFI
NWPMU 设置¶
在下面的示例中,将假定设备连接到第一个 CAN 端口。
EFI_TYPE = 2(西北预防性维护股)
CAN_P1_DRIVER = 1(第一位驾驶员)
can_d1_protocol = 6 (efi_nwpmu)
DroneCAN 设置¶
在下面的示例中,将假定设备连接到第一个 CAN 端口。
EFI_TYPE = 5 (DroneCAN)
CAN_P1_DRIVER = 1(第一位驾驶员)
can_d1_protocol = 1 (DroneCAN)
PiccoloCAN 设置¶
在下面的示例中,将假定设备连接到第一个 CAN 端口。
EFI_TYPE = 6(Currawong-ECU)
EFI_FUEL_DENS:计算燃料消耗的燃料密度
CAN_P1_DRIVER = 1(第一位驾驶员)
can_d1_protocol = 4 (PiccoloCAN)
can_d1_pc_ecu_id:发送节流指令的节点 ID(设为 0 只接收遥测数据)
MAVLink 设置¶
某些 EFI 通过 MAVLink 而非串口或 DroneCAN 与(飞行)控制器连接。要通过 MAVLink 连接此类 EFI,应设置以下参数:
EFI_TYPE = 9 (MAV)
备注
MAVLink 库不区分连接到同一 MAVLink 网络的不同 EFI
DLA 设置¶
驱动程序通过 LUA 脚本。请参阅 LUA 脚本设置说明和 DLA EFI Lua md 文件 了解详情。
使用 LUA 脚本驱动程序进行设置¶
确保(飞行)控制器能够运行 LUA 脚本。请参见 各板固件限制列表 查看(飞行)控制器的列表,确保 "其他 "功能下没有缺少 "脚本"。
设置 LUA 脚本
将相应的驱动程序脚本从 LUA 驱动程序目录
按照驱动程序".md "文件中的说明进行操作。
使用电池监测器报告燃油流量和消耗量¶
如果系统中使用了 EFI(通过 LUA 驱动程序或上述内置驱动程序),则可使用以下方法监控燃油流量和消耗量 BATT_MONITOR = 27.以升/小时为单位的燃料流量将以安培为单位报告,而以毫升为单位的燃料消耗量将以马赫为单位报告。
备注
重置燃料消耗的 MAVLink 命令对该监视器不起作用。
在Mission Planner地面站中显示 EFI 遥测数据¶
Mission Planner地面站中提供以下 EFI 遥测数据。只需右键单击数据屏幕 HUD 显示屏,然后选择 用户 项目
.然后选择要显示的数据。
在 ArduPilot 中使用 EFI RPM¶
EFI 的转速遥测可用作(飞行)控制器的转速传感器,如上文所述在 GCS 中显示,或与谐波带阻滤波器一起使用。
首先,将 RPM1 或 RPM2 传感器设置为来自 EFI(示例将使用 RPM1):
设置 RPM1_TYPE = 3 (EFI)
然后设置 基于转速传感器的动态凹槽设置
节气门线性化¶
一些串行 EFI 使用 ArduPilot 节流阀输出 PWM 值来控制节流阀,而不是伺服。通常情况下,发动机推力与该值并非线性关系。ArduPilot 可通过更改以下参数的默认值(线性拟合),为发送到 EFI 的 PWM 与控制值提供三阶多项式曲线拟合:
EFI_THRLIN_EN = 1 启用,然后刷新参数或重启以显示:
efi_thrlin_coef1 一阶多项式拟合项
efi_thrlin_coef2 二阶多项式拟合项
efi_thrlin_coef3 三阶多项式拟合项
EFI_THRLIN_OFS 抵消条款
节流值修改为
ArduPilot 比例节流阀输出值 = thr
修改后的节流阀 = (EFI_THRLIN_COEF3 * thr^3 + EFI_THRLIN_COEF2 * thr^2 + EFI_THRLIN_COEF1 * thr) + EFI_THRLIN_OFS
这样就可以补偿非线性。如果适用,应从 EFI 制造商处获得这些参数的值。