ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PX4 电源系统完整指南:电源模块与 PDB、电池估计调参与智能电池

PX4 电源系统完整指南:电源模块与 PDB、电池估计调参与智能电池 嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载PX4 无人机的电源系统承担着两重职责为飞控提供稳定可靠的稳压供电同时测量电池电压与整机电流让飞控能够估算剩余电量并触发低电量失效率保护。本篇以 PX4 官方文档中的 Power Systems 主题为核心系统讲解电源模块Power Module、电源分配板PDB、电池估计调参Battery Estimation Tuning、电池失效率配置、LiPo/Li-Ion 电池化学特性对比以及智能电池接入并结合 PX4 源码中的battery_status模块与batt_smbus驱动帮助你从接线到调参再到源码原理完整掌握 PX4 的电源体系。一、PX4 电源系统总体架构UAV无人机需要两路彼此独立的电力供给飞控稳压电源飞行控制器FC需要经过调节的稳定电源regulated power supply通常由电源模块从电池端分接出来动力与外围电源电机、舵机以及其他外设的供电通常直接来自电池功率更大。电源的来源通常是电池单块或多块但发电机generator和其他供电系统也可使用。Power Systems 概述 指出两个关键硬件承担了主要角色电源模块Power Module最常见的角色是分接出飞控的稳压电源同时测量电池电压和整机总电流。PX4 利用这些测量值推断剩余电池容量进而提供低电量警告和其他失效率failsafe行为。电源分配板PDB, Power Distribution Board用于简化把电池输出分给飞控、电机和其他外设的布线。PDB 有时会集成电源模块、电机 ESC 以及用于给舵机供电的电池消除电路BEC, Battery Elimination Circuit。除了模拟电源模块PX4 还可以通过MAVLink 遥测接收更完整的电池/供电信息这类能够主动供给 MAVLink 信息的电池通常被称为智能电池Smart Battery。相关深入内容参见 Power Modules/PDB 与 Smart/MAVLink Batteries。从源码结构看PX4 将电源处理拆解为多个模块协同工作battery_status 模块负责消费 ADC模数转换器上报的电压/电流并发布battery_statusuORB 话题commander 的 batteryCheck 负责将电量状态转换为健康检查与失效率动作esc_battery 模块则处理从 ESC 回传的电压/电流信息。二、电源模块与电源分配板PDB2.1 电源模块的作用Power Modules Power Distribution Boards 明确了电源模块的核心职责为飞控提供稳压电源提供电池电压和电流信息电压/电流信息用于计算消耗功率进而估计剩余电池容量飞控基于估计结果提供低电量失效率警告与动作详见 Safety Low Battery Failsafe。PDB 则是用于把电池输出分给无人机各部件尤其是电机的电路板可集成电源模块、ESC 与 BEC。2.2 选型与接线建议PX4 官方给出两条实用建议源自 power_module/index.md 的 tip最省事的组装方式使用飞控厂商推荐的电源模块或 PDB并按你的功率需求选型Pixhawk 连接器标准VCC 线必须至少提供2.5A 持续电流默认5.3V。实际飞控可能有不同的推荐值若无法使用推荐模块务必确认模块满足你的飞控要求。2.3 常见电源模块与 PDB 清单PX4 文档收录了多类电源模块具体详见各文档页模拟电压/电流电源模块CUAV HV PMHolybro PM02Holybro PM07Holybro PM06 V2Sky-Drones SmartAP PDB数字I2C电压/电流电源模块适用于 Pixhawk FMUv6X 与 FMUv5X 衍生飞控ARK PAB Power ModuleARK 12S PAB Power ModuleARK 12S Payload Power ModuleHolybro PM02DHolybro PM03DDroneCAN 电源模块详见 DroneCANCUAV CAN PMUPomegranate Systems Power ModuleRaccoonLab Power Connectors and PMU2.4 模拟电源模块的源码实现对于模拟电源模块PX4 通过飞控 ADC 读取电压/电流原始值再由 AnalogBattery 完成换算与滤波。其核心换算逻辑analog_battery.cpp 中的 updateBatteryStatusADC为电压voltage_v voltage_raw * BATn_V_DIVADC 原始值 × 分压系数电流current_a (current_raw - BAT_V_OFFS_CURR) * BATn_A_PER_V先减去电流传感器 ADC 偏移再乘电流系数可选的电压/电流低通滤波由BATn_V_FILT、BATn_I_FILT控制。battery_status模块以100Hz采样率SAMPLE_FREQUENCY_HZ 100见 battery_status.cpp订阅adc_report并将结果发布为battery_status话题。在BOARD_NUMBER_BRICKS 1的板卡上例如双电池供电的飞控模块会同时维护_battery1与_battery2两个AnalogBattery实例battery_status.cpp。三、电池估计调参Battery Estimation Tuning电池估计调参的目标是利用电源模块测得的电压和可选的电流估算剩余电池容量从而让 PX4 在电量接近耗尽时主动采取行动返航、降落并避免深度放电损伤电池。完整官方流程见 Battery Estimation Tuning (Power Setup)。前提本调参要求飞机装有电源模块或其他能测量电压可选电流的硬件对于可提供可靠剩余电量指示的智能/MAVLink 电池则无需此调参。PX4 提供三种效果递进的电量估计方法后一种建立在前一种基础之上基础电池设置默认用原始测量电压与空电/满电电压区间比较得出粗估带负载补偿的电压估计抵消负载引起的电压跌落对容量计算的影响电压估计融合电流积分把负载补偿后的电压估计与电流积分消耗量融合估计精度可媲美智能电池。方法的选择取决于电源模块能否测量电流。3.1 基础电池设置默认方法在 QGroundControl 中操作连接飞机后点击Q 图标 Vehicle Setup Power侧边栏打开 Power Setup 界面即可看到如下基础设置项注意当前 QGroundControl 仅允许在该界面设置电池 1 的参数多电池机型需直接设置参数BAT2_*来完成电池 2 的配置。所有电池校准参数见参数参考。串联电芯数Number of Cells in Series设置电池串联电芯数量通常电池上标注为数字加 S如 3S、5S。锂电池LiPo 与 Li-Ion的单节标称电压都是3.7V多节串联后端子电压为单节电压的整数倍若未标注可用电池电压 ÷ 3.7V推算电芯数LiPo (V)LiIon (V)1S3.73.72S7.47.43S11.111.14S14.814.85S18.518.56S22.222.2对应参数BAT1_N_CELLS、BAT2_N_CELLS。满电电压Full Voltage per cell设定每节电芯的标称最高电压即满电的最低判定电压。应略低于电芯标称最高电压但又不能低到飞行几分钟后电量仍显示 100%LiPo4.05VQGC 默认值LiIon4.05V对应参数BAT1_V_CHARGED、BAT2_V_CHARGED。空电电压Empty Voltage per cell设定每节电芯的标称最小安全电压低于该值可能损伤电池。不存在唯一的空电电压设得太低可能深度放电甚至坠机设得太高则会不必要地缩短航程。经验参考值级别LiPo (V)LiIon (V)保守空载电压3.73真实最低负载/飞行中电压3.52.7损伤电池负载下电压3.02.5对应参数BAT1_V_EMPTY、BAT2_V_EMPTY。电压分压系数Voltage Divider若通过电源模块与飞控 ADC 测量电压需对每个电源模块校准一次用万用表测量电池实际电压与电源模块上报值对比得到缩放用的电压分压值。最简单的方式是使用 QGroundControl 的 Power Setup 分步向导。对应参数BAT1_V_DIV、BAT2_V_DIV。每伏安培数Amps per volt若电源模块不提供电流测量则无需校准。电流测量默认用于负载补偿与电流积分。同样建议通过 QGroundControl 向导校准对应参数BAT1_A_PER_V、BAT2_A_PER_V。源码佐证AnalogBattery构造时通过param_find()动态绑定BAT%d_V_DIV、BAT%d_A_PER_V等参数见 analog_battery.cpp而电流传感器 ADC 偏移参数BAT_V_OFFS_CURR定义于 analog_battery_params_common.yaml默认 0.0会在计算电流前被减去。3.2 带负载补偿的电压估计电流流过电池时内阻会引起电压跌落使实测输出电压低于开路电压。使用基础配置时测量电压会被直接用于估计容量导致爬升/下降等负载变化时电量显示来回波动。负载补偿利用实测或估计的内阻修正负载影响飞行中电量估计的波动会大幅减小使用可测电流的电源模块时默认启用。使用步骤先完成基础配置空电电压BATn_V_EMPTY应设得比无补偿时更高补偿后的电压会用于估计通常设为使用后接近预期静止电芯电压的值校准每伏安培数以获得可靠电流测量。PX4 默认使用实时估计的内阻做电流负载补偿BAT1_R_INTERNAL -1时启用实时估计见 BAT1_R_INTERNAL这样补偿能自适应飞行中温度变化以及电池老化引起的内阻变化。也可实测后手动设置BAT1_R_INTERNAL正数值将直接用作内阻0则完全禁用负载补偿。LiPo 电池的典型内阻约为每节5mΩ会随放电倍率、电池寿命与健康状态变化。3.3 电压估计融合电流积分这是测量相对电池消耗最准确的方法。若每次启动都使用健康满电电池且配置正确估计质量可与智能电池媲美理论上可支持准确的剩余飞行时间估计。其原理是将电压估计的剩余容量与电流积分得到的已消耗电荷融合。启用步骤先按负载补偿配置好准确的电压估计包括校准每伏安培数将 BAT1_CAPACITY 设为电池标称容量的90% 左右不要设得过高否则可能导致估计不准或容量突然下降。工作原理补充源自 battery.md消耗电荷估计通过对测量电流做数学积分得到能量消耗估计非常准确系统启动时PX4 先用电压估计确定初始电量再与电流积分值融合融合结果中两种估计的权重随电池状态变化电量越空电压估计占比越大从而防止深度放电例如配置了错误容量或初始值有误时电流积分不能单独使用它无法确定初始容量必须依赖电压估计提供初始容量并对可能误差持续反馈。3.4 其他电池相关失效率与保护参数除电量估计外Safety 文档 还定义了多个电池相关失效率机制设置参数说明失效率动作COM_LOW_BAT_ACT容量低于触发水平时执行 Warn / Land / ReturnLand / ReturnTerminate电池警告水平BAT_LOW_THR触发警告或其他动作的容量百分比电池失效率水平BAT_CRIT_THR触发返航动作的容量百分比电池紧急水平BAT_EMERGEN_THR触发立即降落的容量百分比安全返航剩余时间动作COM_FLTT_LOW_ACT电量仅够返航时0忽略、1警告默认、3返航最大飞行时间失效率COM_FLT_TIME_MAX起飞后最大飞行时间秒达到后自动返航-1禁用默认最低电量解锁限制COM_ARM_BAT_MIN电量低于该值时禁止解锁失效率动作COM_LOW_BAT_ACT可选值建议按Warn Failsafe Emergency的层级设置0: Warning— 仅警告2: Land mode— 在失效率水平降落3: Return at critical level, land at emergency level推荐— 在失效率水平返航、在紧急水平降落4: Return at critical level, terminate at emergency level— 在失效率水平返航、在紧急水平终止飞行适合配有降落伞的机型若设置界面无此选项可直接将 COM_LOW_BAT_ACT 设为 4。另外官方特别提示除 PX4 配置外还应确保ESC 的低压截止要么禁用、要么设置在预期最低电压以下这样电池失效率行为由 PX4 统一管理ESC 不会在电池仍有电按你所设的空电标准时提前切电。四、电池化学LiPo 与 Li-Ion 对比电池化学概览 对主流电池类型做了对比这对上述空电/满电电压等参数的选择有直接影响。4.1 LiPo 与 Li-Ion 的核心取舍Li-Ion 能量密度更高但放电倍率更低、成本更高LiPo 更易获得能承受多旋翼常见的较高放电倍率选择取决于机型与任务若追求绝对续航Li-Ion 更有优势但也需要更多谨慎放电倍率低、温度监控更严格等。LiPo 优点非常常见尺寸/容量/电压规格丰富便宜相对容量有高放电倍率高 C 数充电倍率更高。LiPo 缺点相对能量密度低供应商众多导致品质参差。Li-Ion 优点能量密度高得多最高可高约60%。Li-Ion 缺点不常见贵得多大尺寸/大容量规格难找单体较小大容量电池需大量串联并联相对体积放电倍率低C 数低难以适配需要大电流的机型充电倍率较低充放电需要更严格的温度监控需调整 ESC 设置才能用满容量标准 ESC 低压设置偏高接近空电时电压曲线差异大6S 电池下 LiPo 与 Li-Ion 之间可能相差约3V会影响推力预期。4.2 C 倍率C RatingsC 倍率就是电池标称容量的倍数充电与放电倍率分别定义且数值不同例一块2000mAh电池与电压无关10C 放电倍率可安全持续放电20A2000/10002Ah × 10C 20AC 倍率由制造商标注通常印在电池外壳上理论上也可计算但需要多项数据并实测电芯内阻LiPo 的 C 倍率通常高于 Li-Ion这源于化学类型及由此决定的单节内阻差异严格遵守制造商的充放电 C 倍率指南对电池健康和飞行安全至关重要减少起火、胀包等异常状态。4.3 能量密度Energy Density能量密度 相对电池重量可存储的能量常用Wh/Kg瓦时每千克衡量瓦时 标称电压 × 容量例如 3.7V × 5Ah 18.5Wh3S 电池组则为 18.5Wh × 3 55Wh能量密度 瓦时 ÷ 重量千克例如 55Wh ÷ (300g/1000) 185 Wh/Kg185 Wh/Kg 对 LiPo 来说已属高端水平而 Li-Ion 可达260 Wh/Kg即每千克电池可多携带 75 瓦时能量若知道飞机巡航功耗电源模块电流数据可得就能把无额外重量增加的能量储备换算为更长的飞行时间。五、智能电池与 MAVLink 电池5.1 智能电池的价值Smart Batteries 指出智能电池能提供比飞控对哑电池估计**更准确且通常更详细**的状态信息从而更可靠地规划飞行并通知故障条件。信息可包含剩余电量、预计可用时间、各电芯电压额定最大/最小、当前电压等、温度、电流、故障信息、电池厂商、化学类型等。PX4 目前至少支持以下智能电池Rotoye Batmon已停产进一步资料MAVLink Battery 协议即原文档指向的 Mavlink Battery Protocol、Safety Low Battery Failsafe。5.2 Rotoye Batmon 接入示例Rotoye Batmon 是为市售锂离子/LiPo 电池增加智能电池功能的套件独立模块或原厂组装智能电池形式。其使用 XT-90 电池连接器带 I2C 引脚配合光耦隔离板传输数据。软件设置流程构建固件克隆 Rotoye 的 PX4 fork 并检出batmon_4.03分支后按构建与烧录指南为目标板构建上传固件配置参数QGC 中BATx_SOURCE设为ExternalSENS_EN_BAT设为trueBAT_SMBUS_MODEL设为3:Rotoye打开 MAVLink 控制台启动batt_smbus驱动例如同一条总线上运行两个 BatMonbatt_smbus start -X -b 1 -a 11 # External bus 1, address 0x0b batt_smbus start -X -b 1 -a 12 # External bus 1, address 0x0c5.3 batt_smbus 驱动源码batt_smbus是 PX4 的 SMBus 智能电池驱动源码位于 src/drivers/batt_smbus/batt_smbus.cpp其参数定义于 parameters.yaml参数类型默认值说明SENS_EN_BATTboolean0启用 SMBUS 智能电池驱动BQ40Z50 / BQ40Z80修改需重启BAT1_C_MULTfloat1.0高电流 SMBUS 电池的容量/电流倍率修改需重启BAT1_SMBUS_MODELenum0电池设备型号0自动检测、1基于 BQ40Z50、2基于 BQ40Z80修改需重启从源码结构可以推断智能电池路径与模拟电源模块路径最终都会汇入统一的battery_status估计与失效率框架只是数据来源从ADC 原始值换成了电池自报的精确状态因此电池估计调参对这类电池不是必需的。六、实践建议与排查要点先接线后调参优先使用飞控厂商推荐的电源模块/PDB若自行选型务必满足 Pixhawk 连接器标准VCC ≥ 2.5A 持续、默认 5.3V以及飞控自身要求。校准分压与电流系数电压分压BATn_V_DIV与每伏安培数BATn_A_PER_V建议每个电源模块校准一次否则电量估计与失效率触发都不可靠电流不可用时不需也无法启用负载补偿与电流积分。按电池化学选电压阈值LiPo 与 Li-Ion 的空电/满电电压、C 倍率特性差异显著详见电池化学概览空电电压设得过低会损伤电池过高则缩短航程。协调 ESC 低压截止将 ESC 低压截止禁用或设到预期最低电压以下把电池失效率统一交给 PX4 管理。多电池机型QGC 界面目前只能配置电池 1电池 2及更多需直接设置BAT2_*参数。智能电池能提供可靠剩余电量指示的电池可跳过电池估计调参但要确保batt_smbus驱动参数SENS_EN_BATT、BAT1_SMBUS_MODEL等正确并重启生效。相关文档入口Power Systems 概述、Power Modules/PDB、Smart/MAVLink Batteries、Battery Estimation Tuning、Battery Chemistry Overview、Safety 失效率配置。赞分享嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载相关推荐mucped22 压缩感知质量评估数据集解析从 Elo 主观评价到客观指标的完整复现流程mucped22 压缩感知质量评估数据集解析从 Elo 主观评价到客观指标的完整复现流程 导读 mucped22Multi bitrate compress嵌入式物联网机器人自动驾驶智能硬件PX4 电池估算调参完全指南从基本电压标定到电流积分融合PX4 电池估算调参完全指南从基本电压标定到电流积分融合 本指南基于 PX4 Autopilot 官方文档 docs/en/config/battery.md嵌入式物联网机器人自动驾驶智能硬件SmartBMS开源智能电池管理系统完整指南SmartBMS开源智能电池管理系统完整指南 SmartBMS是一个开源的智能电池管理系统专为锂离子电池组包括LiFePO4、Li ion、NCM等设计嵌入式硬件开发物联网智能硬件上一篇nanomsg I/O多路复用机制select、poll与epoll终极性能对比指南下一篇ONLYOFFICE Docs插件生态系统从官方插件到社区贡献的扩展能力创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表