Proje: RJMD-R2101 H-Köprüsü MOSFET Motor Sürücüsü
Bu eğitimde, RJMD-R2101 H-Köprü MOSFET motor sürücüsünü kullanarak bir DC motorunu nasıl kontrol edeceğimizi keşfedeceğiz. Bu proje, motor hızını ve yönünü kontrol etmek için IR2101 kapı sürücüleri ile birlikte IRFZ44N MOSFET'leri etkili bir şekilde nasıl kullanacağınızı gösterecektir. Bu kılavuzun sonunda, motoru düzgün bir şekilde hızlandırabilen, frenleyebilen ve durdurabilen işlevsel bir motor kontrol sistemi elde edeceksiniz.

İlerledikçe, gerekli donanım bileşenlerini, kablolama talimatlarını ve her şeyin nasıl bir arada çalıştığını açıklamak için örnek kod parçacıklarını ele alacağız. Daha görsel bir temsil için, ilgili videoyu izlemenizi öneririm (videoda :15).

Donanım Açıklandı
Bu projedeki ana bileşenler IR2101 kapı sürücüsü ve IRFZ44N MOSFET'lerdir. IR2101, yarım köprü konfigürasyonunda N-kanal MOSFET'leri sürmek için tasarlanmış yüksek hızlı bir sürücüdür. MOSFET'lerin verimli anahtarlama ve kontrolünü sağlar, böylece motorun sorunsuz çalışmasını mümkün kılar.
IRFZ44N MOSFET'leri, motora iletilen gücü kontrol eden anahtar elemanları olarak görev yapar. IR2101 tarafından etkinleştirildiğinde, bu MOSFET'ler yüksek akımları yönetebilir ve motora gerekli gücü sağlar. Bu bileşenler birlikte, motorun yönü ve hızı üzerinde hassas kontrol sağlar.
Veri Sayfası Detayları
| Üretici | Uluslararası Düzeltici |
|---|---|
| Parça numarası | IRFZ44N |
| Mantık/Giriş-Çıkış voltajı | 10 V (VGS) |
| Besleme voltajı | 55 V (VDS) |
| Çıkış akımı (kanal başına) | 49 A (maks) |
| Zirve akımı (kanal başına) | 120 A (maks) |
| PWM frekansı rehberi | 100 kHz'ye kadar |
| Giriş mantığı eşikleri | 2.0 V (VGS(th)) |
| Gerilim düşüşü / RDS(on)doygunluk | 0,025 Ω (maks) |
| Termal sınırlar | 175 °C (maks) |
| Paket | TO-220 |
| Notlar / varyantlar | H-Köprüsü konfigürasyonlarında yaygın olarak kullanılır. |
- MOSFET'lerin aşırı ısınmasını önlemek için uygun ısı dağıtımını sağlamak.
- Hız kontrolü için PWM kullanarak motorun düzgün çalışmasını sağlayın.
- Güç kaynağı voltajının MOSFET değerlerini aşmadığını doğrulayın.
- Motoru bağlarken doğru polariteyi sağlamak, hasarı önlemek için önemlidir.
- Güç kaynağına yakın ayrıştırma kapasitörleri kullanarak voltajı stabilize edin.
Bağlantı Talimatları

RJMD-R2101 motor sürücüsünü bağlamak için, güç kaynağını bağlayarak başlayın. Sürücünün VCC pinini 5V güç kaynağına bağlayın. GND pini, güç kaynağının toprak hattına bağlanmalıdır. Sonra, kontrol pinlerini bağlayın: ilk MOSFET için PWM sinyali pinine gitmelidir.PWM1_HIN1_PIN(pin 9 olan), ve ilk MOSFET'in etkinleştirme pini bağlanmalıdırEN1_LIN1_PIN(pin 8). İkinci MOSFET için, PWM sinyalini bağlayınPWM2_HIN2_PIN(pin 3) ve etkinleştirme pinineEN2_LIN2_PIN(pin 2).

Motor terminallerini H-Bridge'in uygun çıkışlarına bağladığınızdan emin olun. Arduino kullanıyorsanız, PWM pinlerini Arduino kartındaki belirlenen pinlere bağlayın. Örneğin, bağlayınPWM1_HIN1_PIN9 numarasına sabitlemek,EN1_LIN1_PINpin 8'e ve devamına. Bu düzenleme, motoru etkili bir şekilde kontrol etmenizi sağlayacaktır.
Kod Örnekleri ve Geçiş Rehberi
Kod bölümü, tanımlı pinleri kullanarak motor hızını ve yönünü kontrol eden fonksiyonları içerir. Aşağıda motor kontrol taslağından bir alıntı bulunmaktadır:
const int PWM1_HIN1_PIN= 9; // PWM pin for first MOSFET
const int EN1_LIN1_PIN= 8; // Enable pin for first MOSFET
Bu bölümde, ilk MOSFET'i kontrol etmek için kullanılan pinleri tanımlıyoruz.PWM1_HIN1_PINhız kontrolü için kullanılır, oysa kiEN1_LIN1_PINmotor sürücüsünü etkinleştirir.
void Motor(boolean direction, int speed=0) {
int speedPWM = map(speed, 0, 100, 0, 255);
// Control motor direction and speed here
}
Bu fonksiyon bir alırdirectionmotorun saat yönünde mi yoksa saat tersinde mi döneceğini belirlemek için bir parametre.speedparametre, motor hızını düzgün bir şekilde kontrol etmeye olanak tanıyan bir PWM değerine eşlenmiştir.
void stop() {
digitalWrite(EN1_LIN1_PIN, LOW); // Disable first MOSFET
}
Thestopfonksiyon, enable pinini düşük seviyeye ayarlayarak motoru devre dışı bırakır ve böylece motor üzerinden herhangi bir akım akışını durdurur. Bu, bileşenlere zarar vermeden hızlı bir duruş sağlar.
Tam kod için lütfen makalenin altında yüklenen tam programa bakın.
Gösterim / Ne Beklemeli
Kurulum tamamlandığında, motorun Arduino'dan gönderilen komutlara yanıt verdiğini gözlemlemelisiniz. Motor belirtilen yönde dönecek ve hızı PWM sinyalleri kullanarak ayarlayabilirsiniz. Dikkat edilmesi gereken yaygın sorunlar arasında, motorun ters yönde çalışmasına neden olabilecek ters polarite bağlantıları ve düzensiz davranışa yol açabilecek boşta kalan girişler bulunmaktadır.
Test sırasında, gönderilen PWM değerlerine bağlı olarak motor hızının değiştiğini de fark edebilirsiniz. Performansı etkileyebilecek güç akışındaki kesintileri önlemek için tüm bağlantıların güvenli olduğundan emin olun (videoda 05:45).
Video Zaman Damgaları
- 00:00- Projeye Giriş
- 02:15- Donanım bileşenlerinin genel görünümü
- 05:45- Motor kontrolü gösterimi
- 08:30- Kod incelemesi ve açıklaması
Görseller
/*
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);
}
}
Kaynaklar ve referanslar
-
DışIR2101 Gate Driver Datasheetinfineon.com
-
DışIRFZ44N MOSFET datasheetinfineon.com
Dosyalar📁
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