Belajar Mikrokontroler - Pengendalian Motor DC dengan Driver Motor - Arduino #8

Belajar Mikrokontroler - Pengendalian Motor DC dengan Driver Motor - Arduino #8

pada kesempatan ini kita akan belajar mengenai cara mengendalikan sesuatu yang penting dalam robotika maupun otomasi yaitu pengendalian motor DC. 

Prinsip kerja dari pengaturan kecepatan motor ini yaitu menggunakan pengaturan duty cicle /pewaktuan kondisi on dan off tiap satuan waktu atau periode atau biasa disebut PWM (pulse width modulation). 

Semakin besar duty cicle ini maka semakin cepat motor akan berputar. Intinya begini, besarnya PWM ini pada Arduino bernilai dari 0 sampai 255, semakin besar nilainya maka semakin cepat putaran motor. 

Apabila diukur dengan voltmeter pada tegangan yang masuk ke motor akan mengikuti dari PWM ini, semakin besar PWM maka tegangan yang masuk motor akan semakin mendekati tegangan sumber dari driver. 

Pin PWM pada Arduino Uno ditunjukkan dengan karakter seperti tanda strip melengkung di seperti di pin 4, 5 dll, pada pengaturan motor DC kita memerlukan sebuah driver motor yang digunakan untuk mengatur sinyal input dari mikrokontroler dan dilakukan untuk mengatur motor DC baik itu arah putaran maupun kecepatannya.

Langsung saja kita lakukan percobaan dengan menggunakan Arduino. Yang harus kita persiapkan adalah:

  • Arduino UNO
  • Motor DC
  • Jumper
  • Motor Driver (disini saya menggunakan motor driver MX1508)
  • Sumber Daya 5 - 9 V untuk daya motor DC
Setelah itu rangkai rangkaian seperti gambar berikut:

setelah merangkai maka masukan program 

int maju = 5;
int mundur = 6;

void setup ()
{
  pinMode(maju, OUTPUT);
  pinMode(mundur, OUTPUT);
  digitalWrite(maju, LOW);
  digitalWrite(mundur, LOW);
  }

void loop ()
{
  digitalWrite(maju, HIGH);
  delay(2000);
  digitalWrite(maju, LOW);
  delay(1000);
  digitalWrite(mundur, HIGH);
  delay(2000);
  digitalWrite(mundur, LOW);
  delay(1000);
  }

Program diatas hanya memberikan program diatas hanya memberikan putar searah jarum jam selama 2 detik, kemudian berhenti dan berputar berlawanan arah jarum jam selama 2 detik dan setelah itu berhenti 1 detik dengan kecepatan maksimum.

jika kita ingin mengatur kecepatan maka gunakan program ini .

int maju = 5;

void setup ()
{
  pinMode(maju, OUTPUT);
  digitalWrite(maju, LOW);
  }

void loop ()
{
  analogWrite(maju, 64); //berputar dengan kecepatan 1/4 kec maksimum
  delay(2000);
  analogWrite(maju, 128); // berputar dengan kecepatan 1/2 kec maksimum
  delay(2000);
  analogWrite(maju, 192); // berputar dengan kecepatan 3/4 kec maksimum
  delay(2000);
  analogWrite(maju, 255); // berputar dengan kecepatan maksimum
  delay(2000);
  }

program diatas , memberikan perintah untuk memutar roda dengan kecepatan 1/4 kec maks, selama 2 detik, kemudian 1/2 Vmax, 3/4 V maks sampai kec Vmax dengan selang waktu 2 detik.

Berikut video penjelasannya:


Selamat mencoba!



Post a Comment

Previous Post Next Post

Contact Form