智能能源燃料电池 2.4 千瓦¶
本页介绍如何将 Intelligent Energy 的 2.4 kW 燃料电池连接到 ArduPilot。燃料电池的遥测数据通过串口传输到 ArduPilot。这将提供以下反馈:
氢气罐液面百分比。
电池电压
电池电流
电池剩余电量。
燃料电池状态。
错误代码。
总断电(仅限日志)。
堆栈电源模块 (SPM) 电源(仅限日志)。
设置¶
连接设备¶
将 UART 从燃料电池上的 8 号端口连接到(飞行)控制器上的任意串行端口。 参见设备用户手册 了解有关 8 号端口的详细信息。只需连接 GND、UART TX 和 UART RX。请参见下图:
参数配置¶
通过设置 基因类型 至 2.
燃料电池遥测数据通过串口传输。需要配置相应的串行端口来接收燃料电池数据。设置 serialx_protocol 发电机/燃料电池的参数为 30。
发电机/燃料电池库利用电池监控器 mavlink 信息在地面站显示燃料电池遥测数据。一个燃料电池需要两个电池监控器实例。一个用于燃料箱,另一个用于电池。设置 BATTX_MONITOR 参数设置为 17,以获取燃料电池的电气数据。设置另一个 BATTX_MONITOR 氢气罐遥测参数为 18。
该燃料电池装置会报告剩余油箱百分比。因此,必须为油箱电池监控器设置以下参数:
BATTX_CAPACITY = 必须设置为 100,以便在 GCS 上显示合理的百分比读数。
可使用以下方法设置与油箱容量相关的故障触发保护机制 BATTX_LOW_MAH, BATTX_CRT_MAH, BATTX_ARM_MAH.
设置参数后重新启动(飞行)控制器,使设置生效。
可以在指定为 "Generator-Elec "的监控实例上设置电池容量和电池电压的正常电池监控故障保护。但是,请记住,这些设备上的电池容量对于吊运它们所需的载具大小来说是很小的。因此,如果触发了电池电压或电池容量剩余故障警报,飞行时间所剩无几,应立即降落。
提示
在这种情况下,请忽略油箱容量参数的单位。油箱容量仅以百分比的形式报告。因此,应在 1 到 100 的范围内输入数值。
备注
报告的是电池的电压数据。由于燃料电池一直在为电池充电,因此电池电压不会有明显变化。只有当燃料电池用完所有氢气,您只使用电池时,您才会看到电压的大幅变化。
备注
GCS 上报告的电流是电池电流。如果您习惯于使用普通的电池监控器,那么不寻常的是电流会变为负值。负电流表示电池正在充电。正电流则表示电池正在用于补充燃料电池的功率输出。同样,您会发现电池剩余电量百分比会随着电池的充电而再次增加。
燃料电池状态¶
燃料电池通过遥测报告状态。状态级别为
开始
准备就绪
跑步
故障
仅电池
每当燃料电池状态发生变化时,GCS 和飞行日志中都会显示一条信息。只有当燃料电池报告状态为 "运行 "时,才能对飞行器进行上膛。
防故障装置和臂前检查¶
故障保护和预先警报检查是硬编码的,以燃料电池发送的错误代码为基础。故障保护分为两组:低级和严重。错误代码组如下所示。如果从燃料电池接收到错误代码,则故障保护动作将由 battx_fs_low_act 和 battx_fs_crt_act 分别是
备注
对燃料电池内部错误代码的监控只能在为电气遥测分配的电池监控器实例上进行,用于上膛前检查和故障保护。因此,必须对电池电量监控器实例进行设置,以便根据错误代码触发故障触发保护机制。
故障安全低动作错误代码组¶
错误代码 | 定义 |
---|---|
31 | 拒绝启动 |
30 | 压力警报 |
21 | 电池电量低 |
20 | 压力低 |
11 | SPM 丢失 |
10 | 降低功率 |
故障安全关键动作错误代码组¶
错误代码 | 定义 |
---|---|
40 | 关键电池 |
33 | 临界压力 |
32 | 关键系统 |
示例¶
本示例旨在说明如何设置故障安全操作。
电池监测器的配置是,电能遥测数据在电池监测器 1 上,氢气罐遥测数据在电池监测器 2 上:
BATT_MONITOR = 17(电气数据)
BATT2_MONITOR = 18(油箱数据)
然后在电池监控器 1 上设置与上述错误代码组相对应的故障保护措施,因为电池监控器 1 与电气遥测数据相关。
batt_fs_low_act = 2 (RTL)
batt_fs_crt_act = 1(陆地)
在电池监控器 2 上设置了油箱油位故障安全保护,当油箱油位低于 20% 时,载具将返回陆地。具体方法如下
batt2_fs_low_act = 2 (RTL)
BATT2_CAPACITY = 100
BATTX_LOW_MAH = 20
如前所述,正常电压故障安全保护可用于该燃料电池模型。因此,在发电机/燃料电池监控实例中设置了临界电压故障安全保护,作为最后的 "皮带和支架 "方法,如果每个电池的电压达到 3.3 V,就会立即启动着陆:
BATT_CRT_VOLT = 39.6
司机不健康¶
如果您看到 发电机/燃料电池不健康 则表明 ArduPilot 在至少 5 秒钟内未收到来自燃料电池的任何数据包。请查看以下内容,了解导致此问题的常见原因:
燃料电池启动
遥测连接到(飞行)控制器串行端口。
串行连接已正确接线(TX->RX,RX->TX)。
"这款" serialx_protocol 参数设置为正确遥测端口的发生器。
飞行日志数据¶
遥测数据存储在飞行数据日志的几个数据组中。这些数据如下所示:
在 BAT->CurrTot(电池监控器实例)中使用的氢气百分比设置为发电机/燃料电池燃料。
剩余氢气也以剩余百分比的形式记录在 IE24->FUEL 中。
电池电压(单位 BAT->伏),电池监控实例设置为 Generator-Elec。
BAT->Curr 中的电池电流,电池监控实例设置为 Generator-Elec。
电池监控实例 BAT->CurrTot 中使用的电池,设置为 Generator-Elec。
当 MSG 中的状态发生变化时,记录燃料电池状态。
当 MSG 和 IE24->ERR 中的错误代码发生变化时记录的错误代码。
总输出功率记录在 IE24->POUT 中。
SPM 功率记录在 IE24->SPMPWR 中。