Ise agbese: RJMD-R2101 H-Bridge MOSFET Motor Driver
Ninu itọnisọna yii, a yoo ṣawari bi a ṣe le ṣakoso moto DC kan nipa lilo awakọ moto RJMD-R2101 H-Bridge MOSFET. Ise agbese yii yoo fi hàn bi a ṣe le lo awọn MOSFET IRFZ44N ni ọna to munadoko pẹlu awọn awakọ ẹnu IR2101 lati ṣakoso iyara ati itọsọna moto. Ni ipari itọsọna yii, iwọ yoo ni eto iṣakoso moto ti n ṣiṣẹ ti o le mu, da duro, ati da moto duro ni irọrun.

Bi a ti n lọ siwaju, a yoo bo awọn ẹya ẹrọ to ṣe pataki, awọn ilana wiring, ati awọn apẹẹrẹ koodu lati ṣe alaye bi gbogbo nkan ṣe n ṣiṣẹ pọ. Fun aṣoju ti o ni oju diẹ sii, Mo ṣeduro wo fidio ti o ni ibatan (ni fidio ni :15).

Itumọ Ẹrọ
Awọn eroja pataki ninu iṣẹ akanṣe yii ni awakọ ẹnu-ọna IR2101 ati awọn MOSFET IRFZ44N. IR2101 jẹ awakọ iyara-giga ti a ṣe apẹrẹ fun awakọ awọn MOSFET N-channel ni iṣeto idaji-ibè. O gba laaye fun iyipada to munadoko ati iṣakoso ti awọn MOSFET, ti n jẹ ki moto naa ṣiṣẹ ni irọrun.
IRFZ44N MOSFETs n ṣiṣẹ gẹgẹbi awọn eroja iyipada ti o n ṣakoso agbara ti a fi ranṣẹ si moto. Nigbati a ba mu ṣiṣẹ nipasẹ IR2101, awọn MOSFET wọnyi le mu awọn ṣiṣan giga, n pese agbara to nilo lati fa moto. Papọ, awọn eroja wọnyi gba laaye fun iṣakoso deede lori itọsọna ati iyara moto.
Alaye iwe data
| Olùṣelọpọ | Ile-iṣẹ Agbaye ti Iṣakoso Iwọn. |
|---|---|
| Nọmba apakan | IRFZ44N |
| Iwọn folti ti Logic/IO | 10 V (VGS) |
| Iwọn folti ipese | 55 V (VDS) |
| Iwọn lọwọlọwọ (nipasẹ ikanni) | 49 A (max) |
| Iwọn lọwọlọwọ to ga julọ (fun ikanni kọọkan) | 120 A (max) |
| Itọsọna igbohunsafẹfẹ PWM | to 100 kHz |
| Iwọn aala iṣiro input | 2.0 V (VGS(th)) |
| Iwọn folti / RDS(on)/ idapọ | 0.025 Ω (max) |
| Iwọn otutu to pọ julọ | 175 °C (max) |
| Pàkàjì | TO-220 |
| Akọsilẹ / awọn iyatọ | Ti a maa n lo ninu awọn iṣeto H-Bridge |
- Rii daju pe a fi itutu to peye si awọn MOSFET lati dena gbigbona ju.
- Lo lo PWM fun iṣakoso iyara lati ṣaṣeyọri iṣẹ ẹrọ ti o ni irọrun.
- Ṣayẹwo pe folti ipese agbara ko kọja awọn iwọn MOSFET.
- Rii daju pe o tọ́ka to nigba ti o ba n so mọ́tò pọ̀ lati yago fun ibajẹ.
- Lo lo awọn capacitors decoupling nitosi ipese agbara lati ṣe iduroṣinṣin folti.
Ilana Asopọ

Lati so mọ́ àtẹ́gùn RJMD-R2101, bẹ̀rẹ̀ nipa so mọ́ orisun agbara. So pin VCC ti àtẹ́gùn mọ́ orisun agbara 5V. Pin GND yẹ ki o so mọ́ ilẹ̀ ti orisun agbara. Lẹ́yìn náà, so mọ́ àwọn pin iṣakoso: àfihàn PWM fún MOSFET àkọ́kọ́ yẹ ki o lọ sí pin.PWM1_HIN1_PIN(eyi ni pin 9), ati pin ti o mu ki MOSFET akọkọ ṣiṣẹ yẹ ki o so pọ siEN1_LIN1_PIN(pin 8). Fun MOSFET keji, so pọ si ami PWM siPWM2_HIN2_PIN(pin 3) ati pin ti o mu ṣiṣẹ siEN2_LIN2_PIN(pin 2).

Rii daju pe o so awọn itẹsiwaju moto pọ si awọn abajade to yẹ ti H-Bridge. Ti o ba nlo Arduino, so awọn pin PWM pọ si awọn pin ti a yan lori igbimọ Arduino. Fun apẹẹrẹ, soPWM1_HIN1_PINsi pin 9,EN1_LIN1_PINsi pin 8, ati bẹbẹ lọ. Eto yii yoo jẹ ki o le ṣakoso moto naa ni imunadoko.
Àpẹẹrẹ Kóòdù & Irin-ajo
Apáà kóòdù náà ní àwọn iṣẹ́ láti ṣàkóso iyara àti ìtòsọ́nà mọ́tò pẹ̀lú àwọn pín tó ti ṣàpèjúwe. Ní isalẹ ni àpẹẹrẹ láti inú àtẹ́jáde iṣakoso mọ́tò:
const int PWM1_HIN1_PIN= 9; // PWM pin for first MOSFET
const int EN1_LIN1_PIN= 8; // Enable pin for first MOSFET
Ninu apakan yii, a ṣe alaye awọn pin ti a lo fun iṣakoso MOSFET akọkọ.PWM1_HIN1_PINti lo nlo fun iṣakoso iyara, nigba tiEN1_LIN1_PINnṣiṣẹ awakọ moto.
void Motor(boolean direction, int speed=0) {
int speedPWM = map(speed, 0, 100, 0, 255);
// Control motor direction and speed here
}
Iṣẹ́ yìí gba wọlé à.directionparamita lati pinnu boya motor naa yẹ ki o yipo ni itọsọna aago tabi ni itọsọna idakeji. Ẹgbẹrunspeedparamita ti wa ni asopọ si iye PWM, ti o fun laaye fun iṣakoso rirọ lori iyara motor.
void stop() {
digitalWrite(EN1_LIN1_PIN, LOW); // Disable first MOSFET
}
Istopiṣẹ́ naa pa motor náà mọ́ nípa fífi pin ìmúṣiṣẹ́ silẹ, nípa bẹ́ẹ̀, o dáwọ́ gbogbo ṣiṣan lọwọ́ nípasẹ̀ motor náà. Èyí ń jẹ́ kí o dáwọ́ lẹ́sẹkẹsẹ láì fa ibajẹ́ sí àwọn eroja.
Fun koodu kikun, jọwọ tọka si eto pipe ti a gbe silẹ ni isalẹ àpilẹkọ naa.
Iṣafihan / Kí ni láti retí
Nigbati iṣeto ba pari, o yẹ ki o rii ẹrọ mọnamọna ti n fesi si awọn aṣẹ ti a firanṣẹ lati Arduino. Ẹrọ mọnamọna yoo yipo ni itọsọna ti a sọ, ati pe o le ṣe atunṣe iyara nipa lilo awọn ifihan PWM. Awọn iṣoro ti o wọpọ lati wo fun ni awọn asopọ polari ti a yipada, eyiti o le fa ki ẹrọ mọnamọna ṣiṣẹ ni itọsọna idakeji, ati awọn ifunni ti o fo ti o le ja si ihuwasi airotẹlẹ.
Nígbà ìdánwò, o lè tún rí i pé iyara mọ́tò ń yí padà gẹ́gẹ́ bíi àwọn iye PWM tí a rán. Rí i dájú pé gbogbo ìbáṣepọ̀ jẹ́ ààbò láti yago fún ìdípọ̀ nínú ṣiṣan agbara, èyí lè ní ipa lórí iṣẹ́ (ní fídíò ní 05:45).
Àkókò Fídíò
- 00:00- Ifáyẹ̀wò sí ìṣé agbára iṣẹ́ náà
- 02:15- Atunyẹwo ti awọn ẹya ẹrọ
- 05:45- Ifihan iṣakoso moto
- 08:30- Itọsọna koodu ati alaye
Aworan
/*
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);
}
}
Orisun & itọkasi
-
Ita gbangba
-
Ita gbangbaIR2101 Gate Driver Datasheetinfineon.com
-
Ita gbangbaIRFZ44N MOSFET datasheetinfineon.com
Fáìlìs📁
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