Proyek: RJMD-R2101 Pengendali Motor MOSFET Jembatan H
Dalam tutorial ini, kita akan menjelajahi cara mengendalikan motor DC menggunakan driver motor MOSFET H-Bridge RJMD-R2101. Proyek ini akan menunjukkan cara memanfaatkan MOSFET IRFZ44N secara efektif bersama dengan driver gerbang IR2101 untuk mengontrol kecepatan dan arah motor. Pada akhir panduan ini, Anda akan memiliki pengaturan kontrol motor yang fungsional yang dapat mempercepat, mengerem, dan menghentikan motor dengan lancar.

Seiring kita maju, kita akan membahas komponen perangkat keras yang diperlukan, instruksi pengkabelan, dan cuplikan kode contoh untuk menjelaskan bagaimana semuanya bekerja bersama. Untuk representasi yang lebih visual, saya sarankan menonton video terkait (dalam video pada 02:15).

Penjelasan Perangkat Keras
Komponen utama dalam proyek ini adalah pengendali gerbang IR2101 dan MOSFET IRFZ44N. IR2101 adalah pengendali berkecepatan tinggi yang dirancang untuk mengendalikan MOSFET saluran-N dalam konfigurasi jembatan setengah. Ini memungkinkan switching yang efisien dan kontrol MOSFET, memungkinkan motor beroperasi dengan lancar.
MOSFET IRFZ44N berfungsi sebagai elemen switching yang mengontrol daya yang disuplai ke motor. Ketika diaktifkan oleh IR2101, MOSFET ini dapat menangani arus tinggi, memberikan daya yang diperlukan untuk menggerakkan motor. Bersama-sama, komponen ini memungkinkan kontrol yang tepat atas arah dan kecepatan motor.
Detail Lembar Data
| Produsen | International Rectifier |
|---|---|
| Nomor bagian | IRFZ44N |
| Tegangan Logika/IO | 10 V (VGS) |
| Tegangan suplai | 55 V (VDS) |
| Arus keluaran (per saluran) | 49 A (maks) |
| Arus puncak (per saluran) | 120 A (maks) |
| Panduan frekuensi PWM | hingga 100 kHz |
| Ambang logika input | 2,0 V (VGS(th)) |
| Penurunan tegangan / RDS(on)/ saturasi | 0,025 Ω (maks) |
| Batas termal | 175 °C (maks) |
| Paket | TO-220 |
| Catatan / varian | Umumnya digunakan dalam konfigurasi H-Bridge |
- Pastikan pendinginan yang tepat untuk MOSFET agar tidak overheat.
- Gunakan PWM untuk kontrol kecepatan agar operasi motor berjalan lancar.
- Verifikasi tegangan suplai daya tidak melebihi rating MOSFET.
- Pastikan polaritas yang benar saat menghubungkan motor untuk menghindari kerusakan.
- Gunakan kapasitor dekoupling dekat catu daya untuk menstabilkan tegangan.
Instruksi Pemasangan Kabel

Untuk menghubungkan driver motor RJMD-R2101, mulai dengan menghubungkan sumber daya. Hubungkan pin VCC dari driver ke sumber daya 5V. Pin GND harus dihubungkan ke ground dari sumber daya. Selanjutnya, hubungkan pin kontrol: sinyal PWM untuk MOSFET pertama harus masuk ke pinPWM1_HIN1_PIN(pin 9), dan pin enable untuk MOSFET pertama harus terhubung keEN1_LIN1_PIN(pin 8). Untuk MOSFET kedua, sambungkan sinyal PWM kePWM2_HIN2_PIN(pin 3) dan pin enable untukEN2_LIN2_PIN(pin 2).

Pastikan untuk menghubungkan terminal motor ke output yang sesuai dari H-Bridge. Jika Anda menggunakan Arduino, hubungkan pin PWM ke pin yang ditentukan di papan Arduino. Misalnya, hubungkanPWM1_HIN1_PINke pin 9,EN1_LIN1_PINke pin 8, dan seterusnya. Pengaturan ini akan memungkinkan Anda untuk mengendalikan motor dengan efektif.
Contoh Kode & Panduan
Bagian kode mencakup fungsi untuk mengontrol kecepatan dan arah motor menggunakan pin yang telah ditentukan. Berikut adalah cuplikan dari sketsa kontrol motor:
const int PWM1_HIN1_PIN= 9; // PWM pin for first MOSFET
const int EN1_LIN1_PIN= 8; // Enable pin for first MOSFET
Pada bagian ini, kami mendefinisikan pin yang digunakan untuk mengendalikan MOSFET pertama.PWM1_HIN1_PINdigunakan untuk pengendalian kecepatan, sementaraEN1_LIN1_PINmengaktifkan pengendali motor.
void Motor(boolean direction, int speed=0) {
int speedPWM = map(speed, 0, 100, 0, 255);
// Control motor direction and speed here
}
Fungsi ini menerima sebuahdirectionparameter untuk menentukan apakah motor harus berputar searah jarum jam atau berlawanan arah jarum jam. Thespeedparameter dipetakan ke nilai PWM, memungkinkan kontrol yang halus atas kecepatan motor.
void stop() {
digitalWrite(EN1_LIN1_PIN, LOW); // Disable first MOSFET
}
Thestopfungsi menonaktifkan motor dengan mengatur pin enable ke rendah, secara efektif menghentikan aliran arus melalui motor. Ini memastikan penghentian yang cepat tanpa merusak komponen.
Untuk kode lengkap, silakan merujuk pada program lengkap yang dimuat di bawah artikel.
Demonstrasi / Apa yang Diharapkan
Ketika pengaturan selesai, Anda harus mengamati motor merespons perintah yang dikirim dari Arduino. Motor akan berputar ke arah yang ditentukan, dan Anda dapat mengatur kecepatan menggunakan sinyal PWM. Masalah umum yang perlu diperhatikan termasuk koneksi polaritas terbalik, yang dapat menyebabkan motor berputar ke arah yang berlawanan, dan input mengambang yang dapat menyebabkan perilaku tidak teratur.
Selama pengujian, Anda mungkin juga akan melihat kecepatan motor berubah berdasarkan nilai PWM yang dikirim. Pastikan semua koneksi aman untuk menghindari gangguan aliran daya, yang dapat mempengaruhi kinerja (dalam video pada 05:45).
Stempel Waktu Video
- 00:00- Pengenalan proyek
- 02:15- Ikhtisar komponen perangkat keras
- 05:45- Demonstrasi pengendalian motor
- 08:30- Penjelasan dan penelusuran kode
Gambar
/*
* Sketsa Kontrol Motor IR2101
* Mengontrol motor DC dengan kecepatan, rem, dan berhenti
* Mosfet IRF44ZN digunakan untuk sisi tinggi dan sisi rendah.
* Driver gerbang IR2101 digunakan untuk menggerakkan MOSFET.
* Anda dapat mendapatkan kode, file gerber untuk PCB yang diproduksi, dan diagram pengkabelan
* dari http://robojax.com/RJT390
*
* ditulis oleh Ahmad Shamshiri pada 19 Nov 2024
* www.Robojax.com https://youTube.com/@robojax
*/
const int PWM1_HIN1_PIN= 9; // harus ada satu pint dengan ~
const int EN1_LIN1_PIN= 8;
const int PWM2_HIN2_PIN= 3; // harus ada satu pint dengan ~
const int EN2_LIN2_PIN= 2;
const boolean CW =1;
const boolean CCW =0;
void Motor(boolean, int); // prototipe
void brake(); // prototipe
void stop(); // prototipe
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); // dalam CW dengan kecepatan 50%
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);
}
}
Sumber daya & referensi
-
Eksternal
-
EksternalIR2101 Gate Driver datasheetinfineon.com
-
EksternalIRFZ44N MOSFET datasheetinfineon.com
Berkas📁
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