Raadi Koodka

Mashruuc: RJMD-R2101 H-Bridge MOSFET Mashiinka Darawalka

Mashruuc: RJMD-R2101 H-Bridge MOSFET Mashiinka Darawalka

Casharakan, waxaan ku baaraynaa sida loo xakameeyo matoor DC ah iyadoo la adeegsanayo darawalka RJMD-R2101 H-Bridge MOSFET. Mashruucan wuxuu muujin doonaa sida si wax ku ool ah loo isticmaalo MOSFET-yada IRFZ44N oo ay weheliyaan darawalada IR2101 si loo xakameeyo xawaaraha iyo jihada matoorka. Dhamaadka hagahan, waxaad yeelan doontaa qaab xakameyn matoor oo shaqeynaya oo si habsami leh u dardargelin kara, u joojin kara, iyo u hakadin kara matoorka.

RJMD-R2101 H-Bridge MOSFET Motor Driver 0

Marka aan horumarino, waxaan dabooli doonaa qaybaha qalabka ee lagama maarmaanka ah, tilmaamaha xadhkaha, iyo tusaalooyinka koodhka si aan u caddeeyo sida wax walba u wada shaqeeyaan. Si loo helo sawir muuqaal ah, waxaan kugula talinayaa inaad daawato fiidiyowga la xidhiidha (fiidiyowga 02:15).

RJMD-R2101 H-Bridge MOSFET Motor Driver 3

Qalabka la Sharxay

Qaybaha ugu muhiimsan ee mashruucan waa darawalka IR2101 iyo MOSFET-yada IRFZ44N. IR2101 waa darawalka xawaaraha sare leh ee loogu talagalay in lagu daro MOSFET-yada N-channel ee qaab-dhismeedka badh-bridge. Waxay u oggolaaneysaa beddelka waxtarka leh iyo xakameynta MOSFET-yada, taasoo suurtogal ka dhigaysa in mishiinku si habsami leh u shaqeeyo.

IRFZ44N MOSFET-yadu waxay u shaqeeyaan sidii walxaha beddelka ah ee xakameeya awoodda la siiyo mishiinka. Markay firfircoon yihiin IR2101, MOSFET-yadani waxay qaadi karaan koronto sare, iyagoo bixiya awoodda lagama maarmaanka u ah in mishiinka la kaxeeyo. Isku darka qaybahan waxay u oggolaanayaan xakameyn sax ah oo ku saabsan jihada iyo xawaaraha mishiinka.

Faahfaahinta Warqadda

SoosaarCaalamiga Rectifier
Lambarka qaybtaIRFZ44N
Xisaab/IO danab10 V (VGS)
Koronto bixinta55 V (VDS)
Hawada hadda (kanaal kasta)49 A (ugu weyn)
Culayska ugu sarreeya (kanaal kasta)120 A (ugu weyn)
Hagaha soo noqnoqoshada PWMillaa 100 kHz
Xadka loogaga talagalay gelinta2.0 V (VGS(th))
Hoos u dhaca / RDS(on)/ buuxin0.025 Ω (ugu weyn)
Xadidaheeda kulaylka175 °C (ugu weyn)
BaakidhkaTO-220
Xusuusin / noocyoSiyaal ahaan loo isticmaalo qaabeynta H-Bridge.

  • Hubi heerkulka saxda ah ee MOSFET-yada si looga hortago kululaynta.
  • Isticmaal PWM si aad u xakameyso xawaaraha si aad u gaarto hawlgal siman oo matoor ah.
  • Hubi in koronto bixinta voltajka aysan ka badneyn qiimayaasha MOSFET.
  • Hubi in la helo toosnaanta saxda ah marka la xiro mishiinka si looga fogaado waxyeelo.
  • Isticmaal capacitors-ka kala-soocida agagaarka korontada si aad u xasillooni voltage-ka.

Tilmaamaha Xadhigga

Arduino wiring for H-bridge IR2101 with IRFZ44N
Arduino wiring for H-bridge IR2101 with IRFZ44N

Si aad u xidhid mootooyinka RJMD-R2101, ku bilow inaad ku xidhid korontada. Ku xidh pin VCC ee darawalka il koronto oo ah 5V. Pin GND waa in lagu xiraa dhulka korontada. Kadib, ku xidh pins-ka xakamaynta: calaamadda PWM ee MOSFET-ka koowaad waa in lagu xiraa pin.PWM1_HIN1_PIN(taas oo ah pin 9), iyo pin-ka awoodda ee MOSFET-ka koowaad waa inuu ku xirmaaEN1_LIN1_PIN(pin 8). MOSFET-ka labaad, ku xidh calaamadda PWM ilaaPWM2_HIN2_PIN(pin 3) iyo pin-ka awoodsiinta si looguEN2_LIN2_PIN(pin 2).

RJMD-R2101 H-Bridge MOSFET Motor Driver 5

Hubi in aad ku xidhid dhammaan xargaha matoorka meelaha ku habboon ee H-Bridge. Haddii aad isticmaalayso Arduino, ku xidh pins-ka PWM meelaha loogu talagalay ee guddiga Arduino. Tusaale ahaan, ku xidhPWM1_HIN1_PINin 9,EN1_LIN1_PINin 8, iyo wixii la mid ah. Qaabkan wuxuu kuu oggolaanayaa inaad si hufan u xakameyso mishiinka.

Tusaalooyinka Koodhka & Socodka

Qaybta koodhku waxay ka kooban tahay hawlo lagu xakameynayo xawaaraha iyo jihada matoorka iyadoo la adeegsanayo pins-ka la qeexay. Hoos waxaa ku qoran qayb ka mid ah sawirka xakamaynta matoorka:

const int PWM1_HIN1_PIN= 9; // PWM pin for first MOSFET
const int EN1_LIN1_PIN= 8; // Enable pin for first MOSFET

Qaybtaan, waxaan qeexeynaa pins-ka loo isticmaalo xakameynta MOSFET-kii ugu horreeyay.PWM1_HIN1_PINwax lagu isticmaalaa xakameynta xawaaraha, halkaEN1_LIN1_PINwaxaa uu dhaqaajiyaa darawalka mishiinka.

void Motor(boolean direction, int speed=0) {
    int speedPWM = map(speed, 0, 100, 0, 255);
    // Control motor direction and speed here
}

Hawshaanani waxay qaadataa gudaha adirectionxogta si loo go'aamiyo haddii matoorka uu ku wareegayo jihada saacadda ama ka soo horjeedda. Matorkaspeedxogta waxaa loo qoondeeyey qiimaha PWM, taasoo u oggolaaneysa xakameyn siman oo ku saabsan xawaaraha matoorka.

void stop() {
    digitalWrite(EN1_LIN1_PIN, LOW); // Disable first MOSFET
}

Thestophawlaha waxay joojisaa mishiinka iyadoo dejinaysa pin-ka oggolaanshaha hoose, si wax ku ool ah u joojineysa socodka korontada ee mishiinka. Tani waxay xaqiijineysaa joojinta degdega ah iyada oo aan waxyeello u geysan qaybaha.

Fadlan tixraac koodhka buuxa, fadlan eeg barnaamijka dhameystiran ee hoos ku xusan maqaalka.

Muuqaal / Waxa La Filan Karo

Marka habaynta la dhammeeyo, waa inaad aragtaa mishiinka oo ka jawaabaya amarrada laga soo diray Arduino. Mishiinku wuxuu ku wareegayaa jihada la cayimay, waana inaad hagaajisaa xawaaraha adigoo isticmaalaya calaamadaha PWM. Dhibaatooyinka caadiga ah ee la fiiriyo waxaa ka mid ah xiriirinta polarity-ga oo la rogay, taasoo sababi karta in mishiinku uu ku socdo jihada ka soo horjeeda, iyo gelinta aan la xakameyn oo keeni karta dabeecad aan caadi ahayn.

Inta tijaabada, waxaad sidoo kale ogaan kartaa in xawaaraha matoorka uu isbedelayo iyadoo ku xiran qiimaha PWM ee la diray. Hubi in dhammaan isku xidhku ay ammaan yihiin si looga fogaado hakad ku yimaada socodka awoodda, taasoo saameyn ku yeelan karta waxqabadka (fiidiyowga 05:45).

Video Timestamps

  • 00:00- Hordhaca mashruuca
  • 02:15- Guud ahaan qaybaha qalabka
  • 05:45- Muuqaalka xakameynta mishiinka
  • 08:30- Socodka iyo sharraxaad

Sawirro

RJMD-R2101 H-Bridge MOSFET Motor Driver 0
RJMD-R2101 H-Bridge MOSFET Motor Driver 0
RJMD-R2101 H-Bridge MOSFET Motor Driver 1
RJMD-R2101 H-Bridge MOSFET Motor Driver 1
RJMD-R2101 H-Bridge MOSFET Motor Driver 2
RJMD-R2101 H-Bridge MOSFET Motor Driver 2
RJMD-R2101 H-Bridge MOSFET Motor Driver 3
RJMD-R2101 H-Bridge MOSFET Motor Driver 3
RJMD-R2101 H-Bridge MOSFET Motor Driver 4
RJMD-R2101 H-Bridge MOSFET Motor Driver 4
RJMD-R2101 H-Bridge MOSFET Motor Driver 5
RJMD-R2101 H-Bridge MOSFET Motor Driver 5
Arduino wiring for H-bridge IR2101 with IRFZ44N
Arduino wiring for H-bridge IR2101 with IRFZ44N
796-Arduino H-Bridge code to control IRFZ44N Mosfets using IR2101 gate drivers
Luqadda: C++
/*
 * IR2101 Mashiinka Xakamaynta Sawirka  
 * Xakameeya mashiinka DC leh xawaare, joojinta iyo hakinta  
 * IRF44ZN Mosfets ayaa loo isticmaalaa dhinaca sare iyo dhinaca hoose.  
 * IR2101 Darawalka albaabka ayaa loo isticmaalaa in lagu kaxeeyo MOSFETs.  
 * waxaad ka heli kartaa koodhka, faylka gerbar ee PCB si loo soo saaro iyo jaantuska xadhigga  
 * laga soo bilaabo http://robojax.com/RJT390  
 * 
 * waxaa qoray Ahmad Shamshiri 19 Nov 2024  
 * www.Robojax.com https://youTube.com/@robojax
 */
const int PWM1_HIN1_PIN= 9; // waa in lagu qiyaaso ~
const int EN1_LIN1_PIN= 8;

const int PWM2_HIN2_PIN= 3; // waa in lagu qiyaaso ~
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); // CW 50% xawaareed
  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);
  }

}




Kheyraadka & Tixraacyada

Faylasha📁

Gerber files