1. AGV双电池方案的由来与适用边界
1.1 单电池AGV在真实产线里到底卡在哪
先说结论:绝大多数AGV项目一开始都是单电池方案,出问题基本都出在三个地方——续航不够、充电占机、换电停机。这三个问题看着独立,实际上是同一个根因:电池容量和作业节拍之间没有余量。
我见过不少现场,AGV白天跑8小时,中午休息1小时充电,下午再跑4小时,等到晚上发现电量只剩15%,第二天直接跑不动。运维的人第一反应是"电池不行了,换块大的",但换大电池意味着更重的车身、更高的悬挂负载、更长的充电时间以及更占空间的电池仓。容量往上堆是线性增加成本,而作业时间却是非线性被压缩的。
更麻烦的是充电占机。一台AGV如果每工作4小时就要充1小时,那它的有效作业率只有80%。如果产线是两班倒甚至三班倒,这个损耗会被放大到不可接受。很多做AGV集成的朋友算过一笔账:一台AGV年运行成本里,电池衰减和停机损失加起来能占到30%以上。
注意:判断是否需要双电池,不是看单次续航够不够,而是看"补能时间占作业时间的比例"。如果补能占比超过15%,双电池方案就该提上日程了。
那单电池有没有可能靠快充解决?理论上可以,但快充对电芯的伤害是实打实的。以磷酸铁锂为例,1C充电循环寿命大概3000次,2C快充循环寿命可能掉到1500次以下。而且快充需要更大功率的充电桩,对现场配电、散热、线束都是额外负担。所以与其在充电倍率上硬堆,不如从供电架构上想办法。
1.2 双电池能解决什么、不能解决什么
双电池的核心价值可以用一句话概括:把补能动作从"停机"变成"在线切换"。主电池电量低的时候,系统自动切到副电池继续供电,主电池在后台充电或者被换下来,AGV的作业不中断。这就把充电占机的时间从"必然损失"变成了"可被掩盖的时间"。
但双电池不是万能的。它解决的是"补能不中断作业",解决不了"总能量不够"。如果一台AGV一天的耗电量是8kWh,那你配两块4kWh的电池和配一块8kWh的电池,总能量是一样的,只是补能方式不同。双电池的真正优势在于:单次充电时间短、电池可以轮流休息、电池寿命更均衡、换电更灵活。
反过来说,什么场景不适合双电池?第一,作业强度很低、一天就跑两三个小时的AGV,单电池完全够用,加双电池就是浪费成本和空间。第二,电池仓极其紧凑、车身重量已经到边界的小型AGV,强行塞两块电池会挤压其他部件的空间。第三,预算非常敏感的项目,双电池带来的BMS、切换电路、结构件成本可能占到整车的10%到20%。
我通常给客户的判断标准是这样的:
| 作业强度 | 单次续航 | 推荐方案 |
|---|---|---|
| 每天≤4小时 | 满足全天 | 单电池 + 机会充电 |
| 每天4-10小时 | 单次不够全天 | 双电池轮换或快速换电 |
| 每天>10小时连续作业 | 远不够全天 | 双电池 + 自动换电/自动充电 |
| 重载、高节拍 | 折损快 | 双电池 + 大容量PACK + 主动均衡 |
有了这个边界,后面的架构设计才有意义。下面的内容我会按"整体架构—自动切换—PACK选型—换电方案—控制程序—问题排查"这条线往下走,每一步都给出可以直接抄的计算和选型思路。
2. 双电池供电架构的设计思路与拓扑选择
2.1 并联热备、主备切换、轮流工作三种拓扑怎么选
双电池在电气上有三种常见拓扑,我按实际用得多到少列一下。
**第一种:并联热备。**两块电池直接并联挂在直流母线上,共同供电。优点是没有切换动作、母线电压连续、控制简单。缺点非常致命——如果两块电池电压不一致,高电压那块会给低电压那块充电,产生环流;如果两块电池内阻、容量、衰减程度不一样,负载电流会偏向内阻小的那块,导致放电不均衡。除非两块电池从出厂就严格配对、BMS之间有均流通信,否则我不推荐在AGV上直接用并联热备。
**第二种:主备切换。**一块主电池工作,另一块备用。主电池电量或电压到阈值,系统断开主、接通备,母线短暂断电后恢复。这是AGV上最主流的做法,切换逻辑清晰,成本可控。关键在于切换瞬间的母线掉电如何处理——后面会专门讲。
**第三种:轮流工作。**两块电池按时间或里程轮换,比如跑2小时切一次,让两块电池的放电深度接近。这本质上还是主备切换,只是切换判据从"电量"换成了"时间"。好处是电池寿命更均衡,坏处是需要精确记录每块的累计工作量,程序复杂度高一点。
我自己的经验是:**中低功率AGV用主备切换,重载或对供电连续性要求极高的用主备切换加电容缓冲,成本极敏感的用轮流工作。**并联热备只在电池完全同批同状态、且BMS支持并联均流的场合考虑。
2.2 电压平台与容量配比的计算逻辑
电压平台的选择要和AGV的驱动电机、控制器匹配。常见的有24V、48V、72V、80V几个档。小型AGV多用24V或48V,中重型多用48V或72V。电压越高,同样功率下电流越小,线束和接触器的压力就越小。
举个实际的例子:一台AGV驱动功率1kW,如果母线是48V,满载电流约21A;如果母线是24V,电流就是42A,接触器、线束、保险丝的规格全部要翻倍。所以只要空间和绝缘允许,尽量往高电压走。
容量配比的核心是算清楚一天的总耗电。我一般按下面的步骤估:
第一步,估平均功率。AGV的功率主要分四块——驱动、举升/顶升、控制器和传感器、通信和照明。驱动功率可以用最基础的物理公式估:
牵引力 F = μ × m × g 其中 μ 是滚动阻力系数(AGV轮子在水泥地上一般取0.015~0.03) m 是整车加负载总质量 g 取9.8 功率 P = F × v(v是行驶速度)假设整车加负载500kg,μ取0.02,速度1m/s,那么F = 0.02 × 500 × 9.8 = 98N,P = 98W。这是匀速行驶的功率,加速阶段要乘以1.5到2倍,再叠加控制器损耗、顶升机构、传感器,实际整机平均功率按300W到600W估比较稳妥。
第二步,估运行时间。一天实际运行(含等待、爬坡、加速)按8小时算。
第三步,算总电量。300W × 8h = 2.4kWh,600W × 8h = 4.8kWh。这就是一天的耗电区间。
第四步,定容量配比。双电池方案里,如果希望单块电池能撑半天,那单块容量大约要1.2到2.4kWh;如果希望主备各撑一整天,那每块都得接近4.8kWh,成本就上去了。所以实际操作里更常见的是"单块撑4小时、轮换+充电",这样每块2.4kWh左右即可。
注意:上面的估算是理想值,实际要留30%的余量。原因有三个——电池老化后容量会掉、低温下可用容量会缩水、AGV实际工况比估算更费电。
2.3 BMS通信拓扑与母线结构
双电池意味着两套BMS。BMS和主控之间怎么通信,直接决定了切换逻辑能不能做精细。常见方式有CAN、RS485、以及简单的模拟量采样。
CAN总线是首选,因为它是差分信号、抗干扰强、支持多节点,正好可以挂两块BMS加主控加驱动。如果主控只有RS485接口,那就得靠485收发自动切换电路——这个电路的作用是在发送和接收之间自动切换收发方向,避免主控既要发指令又要收数据时的方向冲突。485的缺点是半双工、速率低,电池数据更新慢,切换判据只能做得比较粗。
母线结构上,我建议主备切换方案采用"公共母线 + 双路接触器 + 缓冲电路"的结构:
电池A ── 接触器KA ──┐ ├── 直流母线 ── 驱动/控制器 电池B ── 接触器KB ──┘ └── 缓冲电容组接触器负责隔离,缓冲电容组负责在切换瞬间给母线续命。这样主备切换时母线电压不会掉到控制器欠压保护点以下。接触器的选型后面单独讲。
3. 自动切换电路的核心细节与器件选型
3.1 切换判据:电压、SOC还是通信心跳
切换判据决定了系统什么时候动作,做不好就会出现"来回切"或者"该切不切"。
最原始的是电压判据:主电池电压低于阈值就切。问题是锂电池的电压平台很平,磷酸铁锂从80%电量到20%电量电压只差几伏,靠电压判断电量误差很大,而且负载变化时电压会瞬间跌落,容易误触发。
更好的是SOC判据:直接读BMS的剩余电量。SOC低于比如25%就切换到备用电池,同时主电池进入充电或待换状态。
最稳的是复合判据:SOC为主,电压和通信心跳为辅。比如SOC低于25%就切;如果BMS通信中断超过2秒,为了防止数据失效,也触发切换;如果电压低于欠压保护点,无条件切换。
我给一个实际用过的阈值配置:
| 判据 | 阈值 | 动作 |
|---|---|---|
| SOC | ≤25% | 切换到备用电池 |
| 主电池电压 | ≤欠压点+5% | 强制切换 |
| BMS心跳超时 | >2s | 报警并切换 |
| 备用电池SOC | ≤30% | 禁止切换,提示换电 |
这套逻辑的好处是,主电池不会被"榨干"到极限才切,寿命更好;备用电池电量不足时不会盲目切过去导致两台一起趴窝。
3.2 大电流切换的器件选型与参数计算
切换器件主流有两类:机械接触器/继电器和MOSFET理想二极管。
机械接触器的优点是导通电阻极小(毫欧级)、成本低、耐冲击电流强;缺点是动作慢(10到30毫秒)、触点有磨损、寿命有限(几十万次)、切换瞬间母线会掉电。
MOSFET理想二极管的优点是切换快(微秒到毫秒级)、无机械磨损、可以做到无缝切换;缺点是导通损耗比接触器大、成本高、大电流下散热要做得好。
选型的核心参数是持续电流和冲击电流。以48V、1kW的AGV为例:
持续电流 = 1000W / 48V ≈ 21A 考虑加速冲击和余量,取2倍 → 42A 接触器选60A档,MOSFET选持续60A以上、导通电阻尽量小如果是重载AGV,驱动功率3kW,48V母线,持续电流就是62.5A,选型要往100A以上走,这时候MOSFET的导通损耗就很可观了——假设导通电阻5毫欧,100A下损耗就是50W,必须加散热片。
我的建议是:**中低功率优先用MOSFET做无缝切换,高功率用接触器加缓冲电容。**接触器的切换时间用母线电容来补——电容容量按下面这个思路估:
切换时间 t = 20ms 母线允许压降 ΔU = 5V 负载电流 I = 20A 电容 C = I × t / ΔU = 20 × 0.02 / 5 = 0.08F = 80000μF这个容值不小,实际会用多个电解电容并联,并且要考虑上电时的浪涌充电——需要加预充电阻,否则上电瞬间会像短路一样冲击电池。
3.3 切换瞬间的浪涌抑制与防倒灌设计
切换瞬间有两个风险:一是母线电容放电导致电压跌落,二是两块电池通过寄生通路互相倒灌。
防倒灌的做法是在每路电池输出串一个理想二极管(或者用接触器彻底隔离)。如果用MOSFET做开关,可以靠体二极管方向自然防倒灌,但体二极管压降大、发热高,所以要用同步整流的方式把体二极管"旁路"掉。
浪涌抑制主要针对上电瞬间和切换瞬间。上电时,母线电容相当于短路,直接合闸会有巨大的冲击电流。标准做法是加预充电路:先通过一个几十欧姆的预充电阻给电容充电,等到母线电压升到电池电压的90%以上,再闭合主接触器,把预充电阻短路掉。
注意:预充电阻的功率要按瞬时功率选,不是按平均功率。比如48V电池、100Ω预充电阻,瞬时电流0.48A,瞬时功率23W,但持续时间只有几百毫秒,选5W的水泥电阻加散热就能扛住。这个细节很多人第一次做会选错。
3.4 实测中切换抖动与误动作的排查
切换抖动是我在现场遇到最多的问题。表现是接触器"哒哒哒"响个不停,母线电压来回跳。原因通常有两个:判据阈值卡得太死,或者采样有噪声。
解决思路:第一,给判据加回差。比如SOC低于25%才切走,但要等到主电池充电后SOC高于40%才允许切回,中间这15%就是回差,避免在阈值附近反复横跳。第二,给采样加滤波和确认时间,比如SOC连续3秒低于25%才动作,滤掉瞬时波动。第三,检查BMS数据刷新率,如果数据一秒才更新一次,判据再快也没用。
还有一个隐蔽的坑:接触器线圈的续流二极管如果选得不对,断开瞬间的反向电压可能干扰主控的IO口,导致误触发。我的做法是线圈两端并一个快恢复二极管加RC吸收,同时主控IO加光耦隔离。
4. 锂电池PACK选型:电芯、BMS与结构的三重匹配
4.1 电芯体系选择:磷酸铁锂还是三元
AGV上主流是磷酸铁锂和三元锂两种。选哪个,看三个维度:安全、寿命、能量密度。
磷酸铁锂的优势是热稳定性好、循环寿命长(3000到5000次)、成本相对低;缺点是能量密度低(大概120到160Wh/kg)、低温性能差(0℃以下容量和放电能力明显下降)。三元锂的优势是能量密度高(200到250Wh/kg)、低温性能好;缺点是热稳定性差、循环寿命短(1000到2000次)、成本高。
我的经验是:**室内常温、重载、对循环寿命敏感的场景,选磷酸铁锂;低温冷库、对重量和体积敏感的场景,选三元锂。**AGV大部分在常温车间里跑,所以磷酸铁锂是主流,占了七八成。
4.2 串并联配置与容量估算实例
电池包由电芯串并联组成。串联决定电压,并联决定容量。
以磷酸铁锂为例,单体标称3.2V。要做一个48V的包:
串联数 = 48V / 3.2V = 15串(实际取15或16串,16串标称51.2V)16串、单体20Ah的话,标称能量 = 51.2V × 20Ah = 1.024kWh。要做2kWh的包,就用2并,即16串2并、40Ah。
再用前面的例子验证:AGV一天耗电2.4到4.8kWh,双电池各2kWh,加起来4kWh,配合轮换充电,能满足一天8小时。这个配比是比较合理的。
选电芯还要看持续放电倍率。AGV加速时电流可能是额定的2到3倍,所以电芯的持续放电倍率至少要1C,最好2C以上。如果电芯只支持0.5C,加速时电压会被拉垮,控制器可能报欠压。
4.3 BMS功能等级与接口选择
BMS是电池包的大脑,功能从低到高大致分三档:
| 等级 | 功能 | 适用 |
|---|---|---|
| 基础保护板 | 过充、过放、过流、短路保护 | 小功率、低成本AGV |
| 智能BMS | 加SOC估算、均衡、CAN/485通信 | 主流AGV |
| 车规级BMS | 加绝缘检测、多点测温、故障诊断、日志 | 重载、高安全要求AGV |
关键点在于均衡功能。双电池轮换使用,两块电池的衰减程度会有差异,如果BMS只有被动均衡(靠电阻放电),在大容量包上效果有限。主动均衡(把电量从高单体搬到低单体)效率高但成本高。我一般建议至少要有被动均衡,重载场合上主动均衡。
通信接口优先选CAN,因为可以和整车控制器共用总线。如果只有485,记得配好收发自动切换电路,否则通信方向切换会出问题。
4.4 结构、散热与防护等级
电池包的结构设计有三个要点:固定、散热、防护。
固定要抗振动。AGV行驶时振动频率主要集中在几十赫兹,电池包如果固定不牢,长期振动会导致内部焊点疲劳、连接松动。我的做法是电池包底部加减震垫,四周用金属支架限位,再用螺栓压紧,不允许电池包在仓内晃动。
散热方面,磷酸铁锂大电流放电时也会发热,尤其是1C以上。自然散热适用于小包,大包要么留风道,要么加风扇,重载场合考虑液冷。
防护等级至少IP54,车间有粉尘和轻微水汽。如果是清洗车间或食品厂,要上IP65甚至IP67。
注意:电池仓的走线要远离驱动器的发热和电磁干扰源。电池采样线是弱信号,和电机动力线捆在一起走,很容易被干扰导致采样跳变,BMS误报警。
5. 换电方案落地:手动、半自动与自动换电
5.1 三种换电模式的成本与适用场景对比
换电是双电池方案的搭档。电池用完不是等着充,而是直接换一块满电的。换电模式分三档:
| 模式 | 操作方式 | 单次换电时间 | 人力 | 成本 | 适用 |
|---|---|---|---|---|---|
| 手动换电 | 人工搬电池 | 3-5分钟 | 1人 | 低 | 小批量、低频 |
| 半自动换电 | 推车/滑轨辅助 | 1-2分钟 | 1人 | 中 | 中批量 |
| 自动换电 | 机械臂/换电站 | 30-90秒 | 0 | 高 | 大批量、高节拍 |
手动换电的问题是电池重。一块2kWh的磷酸铁锂包大概15到20kg,人工搬运频率高了容易疲劳,而且搬运过程有跌落和短路风险。半自动换电用滑轨或者换电小车,把电池"推"进去,省力但还是要人。
自动换电是趋势。常见的有机械臂抓取、底部顶升换电、侧向抽拉换电。机械臂灵活但成本高;底部顶升结构简单,适合底盘规则的AGV;侧向抽拉适合电池仓在侧面的车型。
5.2 换电机构与电气接口设计要点
换电的核心难点在电气接口。电池要频繁插拔,接口必须满足三个条件:接触电阻低、插拔寿命长、对位容差大。
接触电阻低,意味着插针要镀金或镀银,弹片压力要够。插拔寿命,工业级连接器一般标5000到10000次,按每天换2次算,能用好几年。对位容差大,是因为AGV停靠不可能每次精确到毫米,接口要能容忍几毫米的偏差,通常用浮动连接器或者导向销解决。
还有一个容易忽略的点:主回路先断后连的顺序。正确的插拔顺序是通讯和控制信号先接触、动力回路后接触;拔出时反过来,动力先断、信号后断。这样避免带电插拔时电弧烧蚀触点。做法是用不同长度的插针,长的走信号,短的走动力。
5.3 换电流程与安全联锁
换电流程必须做安全联锁,否则一次误操作就可能烧控制器或者伤到人。我总结的联锁逻辑是:
- AGV必须停在换电位的精确位置,位置开关或视觉确认到位;
- AGV进入换电模式,驱动电机使能关闭,整车进入安全状态;
- 主回路接触器断开,母线电容放电到安全电压(一般<36V);
- 解锁机械锁扣,允许电池拔出;
- 新电池插入,锁扣到位;
- 通讯握手成功,BMS上报正常;
- 预充电路启动,母线电压建立;
- 主接触器闭合,AGV退出换电模式。
任何一步不满足,后续步骤都不允许执行。这套流程看着繁琐,但每一条都是用别人的事故换来的。
6. 主控程序架构:手动、自动、复位与模式切换
6.1 主程序与手动/自动/复位三种模式的关系
AGV的主控程序一般有一个主循环,循环里根据当前模式分派到不同的子程序。这套结构和我见过的很多工业设备程序是一样的:main里做初始化,然后分派手动程序、自动程序、复位程序。
初始化的内容包括IO配置、通信建立、BMS握手、参数加载、状态机复位。初始化失败必须报警并且禁止进入自动模式。
手动模式主要给调试和维修用,操作员可以单独控制驱动、顶升、气缸等动作,不受自动流程约束。自动模式是正常作业流程。复位程序负责把卡在中间状态的动作拉回到初始位,比如气缸没收回到位、机构停在半路。
模式切换必须加保护:运行中不允许直接切模式,必须先停止当前动作、确认安全状态,才能切换。急停程序是最高优先级,任何模式下触发急停,所有输出立即切断,只有复位后才能恢复。
6.2 模式切换、急停与气缸报警的处理
气缸报警是个典型的例子。AGV上的顶升、挡停、对接很多都靠气缸,气缸有到位传感器。如果气缸动作超时未到位,程序要报警并停止相关动作。常见原因是气压不足、电磁阀故障、传感器松动、机械卡死。
急停程序要处理两个层面:硬件层面,急停按钮直接切断动力回路,不依赖软件;软件层面,主控检测到急停信号后,记录状态、关闭输出、进入急停状态。硬件和软件双保险,是安全设计的基本要求。
6.3 电量管理与任务调度的联动
双电池的电量信息要接入调度系统。调度系统在分配任务时,应该考虑AGV的当前电量和电池状态。比如某台AGV主电池只剩20%,就应该优先给它安排接近换电站或充电位的任务,而不是派它去最远的工位。
这一点在很多项目里被忽略,结果是AGV接了任务跑到一半没电了,堵在通道上。我建议在调度层加一个"电量足够性判断":任务预估耗电加上安全余量,如果没有满足,就换一台AGV或者先补能。
注意:电量估算不是精确值,调度时要留20%以上的安全余量。尤其是磷酸铁锂,SOC在20%以下时电压平台会突然下坠,留给你的反应时间比想象中短。
7. 常见问题排查与实操避坑经验
7.1 切换与供电类问题速查
| 现象 | 可能原因 | 排查方向 | 处理 |
|---|---|---|---|
| 切换时AGV重启 | 母线掉电过快 | 测母线电压波形 | 加缓冲电容或换MOSFET |
| 接触器反复动作 | 判据无回差 | 看SOC日志 | 加回差和确认时间 |
| 主电池被过度放电 | 切换阈值太低 | 查SOC设置 | 提高切换阈值到25%以上 |
| 备用电池充不满 | 充电桩功率不够 | 测充电电流 | 提高充电桩规格 |
| 电池包发热严重 | 放电倍率过高 | 测持续电流 | 换高倍率电芯或加大容量 |
| 通信偶发中断 | 485方向切换冲突或干扰 | 查走线和收发时序 | 加隔离、优化切换电路 |
7.2 实操避坑心得
第一条,电池配对很重要。双电池的两块包尽量同批、同型号、同容量,否则衰减不一致,切换时电压差大,容易出环流。如果必须混用,至少保证串数和电芯体系一致,并且靠BMS限制放电深度。
第二条,预充电路别省。我见过有人为了省钱省掉预充电阻,结果上电瞬间接触器触点被电弧烧蚀,几次下来就粘死了。预充电路成本就几十块钱,省这个不值。
第三条,采样线单独走。电池电压采样线一定要远离动力线,最好用屏蔽线,屏蔽层单端接地。不然电机一启动,采样就跳,BMS误报一堆故障。
第四条,换电接口定期检查。频繁插拔的连接器,弹片会疲劳,接触电阻会上升,表现为大电流时压降大、发热。建议每季度检查一次接触电阻。
第五条,程序里的状态机要画清楚。双电池、换电、充电、作业这几套流程交织在一起,状态机不清晰,程序一定会乱。我习惯在写代码前先把状态转移图用手画一遍,把每个状态的进入条件、退出条件、异常分支都列出来,再动手写。
第六条,留日志。BMS数据、切换记录、报警记录都存下来。出问题时,日志是最直接的证据。我遇到过一块电池频繁触发切换,查日志发现是某节单体在放电末段电压掉得特别快,最后定位到是那颗电芯本身有问题。
第七条,低温环境要提前做容量补偿。磷酸铁锂在0℃下可用容量可能只剩70%,如果按常温容量配的电池,冬天续航会明显缩水。要么加大容量,要么给电池仓加热。
整体做下来,双电池AGV的设计难点不在某一块,而在供电、切换、换电、程序这几块的协同。任何一块单独看都不复杂,但组合起来就会互相牵制——切换策略影响电池寿命,换电结构影响电气接口,程序状态机影响安全联锁。我的建议是先把需求边界和能耗算清楚,再定拓扑和容量,最后才是选器件和写程序。顺序反了,返工的成本会很高。