Cara Menggunakan Pin PWM Arduino Untuk Kontrol Kecepatan Motor Dc

4:32 PM

 

Kecepatan motor DC pada umumnya berbanding lurus dengan tegangan suplai daya, jadi jika tegangan diturunkan dari 9 volt menjadi 4,5 volt maka kecepatan motor dc menjadi setengah dari kecepatan semula. Namun dalam praktiknya, untuk mengubah kecepatan motor DC tidak perlu terus-menerus mengubah tegangan suplai dayanya. Yaitu dengan cara mengatur pada output kecepatan PWM untuk motor DC dengan cara memvariasikan tegangan yang disuplai ke motor DC

Sinyal PWM pada dasarnya adalah gelombang persegi frekuensi tinggi (biasanya lebih besar dari 1KHz). Siklus Tugas gelombang persegi ini bervariasi untuk memvariasikan daya yang disuplai ke beban.

Sinyal input yang diberikan pada kontroler PWM dapat berupa menjadi sinyal analog atau digital sesuai dengan desain kontroler PWM. Kontroler PWM menerima sinyal kontrol dan menyesuaikan siklus kerja sinyal PWM sesuai dengan kebutuhan.

Untuk mengontrol motor dc yang melebihi 5v diperlukan driver motor, kaliini menggunakan driver motor L298n

Driver Motor L298N adalah pengontrol yang menggunakan H-Bridge untuk dengan mudah mengontrol arah dan kecepatan hingga 2 motor DC. Tutorial ini akan menunjukkan cara menggunakannya

Driver dapat digunakan hingga 2 motor DC. Colokkan satu motor ke terminal berlabel OUT1 dan OUT2. Colokkan motor kedua ke terminal berlabel OUT3 dan OUT4:

Cara Menggunakan Pin PWM Arduino Untuk Kontrol Kecepatan Motor Dc

Deretan pin di kanan bawah L298N mengontrol kecepatan dan arah motor. IN1 dan IN2 mengontrol arah motor yang terhubung ke OUT1 dan OUT2. IN3 dan IN4 mengontrol arah motor yang terhubung ke OUT3 dan OUT4. Disini pin yang digunakan pada arduino yaitu pin 2, 3, 4, 5, 9 dan 10. Untuk pin 9 dan 10 gunanya mengontrol kecepatan motor.

Cara Menggunakan Pin PWM Arduino Untuk Kontrol Kecepatan Motor Dc

Kalian dapat mengubah kecepatan dengan pin EN menggunakan PWM. ENA mengontrol kecepatan motor kiri dan ENB mengontrol kecepatan motor kanan. Di sini  diguanakan pin 9 dan 10 di Arduino. Ini opsional dan motor akan tetap berjalan jika kalian tidak melakukannya. Tetapi karena untuk mengontrol kecepatannya maka cara ini perlu dilakukan. Untuk programnya dapat dilihat dibawah ini

[program]


int motor1pin1 = 2;
int motor1pin2 = 3;
int ENA = 9;

int motor2pin1 = 4;
int motor2pin2 = 5;
int ENB = 10;

void setup() {
  // put your setup code here, to run once:
  pinMode(motor1pin1, OUTPUT);
  pinMode(motor1pin2, OUTPUT);
  pinMode(motor2pin1, OUTPUT);
  pinMode(motor2pin2, OUTPUT);
  pinMode(ENA, OUTPUT);
  pinMode(ENB, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:   
  digitalWrite(motor1pin1, HIGH);
  digitalWrite(motor1pin2, LOW);
  analogWrite (ENA, 255);
  digitalWrite(motor2pin1, HIGH);
  digitalWrite(motor2pin2, LOW);
  analogWrite (ENB, 255);
  delay(1000);

  digitalWrite(motor1pin1, LOW);
  digitalWrite(motor1pin2, HIGH);
  analogWrite (ENA, 100);
  digitalWrite(motor2pin1, LOW);
  digitalWrite(motor2pin2, HIGH);
  analogWrite (ENA, 100);
  delay(1000);
}
<
Next Article
« Prev Post
Previous Article
Next Post »
Disqus
Tambahkan komentar Anda

No comments