Mengjalankan Motor DC Dengan Arduino
-
Upload
ferdynal-nevin -
Category
Documents
-
view
183 -
download
0
description
Transcript of Mengjalankan Motor DC Dengan Arduino
BAB I
PENDAHULUAN
1.1 Tujuan Percobaan
1. Agar mahasiswa dapat memahami konsep dasar Arduino
2. Agar dapat memahami Arduino dengan Motor DC dan Push Button
1.2 Teori Pendukung
Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki
14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output
PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP
header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup
hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB
atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.
Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu
menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda
dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.
Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran Arduino 1.0.
Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam
serangkaian board USB Arduino, dan sebagai model referensi untuk platform Arduino, untuk
perbandingan dengan versi sebelumnya, lihat indeks board Arduino.
Summary
Microcontroller ATmega328
Operasi dengan daya 5V Voltage
Input Tegangan (disarankan) 7-12V
Input Tegangan (batas) 6-20V
Digital I / O Pins 14 (dimana 6 memberikan output PWM)
Analog Input Pin 6
DC Lancar per I / O Pin 40 mA
Saat 3.3V Pin 50 mA DC
Flash Memory 32 KB (ATmega328) yang 0,5 KB digunakan oleh bootloader
SRAM 2 KB (ATmega328)
1
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Daya
Uno Arduino dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal
(otomatis).Eksternal (non-USB) daya dapat berasal baik dari AC-ke adaptor-DC atau baterai.
Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm
konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam Gnd dan Vin pin
header dari konektor POWER.
Kisaran kebutuhan daya yang disarankan untuk board Uno adalah7 sampai dengan 12 volt,
jika diberi daya kurang dari 7 volt kemungkinan pin 5v Uno dapat beroperasi tetapi tidak
stabil kemudian jikadiberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat
merusak board Uno.
2
Motor DC memerlukan suplai tegangan yang searah pada kumparan medan untuk diubah
menjadi energi mekanik. Bagian utama motor DC adalah statos dan rotor dimana kumparan
medan pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan jangkar
disebut rotor (bagian yang berputar). Bentuk motor paling sederhana memiliki kumparan satu
lilitan yang bisa berputar bebas di antara kutub-kutub magnet permanen. Catu tegangan dc
dari baterai menuju ke lilitan melalui sikat yang menyentuh komutator, dua segmen yang
terhubung dengan dua ujung lilitan. Kumparan satu lilitan pada gambar di atas disebut angker
dinamo. Angker dinamo adalah sebutan untuk komponen yang berputar di antara medan
magnet.
Motor DC Sederhana
Prinsip Dasar Cara Kerja
Jika arus lewat pada suatu konduktor, timbul medan magnet di sekitar konduktor. Arah
medan magnet ditentukan oleh arah aliran arus pada konduktor. Medan magnet yang
membawa arus mengelilingi konduktor dapat dilihat pada gambar berikut.
3
Gambar Medan Magnet Yang Membawa Arus Mengelilingi Konduktor
Aturan Genggaman Tangan Kanan bisa dipakai untuk menentukan arah garis fluks di sekitar
konduktor. Genggam konduktor dengan tangan kanan dengan jempol mengarah pada arah
aliran arus, maka jari-jari anda akan menunjukkan arah garis fluks. Gambar diatas
menunjukkan medan magnet yang terbentuk di sekitar konduktor berubah arah karena bentuk
U. Medan magnet hanya terjadi di sekitar sebuah konduktor jika ada arus mengalir pada
konduktor tersebut. Jika konduktor berbentuk U (angker dinamo) diletakkan di antara kutub
uatara dan selatan yang kuat medan magnet konduktor akan berinteraksi dengan medan
magnet kutub.
Mekanisme kerja untuk seluruh jenis motor secara umum :
Arus listrik dalam medan magnet akan memberikan gaya.
Jika kawat yang membawa arus dibengkokkan menjadi sebuah lingkaran / loop, maka
kedua sisi loop, yaitu pada sudut kanan medan magnet, akan mendapatkan gaya pada arah
yang berlawanan.
Pasangan gaya menghasilkan tenaga putar / torque untuk memutar kumparan.
Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan tenaga putaran
yang lebih seragam dan medan magnetnya dihasilkan oleh susunan elektromagnetik yang
disebut kumparan medan.
4
BAB II
PROSES PERCOBAAN
2.1 Langkah Percobaan
1. Menyambungkan kabel USB arduino ke PC
2. Menjalankan Aplikasi Arduino 1.0.5
3. Klik File – Klik Examples – Klik 0.1Basics – Klik Blink
4. Klik File – Klik Examples – Klik 0.2Digital – Klik Button
5. Mengcompile program tersebut untuk mengecek apabila ada error dalam program
6. Mengupload Program ke Arduino yang telah compile
2.2 Peralatan yang digunakan
1 PC / Laptop
1 Software Arduino 1.0.5
1 Modul Arduino UNO
1 Motor DC
2.3 Program
1. Program 1
// constants won't change. They're
used here to
// set pin numbers:
const int buttonPin = 2; // the
number of the pushbutton pin
const int ledPin = 9; // the number
of the LED pin
// variables will change:
int buttonState = 0; // variable for
reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an
input:
pinMode(buttonPin, INPUT);
}
void loop(){
// read the state of the pushbutton
value:
buttonState =
digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if ((buttonState == HIGH))
5
{
analogWrite(9,250);
}
else {
// turn LED off:
analogWrite(9,LOW);
}
2. Program 2
// constants won't change. They're
used here to
// set pin numbers:
const int buttonPin = 2; // the
number of the pushbutton pin
const int ledPin = 9; // the number
of the LED pin
// variables will change:
int buttonState = 0; // variable for
reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an
input:
pinMode(buttonPin, INPUT);
}
void loop(){
// read the state of the pushbutton
value:
buttonState =
digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if ((buttonState == LOW))
{
analogWrite(9,250);
}
else {
// turn LED off:
analogWrite(9,HIGH);
}
}
3. Program 3
// this constant won't change:
const int buttonPin = 2; // the pin
that the pushbutton is attached to
const int ledPin = 9; // the pin that
the LED is attached to
// Variables will change:
int buttonPushCounter = 0; // counter
for the number of button presses
int buttonState = 0; // current
state of the button
int lastButtonState = 0; // previous
state of the button
void setup() {
// initialize the button pin as a input:
pinMode(buttonPin, INPUT);
// initialize the LED as an output:
6
pinMode(ledPin, OUTPUT);
// initialize serial communication:
Serial.begin(9600);
}
void loop() {
// read the pushbutton input pin:
buttonState =
digitalRead(buttonPin);
// compare the buttonState to its
previous state
if (buttonState != lastButtonState) {
// if the state has changed,
increment the counter
if (buttonState == HIGH) {
// if the current state is HIGH then
the button
// wend from off to on:
buttonPushCounter++;
Serial.println("on");
Serial.print("number of button
pushes: ");
Serial.println(buttonPushCounter);
}
else {
// if the current state is LOW then
the button
// wend from on to off:
Serial.println("off");
}
}
// save the current state as the last
state,
//for next time through the loop
lastButtonState = buttonState;
// turns on the LED every four button
pushes by
// checking the modulo of the button
push counter.
// the modulo function gives you the
remainder of
// the division of two numbers:
if (buttonPushCounter % 1 == 0) {
analogWrite(9, 50);
} else {
//analogWrite(9, 0);
}
if (buttonPushCounter % 2 == 0) {
analogWrite(9, 150);
} else {
//analogWrite(9, 0);
}
if (buttonPushCounter % 3 == 0) {
analogWrite(9, 250);
} else {
analogWrite(9, 0);
}
}
7
BAB III
PEMBAHASAN
3.1 Analisa Data
Adapun yang dapat dianalisa berdasarkan percobaan ini sebagai berikut :
Pada percobaan pertama pratikan menghidupkan motor dengan menekan button.
Saat button ditekan maka motor akan mendapat logika “1” sehingga motor hidup,
akan tetapi apabila button dilepaskan motor akan mendapat logika “0” dan motor akan
mati.
Pada percobaan kedua pratikan mematikan motor dengan menekan button. Untuk
percobaan kedua ini masih berlaku program dari percobaan pertama, hanya saja dalam
keadaan biasa tanpa menekan button motor akan hidup dengan mendapat logika “1”
dan ketika button ditekan maka motor akan mati dengan mendapat logika “0”.
Pada percobaan ketiga pratikan mengatur kecepatan motor dengan buton. Dengan
penambahan counter pada program maka kecepatan motor dapat diatur mulai dari 50,
150, dan 250. Semakin besar nilai yang diberikan maka motor akan semakin cepat.
Adapun program yang ditambahkan sebagai berikut :
if (buttonPushCounter % 1 == 0) {
analogWrite(9, 50);
} else {
//analogWrite(9, 0);
}
if (buttonPushCounter % 2 == 0) {
analogWrite(9, 150);
} else {
//analogWrite(9, 0);
}
if (buttonPushCounter % 3 == 0) {
analogWrite(9, 250);
} else {
8
analogWrite(9, 0);
Saat motor dalam keadaan mati, apabila ditekan button sebanyak 1 kali maka
motor akan hidup dengan kecepatan 50. Ketika ditekan button 1 kali lagi maka
kecepatan motor akan naik menjadi 150. Dan apabila ditekan button 1 kali lagi maka
kecepatan motor akan naik menjadi 250. Akan tetapi apabila button ditekan 1 kali lagi
maka motor akan mati.
9
BAB IV
PENUTUP
4.1 Kesimpulan
Adapun kesimpulan yang didapatkan berdasarkan percobaan ini adalah
sebagai berikut :
- Menggunakan program examples Blink dan Button bisa mengatur hidup dan matinya
kerja motor
- Penambahan counter kita dapat mengatur kecepatan motor sesuai banyaknya jumlah
button yang ditekan
- Pemberian logika “0” maka keadaan motor akan mati, dan bila diberi logika “1” maka
keadaan motor akan hidup.
-
4.2 Saran
- Agar lebih memahami program dasar dari Arduino
- Diharapkan agar mengerti dari konsep dasar Arduino dengan LED dan Push Button
Tersebut tersebut
10
DAFTAR PUSTAKA
http://arduino.cc/en/Reference/HomePage
http://arduino.cc/en/Tutorial/HomePage
http://aozon.blogspot.com/2014/03/mengenal-arduino-uno-lebih-rinci.html#toc1
11