简介:这份资源是2011年全国大学生电子设计竞赛A题「开关电源模块并联供电系统」的完整设计论文,面向参加电子设计竞赛的高校学生及指导教师,也适合研究直流均流电源的工程人员参考。压缩包内为1个docx文档,约617KB,内容涵盖题目要求、方案论证与比较、模块选型、电路原理与测试结果等完整章节。论文以MSP430单片机为控制器、LM2576为电源芯片,对比了主从法、平均电流法、热应力法与最大电流均流法的优劣,并给出自动均流、过流保护及自动恢复的实现思路与实测数据。已有804人学习,读者可据此复盘赛题指标、理解均流方案取舍,并借鉴硬件选型与调试经验。
1. 均流不是「两个电源各出一半」:并联供电系统里最反直觉的那条约束
很多人第一次看并联供电的题目,会下意识觉得:两路电源并联,把输出电压都调到 8V,负载自然会按内阻分电流,均流是个「顺带」的结果。真上手就会发现完全不是这么回事——两路独立闭环的稳压源并联,谁的内阻略小、谁的基准略高,谁就抢走绝大部分电流,另一路几乎空载,甚至因为输出被抬高而进入限流。这就是开关电源模块并联供电系统里最核心的矛盾:电压源不能直接并联。2011 年全国电子设计竞赛 A 题要解决的正是这件事:在 8.0±0.4V 输出、总电流 1.0A 到 4.0A 变化、负载电阻任意调整的条件下,让两路模块按 1:1、1:2 甚至任意指定比例自动分配电流,相对误差压到 2% 以内,还要带 4.5A 短路保护与自动恢复。这套方案用 MSP430F149 做控制器、LM2576 做功率级、INA270 高边测流、ADS1232 采样、DAC7811 给反馈,把「均流」从玄学变成了可测量、可闭环的工程问题。搞懂它,等于搞懂了多电源并联从拓扑到控制律的整条链路。
2. 均流方案选型:为什么最大电流法能在四天三夜里活下来
2.1 四种均流法的本质差异
题目正文把常见均流方法列了四种,这不是凑字数,而是四种不同的「谁说了算」的哲学。主从法里,一个模块当电压源定电压,其余当电流源定电流,结构最简单、精度也不差,但主模块一挂整个系统就崩,没有冗余——这在竞赛现场是致命的,因为一块 LM2576 烧了就得重来。平均电流法给每个模块接一条公共均流母线 CSB,母线电压是各模块电流采样电压的平均值,各模块拿自己的 Ui 和 Ub 比,误差放大后调自己的输出。它能精确均流,但那条母线是单点故障:母线短路或任一模块掉线,CSB 电压被拉低,所有模块跟着下调输出,可能一路跌到下限,系统整体失效。热应力法测温度来分配电流,温度高的少出、温度低的多出,思路巧妙但响应慢,热惯性决定了它跟不上负载突变,竞赛里负载是手动拨电阻的,根本等不起。
最大电流法(也叫主从自动均流、最大值均流)是这四种里唯一同时满足「自动」「冗余」「快」的。它的核心是一套最大值比较器:每一时刻,把输出电流最大的那个模块的采样电压 Ui 送上均流母线 CSB,母线电压 Ub 就等于当前最大电流对应的电压。其余模块拿自己的 Ui 和 Ub 比,发现自己比最大值小,就调高自己的输出,直到追平。注意这里没有固定的主模块——谁电流大谁临时当主,主模块失效了,次大的自动顶上,冗余是天然的。这个「动态主从」的性质,是它被选中的根本原因。
2.2 最大电流法的闭环结构
把上面的文字翻译成控制框图,大概是这么一条链路:每路 LM2576 输出电流经 INA270 高边采样变成电压 Ui,Ui 送进最大值比较网络得到 Ub,Ub 与各路 Ui 的差值经误差放大器放大,去修正该路 DAC7811 给出的反馈基准,DAC 再改变 LM2576 的 Feedback 端电压,从而调整该路输出电流。这是一个典型的「外环均流、内环稳压」双环结构:内环保证每路输出稳定在 8V 附近,外环通过微调基准让电流按比例分配。
用伪代码描述单路的均流调节逻辑,能看清它到底在算什么:
# 单路均流外环(示意,运行在 MSP430 主循环里) Kp = 0.8 # 比例系数,现场调出来的经验值 Ui = read_ina270(channel) # 本路电流采样电压 Ub = read_csb_bus() # 均流母线电压 = 各路 Ui 的最大值 target_ratio = get_ratio(channel) # 题目指定的分配比例,如 1:2 中的 1 或 2 # 按比例折算本路应追的目标电压 U_target = Ub * target_ratio / max_ratio err = U_target - Ui dac_code += int(Kp * err) # 增量式修正 DAC 基准 dac_code = clamp(dac_code, 0, 4095) # 12 位 DAC 限幅 write_dac7811(channel, dac_code)这段逻辑的关键在U_target那一行:如果只是 1:1 均流,目标就是 Ub 本身;但题目要求 1:2,就得把母线电压按比例折算,让比例小的那一路去追一个更低的目標。Kp不能太大,否则两路互相追、来回振荡,现场表现为电流表指针抖;太小则负载突变后追不上,误差超标。这个系数是四天三夜里靠示波器和万用表一点点试出来的,没有公式能直接给。
2.3 为什么不用纯硬件均流
有人会问:既然最大电流法有成熟硬件方案(专用均流芯片),为什么还要单片机介入?因为题目要的是「按指定比例」自动分配,而且比例要能在 1:1、1:2 之间切换,还要在 1.5~3.5A 范围内任意指定。纯硬件均流芯片通常只做等比例均流,比例固定。用 MSP430 采样 + DAC 反馈,比例就是软件里的一个系数,改一行代码就能换模式,这是软件定义均流带来的灵活性,也是这套方案能覆盖题目全部指标的前提。
3. 功率级与采样链:LM2576 的 Feedback 脚是怎么被「骗」的
3.1 LM2576 的稳压机理与可调输出
LM2576-ADJ 是降压型开关稳压芯片,内部有 52kHz 固定频率振荡器和 1.23V 基准。它的稳压逻辑很朴素:4 脚 Feedback 端的电压被内部环路死死稳在 1.23V,芯片通过调整输出脉宽来维持这个平衡。外部只要用 R1、R2 组成分压网络,把输出电压分压后接到 Feedback,输出电压就由分压比决定。流入 Feedback 端的电流近似为零,所以改变 R2 就能改变输出。这套方案里,DAC7811 的输出并不是直接驱动负载,而是注入到反馈分压节点,等效于「篡改」了反馈电压——单片机说「你现在是 1.2V」,芯片就信了,去调脉宽。这是整个系统能用 12 位 DAC 控制 3A 功率级的根本技巧:控制的是基准,不是功率。
3.2 高边测流为什么选 INA270
电流检测放在高边(电源正极侧)而不是低边,是为了避免负载接地被破坏——低边采样会在负载和地之间插一个电阻,负载的「地」就不再是系统地,多路并联时共地会乱。INA270 的共模输入范围是 -16V 到 +80V,能在高共模电压下测很小的分流压降,正好解决「输出电压 8V、分流电阻压降只有几十毫伏」的测量难题。题目正文特别提醒:1 脚和 8 脚两端的输入电压范围是 50mV 到 100mV。这个细节很关键——分流电阻选大了,功耗和压降影响效率;选小了,信号淹没在噪声里,ADS1232 采不准。50~100mV 是精度和损耗的折中点。
3.3 ADS1232 与 DAC7811 的分工
ADS1232 是 24 位低噪声 ADC,题目正文写的是「通过 ADS1232 模块实现数据采集」,用它采 INA270 的输出,分辨率足够把 2% 的电流误差分辨出来。DAC7811 是 12 位串行乘法 DAC,工作电压 2.7~5.5V,给开关电源提供反馈基准。这里有个容易翻车的点:DAC 的输出范围必须覆盖 LM2576 反馈节点需要的电压区间,否则调到头也追不上目标电流。设计时要先算清楚:8V 输出对应反馈节点 1.23V,DAC 注入后节点电压的可调范围要留足余量,让 1:2 这种大比例差也能拉到。
4. 软件控制律与保护逻辑:采样、判断、修正的时序
4.1 主循环的时序安排
软件部分的功能,题目正文写得很克制:控制 DA 输出电流源的控制电压,对实际电流取样,采用预设和步进两种方法改变控制电压,步进值可任意设置。翻译成工程语言,主循环大概是:初始化 → AD 采集各路电流 → 判断电流大小 → 设置工作方式 → 比较 DA 输出控制信号 → 达到控制目的 → 液晶显示。这个顺序不能乱,尤其是「判断电流大小」必须在「设置工作方式」之前,因为保护逻辑要抢在调节之前判断是否过流。
// MSP430 主循环骨架(示意) void main_loop(void) { init_adc(); init_dac(); init_lcd(); while (1) { i1 = ads1232_read(CH1); // 采第一路电流 i2 = ads1232_read(CH2); // 采第二路电流 total = i1 + i2; if (total > 4.5) { // 保护阈值 4.5A,允许 ±0.2A 偏差 lm2576_off(); // 拉低 ON/OFF 脚,切断输出 protect_flag = 1; } else if (protect_flag && total < 4.0) { lm2576_on(); // 电流回落后自动恢复 protect_flag = 0; } balance_loop(i1, i2); // 均流外环,见第 2 章伪代码 lcd_show(i1, i2, total); } }保护用的是 LM2576 的 5 脚 ON/OFF,逻辑电平直接关断芯片,比软件调 DAC 快得多,也更可靠。自动恢复靠的是回差判断:超过 4.5A 关断,回落到 4.0A 以下才重新打开,中间留 0.5A 死区,防止在阈值附近反复开关导致打嗝。
4.2 预设与步进两种调节方式
预设是直接给一个 DAC 码,适合已知负载的大致范围;步进是每次加/减一个固定步长,适合精细逼近。两种方式并存的好处是:粗调用预设快速到位,细调用步进压误差。步进值可设置,意味着调试时可以先大步长快速收敛,再小步长精修,这是现场调 2% 误差指标时最实用的手段。
5. 调试避坑:那些让电流表指针乱抖的瞬间
5.1 现象:1:2 均流怎么调都调不准,1:1 却正常
原因:比例折算时把母线电压当成了「总和」而不是「最大值」。最大电流法里 Ub 反映的是最大那一路的电流,1:2 模式下,比例大的那一路追 Ub,比例小的那一路要追 Ub/2,如果两路都按 Ub 追,就退化成 1:1 了。解决:在U_target计算里显式乘比例系数,并且确认哪一路是「大比例」哪一路是「小比例」,接反了误差会翻倍。
5.2 现象:负载突变时电流表指针来回抖,稳定不下来
原因:均流外环的 Kp 太大,两路互相追、形成正反馈振荡。解决:先把 Kp 降到能稳住的最小值,再逐步加;同时给 DAC 增量加限幅(每次最多改几个码),让调节是「小步快跑」而不是「大步跳」。示波器看 DAC 输出波形,如果是一条来回摆的锯齿,就是 Kp 大了。
5.3 现象:效率测出来只有 60% 出头,压线过
原因:分流电阻压降和 LM2576 自身损耗叠加。INA270 要求分流压降 50~100mV,如果选了 100mV 且电流 2A,光分流电阻就耗 0.2W;再加上 LM2576 在 8V/3A 下的开关损耗,效率很容易掉。解决:分流电阻取偏小值(靠近 50mV),靠 ADS1232 的高分辨率补回信噪比;同时确认电感、续流二极管选型匹配,别用普通整流管硬扛。
5.4 现象:短路保护触发后不恢复,或者反复打嗝
原因:回差死区设得太小,或者恢复判断用的是瞬时值而不是滤波后的值。解决:关断阈值 4.5A、恢复阈值 4.0A,中间 0.5A 死区;采样值做几次滑动平均再判断,避免单次尖峰误触发。
5.5 现象:两路输出电压都到了 8V,但总电流上不去
原因:两路都在「稳压」而不是「稳流」,负载一重,两路同时限流,谁都不肯多出。解决:确认均流外环真的在起作用——把其中一路的 DAC 基准手动偏一点,看另一路是否跟着补,如果不动,说明外环没闭合,检查 CSB 母线和误差放大链路。
6. 从「能跑」到「可信」:均流系统的设计取舍与验证方法
这套方案最值得琢磨的取舍,是「用软件换硬件」。最大电流法本身有专用芯片,但题目要求比例可编程,逼着设计者把均流环搬进单片机。代价是引入了采样延迟和软件振荡风险,收益是比例、步进、保护阈值全变成参数。这个取舍在竞赛场景下是对的,因为四天三夜改硬件来不及,改代码却很快;但在产品场景下要反过来想:软件环路的稳定裕度、ADC 噪声、DAC 单调性,每一项都可能成为批量一致性的隐患。
验证一套均流系统是否可信,我一般会按三层走。第一层是静态精度:固定负载,分别在 1:1、1:2 下测两路电流,算相对误差,看是否稳定在 2% 以内,且多次测量重复性好。第二层是动态响应:手动切换负载电阻,用示波器看两路电流的跟踪过程,重点看超调量和恢复时间,超调大说明 Kp 偏大,恢复慢说明 Kp 偏小。第三层是故障注入:人为短接输出看保护是否在 4.5A 附近动作,再撤掉短路看是否自动恢复,反复几次确认不死锁。这三层过了,才敢说系统「可信」而不只是「能跑」。
| 验证层 | 测什么 | 判据 | 常见失败表现 |
|---|---|---|---|
| 静态精度 | 1:1、1:2 下各路电流 | 相对误差 ≤2% | 比例接反、折算错 |
| 动态响应 | 负载突变时电流跟踪 | 无明显持续振荡 | Kp 过大、DAC 限幅缺失 |
| 故障注入 | 短路保护与恢复 | 4.5A±0.2A 动作、能恢复 | 死区太小、反复打嗝 |
有个血泪教训值得记下来:当年调 1:2 均流时,一直以为是算法问题,最后发现是 INA270 两路的分流电阻焊错了一个阻值,采样本身就偏了,算法再准也白搭。从那以后我每次上电前都强制先用万用表量一遍两路分流电阻和基准电压,确认硬件对称再调软件。均流系统的误差是硬件和软件误差的叠加,先排除硬件,再谈控制律,顺序反了就是给自己挖坑。希望这套从拓扑到控制律的拆解,能帮你在下一次并联供电设计里少走几个来回。
本文还有配套的精品资源,点击获取