项目:RJMD-R2101 H桥MOSFET电机驱动器
在本教程中,我们将探讨如何使用RJMD-R2101 H桥MOSFET电机驱动器控制直流电机。该项目将演示如何有效地利用IRFZ44N MOSFET与IR2101门驱动器结合,以控制电机的速度和方向。在本指南结束时,您将拥有一个功能齐全的电机控制设置,可以平稳地加速、刹车和停止电机。

随着我们的进展,我们将涵盖必要的硬件组件、接线说明和示例代码片段,以阐明一切是如何协同工作的。为了更直观的展示,我建议观看相关视频(视频时间为02:15)。

硬件解析
该项目的主要组件是IR2101门驱动器和IRFZ44N MOSFET。IR2101是一种高速驱动器,旨在以半桥配置驱动N沟道MOSFET。它允许对MOSFET进行高效的开关和控制,使电动机能够平稳运行。
IRFZ44N MOSFET作为开关元件,控制传递给电动机的功率。当被IR2101激活时,这些MOSFET能够处理高电流,提供驱动电动机所需的功率。这些组件共同实现了对电动机方向和速度的精确控制。
数据表详情
| 制造商 | 国际整流器 |
|---|---|
| 零件编号 | IRFZ44N |
| 逻辑/IO电压 | 10 V (VGS) |
| 供电电压 | 55 V (VDS) |
| 输出电流(每通道) | 49 A (最大) |
| 峰值电流(每通道) | 120 A (最大) |
| PWM频率指导 | 高达100 kHz |
| 输入逻辑阈值 | 2.0 V (VGS(th)) |
| 电压降 / RDS(开)/ 饱和度 | 0.025 Ω(最大) |
| 热限制 | 175 °C(最大) |
| 包裹 | TO-220 |
| 备注 / 变体 | 常用于H桥配置 |
- 确保MOSFET有适当的散热,以防止过热。
- 使用PWM进行速度控制,以实现平稳的电机运行。
- 验证电源电压不超过MOSFET的额定值。
- 确保在接线电机时极性正确,以避免损坏。
- 在电源附近使用解耦电容器以稳定电压。
接线说明

要连接RJMD-R2101电机驱动器,首先连接电源。将驱动器的VCC引脚连接到5V电源。GND引脚应连接到电源的地。接下来,连接控制引脚:第一个MOSFET的PWM信号应连接到引脚。PWM1_HIN1_PIN(即引脚9),第一个MOSFET的使能引脚应连接到EN1_LIN1_PIN(pin 8)。对于第二个MOSFET,将PWM信号连接到PWM2_HIN2_PIN(pin 3) 和使能引脚到EN2_LIN2_PIN(pin 2).

确保将电机端子连接到H桥的适当输出。如果您使用Arduino,请将PWM引脚连接到Arduino板上的指定引脚。例如,连接PWM1_HIN1_PIN到引脚9,EN1_LIN1_PIN连接到引脚8,依此类推。这个设置将使您能够有效地控制电机。
代码示例与演练
代码部分包括使用定义的引脚控制电机速度和方向的函数。以下是电机控制草图的摘录:
const int PWM1_HIN1_PIN= 9; // PWM pin for first MOSFET
const int EN1_LIN1_PIN= 8; // Enable pin for first MOSFET
在这一部分,我们定义用于控制第一个MOSFET的引脚。PWM1_HIN1_PIN用于速度控制,而EN1_LIN1_PIN启用电机驱动器。
void Motor(boolean direction, int speed=0) {
int speedPWM = map(speed, 0, 100, 0, 255);
// Control motor direction and speed here
}
此功能接受一个direction参数用于确定电机是顺时针旋转还是逆时针旋转。speed参数映射到PWM值,从而实现对电机速度的平滑控制。
void stop() {
digitalWrite(EN1_LIN1_PIN, LOW); // Disable first MOSFET
}
翻stop该功能通过将使能引脚设置为低电平来禁用电机,有效地停止电机中的任何电流流动。这确保了快速停止而不会损坏组件。
有关完整代码,请参阅文章下方加载的完整程序。
演示 / 期待什么
完成设置后,您应该观察到电机对来自Arduino的命令做出响应。电机将朝指定方向旋转,您可以使用PWM信号调整速度。需要注意的常见问题包括极性连接反向,这可能导致电机朝相反方向运行,以及浮动输入可能导致的不稳定行为。
在测试过程中,您可能还会注意到电机速度根据发送的PWM值而变化。确保所有连接牢固,以避免电源流动中断,这可能会影响性能(视频中的时间为05:45)。
视频时间戳
- 00:00- 项目介绍
- 02:15- 硬件组件概述
- 05:45- 电机控制演示
- 08:30- 代码演示和解释
图像
/*
* IR2101 电机控制电路图
* 控制直流电机的速度、刹车和停止
* 用于高侧和低侧的 IRF44ZN MOSFET
* 用于驱动 MOSFET 的 IR2101 驱动器
* 您可以从 http://robojax.com/RJT390 获取代码、PCB 生产的 Gerber 文件和接线图
*
* 由 Ahmad Shamshiri 于 2024 年 11 月 19 日撰写
* www.Robojax.com https://youTube.com/@robojax
*/
const int PWM1_HIN1_PIN= 9; // 必须是约一品脱的量
const int EN1_LIN1_PIN= 8;
const int PWM2_HIN2_PIN= 3; // 必须是约一品脱的量
const int EN2_LIN2_PIN= 2;
const boolean CW =1;
const boolean CCW =0;
void Motor(boolean, int); // 原型
void brake(); // 原型
void stop(); // 原型
void setup() {
Serial.begin(9600);
pinMode(PWM1_HIN1_PIN, OUTPUT);
pinMode(EN1_LIN1_PIN, OUTPUT);
pinMode(PWM2_HIN2_PIN, OUTPUT);
pinMode(EN2_LIN2_PIN, OUTPUT);
}
void loop() {
Motor(CW, 100);
delay(5000);
brake();
delay(3000);
Motor(CCW, 100);
delay(5000);
stop();
delay(3000);
Motor(CCW, 50); // 在顺时针方向以50%的速度
delay(5000);
brake();
delay(3000);
for(int i=0; i<=100; i++)
{
Motor(CCW, i);
delay(100);
}
delay(3000);
for(int i=100; i>=0; i--)
{
Motor(CCW, i);
delay(100);
}
brake();
delay(3000);
}
void stop()
{
Serial.println ("=== Stop");
digitalWrite(EN1_LIN1_PIN, LOW);
digitalWrite(PWM1_HIN1_PIN, LOW);
digitalWrite(EN2_LIN2_PIN, LOW);
digitalWrite(PWM2_HIN2_PIN, LOW);
}
void brake()
{
Serial.println ("=== Brake");
digitalWrite(PWM1_HIN1_PIN, HIGH);
digitalWrite(EN1_LIN1_PIN, LOW);
digitalWrite(PWM2_HIN2_PIN, HIGH);
digitalWrite(EN2_LIN2_PIN, LOW);
}
void Motor(boolean direction, int speed=0)
{
int speedPWM = map(speed, 0, 100, 0, 255);
Serial.print("Speed: "); Serial.print (speedPWM);
Serial.print("(");Serial.print(speed);Serial.print("%)");
if(direction){
Serial.print(" dir: ");Serial.println ("CW");
analogWrite(PWM1_HIN1_PIN, speedPWM);
digitalWrite(EN1_LIN1_PIN, HIGH);
digitalWrite(PWM2_HIN2_PIN, LOW);
digitalWrite(EN2_LIN2_PIN, LOW);
}else{
Serial.print(" dir: ");Serial.println ("CCW");
digitalWrite(PWM1_HIN1_PIN, LOW);
digitalWrite(EN1_LIN1_PIN, LOW);
analogWrite(PWM2_HIN2_PIN, speedPWM);
digitalWrite(EN2_LIN2_PIN, HIGH);
}
}
资源与参考
-
外部IR2101 Gate Driver Datasheetinfineon.com
-
外部IRFZ44N MOSFET datasheetinfineon.com
文件📁
其他文件
-
RJMD-R2101_H-Bridge_Motor_Driver_Manufacturing_Pack.zipH-Bridge MOSFET Motor Driver all three files that you may need to place order. Contains: PCB Layers Gerber zip, BMO excel file and coordinate file
RJMD-R2101_3_file_to Order.zip0.17 MB