基于MP2642GR-Z与PIC18F55K42的2S电池主动均衡方案
做储能和备用电源的朋友应该都遇到过串联电池单元压差越拉越大的问题。两块电芯出厂时明明容量一致跑几十个循环之后容量、内阻、自放电都会出现差异在备用电源这种长期浮充场景里差异还会被持续放大。我这次要聊的方案是用 MP2642GR-Z 这颗同步降压转换器做功率通道用 PIC18F55K42 这颗 MCU 做采集、策略和保护对两个串联电池单元做主动均衡。方案不复杂但把里面的坑讲清楚能少走不少弯路。这套设计最终做出来的效果是把两节磷酸铁锂单元的静置压差从 38mV 压到了 9mV 以内均衡电流稳定在 0.5A 左右整个均衡过程没有触发过压、欠压保护。如果你也在做 2S 电池组的 BMS、储能模组或者后备电源管理这篇文章应该能给你一个可以直接参考的硬件结构和软件思路。1. 项目到底在解决什么问题1.1 串联电池单元为什么必须均衡先说最基础的问题两个串联的电池单元为什么不能直接充放电完事因为没有任何两节电池是一模一样的。制造工艺再先进同一批次的电芯也存在容量偏差、内阻偏差、自放电率偏差。这些出厂时的微小差异在串联充电时会被同一个充电电流放大容量偏小的那节电压升得更快如果以整组电压为截止条件它可能已经过充容量偏大的那节还没充满整组就已经停了。放电时正好反过来容量偏小的那节先放到底如果继续放电就会过放。铅酸电池也好磷酸铁锂也好过充过放都会造成不可逆的容量损失而损失之后差异会更大形成恶性循环。在备用电源场景里还有个特殊情况电池长时间处于浮充状态。浮充电流本身很小但两节电池的自放电率只要差一点点长期累积下来就可能出现“一节电压偏高、一节电压偏低”的失衡状态。浮充电压通常不能靠整组电压判断单体状态所以必须引入单体级的管理。很多入门者会想既然只有两节那我在充电到后期时人工看着电压差不多就停。实际上储能和备电系统要求的是长时间无人值守任何人工干预都不现实均衡必须自动完成。1.2 被动均衡和主动均衡怎么选常规 BMS 里用得最多的是被动均衡在每节电池旁边并联一个放电电阻电压高的那节通过电阻把多余能量放掉直到和低电压那节拉平。这个方法简单、便宜但有两个问题。第一能量被白白浪费成热量在密闭电池包内热量很难处理第二均衡速度很慢因为电阻通常只有几十欧均衡电流一般控制在 50mA 到 200mA 之间想拉平几十毫伏的压差可能要跑十几个小时。主动均衡的思路正好相反用 DC-DC 变换器把能量从高电压电池搬给低电压电池而不是直接放掉。这样做几乎不浪费能量发热小均衡电流也可以做得更大。对于两个串联单元主动均衡的常见拓扑有电感式、变压器式、电容飞度式。电容飞度式控制复杂变压器式体积大、成本高电感式磁芯小、结构简单最适合这种 2S 小系统。我最后选的方案是用 MP2642GR-Z 做降压功率级用 PIC18F55K42 做控制核心。MP2642GR-Z 是一颗同步降压转换器内部集成了功率管和同步整流管外围就是电感、电容、电阻比用分立 MOSFET 搭半桥简单得多。PIC18F55K42 则负责最关键的部分测准电压、判断方向、控制均衡通道、保护电池。1.3 整体架构一句话讲清整套系统可以看成三个层次最底层是电池组两节磷酸铁锂单元串联中间引出中点形成 B、M、B- 三个电气节点。中间层是功率通道MP2642GR-Z 从整组电压取电降压到一个适合给单体电池充电的电压。输出端通过一组 MOSFET 开关矩阵可以选择把均衡电流灌到上单元或者灌到下单元。最上层是控制核心PIC18F55K42 通过电阻分压网络采样 B、M、B- 对地电压算出两节单元各自的电压再根据压差决定是否打开均衡、均衡哪个单元、何时停止。这个架构的巧妙之处在于均衡通道只有一路但通过开关矩阵复用到两节电池上。成本低、体积小也不存在两路 DC-DC 互相干扰的问题。2. 硬件电路设计的关键环节2.1 MP2642GR-Z 外围电路怎么搭MP2642GR-Z 在这个项目里负责从整组电压取电输出一个受控的直流电压。整组磷酸铁锂的电压范围大约是 5.4V 到 7.3V均衡输出目标设定在 3.6V 左右这样输入输出之间有足够的压差Buck 电路可以稳定工作。输入侧需要一只陶瓷电容容量按手册推荐值选通常 10uF 到 22uF。这个电容必须尽量靠近芯片的 VIN 引脚和 PGND因为输入路径上的寄生电感会在开关瞬间产生尖峰离得远一点就可能打坏芯片。我调试时遇到过 MP2642GR-Z 偶尔触发过流保护最后发现是输入电容离芯片太远开关噪声导致误触发重新布局后问题消失。输出侧用电感和输出电容组成 LC 滤波。电感选择主要看两点额定饱和电流要大于均衡电流的峰值感值按开关频率和允许纹波来定。我用了 10uH 电感饱和电流 2A 以上。均衡电流只有 0.5A所以余量很充足。反馈电阻决定了输出电压。MP2642GR-Z 按照典型降压电路接法FB 引脚通过两个电阻分压把输出电压设定在 3.6V。这里有个细节输出电压不能设得太高不能超过单节电池的充电截止电压否则均衡时间长了会把低电压那节充过压。我选 3.6V磷酸铁锂充满电压 3.65V留了一点安全空间。均衡电流不需要完全依赖 MP2642GR-Z 内部的限流因为内部限流点通常比较高而均衡电流我们希望精确控制。更简单的做法是在输出回路串联一个功率电阻利用输出电压和电池电压的差值限制电流。比如输出 3.6V电池当前电压 3.2V串联 0.8 欧姆电阻初始电流就是 0.5A。随着电池电压上升电流会自动减小天然形成恒压减流特性很适合均衡这种小电流充电场景。2.2 电池选通开关矩阵的设计均衡电压只有一路但需要给上单元和下单元都能充电所以我在 MP2642GR-Z 输出端和电池节点之间加了一组开关。输出正极通过两个独立的开关分别连接到 B 和 M输出负极通过另外两个开关分别连接到 M 和 B-。这样就有四种组合但实际只用两种给上单元充电时输出正极接 B输出负极接 M给下单元充电时输出正极接 M输出负极接 B-。开关器件我用了低压 MOSFET。均衡电流不大选导通电阻几十毫欧的小管子就够关键在于方向。MOSFET 本身的体二极管在关断时可能形成不期望的电流通路所以不能直接用单管要用背靠背接法或者集成式的负载开关。我最后用的是两颗背靠背 N 沟道 MOSFET 组成的双向开关控制极由 PIC18F55K42 的 GPIO 通过三极管驱动。开关切换的顺序非常重要。如果在一个开关还导通的情况下导通另一个开关可能会把 MP2642GR-Z 的输出直接短路到地或者把两节电池并联起来瞬间电流非常大。我的控制逻辑是先关闭 MP2642GR-Z再把所有开关全部关断延时 200us 后再导通目标方向的开关最后启动 MP2642GR-Z。这个顺序必须写死在软件里不能省。2.3 电池电压采样电路怎么做才准均衡判断的基础是电压测量测不准一切都白搭。两节串联电池的采样和普通单节电池不一样因为上单元的负极不在地参考点它的电压是浮动的直接用一个 ADC 引脚去测必然出错。我用了分压电阻加差分运算放大器的方案。每一节电池电压先经过精密电阻分压把 4V 级别的电压缩到 3.3V ADC 可以接受的范围然后通过运放构成差分放大把单端信号转换成以 MCU 地为参考的电压信号。分压电阻一定要用 1% 精度的低温漂电阻因为均衡阈值通常只有 20mV 到 50mV如果采样电阻误差太大两节电池的测量结果本身就不一致软件会把正常电池误判成异常电池。我在调试中发现用普通 5% 电阻时同样的电池电压两个采样通道读出来的值差了 60mV完全没法用。PIC18F55K42 内置 12 位 ADC对 3.3V 量程来说分辨率大约 0.8mV足够捕捉几十毫伏的压差。我在采样引脚前各加了一阶 RC 滤波截止频率设在几百赫兹用来去掉开关电源带来的高频噪声。采样时刻也要注意不能在 MP2642GR-Z 开关动作的瞬间读 ADC否则读到的电压会带毛刺。我的做法是让 MCU 在均衡通道关闭的短暂间隙里采样或者对采样值做大量软件滤波。温度采样用 NTC 做放在两个电池表面。温度数据不参与均衡方向判断但参与保护电池温度超过 55 度就停止均衡低于 -10 度也停止。磷酸铁锂低温充电容易析锂这个保护必须做。2.4 PIC18F55K42 的外设分配PIC18F55K42 在外设配置上我是个实用主义者ADC 负责采样三路关键电压和一路 NTCGPIO 控制开关矩阵和 MP2642GR-Z 的使能脚一个定时器用来做软件状态机的时基UART 用来输出调试信息。我额外用了一个 GPIO 接指示灯。待机时灯灭均衡时灯慢闪故障时灯快闪。这个看似多余的指示在调试时帮了大忙很多时候不用接示波器看一眼灯的状态就能判断软件卡在哪个状态机里。MCU 的供电从电池组整组电压经过一颗 LDO 降压到 3.3V。需要注意的是均衡时电池电压会变化LDO 输入电压范围要覆盖整组电池的 5.4V 到 7.3V输出 3.3V 给 MCU 和运放供电。MP2642GR-Z 的使能脚和 MCU 之间最好加一级电平转换或者至少串一个电阻避免 MCU 复位时未定义电平把均衡通道意外打开。3. 软件状态机与均衡控制逻辑3.1 电压采样和滤波的落地实现软件方面我先把采样做扎实。PIC18F55K42 的 ADC 采集一轮基本电压需要依次切换通道总电压、上单元电压、下单元电压、NTC。每个通道连续采 8 次去掉最大值和最小值剩下 6 次取平均。这样一组数据大约耗时几十毫秒对均衡控制来说完全够用。我定义了一个环形缓冲区每次把原始值放进去然后对缓冲区的 8 个值排序求中值。中值滤波对去除尖峰干扰非常有效尤其是电源开关产生的偶发噪声。接着再做一次滑动平均让电压数据平滑下来。这里有个经验不要把滤波后的电压直接用于均衡判断要区分“静置电压”和“带载电压”。均衡通道启动后被充电电池的端电压会立刻升高这是电池内阻引起的极化不是真实的荷电状态上升。如果拿这个瞬间抬高的电压作为判断依据系统会误以为电池已经充满过早停止均衡。所以我的状态机里规定只有均衡停止超过 2 分钟后的稳定电压才作为均衡启动依据。3.2 均衡开始和停止的条件怎么定均衡阈值不能设太死。磷酸铁锂的电压平台很平小电流下压差 30mV 可能对应的容量差非常小但大电流波动一下也会造成几十毫伏的端电压变化。如果阈值设 10mV系统会频繁启停均衡开关的寿命和电池都会受影响。我最后设置的启动阈值是 50mV停止阈值是 20mV中间还有 30mV 的迟滞区间。也就是说测得两节单元压差超过 50mV 才启动均衡启动后每隔一段时间检查一次压差降到 20mV 以下才停止。这个迟滞逻辑同时解决了启动瞬间电压跳变导致的反复横跳问题。均衡方向选择很简单电压高的那节说明荷电状态偏高或内阻偏大电压低的那节说明需要补充电量。这套方案是给低电压那节充电通过整组能量搬运过去间接实现整组平衡。3.3 主状态机的设计软件主循环很简单我把它拆成四个状态IDLE、BALANCING、PROTECT、DONE。IDLE 状态每 5 秒做一轮电压采样和判断如果压差大于 50mV 且温度正常就进入 BALANCING。BALANCING 状态先把均衡通道切换到目标电池启动 MP2642GR-Z然后每 10 秒采集一次电压检查是否达到停止条件。如果在均衡过程中出现单体过压、温度超限立即进入 PROTECT 状态关闭均衡通道。PROTECT 状态会锁存故障码通过 UART 输出只有人工复位或者故障条件消失一段时间后才恢复。DONE 状态表示本轮均衡完成之后进入长周期的监控防止压差再次扩大。我还加了一个超时保护单次均衡时间超过 8 小时强制停止。这个是为了防止软件逻辑在某个极端场景下失灵一直给小电池充电。备用电源系统要求的就是可靠性任何状态都不能无限循环。3.4 核心代码片段状态机的大致骨架是这样的typedef enum { IDLE, BALANCING, PROTECT, DONE } bal_state_t; bal_state_t state IDLE; void main_loop(void) { switch (state) { case IDLE: if (is_balance_needed()) { select_target_cell(); enable_balancer(); state BALANCING; } break; case BALANCING: if (is_protection_triggered()) { disable_balancer(); state PROTECT; } else if (is_balance_done()) { disable_balancer(); state DONE; } else if (balance_runtime 8 * 3600) { disable_balancer(); state PROTECT; } break; case PROTECT: if (protection_released()) { state IDLE; } break; default: state IDLE; break; } }实际工程里这个主循环还包含看门狗喂狗操作、LED 刷新、通信处理等但核心逻辑不外乎如此。均衡的“智慧”不在算法本身而在阈值的标定和异常处理是否完备。4. 关键参数计算与实测数据4.1 均衡电流怎么选均衡电流的选择取决于电池容量、允许温升和均衡时间。我的验证板用的是两节 50Ah 磷酸铁锂单元。按照经验均衡电流取 0.05C 到 0.1C 比较合理也就是 2.5A 到 5A。但这个小模组散热条件有限而且均衡并不是频繁运行的功能没必要追求太快我最终把电流限制在 0.5A。0.5A 对 50Ah 电池来说只有 0.01C属于很小的电流。均衡速度确实慢但好处是安全、发热小。如果两节单元的容量差是 1Ah理论上用 0.5A 补充需要 2 小时。实际因为存在极化、充电效率损耗通常需要 2.5 到 3 小时。如果未来需要加快速度可以把输出回路的限流电阻减小把均衡电流提高到 1.5A 左右。但电流提高后MP2642GR-Z 的温度和开关矩阵 MOSFET 的发热会明显增加需要重新评估散热。4.2 均衡时间估算示例我习惯先做一个粗略估算避免实测时心里没底。假设两节电池在容量上差了 1Ah即低电压电池比高电压电池少 1Ah 电量。用 0.5A 充电理论时间T 1Ah / 0.5A 2h考虑磷酸铁锂充电末端电流逐渐减小实际时间大约在 2.5h 到 3h。如果压差只有 30mV 到 50mV对应的容量差通常不到 1Ah均衡时间可能在 1 到 2 小时左右。这个估算不用很精确只要数量级对就行。真正要控制的是不能无限均衡所以我加了 8 小时超时保护。4.3 实测数据和结果我用真实的 2S 磷酸铁锂电池组做了一轮验证。电池初始状态一节 3.28V另一节 3.24V静置压差 38mV。启动均衡后每 30 分钟记录一次数据时间上单元电压下单元电压压差均衡电流0min3.28V3.24V38mV0.52A30min3.28V3.25V30mV0.45A60min3.27V3.26V18mV0.30A90min3.27V3.26V12mV0.20A120min3.27V3.26V8mV0.12A在 90 分钟时压差已经降到 12mV低于 20mV 停止阈值但我在软件里加入了“确认机制”要求连续两次采样压差都低于阈值才停止所以实际运行到 120 分钟左右才切回 IDLE 状态。实测结束后的静置压差 8mV这个精度对于 2S 均衡来说已经足够。如果想继续压到 5mV 以内需要更长的均衡时间和更精准的采样电路但意义不大因为电池本身在充放电循环中也会有几毫伏的波动。4.4 效率与发热表现主动均衡的优势在效率上体现得很明显。MP2642GR-Z 作为同步降压转换器在 0.5A 输出电流下效率推算在 85% 到 90% 之间。输入功率大约 1.8W输出功率大约 1.6W损耗只有 0.2W 左右分摊在芯片和电感上温升非常小。作为对比如果用被动均衡电阻放掉这 1.6W 能量需要一个至少 2W 的电阻而且热量完全积在电池包内部。储能设备通常对温升敏感主动均衡的散热优势很实在。不过 MP2642GR-Z 的开关频率会直接影响损耗。频率高电感可以选小一点但开关损耗增大频率低效率高但输出纹波变大。我按手册典型应用选了 500kHz 左右的频率在体积和纹波之间取了平衡。实测输出纹波在 20mV 以内对 3.2V 电池系统来说完全可以接受。5. 调试中遇到的典型问题和排查方法5.1 电压采样读数漂移严重第一版板子刚上电的时候两节电池电压读出来相差 100mV但用万用表去量实际只有 20mV。这个问题折腾了我一晚上。最后定位到三个原因一是分压电阻精度不够两个通道的电阻网络不对称二是采样地线走线不合理ADC 参考地离电源地的噪声太近三是采样时刻正好落在 MP2642GR-Z 开关边沿附近电源噪声直接耦合进了模拟前端。解决办法是换 1% 低温漂电阻模拟地和功率地在 MCU 附近单点连接采样任务放在均衡通道稳定之后执行。软件里再加中值滤波和滑动平均问题基本消失。5.2 均衡一启动就被误判为过压这个坑很典型。均衡通道刚打开时MP2642GR-Z 给低电压电池灌入 0.5A 电流电池端电压瞬间抬升。磷酸铁锂内阻虽然不大但极化效应足以产生 30mV 到 50mV 的端电压跳变。如果保护阈值和均衡阈值太接近系统会把这种正常的极化电压当成过压立即关断均衡。处理方法是把过压保护阈值抬高到 3.9V明显高于磷酸铁锂充满电压 3.65V留足极化空间。同时把均衡停止阈值从 20mV 放宽到 30mV避免末端电流减小后电压回落造成的反复启停。5.3 开关矩阵切换时出现瞬时短路有次调试时均衡方向从下单元切换到上单元MP2642GR-Z 直接打嗝输入电流突然飙升。原因就是切换时序没做好下单元方向的开关还开着我就导通了上单元方向的开关瞬间把两节电池通过 MP2642GR-Z 输出回路短接了一部分。后来我把切换流程改成严格的四步关 MP2642GR-Z、断开所有开关、延时 200us、导通目标开关。同时把每个开关的控制信号加上下拉电阻确保 MCU 复位时开关处于全关状态。这个改动之后切换过程再也没有出现过电流尖峰。5.4 MP2642GR-Z 输出导致均衡过充最后一版调试还发现一个问题均衡后期低电压电池电压已经接近 3.5V但 MP2642GR-Z 的输出仍然固定是 3.6V所以均衡电流一直没有降到零时间长了有轻微过充风险。解决办法是在软件里增加“电压跟随停止”当检测到被充电电池电压超过 3.55V 时不管压差是否达到目标都强制停止均衡。硬件上 3.6V 的固定输出只是提供上限软件 3.55V 的停止点才是真正起保护作用的。5.5 常见问题速查表现象可能原因排查方法电压读数来回跳采样电阻精度差、地线噪声换高精度电阻采样时避开开关动作均衡启动后立即停止极化导致端电压抬升抬高过压阈值加入延时确认切换方向时电流尖峰MOS 管时序错误先全关再导通加死区延时均衡时间特别长限流电阻偏大、电流太小减小限流电阻或提高输出电流均衡后期电压反超浮充电压设定偏高加入软件截止电压强制停止6. 写在最后的实在话这套 MP2642GR-Z 加 PIC18F55K42 的方案本质上不是一个高深算法项目而是一个把测量、开关、保护这些基础功夫做扎实的工程实践。硬件上真正难的其实只有两个地方第一电压采样要准所有均衡判断都建立在这之上第二开关切换顺序要对时序错了轻则均衡失败重则短路打火。软件上最重要的一点是保护冗余哪怕均衡逻辑写错了8 小时超时和过压截止也能把系统拉回安全状态。我做这个验证板时踩得最深的一次就是盲目追求大均衡电流把限流电阻改小之后热到不敢摸。后来想明白了均衡本来就不是一个需要持续快速运行的功能小电流、长时间、早启动才是串联电池均衡最可靠的方式。如果你也在做类似的项目建议第一步先不要纠结拓扑和控制算法多花哨把采样电路和状态保护做扎实再往上加功能。等到压差稳定在 10mV 以内的时候你会发现前面那些折腾都是值得的。

相关新闻

从阿波罗11号看系统工程:冗余、实时计算与容错设计的极致实践

从阿波罗11号看系统工程:冗余、实时计算与容错设计的极致实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 1:34:03 阅读更多 →
FPGA Verilog源码工程化复用:从分类到高频模块实战

FPGA Verilog源码工程化复用:从分类到高频模块实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 1:34:03 阅读更多 →
LeetCode 76最小覆盖子串:滑动窗口双指针详解

LeetCode 76最小覆盖子串:滑动窗口双指针详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 1:34:03 阅读更多 →

最新新闻

Natron ErodeSmooth 节点完全指南:归一化功率加权腐蚀/膨胀滤镜的参数解析与源码级解读

Natron ErodeSmooth 节点完全指南:归一化功率加权腐蚀/膨胀滤镜的参数解析与源码级解读

音视频视频处理图形学桌面应用 【免费下载链接】Natron Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry. 项目地址: https://gitcode.com/gh_mirrors/na/Natron 点击查看 …

2026/10/15 3:32:41 阅读更多 →
GreaterWMS 移动端构建实战:基于 Quasar CLI 与 Cordova 的 Android 打包安装全流程

GreaterWMS 移动端构建实战:基于 Quasar CLI 与 Cordova 的 Android 打包安装全流程

后端前端企业应用 【免费下载链接】GreaterWMS This Inventory management system is the currently Ford Asia Pacific after-sales logistics warehousing supply chain process . After I leave Ford , I start this project . You can share your vacant warehouse space, …

2026/10/15 3:32:41 阅读更多 →
从Apollo-11代号项目到可复现工程:逆向拆解与改造指南

从Apollo-11代号项目到可复现工程:逆向拆解与改造指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 3:32:41 阅读更多 →
rospack depends1 报错排查:ROS依赖查询与环境变量配置实战

rospack depends1 报错排查:ROS依赖查询与环境变量配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 3:32:41 阅读更多 →
Vue2多页面应用模板:从vue.config.js到webpack配置的完整实践

Vue2多页面应用模板:从vue.config.js到webpack配置的完整实践

简介:Vue 2.0多页面应用模板面向需要同时维护多个独立页面的前端开发场景,旨在解决传统单页应用在官网、专题页等多入口项目中重复搭建构建流程、难以统一工程化配置的问题。资源包共32个文件,压缩后仅31KB,包含15个JavaScript脚本…

2026/10/15 3:32:41 阅读更多 →
NC65销售订单批量导入实战:从数据清洗到SQL脚本全攻略

NC65销售订单批量导入实战:从数据清洗到SQL脚本全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 3:31:40 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →