Simulasi Proteus Kontrol Driver Motor L298N

Simulasi Proteus Kontrol Driver Motor L298N
Proteus Simulation L298N

Nah, bagi yang suka main roda atau motor, IC L298N tentunya sudah tidak asing lagi. Untuk saat ini sudah banyak dipasaran dalam bentuk modul yang sangat memudahkan dalam development. Pada dasarnya proses pengendalian sinyal untuk driver motor satu ini tidaklah jauh berbeda dengan yang lain. Kita dapat mengatur arah putar(sinyal digital) dan kecepatan(pwm).  Nah bagi yang sedang mencoba, kita dapat melakukan simulasi terlebih dahulu agar dapat memahami cara kerja dan karakteristik dari modul ini. Pada simulasi ini terdapat beberapa progam yang dapat kalian coba. 

Pertama buatlah rangkaian seperti berikut(download library proteus untuk arduino dan modul L298N disini):
Simulasi Proteus Kontrol Driver Motor L298N

Program Arduino:
//pin arduino ke module L298N
#define enA 10
#define in1 9
#define in2 8
#define in3 7
#define in4 6
#define enB 5

//tombol kontrol
#define btn_fwd     4
#define btn_bkwd    3
#define btn_stop    2

//nilai pwm (kecepatan putar)
int kecepatan=255;

void setup() {
  pinMode(enA, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  pinMode(enB, OUTPUT);
  
  pinMode(btn_fwd, INPUT_PULLUP);
  pinMode(btn_bkwd, INPUT_PULLUP);
  pinMode(btn_stop, INPUT_PULLUP);
  motor_stop();
  delay(500);
}

void loop() {
  //tombol maju ditekan
  if(!digitalRead(btn_fwd)){
    motor_maju();
  }

  //tombol mundur ditekan
  if(!digitalRead(btn_bkwd)) {
    motor_mundur();
  }

  //tombol stop ditekan
  if (!digitalRead(btn_stop)) {
    motor_stop();
  }
}

void motor_maju(){
  analogWrite (enA, kecepatan);
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  analogWrite (enB, kecepatan);
}
void motor_mundur(){
  analogWrite (enA, kecepatan);
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  analogWrite (enB, kecepatan);
}
void motor_stop(){
  //kecepatan=0
  analogWrite (enA, 0);
  analogWrite (enB, 0);
}

Selanjutnya compile program dan lokasi hasil compile dimasukkan kedalam program file pada arduino. Bila belum jelas cara compile dan memasukkan hasil compile ke ptoteus, dapat pelajari/lihat dulu pada postingan sebelumnya seperti di  Simulasi Proteus Arduino-LCD 16x2.

Setelah programnya dimasukkan, langsung aja disimulasikan. Hasilnya kurang lebih seperti berikut:
Simulasi Proteus Kontrol Driver Motor L298N

*Kesimpulan
Dalam simulasi ini dilakukan pengendalian arah putar dan kecepatan. Dasarnya adalah pada pemberian sinyal untuk pin-pin pada modul L298N
1
2
3
4
5
6
analogWrite (enA, kecepatan);
 digitalWrite(in1, HIGH);
 digitalWrite(in2, LOW);
 digitalWrite(in3, HIGH);
 digitalWrite(in4, LOW);
 analogWrite (enB, kecepatan);
Pin enA, dan enB diberikan sinyal PWM untuk mengatur kecepatan yang adak diberikan. Untuk pin PWM pada arduino Uno terdapat pada pin  3, 5, 6, 9, 10, and 11 (info). Nilai yang dapat diberikan adalah 0-255. Nah kalau untuk mengatur arah putar terdapat pada in1, in2 untuk motor 1, dan in3, in4 untuk motor 2. Nilai yang diberikan pada pin ini adalah 1 dan 0 (HIGH atau LOW).

Download Proteus File
Download Proteus File

Pencarian Terkait:
  1. Simulasi Proteus Kontrol Driver Motor L298N
  2. Simulasi Proteus Arduino L298N Modul
  3. Arduino L298N Motor Driver
  4. Arduino L298N Proteus Simulation