高压 PWM 电机控制器 - Mosfet Explode

电器工程 场效应管 脉宽调制 直流电机 大电流 大功率
2022-01-06 05:06:40

我已经搜索了每个帖子来寻找这个问题的答案。我已经构建了一个电机控制器电路,如图所示。 我使图表尽可能准确。添加了 mosfet 上的二极管,使 mosfet 符号看起来就像数据表中的符号一样。 如您所见,这是一个使用 Arduino UNO 板的非常简单的 PWM 电路。电位计脚踏板连接到模拟输入之一,用于确定数字输出引脚 6 上 pwm 输出的占空比。电路链接

该电机是 motenergy 制造的这种类型中最小的 48v 电机,但与我见过的其他电路相比,这是一个非常大的电机。它可以在启动时轻松拉动约 200 安培的电流。

电路的工作原理-当车辆被抬起以使车轮不接触地面时。在这种状态下,电机很容易旋转,并且不会消耗那么多电流。当车轮着地时,当您开始踩踏板时,MOSFET 就会爆炸。我已经建立了这个电路大约 4 次。我什至在一个版本中并行使用了 18 个 MOSFET,所有 18 个都立即爆炸。(200/18 = 约 7 安培/mosfet)每个 mosfet 应处理 32 安培。

我们终于从 alltrax 买了一个电机控制器,车辆工作正常,但我决心找出为什么我自己的电机控制器不工作。我喜欢电子产品,多年来建造了许多困难的电路。在我发现自己做错了什么之前,我将无法入睡。

我与 Alltrax 的一位技术人员交谈,他说他们的控制器不过是一堆 MOSFET 和电容器。他说电容器可以防止 MOSFET 爆炸,但他不知道它们是如何连接到电路中的。我认为他掌握了我丢失的信息。

那么,谁能告诉我我做错了什么?我应该如何添加电容器来解决这个问题?会不会是频率?我们修改了 Arduino 上的计时器,使我们的 PWM 频率约为 8000 赫兹,但 Alltrax 控制器的工作频率高达 18,000 赫兹,令人惊叹。我知道 18k 在电机控制器中很小,但我认为大型电机需要更小的频率。

此外,在您说由于它们之间的细微差别而不能并联连接 MOSFET 之前,我使用了 7 英寸的 18 号线将每个并联连接。小线将充当微型电阻器,并确保每个人共享电流负载。

非常感谢您的回复。

4个回答

是应该从您的问题链接的数据表。我不应该去找它。

每个 MOSFET 应处理 32 安培

那是 \$V_{GS}=10\$V


您将 \$V_{GS}\$ 设置为 \$5V×\frac{R_2}{R_1+R_2}=4.54V\$,您确实需要尽可能多的电压(5V 似乎是您的最大值)。如果我是你,我会将 \$R_1\$ 更改为 10~50Ω,将 \$R_2\$ 更改为 100k~1MΩ。因为如果您没有完全打开 MOSFET,那么它的电阻会太大并且......爆炸。

\$V_{GS}=10V\$,\$R_{DS(on)}\$ 最大为 35mΩ

\$P=I^2×R=(32A)^2×0.035Ω=35.84W\$,这意味着~36W是\$V_{GS}=10V\$时的预期功耗

根据数据表,\$V_{GS}=5V\$,\$R_{DS(on)}\$ 最大为 45mΩ。

\$35.84W=I^2×0.045Ω\$,如果我们移动 I,我们得到:\$I=\sqrt{\frac{35.84}{0.045}}=28.2A\$,所以你可以期望如果您固定电阻值,请安全地让 28A 通过 MOSFET 。你绝对应该为 MOSFET 买一个散热器。甚至可以用风扇主动冷却。

我们修改了 Arduino 上的计时器,因此我们的 PWM 频率约为 8000 赫兹

您不需要那么高,800Hz 就可以接受,这就是常见的 BLDC 驱动器 (ESC) 的切换方式。(如果我没错的话)。


您要做的是用串联的电阻器为栅极充电,它看起来就像下图一样,我们可以使用该模型进行进一步的方程式。

门的电容(\$C_{iss}\$) 的最大值为\$1040pF\$

电阻器和 MOSFET 组成了这个电路:

RC电路

\$C=C_{iss}×3=3120pF\$ 因为你有 3 个并行。

\$R=R_1||R_2=909Ω\$

\$Vs=4.54V\$

电容器上的电压遵循以下等式: $$V_c=V_e×(1-e^{\frac{-t}{RC}})$$ 其中 \$V_c\$ 是电容器上的电压,\$V_e \$ 是你给它喂的东西,在我们的例子中它是 \$Vs=4.54V\$。

你正在发送 PWM,我会为你做一个绝对最坏的情况,当你尝试做analogWrite(1)时,这是一个 \$\frac{1}{256}\$ 的占空比。所以你的信号开始变高直到它以该占空比和 8kHz 结束的时间是 \$\frac{1}{256}×\frac{1}{8000}=\$ 488.3 纳秒。

让我们将数字代入上面的等式,看看栅极处的电压是多少。$$V_c=4.54V×(1-e^{\frac{-488.3×10^-9}{(909)×(3120×10^-12)}})=0.71V$$

MOSFET 在最小 1V 和最大 2.5V 时开始打开。因此,在这种最坏的情况下,您甚至无法打开大门。所以一直关闭。


我真正需要指出的另一件事是您的 MOSFET 断开的最可能原因是因为当您切换时,由于巨大的电阻器和如此多的栅极电容,您切换速度非常慢。这意味着当 MOSFET 即将切换时,它们会通过大量电流,同时承受大量电压。并且 \$P=I×V\$ => 真的真的真的很热。

看这张图片:

开关损耗

如您所知,您不想成为蓝线和红线交叉的地方。无论开关频率如何,该过渡的宽度都是相同的,因此您切换的次数越多,在这种痛苦的过渡中花费的时间就越多。这称为开关损耗。它与开关频率成线性关系。而你的高电阻、高电容、高频开关,很可能会让你一直停留在那个过渡阶段这等于爆炸或破坏 MOSFET。


我真的没有时间做更多的计算,但我相信你明白了它的要点。如果你想玩,这里是一个示意图的链接。应该这样做!.


我对你的最后建议是获得一个 MOSFET 驱动器,这样你就可以将几个安培泵入栅极,现在你正在泵入毫安。


顺便说一句,医生电路,关于你的最后一段,这只是 BJT 晶体管的问题,它们温度越高,电流越大,MOSFET 越热,电流越小,所以它们不需要任何特殊的平衡,它们会自动平衡。


继续,上升时间和下降时间。

我在上面的例子中很刻薄,8kHz 开关和 1/256 占空比。我会更友善,看看 50% 占空比 = 128/256。我想知道并告诉你,你有多少时间处于痛苦的过渡期。

所以我们得到了以下与痛苦过渡相关的参数:

\$t_{d(on)}\$ = 开启延迟时间
\$t_r\$ = 开启上升时间
\$t_{d(off)}\$ = 关闭延迟时间
\$t_f\$ = 关断下降时间

我会做一些令人讨厌的近似,我会假设米勒平台不存在,我会假设 MOSFET 上的电压在开启时线性下降,在关闭时线性增加。我假设流过 MOSFET 的电流在开启时线性增加,在关闭时线性减少。我假设你的电机在负载为 50% 的稳定状态下消耗 200A 电流,比如你的身体。所以 200A 当你在它上面并加速时。(电机输出的扭矩越大,按比例消耗的电流就越多)。

现在到数字。从数据表中,我们知道以下最大值:

\$t_{d(开)}\$ = 40ns
\$t_r\$ = 430ns
\$t_{d(关)}\$ = 130ns
\$t_f\$ = 230ns

好吧,首先我想知道上述转换需要多少 8kHz 周期。转换每个周期发生一次。延迟并不会真正影响转换(除非我们以非常高的频率进行切换,例如 1MHz)。

50% 占空比和 fs 在 8kHz = \$\frac{t_r+t_f}{\frac{1}{8000}} = 0.00528 = 0.528\%\$ 的过渡时间我想我会看到一个更大的值,这是忽略了米勒高原和寄生的东西,也忽略了缓慢的栅极充电。这也忽略了上升时间和下降时间实际上是信号的 10% 到 90%,而不是我在计算中假设的 0% 到 100% 的事实。所以我将 0.528 乘以 2 以使我的近似值更接近现实。所以1%。

现在我们知道我们在这种痛苦的过渡中花费了多少时间。让我们看看它到底有多痛苦。

\$P = \frac{1}{T}\intop_0^TP(t)dt\$

\$V_r(t)=48V(1-\frac{t}{430ns})\$
\$I_r(t)=\frac{200A}{430ns}t\$

\$V_f(t)=\frac{48V}{230ns}t\$
\$I_f(t)=200A(1-\frac{t}{230ns})\$

\$P = P_r+P_f\$
\$P_r = \frac{1}{t_r}\intop_0^{t_r} V_r(t)×I_r(t) dt\$
\$P_f = \frac{1}{t_f }\intop_0^{t_f} V_f(t)×I_f(t) dt\$

\$P_r = 1600W\$哈哈!
\$P_f = 1600W\$相同的答案,奇怪
\$P = P_r + P_f = 3200W\$

现在让我们回到您在这个 3200W 转换中花费的频率。当现实开始时,它大约是 1%。(我认为它会更频繁)。

\$P_{avg}=3200W×1\%=32W\$ 嗯,我再次认为我会看到更多……更大的东西。


而且...让我们计算其他 99% 的时间!我完全忘记了。这里是大爆炸!我知道我忘记了一些东西。

\$P=I^2×R=(200A)^2×(0.045Ω)=1800W\$ 而你有 49.5% 的时间处于这种导电模式。所以你的总\$P_{50\%@8kHz}=32W+1800W×49.5\%=923W\$

并联 3 个 MOSFET 时,每个 MOSFET 的功率为 \$32W+\frac{1800W×49.5\%}{3}=329W\$。那仍然...... EX-PU-LOSIVE!

我们去吧。那里有你要找的炸弹。EX-PU-LOSION

这是我最后一次编辑。

首先,您选择了错误的 FET。

FQP30N06 在 Vgs=10V 时具有 40 mOhm RdsON。在 Vgs=5V 时没有指定,这意味着它不会工作。

选择 MOSFET 是一种折衷方案:具有大硅片和低 RdsON 的大 MOSFET 具有大量电容并且开关速度很慢。较小的 MOSFET 开关速度更快,但 RdsON 更高。

但是,您将以 500-1000 Hz 的频率进行切换,并且您的电流很大,因此 RdsON 比速度更重要。

因此,您应该选择具有非常低 RdsON(如几毫欧)的 To-220 MOSFET(用于冷却),指定为 Vgs ......请继续阅读。

其次,您在指定用于 10V 栅极驱动的 FET 上使用 5V 栅极驱动,因此它没有完全打开。因此它变热并爆炸。任何人都可以通过查看数据表看到这一点。

考虑到电流,我会使用 12V 栅极驱动以使 RdsON 尽可能低。因此,您可以选择 5V 或 10V Vgs 指定的 FET,没问题。

好的。现在你有一堆 FET,你需要用 12V 驱动它们。显然,您需要一个能够向栅极输出几安培电流的驱动器以快速打开和关闭它。在 mouser/digikey 上查看“MOSFET 驱动器”类别,有大量合适的产品可以接受来自您的 arduino 的 5V 电压并正确驱动 FET。

您将需要一个 12V 电源,但这不是问题,因为您有一些 48V,使用 DC-DC 转换器。

第三,你需要抛弃 arduino。

这种控制器需要一个电流限制,这需要在 MOSFET 爆炸之前(而不是之后)起作用。

这样做的方法非常简单。你放了一个电流传感器(这里很可能是霍尔效应)和一个比较器。当电流超过阈值时,PWM 复位,稍等片刻,然后恢复。当电流超过一个更大的阈值时,这意味着有人将螺丝刀插入输出端子,因此 PWM 会永久停止,并且不会恢复。

这需要以与软件不兼容的速度发生。

大多数用于电机控制的微控制器都包括连接到 PWM 单元的模拟比较器,用于此特定目的。arduino 上的 micro 不是其中之一。

现代 MOSFET 需要快速切换,以避免在正反馈(硅内部)导致破坏的危险区域中徘徊。阅读此答案的最后几段以了解 NASA 论文的解释。

快速总结:栅极电阻 ----- 1Kohm ------ 太大了。使用电源驱动器 IC,在其 12/15/18 伏 VDD 上带有 0.1UF 旁路电容,这样您的 MOSFET 栅极可以快速充电以实现快速开启。

由于安全工作区 SOA 额定值,MOSFET 会自行损坏,其中电压 * 电流 * 脉冲宽度定义了功耗。

假设 FET 结为 10U 深 (SWAG),则 FET 有源区域的热时间常数为 1.14 微秒 TAU。使用米勒乘法,开启时间将远远超过该时间,FET 上的电压为 48 伏,并且没有电流限制。

====================================

编辑 2018 年 3 月 18 日

NASA 在几个正在进行的设计中诊断出 MOSFET 故障是由于使用了现代 MOSFET(NASA 的文章出现在 2010 年;汽车行业在 1997 年发现了这种故障机制)。旧技术 MOSFET 以前的负温度系数行为已被推入更高电流区域,而现在在中等导通区域中存在一个新的不安全区域。NASA 让这些项目恢复到旧技术,因此可以构建可靠的系统。

这在今天意味着什么?非常简单

--- 不要在切换区域逗留超过 1 微秒。---

--- 快速给栅极电容充电,包括栅漏电容。---

NASA 论文 [2010 年发表] 标题是

“Power MOSFET Thermal Instability Operation Characterization Support”和此处引用的关键句“现在正在生产的设计允许电荷载流子主导区域(曾经很小并且在关注区域之外)变得重要并在安全工作区域内( SOA)”。

关于较旧的(稳健的 MOSFET)设计,我摘录了这句话:

“早期的 MOSFET 主要在迁移率电荷主导区域运行。在保持相同的栅极电压的同时,迁移率电荷主导区域会随着温度升高而减少电流,进而降低电流,从而使系统具有负反馈远离热失控。事实上,当新的功率 MOSFET 具有高栅极电压时,这些部件以迁移率电荷为主。制造商不言而喻的意图是将 MOSFET 保持在迁移率电荷主导的区域,因为它们在用作“

没有电流感应,因此您的电机驱动器没有电流限制。零转速下的预期电机电流可能是数千安培,因为大型直流电机的绕组电阻可能是毫欧。除非您想使用大量的 MOSFET 并且仍然有炸毁它们的风险,否则您应该应用某种形式的电流限制。您的应在示波器上检查栅极驱动。它可能会太慢,导致过度的 MOSFET 发热。考虑驱动芯片或某种分立驱动电路。您的电机驱动像大多数一样是硬开关,因此具有与频率成正比的开关损耗. 尝试降低 PWM 频率测试是否有干扰的音频噪声。您可以大大降低 F 而不会产生太多的呜呜声。这会冷却 fets。