使用功率MOSFET的H桥PWM直流电机驱动器

工业控制

1206人已加入

描述

 

H 桥(全桥)驱动器在驱动有刷直流电机等负载中非常流行,广泛用于机器人和工业。使用 H 桥驱动器的主要优点是效率高、旋转方向改变和制动电机。在这篇文章/视频中,我介绍了一个完整的 H 桥直流电机驱动器,它使用四个 IR3205 功率 MOSFET 和两个 IR2104 MOSFET 驱动器。理论上,上述 MOSFET 可以处理高达 80 A 的电流;然而,在实践中,如果 MOSFET 温度保持尽可能低,使用大散热器甚至风扇,我们可以期望获得高达 40 A 的电流。

电路分析
图1显示了H桥直流电机驱动器的原理图。很明显,电路的核心是两个 IR2104 MOSFET 驱动芯片。

驱动器

图 1:H 桥直流电机驱动器示意图

我选择了 4 IR3205 1进行切换。该 MOSFET 提供了对该应用至关重要的良好特性,非常低的 R DS(on)电阻和高电流处理能力。根据 IRF3205 数据表:“International Rectifier 的先进 HEXFET 功率 MOSFET 采用先进的处理技术来实现每硅面积极低的导通电阻。这一优势与 HEXFET 功率 MOSFET 众所周知的快速开关速度和坚固的器件设计相结合,为设计人员提供了一种极其高效和可靠的器件,可用于各种应用。TO-220 封装是所有商业工业应用的普遍首选,功耗水平约为 50 W。TO-220 的低热阻和低封装成本有助于其在整个行业中的广泛接受。

我选择了两个 IR2104 2来驱动 MOSFET。根据 IR2104 数据表:“IR2104(S) 是高压、高速功率 MOSFET 和 IGBT 驱动器,具有相关的高侧和低侧参考输出通道。专有的 HVIC 和锁存免疫 CMOS 技术可实现坚固的单片结构。逻辑输入与标准 CMOS 或 LSTTL 输出兼容,低至 3.3V 逻辑。输出驱动器具有高脉冲电流缓冲级,专为最小化驱动器交叉传导而设计。浮动通道可用于驱动高端配置中的 N 通道功率 MOSFET 或 IGBT,其工作电压范围为 10 至 600 V。”

IR2104 的好消息是该芯片兼容 3.3-V 和 5-V 逻辑电平。图 2显示了芯片的基本接线图。很明显,芯片和负载(电机)的电源不需要相同;然而,这两种电源有一个共同点。

驱动器

图2:IR2104 MOSFET驱动芯片接线图

C1、C3、C4、C5、C6、C7 和 C9 已用于降低噪声。R1 和 D2、R2 和 D3、R3 和 D8 以及 R4 和 D9 已用于抑制在 MOSFET 开/关时可能由电感器和电容器引入的振铃和寄生效应。不要忘记 MOSFET 在其栅极引脚上引入了一个电容。1N4148 二极管对栅极电容放电。

D4、D5、D6 和 D7 3用于抑制直流电机的反向电流尖峰。内部反向肖特基二极管已嵌入 MOSFET;然而,使用这些外部肖特基二极管也可以降低内部二极管的应力。根据数据表和应用要求选择 C2、C8、D1 和 D10。

P1 是一个五针 XH 连接器,用于将芯片的电源和控制信号施加到板上。K1 是一个 KF45 电源连接器,用于将电机和电机的电源线连接到板上。

PCB 布局
图 3显示了 H 桥直流电机驱动器的 PCB 布局。它是两层PCB板,所有元件封装都是通孔的。

驱动器

图 3:H 桥直流电机驱动器的 PCB 布局

图 4显示了 PCB 板从顶部和底部的 3D 视图。

驱动器

图 4:电路板顶部和底部的 3D 视图

我没有 IR2104 4和 IRF3205 5(组件库)的原理图符号和 PCB 封装,因此我使用了 SamacSys 组件库并使用 SamacSys Altium Designer 插件安装了缺少的库(图 5)。SamacSys 为几乎所有著名的电子设计软件提供了插件(图 6)。有趣的是,所有服务都是免费的,图书馆遵循 IPC 标准。您只需要下载并使用您喜欢的 CAD 插件。6另一种选择是从 ComponentSearchEngine.com 下载库并导入它们。

驱动器

图 5:SamacSys Altium 插件中的选定组件

驱动器

图 6:SamacSys 插件支持的电子设计 CAD 软件

阻焊层没有完全覆盖高载流轨道。这使您可以通过焊接或使用一些粗铜线来加强轨道。图 7显示了这些部分暴露的轨迹。

驱动器

图 7:部分裸露的高载流 PCB 走线

组装和测试
图 8显示了组装好的单元,图 9显示了测试环境。我已经对 Arduino Uno 进行了编程来控制电机驱动板。我还在原型板上构建了一个简单的键盘,以便能够改变电机的速度(使用 PWM)和旋转方向。

驱动器

图 8:组装好的 H 桥直流电机驱动器

驱动器

图 9:直流电机驱动板、Arduino Uno 和测试台

所有按钮均为低电平有效,并使用 Arduino 的内部上拉电阻。您可以考虑下面的 Arduino 代码:

#include

int PWM_Value;

字节 Enable_Pin = 13;

字节 PWM1_Pin = 11;

字节 PWM2_Pin = 10;

字节 PWM_Pin = 11;

按钮 UP(9, 25, true, true);

Button Down(8, 25, true, true);

左按钮(7、25、true、true);

按钮右(6、25、真、真);

 

无效设置(){

 

pinMode(Enable_Pin,输出);

pinMode(PWM1_Pin,输出);

pinMode(PWM2_Pin,输出);

 

UP.开始();

Down.begin();

Left.begin();

对。开始();

 

digitalWrite(Enable_Pin,低);

PWM_Value = 0;

 

模拟写入(PWM1_Pin,PWM_Value);

模拟写入(PWM2_Pin,PWM_Value);

}

 

无效循环()

{

 

digitalWrite(Enable_Pin, HIGH);

UP.read();

Down.read();

Left.read();

对.read();

 

if (UP.wasReleased() && PWM_Value < 250)

{

PWM_Value +=5;

}

 

if (Down.wasReleased() && PWM_Value > 5)

{

PWM_Value -=5;

}

 

if (Left.wasReleased())

{

PWM_Pin = PWM1_Pin;

模拟写入(PWM2_Pin,0);

}

 

if (Right.wasReleased())

{

PWM_Pin = PWM2_Pin;

模拟写入(PWM1_Pin,0);

}

 

模拟写入(PWM_Pin,PWM_Value);

}

材料清单
图 10显示了材料清单。

驱动器

图 10:H 桥直流电机驱动器的材料清单

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分