Download - File Belajar

Transcript
Page 1: File Belajar

1. Akses motor dc dengan driver L298

L298 punya konfigurasi kaki pinnya kayak gambar di atas,buat programmer yang kita perlu ketahui cuman beberapa pin aja,kita coba pakek proteus dulu.

Keterangan:

1. IN1,IN2,IN3,IN4 -> inputan dari mikro mengendalikan keluaran yang ada di pin OUT.

2. VSS -> power supply 5v.3. VS -> power supply buat menggerakkan motor DC4. EN -> Inputan PWM dari mikro buat ngatur kecepatan putar

motor DC5. GND -> disambungin ke ground ya6. OUT1,2,3,4 -> output yang punya tegangan setara sama inputan

VS jika logika 1 dan 0v jika logikanya 0.pengendaliannya berasal dari pin IN.

Page 2: File Belajar

Jadi,konsep dasar dari pengendalian motor DC gampang.cuman ngatur logika inputan pada IN untuk mengatur keluaran teganan pada pin OUT.jadi kalau kita beri logika 1 atau tegangan 5v pada pin IN1,otomatis logika yang keluar pada pin OUT1 juga 1.atau tegangannya sama dengan tegangan VS.terus pin EN atau enable harus diberi logika 1 biar keluarannya bisa 1.

1.1 Latihan gerak motor

Buat latihan di proteus coba bikin rangkaian kayak gini..

Page 3: File Belajar

Terus buka aplikasi cvavr-nya..

Langkahnya:

Pilih file->new->trus pilih project->yes aja

Nah trus kita masuk ke code wizard avr,menu yang dimasuki pertama itu pemilihan chip.kita pakai ATMEGA16 yang sama kayak proteus.trus frequency crsytal diisi sesuai dengan crystal yang dipasang,sekarang 16MHz.setelah itu pilih file ->generate,save and exit.savenya tempatnya terserah yang penting ketiga file yang di save harus satu folder.terus keluar codenya..

Page 4: File Belajar

Kita lihat rangkaian proteusnya lagi,

Pin mikro yang terhubung ke L298 semuanya berada di PORT D jadi kita buat PORT D itu sebagai outputan,caranya tulis pada register DDRD (data direction register D) :

Page 5: File Belajar

Setelah itu coba kita buat motor yang menyambung pada OUT1 dan OUT2 kita buat memutar searah jarum jam,maka IN2 harus mempunyai logika 1 dan IN1 harus mempunyai logika 0,maka pada CVAVR kita bisa mengetikkan:

Page 6: File Belajar

Kemudian pilih bulid all pada menu project

Setelah itu ada menu berikut yang menunjukkan bila program itu berhasil di compile

Page 7: File Belajar

Setelah di compile akan ada file .hex yang tersimpan pada folder exe yang terdapat pada folder tempat kamu menyimpan project tersebut.

Pada gambar di atas yang terdapat pada folder exe dan typenya Intel Hex file.

Untuk memasukkan file hex tersebut ke dalam mikro pada simulasi proteus,double click mikro kemudian lihat box program file

Pada program file kamu klik tombol folder kemudian pilih file hex yang telah di compile tadi.

Setelah itu klik tombol play pada proteus dan lihat motor DC tersebut.apakah motor itu berputar?

Page 8: File Belajar

Tentu saja tidak berputar,karena kita belum mengaktifkan pin EN1.untuk mengaktifkannya kita harus membuat keluaran pada pin PD4 aktif dengan cara menambahkan sebagai berikut.

Compile kemudian klik play pada proteus dan lihatlah,apakah motor itu berputar?

Coba latihan :

1. mengubah arah gerakan motor antara CW dan CCW

2. menggerakkan motor yang kedua

3.menggerakkan 2 motor sekaligus dengan arah yang sama/berbeda.

4.mengubah arah putaran motor secara periodik dengan fungsi delay(coba cari di internet)

Page 9: File Belajar

2. Mengatur kecepatan Motor DC dengan PWM

Dari rangkaian yang sebelumnya kita bisa mengatur kecepatan motor DC tersebut,yaitu dengan memainkan fitur timer yaitu phase correct PWM.caranya yang pertama aktifkan fitur tersebut dengan mengatur register TCCR1A dan TCCR1B (timer/counter control register 1A/B)

Pada program yang sama klik ikon gerigi

Setelah itu masuk ke code wizard AVR kemudia pilih tab timers kemudian pilih tab timer 1 kemudian isi box tersebut sebagai berikut:

Kemudian pilih program preview ketika ada konfirmasi PORT itu dijadikan output di yes saja.

Page 10: File Belajar

Copylah isi register tersebut kemudian paste di register TCCR1A dan TCCR1B yang ada di projectmu samakan seperti angka yang di atas.

Kemudian karena kita memakai mode phase correct PWM top = 0x00ff atau nilai pwm yang bisa antara 0 sampai 255.

Setelah itu kita buat arah putaran motor searah,tetapi kita bedakan kecepatannya dengan mengatur OCR1A(yang menyambung pada EN2) dan OCR1B(yang menyambung pada EN1)

(OCR1A -> Output Compare Register 1 A)

Isilah seperti yang di atas,compile kemudian lihat di proteus.bagaimana putarannya?

Page 11: File Belajar

3. Akses sensor jarak ultrasonik PING)))

Pertama kita harus tahu dulu prinsip kerjanya,yaitu ketika kaki pada sensor diberi logika 1,maka sensor akan mengeluarkan gelombang suara.durasi pemberian logika 1 ini antara 2us dan 5us.setelah itu logika diberi 0 dan kita jadikan pin itu sebagai inputan.kita tau bahwa gelombang suara menempuh jarak 1cm selama 58us.Jadi selama sensor suara belum menerima kembali gelombang suara,mikro akan menambah variabel jarak 1 setiap 58us.Cara ini dapat dipakai melalui fungsi delay dan for.

Karena tidak ada modul ping pada proteus maka dibutuhkan praktek sebenarnya.bisa minjam EWS kok..

Jika sudah lengkap alatnya tuliskan code seperti berikut

Download kemudian nyalakan mikro untuk mengetahui hasilnya.

Page 12: File Belajar

4.akses TPA 81

Untuk tahu bagaimana menggunakan sensor api TPA, harus tahu dulu konsep i2c yang bisa di ketahui dari datasheet masing” mikro.

Page 13: File Belajar

3.Input output

Untuk belajar konsep input output diperlukan rangkaian LED dan push button sebagai berikut:

Kalau udah jadi,kita lihat LED bagian positif tersambung ke mikro dan negatif tersambung ke ground.artinya LED pada rangkaian ini disebut active-high atau LED akan menyala jika diberi logika 1.untuk bagian masukan,terdapat push button yang tersambung pada port C,jadi kita harus membuat port C tersebut menjadi input dan tegangannya pull-up internal.arti pull-up adalah jika push button tidak ditekan maka logika yang ada di pin tersebut adalah high atau 1,sedangkan jika ditekan maka akan berlogika 0.setiap push button yang akan di pakai harus melakukan pull-up internal pada kaki mikro tersebut.tidak ada pull-down.

Yang mengatur input/output dan pull-up/hi-Z suatu pin adalah register DDR dan PORT

Page 14: File Belajar

Misalnya kita ingin buat kaki C0 input dengan pull up,maka yang harus dituliskan

DDRC.0=0; // kaki C0 menjadi input

PORTC.0=1; //pull-up kaki C0

Untuk LED buat pin tersebut sebagai output,caranya tinggal mengatur register DDRD mejadi 1.

Coba tulis code di bawah ini.

Untuk inisialisasi port isilah register seperti di atas.

Kemudian untuk program utama tuliskan seperti ini

Page 15: File Belajar

Apa maksudnya !PIN? Yaitu untuk mengecek port saat itu tersambung ke ground atau tidak,apabila iya maka PORTD akan berlogika 1 dan lampu LED menyala


Top Related