我正在设计一个电源,为固态激光器的两个光纤耦合二极管阵列供电。二极管阵列需要一个约 50 A 的电流控制源,并且电压降 < 2.2 V。二极管波长随温度漂移,因此我需要能够控制从二极管 tasing 阈值 (~12 A) 开始的电流输出最大为 50 A。
我的原型使用MAX20096。这部分乍一看似乎很理想:具有外部 MOSFET 控制的双同步降压驱动器和一个用于控制驱动器电流和状态的 SPI 接口。
我的设计参数是:
- 输入电压:8 伏标称(范围 7.3-8.4 V)
- 输出电压:2.2 伏
- 电流设置:50 A
- 输入纹波:1%
- 输出纹波:1%
- 开关频率:500 kHz
我的示意图如下。我的计算实际上是基于 MAX20078 数据表 - 这是同一器件的单通道版本,它的数据表更全面。MAX20096 数据资料主要关注 SPI 接口。我构建了一个原型板,因此关键部件(mosfet、电感器)位于电路板上而不是面包板上,以最大程度地减少噪声并允许我进行合理的热测量:
对于负载,我有两个与 100 毫欧电阻串联的大功率二极管。我在 Arduino 上构建了一个简单的程序来与 MAX20096 通信,这似乎工作正常。
MAX20096 允许我将电流设置为最大值的百分比。我设置了大约 2 A 的电流进行测试,结果不是我所期望的:
- 整个电路像疯了一样响起。噪音无处不在,而且非常糟糕,它淹没了 Arduino 和我的笔记本电脑之间的串行连接,所以一旦我启动它,我就无法可靠地从芯片读取状态。
- 开关频率很差。我设计为 500 kHz,但我测量的是 100 kHz。而且频率不够稳定,无法让示波器锁定它(可能由于振铃而感到困惑?)。我已经测量了形成频率选择的 R/C 网络的值,它们在公差范围内。
- 无论我选择多大百分比的最大电流,我总是从连接的电流表读取 3.1 A 的输出,并且占空比是相同的。如果我改变负载,3.1 A 会发生变化,所以这根本不是调节。
- 当我可以从 SPI 接口读取状态时,MAX20096 的当前读数随机从 0 到 9 A。这可能是周期性的,但我的读取速度不够快。
这是一个响铃的例子。顶部的黄色迹线是输出,读数约为 2 V。底部迹线是电感的输入,约为 8 V。这里的频率约为 96 kHz(示波器频率读数被振铃混淆):
波形振铃部分的特写显示它的振铃频率约为 4.5 MHz:
知道是什么原因造成的吗?
另外,如果有人有经验,我对 MAX20096 有一些具体的问题:
- 该芯片为每个通道使用独立的振荡器,我担心这可能会在输入电源上设置一个拍频,这可能需要更大的输入滤波器。我最好使用带有单个振荡器的芯片来使通道异相运行吗?我正在考虑使用MAX17559ACJ+并重新配置它以实现电流调节。这将需要更多部件来与微控制器接口。
- 这些同步转换器依靠体二极管在下部 MOSFET 中进行一些传导,以防止击穿。在大电流下,除了 MOSFET 之外,我最好使用一个大的外部二极管吗?
- 为什么开关频率差这么远?
- 为什么从 SPI 接口回读的电流如此之远?(我想知道过度的振铃是否会导致噪声返回到电流检测输入。我没有使用开尔文连接到电流检测电阻,可能会在这里捡到垃圾)。
- 来自 SPI 接口的电压回读也很遥远。我什至在频道关闭时从频道中读取随机值。也可能是因为这里的噪音。
无论如何,任何可以将我推向正确方向的想法都将不胜感激。这是我的第一个降压转换器,所以我确信我犯了一大堆新手错误。