32118075-Laporan Lab Mikro 6 [PDF]

  • Author / Uploaded
  • salim
  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LAPORAN LABORATORIUM ELEKTRONIKA DIGITAL DAN MIKROKONTROLER SEMESTER GANJIL 2019/2020



TIMER/PWM/MOTOR DC



OLEH : RAWIATUL JANNAH 321 18 075 KELOMPOK 11



PROGRAM STUDI TEKNIK LISTRIK JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI UJUNG PANDANG MAKASSAR 2019



TIMER/PWM/MOTOR DC I. TUJUAN PERCOBAAN Setelah percobaan ini, mahasiswa diharapkan dapat :



a. Mahasiswa mampu membuat layout Timer/PWM/Motor DC di proteus menggunakan Arduino uno



b. Mahasiswa mampu membuat program sketch di IDE Arduino dengan menyalakan simulasi Timer/PWM/Motor DC di proteus



c. Mahasiwa mampu mengimplementasikan hasil simulasi di proteus ke Board Modul Arduino Uno II. TEORI DASAR II.1 Pengenalan Arduino Uno Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328. Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya. Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru sebagai berikut: 







Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke



depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya. 



Sirkit RESET yang lebih kuat







Atmega



16U2



menggantikan



8U2



“Uno” berarti satu dalam bahasa Italia dan dinamai untuk menandakan keluaran (produk) Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 akan menjadi referensi untuk versi-versi Arduino selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board Arduino USB dan model referensi untuk papan Arduino, untuk suatu perbandingan dengan versi sebelumnya. Mikrokontroler



ATmega328



Tegangan pengoperasian



5V



Tegangan



input



yang



disarankan



7-12V



Batas tegangan input



6-20V



Jumlah pin I/O digital



14 (6 di antaranya menyediakan keluaran PWM)



Jumlah pin input analog



6



Arus DC tiap pin I/O



40 mA



Arus DC untuk pin 3.3V



50 mA



Memori Flash



32 KB (ATmega328), sekitar 0.5 KB digunakan oleh bootloader



SRAM



2 KB (ATmega328)



EEPROM



1 KB (ATmega328)



Clock Speed



16 MHz



2.2 Pengenalan Motor DC Motor arus searah (DC) adalah suatu mesin yang berfungsi mengubah energi listrik menjadi energi mekanik, dimana energi gerak tersebut berupa putaran dari motor. Motor DC



memiliki beberapa bagian yang penting yaitu kutub dan kumparan medan, sikat, komutator, jangkar dan belitan jangkar. Pada motor DC, daerah kumparan medan yang dialiri arus listrik akan menghasilkan medan magnet yang melingkupi kumparan jangkar dengan arah tertentu. Untuk menentukan arah putaran motor digunakan kaidah Flamming tangan kiri. Kutub-kutub magnet akan menghasilkan medan magnet dengan arah dari kutub utara ke kutub selatan. Jika medan magnet memotong sebuah kawat penghantar yang dialiri arus searah dengan empat jari, maka akan timbul gerak searah ibu jari yang disebut gaya Lorentz. Motor DC banyak digunakan dalam aplikasi, karena kemudahan dalam pengaturan kecepatan maupun membalik arah putarannya. Motor DC dikendalikan dengan menentukan arah dan kecepatan putarnya. Arah putaran motor DC adalah searah dengan arah putaran jarum jam (Clock Wise/CW) atau berlawanan arah dengan arah putaran jarum jam (Counter Clock Wise/CCW), yang bergantung dari hubungan kutub yang diberikan pada motor DC. Kecepatan putar motor DC diatur dengan besarnya arus yang diberikan.Model sebuah motor DC dapat dilihat pada gambar berikut.



Komponen utama motor DC



Model/bentuk motor DC ukuran kecil



Salah satu cara yang paling mudah untuk membangkitkan sebuah tegangan analog dari sebuah nilai digital adalah dengan menggunakan Pulse-Width Modulation (PWM). Dalam PWM gelombang kotak, frekuensi tinggi dibangkitkan sebagai keluaran digital. Untuk contoh, sebuah port bit secara kontinu melakukan kegiatan sakelar on dan off pada frekuensi yang relatif tinggi. Selanjutnya, bila sinyal diumpankan pada low pass filter (LPF), tegangan pada keluaran filter akan sama dengan Root Mean Square (RMS) dari sinyal gelombang kotak. Selanjutnya tegangan RMS dapat divariasi dengan mengubah duty cycle dari sinyal DUTY CYCLE menyatakan fraksi waktu sinyal pada keadaan logika high dalam satu siklus. Satu siklus diawali oleh transisi low to high dari sinyal dan berakhir pada transisi berikutnya. Selama satu siklus, jika waktu sinyal pada keadaan high sama dengan low maka



dikatakan sinyal mempunyai DUTY CYCLE 50 %. DUTY CYCLE 20 % menyatakan sinyal berada pada logika 1 selama 1/5 dari waktu total.



Duty cycle 30 %



Pengontrolan motor DC ini sebenarnya dapat langsung mengambil PWM keluaran dari mikrokontroler akan tetapi metode ini dapat membebani mikrokontroler itu sendiri, karena sumber tegangan diambil dari mikrokontroler. Untuk alasan tersebut diperlukan subuh peranti yang disebut dengan driver motor, dengan peranti ini sumber tegangan untuk motor tidak beras lagi dari mikrokontrol. Motor driver L298N adalah sebuah modul motor driver yang banyak digunakan di dunia elektronika untuk mengendalikan arah putaran dan kecepatan motor DC. IC L298 adalah sebuah IC tipe H-Bridge yang mampu mengendalikan beban-beban induksi seperti relay ,selonoid, motor DC dan motor Stepper. Pada IC L298 terdapat transitor-transitor logik dengan gerbang NAND yang berfungsi untuk menentukan arah putaran suatu motor DC ataupun motor stepper.



III. ALAT DAN BAHAN a. Tools Proteus (software) b. Tools IDE Arduino Uno c. Board Modul Arduino Uno : 1 set d. Kabel USB : 1 buah e. Motor DC : 1 buah f. LED : 1 buah g. Osiloskop h. Kabel jumper male-female, male-male, female-female IV.



RANGKAIAN PERCOBAAN a. Percobaan 1



Gambar 4.1 Simulai Rangkaian percobaan 1



b. Percobaan 2



Gambar 4.2 Simulasi Rangkaian percobaan 2



c. Percobaan 3



Gambar 4.3 Simulasi Rangkaian percobaan 3



V.



LANGKAH PERCOBAAN Untuk menampilkan nilai gelombang PWM pada osiloskop 1. Ikuti langkah a – h pada “Membuat Rangkaian dan Simulasi” yang terdapat dalam ARDUINO DAN SOFTWARE PROTEUS 2. Carilah komponen yang dibutuhkan yaitu ARDUINO UNO R3 dan Osiloskop 3. Setelah komponen semua ada, hubungkanlah osiloskop ke kaki Arduino pada pin 5 dan pin 9. Lalu membuat source codenya pada Sketch Arduino. 4. Apabila pada proteus menampilkan seperti gambar berikut (keluaran osiloskop) , maka simulasi telah berhasil



Untuk menyalakan motor DC diikuti kecepatan redup LED Ulangi langkah percobaan menampilkan nilai gelombang PWM pada osiloskop tapi tanpa menggunakan osiloskop dan menambahkan Motor DC pada komponen yang akan digunakan.



Untuk menampilkan output LED menggunakan serial Ulangi langkah percobaan menampilkan nilai gelombang PWM pada osiloskop tapi tanpa menggunakan osiloskop dan menambahkan LED pada komponen yang akan digunakan. VI. SYNTAX PROGRAM 1. Syntax program percobaan 1 void setup() { pinMode (9,OUTPUT); pinMode (5,OUTPUT); } void loop() { analogWrite (9, 127); analogWrite (5, 127); } 2. Syntax program percobaan 2 const int ledPin=9; const int ledPin1=10; int x; void setup() { pinMode (ledPin, OUTPUT); pinMode (ledPin1, OUTPUT); } void loop() { for (x=0;x=0;x--) { analogWrite (ledPin,x); analogWrite (ledPin1,x); delay (10); } } 3. Syntax program percobaan 3 #include #include int angka; int wiwi; void setup() { Serial.begin(9600); pinMode(2,OUTPUT); pinMode(9,OUTPUT); } void loop() { angka=Serial.read(); wiwi=char(angka); if(wiwi=='1') { digitalWrite (2, HIGH); digitalWrite (9, LOW); } if(wiwi=='2') { digitalWrite (2, LOW); digitalWrite (9, HIGH); }



} VII.



ANALISIS PERCOBAAN



Pada percobaan kali ini, aplikasi atau software yang digunakan adalah Proteus dan IDE Arduino Uno. Sedangkan Bahasa pemrograman yang digunakan adalah bahasa C campur Bahasa Java. 1. Percobaan pertama yakni menampilkan gelombang PWM pada Osiloskop Pada percobaan kali ini dilakukan perbandingan Output gelombang PWM pada pin Arduino yang berbeda, yaitu pin 5 dan pin 9. Adapun hasil pengukurannya adalah sebagai berikut.



Gambar 7.1 Simulasi output gelombang PWM pada osiloskop



Gambar 7.2 Output gelombang PWM pada osiloskop



Berdasarkan gambar, dapat kita amati bahwa :



duty cycle=



t1 x 100 % T



Untuk pin 5, T/div = 0,5 x 2 Dimana t1 = 2 x 0,5 = 1 dan t2 = 2 x 0,5 = 1 jadi, untuk T = t1 + t2 = 2 Maka : 1 duty cycle= x 100 %=50 % 2 Dengan frekuensi = 0,5kHz Begitupun dengan pin 9 dan ditemukan frekuensi sebesar 1 kHz.



Kondisi HIGH adalah kondisi ketika sinyal berada di atas grafik (5V) dan LOW adalah ketika sinyal berada di bawah (0V). Duty cycle adalah persentasi panjang pulsa HIGH dalam satu periode sinyal. Ketika duty cyclenya 0% atau sinyal LOW penuh, maka nilai analog yang dikeluarkan adalah 0V atau setara dengan GND.



Ketika duty cycle-nya 100% atau sinyal HIGH penuh maka sinyal yang dikeluarkan adalaah 5V. Untuk mengatur nilai duty cycle, kita gunakan fungsi analogWrite([nomorPin], [nilai]). Nilai pada parameter kedua berkisar antara 0 hingga 255. Bila kita hendak mengeset duty cycle ke 0%, maka kita set nilai parameter ke 0, dan untuk duty cycle 100%, maka kita set nilai parameter ke 255. Jadi bila misalkan kita hendak mengeset duty cycle ke 50%, berarti nilai yang harus kita set adalah 127 (50% x 255). 2. Percobaan kedua yakni menyalakan motor DC diikuti kecepatan redup LED Pertama tama yang dilakukan adalah membuat rangkaian simulasi di Proteus sesuai pada gambar 4.2 dan sebuah modul board Arduino Uno. Setelah membuat rangkaian simulasinya, selanjutnya membuat syntax sesuai pada teks diatas di IDE Arduino Uno. Pada percobaan kali ini, kita menggunakan LED dan motor DC untuk melihat keluaran 2 komponen tersebut dari pin PWM pada Arduino. Motor DC merupakan salah satu pengendalian yang penting dalam robotika maupun otomasi yaitu pengaturan kecepatan motor DC. Prinsip kerja dari pengaturan kecepatan motor ini yaitu menggunakan pengaturan duty cicle /pewaktuan kondisi on dan off tiap satuan waktu atau periode begitupun dengan kecepatan redup pada LED atau biasa disebut PWM (pulse width modulation). Semakin besar duty cicle ini maka semakin cepat motor akan berputar. 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. Pin PWM pada Arduino Uno ditunjukkan dengan karakter seperti cacing di beberapa pin. Setelah selesai membuat program sketch nya maka selanjutnya mengompile intruksi tersebut sampai muncul keterangan “Done Compiling” yang menandakan proses compiling nya telah berhasil. Selanjutnya memasukkan program sketch ke proteus untuk mensimulasikan rangkaian. Apabila simulasinya sudah sesuai dengan yang diinginkan barulah program sketch yang sudah dibuat tadi diupload ke dalam board modul Arduino Uno. Adapun hasil percobannya adalah sebagai berikut :



Gambar 7.3 Hasil simulasi percobaan 2



Gambar 7.4 Hasil percobaan 2



3. Percobaan ketiga yakni menampilkan output LED menggunakan serial Pertama-tama yang dilakukan adalah membuat rangkaian simulasi di Proteus dengan sebuah LED dan potensiometer sesuai pada rangkaian 4.3. Setelah membuat rangkaian simulasinya, selanjutnya membuat program sketch di IDE Arduino Uno. Pada percobaan kali ini kita hanya menggunakan computer untuk serial dan sebuah LED yang terhubung ke Arduino.



Komunikasi serial Arduino adalah Komunikasi antara Arduino Uno dan Komputer dapat dilakukan melalui port USB. Dalam hal ini, Arduino Uno tidak hanya bisa mengolah data dari pin I/O secara independ, tetapi dapat juga dikomunikasikan dengan komputer untuk ditampilkan hasil dari pengolahan datanya sehingga komunikasi yang dilakukan bersifat dua arah. Pada Arduino IDE terdapat fasilitas untuk berkomunikasi dua arah melalui serial monitor yang dapat dimanfaatkan dalam berbagai keperluan. Dengan menggunakan fasilitas ini, dapat dikirimkan data ke Arduino Uno dan sebaliknya dapat membaca kiriman dari arduino uno. Hal ini memungkinkan dapat mengontrol Arduino Uno melalui komputer dan memantau sesuatu yang sedang terjadi pada Arduino Uno. Dalam hal ini struktur program sketch-nya pun ada perubahan dari percobaanpercobaan sebelumnya yakni menggunakan Serial.begin() yang berfungsi untuk menentukan kecepatan pengiriman dan penerimaan data melalui port serial. Kecepatan yang umum digunakan adalah 9600 bit per detik (9600 bps). Namun, kecepatan hingga 115.200 didukung oleh Arduino Uno. Contoh yang sering digunakan yaitu Serial.begin(9600) . Adapun Serial.read()  berguna untuk membaca satu byte data yang terdapat di port serial. Setelah pemanggilan Serial.read(), jumlah data di port serial berkurang satu. Untuk void loop dan lainnya menggunakan syntax seperti biasa. Setelah selesai membuat program sketch nya maka selanjutnya mengompile intruksi tersebut sampai muncul keterangan “Done Compiling” yang menandakan proses compiling nya telah berhasil. Selanjutnya memasukkan program sketch ke proteus untuk mensimulasikan rangkaian. Apabila simulasinya sudah sesuai dengan yang diinginkan barulah program sketch yang sudah dibuat tadi diupload ke dalam board modul Arduino Uno. Adapun hasil percobaannya adalah sebagai berikut :



Gambar 7.5 Hasil simulasi percobaan 3



Gambar 7.6 Hasil percobaan 3



VIII. KESIMPULAN Kesimpulannya yaitu software Proteus digunakan untuk mensimulasikan rangkaian percobaan sebelum dieksekusi di board modul Arduino Uno. Program IDE Arduino Uno digunakan untuk mengeksekusi program sketch yang sudah dibuat ke dalam modul board Arduino Uno. Modul board Arduino Uno digunakan untuk menampilkan secara virtual



program yang telah dibuat. Tata cara penulisan (syntax) sangat perlu diperhatikan karena apabila terjadi kesalahan penulisan maka program tidak dapat dijalankan (error). Terdapat pin PWM pada Arduino dimana kondisi HIGH adalah kondisi ketika sinyal berada di atas grafik (5V) dan LOW adalah ketika sinyal berada di bawah (0V).  Selain dapat menampilkan gelombang sinyal pada osiloskop, PWM juga dapat mengatur kecepatan motor menggunakan pengaturan duty cicle /pewaktuan kondisi on dan off tiap satuan waktu atau periode, begitupun dengan kecepatan redup pada LED. Komunikasi serial Arduino adalah Komunikasi antara Arduino Uno dan Komputer dapat dilakukan melalui port USB. Dalam hal ini, Arduino Uno tidak hanya bisa mengolah data dari pin I/O secara independ, tetapi dapat juga dikomunikasikan dengan komputer untuk ditampilkan hasil dari pengolahan datanya sehingga komunikasi yang dilakukan bersifat dua arah.



DAFTAR PUSTAKA Maulana,



Aozon.



2014.Mengenal



Arduino



Uno



Lebih



Rinci.(online)



dalam



http://almonica.blogspot.com/2014/05/monika-faswia-fahmi.html?m=1, diakses tanggal 10 Desember 2019.



Hendri.



2013.



Arduino



Uno.(online)



dalam



pemrograman.blogspot.com/2013/03/arduino-uno.html?m=1,



http://belajar-dasardiakses



tanggal



10



Desember 2019. Djuandi,



Feri.



Pengenalan



Arduino.



(online)



http://www.academia.edu/32242981/pengenalan_arduino_oleh_Feri_Djuandi,



dalam diakses



tanggal 10 Desember 2019. Martin.



2016.



Tutorial



Instal



Arduino



Uno.(online)



dalam



http://martinpmt.blogspot.com/2016/09/tutorial-instal-arduino-uno-smd-di.html?m=1, diakses tanggal 4 November 2018. Prabu,.Raka. 2016. Arduino dan Cara Instal Ide Arduino(online) dalam https://idmechatronic.blogspot.com/2016/09/arduino-and-cara-instal-arduino-ide.html?m=1, diakses tanggal 10 Desember 2019. Kho, Dickshon.Pengertian LCD (Liquid Crystal Display) dan Prinsip Kerja LCD.(online) dalamhttps://teknikelektronika.com/pengertian-lcd-liquid-crystal-display-prinsip-kerjalcd/, diakses tanggal 10 Desember 2019.



Nyebarilmu,Komunikasi serial Arduino via Komputer(online) dalam https://www.nyebarilmu.com/komunikasi-serial-arduino-uno-via-komputer/ diakses tanggal 10 Desember 2019. Codepolitan, Analog output pada Arduino menggunakan PWM(online) dalam https://www.codepolitan.com/analog-output-arduino-menggunakan-pwmpulse-width-modulation, diakses tanggal 10 Desember 2019