Search Code

திட்டம்: RJMD-R2101 H-Bridge MOSFET மோட்டார் இயக்கி

திட்டம்: RJMD-R2101 H-Bridge MOSFET மோட்டார் இயக்கி

இந்த பயிற்சியில், RJMD-R2101 H-Bridge MOSFET மொட்டார் டிரைவரைப் பயன்படுத்தி DC மொட்டாரை எப்படி கட்டுப்படுத்துவது என்பதை நாங்கள் ஆராய்வோம். இந்த திட்டம், IRFZ44N MOSFET-ஐ IR2101 கேட் டிரைவர்களுடன் இணைத்து மொட்டாரின் வேகம் மற்றும் திசையை கட்டுப்படுத்துவதில் எவ்வாறு பயனுள்ளதாக பயன்படுத்துவது என்பதை காட்டும். இந்த வழிகாட்டியின் முடிவில், நீங்கள் மொட்டாரை மென்மையாக வேகப்படுத்த, தடுப்பதற்கும், நிறுத்துவதற்கும் திறனுள்ள மொட்டார் கட்டுப்பாட்டு அமைப்பைப் பெற்றிருப்பீர்கள்.

RJMD-R2101 H-Bridge MOSFET Motor Driver 0

நாம் முன்னேறும்போது, தேவையான ஹார்ட்வேர் கூறுகள், வயரிங் வழிமுறைகள் மற்றும் ஒவ்வொன்றும் எப்படி ஒன்றாக செயல்படுகிறது என்பதை தெளிவுபடுத்த உதவும் எடுத்துக்காட்டு குறியீட்டு துண்டுகளை நாங்கள் கையாள்வோம். மேலும் காட்சி பிரதிநிதித்துவத்திற்கு, தொடர்புடைய வீடியோவை (வீடியோவில் 02:15) பார்க்க பரிந்துரைக்கிறேன்.

RJMD-R2101 H-Bridge MOSFET Motor Driver 3

உருப்படிகள் விளக்கப்பட்டது

இந்த திட்டத்தின் முதன்மை கூறுகள் IR2101 கேட் டிரைவர் மற்றும் IRFZ44N MOSFETகள் ஆகும். IR2101 என்பது ஒரு அரை பாலம் கட்டமைப்பில் N-சேனல் MOSFETகளை இயக்குவதற்காக வடிவமைக்கப்பட்ட உயர் வேக டிரைவராகும். இது MOSFETக்களின் திறமையான மாற்றம் மற்றும் கட்டுப்பாட்டை அனுமதிக்கிறது, இது மோட்டாரை மென்மையாக இயக்க உதவுகிறது.

IRFZ44N MOSFET கள் மொட்டாருக்கு வழங்கப்படும் சக்தியை கட்டுப்படுத்தும் மாறுபாட்டுப் பகுதிகளாக செயல்படுகின்றன. IR2101 மூலம் செயல்படுத்தப்படும் போது, இந்த MOSFET கள் உயர் மின்னழுத்தங்களை கையாள முடியும், மொட்டாரை இயக்க தேவையான சக்தியை வழங்குகின்றன. இந்த கூறுகள் ஒன்றாக சேர்ந்து மொட்டாரின் திசை மற்றும் வேகத்தை துல்லியமாக கட்டுப்படுத்த அனுமதிக்கின்றன.

தரவியல் விவரங்கள்

உற்பத்தியாளர்அந்தராஷ்டிர ரெக்டிஃபையர்
பகுதி எண்IRFZ44N
தர்க்கம்/ஐஓ மின்னழுத்தம்10 V (VGS)
சேமிப்பு மின் அழுத்தம்55 V (VDS)
வெளியீட்டு மின்சாரம் (ஒவ்வொரு சேனலுக்கும்)49 A (அதிகபட்சம்)
சிகப்பு மின் ஓட்டம் (ஒவ்வொரு சேனலுக்கும்)120 A (அதிகतम)
PWM அலைவரிசை வழிகாட்டி100 கி.ஹெச்.சு வரை
உள்ளீட்டு தரவுத்தொகுப்புகள்2.0 V (VGS(th))
மின் அழுத்தம் குறைவு / RDS(on)/ saturation0.025 Ω (அதிகம்)
தர்மீக எல்லைகள்175 °C (அதிகம்)
பேக்கேஜ்TO-220
குறிப்புகள் / மாறுபாடுகள்H-Bridge அமைப்புகளில் பொதுவாக பயன்படுத்தப்படுகிறது.

  • MOSFET களுக்கான சரியான வெப்பத்தை உறிஞ்சுவதற்கான ஏற்பாடுகளை உறுதி செய்யவும், அதிக வெப்பம் ஏற்படாமல் காத்திருக்கவும்.
  • மோட்டரின் செயல்பாட்டை மென்மையாகக் கையாள PWM ஐ வேகம் கட்டுப்பாட்டிற்காகப் பயன்படுத்தவும்.
  • மோஸ்ஃபெட் மதிப்பீடுகளை மீறாத வகையில் மின்சார வழங்கல் மின்னழுத்தத்தை சரிபார்க்கவும்.
  • மோட்டரை இணைக்கும் போது சரியான திசையை உறுதி செய்யவும், இதனால் சேதம் ஏற்படாமல் இருக்கலாம்.
  • மின்சார வழங்கலுக்கு அருகில் உள்ள பிரிக்கிற capacitor களை மின்வெட்டு நிலைநாட்ட பயன்படுத்தவும்.

மின்கலப்புகள் வழிமுறைகள்

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

RJMD-R2101 மொட்டார் டிரைவரை இணைக்க, முதலில் மின்சாரத்தை இணைக்கவும். டிரைவரின் VCC பினை 5V மின்சார மூலத்துடன் இணைக்கவும். GND பினை மின்சாரத்தின் தரையில் இணைக்க வேண்டும். அடுத்ததாக, கட்டுப்பாட்டு பின்களை இணைக்கவும்: முதல் MOSFET க்கான PWM சிக்னல் பினுக்கு செல்ல வேண்டும்.PWM1_HIN1_PIN(இது பின் 9), மற்றும் முதல் MOSFET க்கான செயல்படுத்தும் பின் இணைக்கப்பட வேண்டும்EN1_LIN1_PIN(pin 8). இரண்டாவது MOSFET க்காக, PWM சிக்னலை இணைக்கவும்PWM2_HIN2_PIN(பின் 3) மற்றும் செயல்படுத்தும் பினைEN2_LIN2_PIN(pin 2).

RJMD-R2101 H-Bridge MOSFET Motor Driver 5

மோட்டர் டெர்மினல்களை H-Bridge இன் உரிய வெளியீடுகளுக்கு இணைக்க உறுதிசெய்யவும். நீங்கள் Arduino ஐப் பயன்படுத்தினால், PWM பின்களை Arduino போர்டில் குறிப்பிட்ட பின்களுக்கு இணைக்கவும். எடுத்துக்காட்டாக, இணைக்கவும்PWM1_HIN1_PIN9-க்கு பின்,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மின்சாரத்தை நிறுத்துவதற்காக செயல்பாடு இயக்கத்தை முடக்குகிறது, இது இயக்கத்தின் மூலம் மின்சாரம் ஓடுவதற்கு தடையாக குறைந்த அளவிலான அனுமதி பினை அமைக்கிறது. இது கூறுகளை சேதப்படுத்தாமல் விரைவான நிறுத்தத்தை உறுதி செய்கிறது.

முழு குறியீட்டிற்காக, கட்டுரையின் கீழே ஏற்றப்பட்ட முழு நிரலுக்கு அணுகவும்.

காட்டுதல் / எதிர்பார்க்க வேண்டியது

அமைப்பு முடிந்தவுடன், நீங்கள் ஆர்டினோவிலிருந்து அனுப்பப்படும் கட்டளைகளுக்கு மொட்டார் எதிர்வினை அளிக்கிறதைக் காண வேண்டும். மொட்டார் குறிப்பிட்ட திசையில் சுழலும், மற்றும் நீங்கள் PWM சிக்னல்களைப் பயன்படுத்தி வேகத்தை சரிசெய்யலாம். கவனிக்க வேண்டிய பொதுவான பிரச்சினைகள் மாறுபட்ட polarity இணைப்புகள், இது மொட்டார் எதிர்மறை திசையில் இயங்க காரணமாக இருக்கலாம், மற்றும் மிதக்கும் உள்ளீடுகள், இது அசாதாரண நடத்தை ஏற்படுத்தலாம்.

சோதனைக்குப் போது, நீங்கள் அனுப்பப்படும் PWM மதிப்புகளின் அடிப்படையில் மொட்டாரின் வேகம் மாறுவதைக் கவனிக்கலாம். சக்தி ஓட்டத்தில் இடையூறுகளைத் தவிர்க்க அனைத்து இணைப்புகளும் உறுதியாக உள்ளதா என்பதை உறுதி செய்யவும், இது செயல்திறனை பாதிக்கலாம் (வீடியோவில் 05:45).

வீடியோ நேரமுத்திரைகள்

  • 00:00- திட்டத்தின் அறிமுகம்
  • 02:15- உலோக கூறுகளின் மேலோட்டம்
  • 05:45- மோட்டார் கட்டுப்பாட்டின் காட்சி
  • 08:30- குறியீட்டு நடைமுறை மற்றும் விளக்கம்

படங்கள்

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
மொழி: C++
/*
 * IR2101 மொட்டார் கட்டுப்பாட்டு வரைபடம்  
 * வேகம், தடுப்பு மற்றும் நிறுத்தத்துடன் DC மொட்டாரை கட்டுப்படுத்துகிறது  
 * IRF44ZN மொஸ்பெட்கள் உயர் பக்கம் மற்றும் குறைந்த பக்கம் பயன்படுத்தப்படுகின்றன.  
 * IR2101 கேட் டிரைவர் MOSFET-ஐ இயக்க பயன்படுத்தப்படுகிறது.  
 * நீங்கள் குறியீடு, PCB-ஐ உருவாக்க கொரியர் கோப்பு மற்றும் வயரிங் வரைபடத்தை பெறலாம்  
 * http://robojax.com/RJT390 இல் இருந்து  
 * 
 * அஹ்மத் ஷம்சிரியின் எழுத்து, நவம்பர் 19, 2024  
 * 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% வேகத்தில் CW-ல்
  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);
  }

}




வளங்கள் மற்றும் மேற்கோள்கள்

கோப்புகள்📁

Gerber files