项目:RJMD-R2101 H桥MOSFET电机驱动器
喺呢個教學入面,我哋會探討點樣用RJMD-R2101 H-Bridge MOSFET馬達驅動器控制直流馬達。呢個項目會示範點樣有效利用IRFZ44N MOSFET同IR2101閘驅動器一齊控制馬達嘅速度同方向。到呢個指南結束時,你會有一個功能齊全嘅馬達控制設置,可以平穩加速、煞車同停馬達。

隨著我們的進展,我們會涵蓋必要的硬件組件、接線指示和示例代碼片段,以澄清一切是如何協同工作的。為了更直觀的表現,我建議觀看相關視頻(視頻在 02:15)。

硬件解说
呢個項目嘅主要組件係 IR2101 閘驅動器同 IRFZ44N MOSFET。IR2101 係一個高速驅動器,專為喺半橋配置中驅動 N 通道 MOSFET 而設計。佢可以有效地切換同控制 MOSFET,令馬達運行得更順暢。
IRFZ44N MOSFET 作為開關元件,控制送到馬達的電力。當被 IR2101 啟動時,這些 MOSFET 可以處理高電流,提供驅動馬達所需的電力。這些元件一起實現對馬達方向和速度的精確控制。
數據表詳情
| 製造商 | 國際整流器 |
|---|---|
| 零件编号 | IRFZ44N |
| 邏輯/輸入輸出電壓 | 10 V (VGS) |
| 供應電壓 | 55 伏 (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(引脚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 Motor Contorl Sketch
Controls DC motor with speed, brake and stop
IRF44ZN Mosfets used for high side and low side.
IR2101 Gate driver used to drive the MOSFETs.
you can ge the code, the gerbar file for PCB to produce and wirign diagram
from http://robojax.com/RJT390
written by Ahmad Shamshiri on Nov 19, 2024
www.Robojax.com https://youTube.com/@robojax
*/
const int PWM1_HIN1_PIN= 9;//must be a pint with ~
const int EN1_LIN1_PIN= 8;
const int PWM2_HIN2_PIN= 3;//must be a pint with ~
const int EN2_LIN2_PIN= 2;
const boolean CW =1;
const boolean CCW =0;
void Motor(boolean, int);//prototype
void brake();//prototype
void stop();//prototype
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);//in CW at 50% speed
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
文件📁
Gerber files
-
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