Interfacing Mikrokontroler Robotika www widodo com Trend Industri
Interfacing Mikrokontroler & Robotika www. widodo. com
Trend Industri Elektronika dengan TI l l l Aplikasi berbasiskan controller/mikrokontroler Aplikasi harus mendukung antarmuka dengan USB Aplikasi dapat dikontrol/dipantau dengan software Visual Aplikasi harus kompak dan sekecil mungkin Daya yang dibutuhkan rendah Solusi Harga harus kompetitif ? Peluang besar bagi yang kompeten pada Embedded System
Kompetensi Nasional SKKNI Programmer memiliki salah satu sub kompetensi yaitu : l Programmer Embedded. (Orang yang mampu melakukan pemrograman dan pengisian program ke dalam sistem mikroprosesor/mikrokontroler untuk keperluan Industri)
Peluang Karir di bidang TI berbasiskan Elektronika l Developer aplikasi embedded dan kontrol (Sistem kontrol, robotika, instrumentasi, Monitoring, PDA, Aplikasi SMS dll) Pengusaha Aplikasi Elektronika (Peluang besar !) (System minimum, kit-kit elektronika, produk industri dll). l Peneliti aplikasi embedded dan kontrol (Robotika, Instrumentasi, sistem kontrol, Wireless application dll) l l Engineer /Teknisi profesional Menggunakan Software : Visual Basic. net, C++, Visual C#, Java, assembly dll.
Kunci Sukses Menguasai Elektronika Terapan dan TI Software : l l l Assembly + C/C++/ Bascom AVR Pemrograman & Interfacing Mikrokontroler Visual Basic. Net 2005 Visual C#. Net 2005 atau Borland Delphi Java (J 2 SE, J 2 EE dan J 2 ME) Sql Server/Oracle 10 g dan My. Sql Hardware: l l Pemrograman dan Interfacing mikrokontroler dan PLC Teknologi GSM dan CDMA
Bidang Elektronika Saat ini
Mengapa Mikrokontroler ? Chip teknologi terkini yang mampu melaksanakan tugas-tugas kontrol sistem, karena di dalamnya umumnya sudah mencakup: l CPU l RAM l ROM l EEPROM (Tidak semua) l I/O (Serial /paralel) l Timer Sehingga dimungkinkan membangun Aplikasi single chip(Aplikasi dengan hanya 1 buah chip)
Mikrokontroler Umum
Berbagai Mikrokontroler ATMEL contoh: 89 C 51, 89 S 8252, AVR 89 S 8535, 90 S 2313 l Mikrokontroler PIC contoh : 16 F 84 A, 16 F 628, 16 F 877 A, 12 F 625 l Mikrokontroler Basic Stamp contoh : BS 1, BS 2 sx (menggunakan PIC) l Mikrokontroler MAXIM contoh : 80 c 400, 80 C 320 l Mikrokontroler Motorolla contoh: 68 HC 11, 6800 l Mikrokontroler Renesas contoh : M 16 C/60, R 8 C/11 l
Aplikasi Mikrokontroler l l l Robotika Home remote system Industrial control Kontrol alat over SMS Aplikasi hiburan seperti Games dan DVD Player Antarmuka PC
Pertimbangan Memilih Mikrokontroler l l l Ketersediaan IC dan programmer Harga Banyaknya pengguna di lingkungan Anda Mendukung ADC (Pengubah analog ke digital) dan fitur lainnya Bahasa pemrograman assembly/C/Basic
Mikrokontroler AVR Atmega 8535 Mikrokontroler terdiri dari : • Port I/O untuk kirim-terima data ( umunya 8 bit dan serial) • Port sumber detak • Port serial • Channel ADC • Pin sumber detak
AVR Atmega 8535 l l l Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel. SRAM sebesar 512 byte. Memori Flash sebesar 8 KB dengan kemampuan Read While Write dan dapat ditulis ulang 10. 000 x EEPROM sebesar 512 byte yang dapat diprogram saat operasi dan dapat ditulis ulang 100. 000 x
Arsitektur CPU AVR
Perbandingan Mikrokontroler ATMEL Type AT 89 C 51/ AT 89 S 51 AT 89 C 52/ AT 89 S 52 AT 89 C 55 AT 89 S 53 AT 89 S 8252 Atmega 8535 RAM 8 X 128 Byte 8 X 256 Byte 512 Flash Memory EEPROM 4 KByte No 8 KByte No 20 KByte No 12 KByte No 8 KByte 2 KByte 8 KByte 512 B
Minsys. Mikrokontroler Kelip. bas ‘Konfigurasi port B sebagai output Config portb=output Do ’pengulangan Portb=255 ‘hidup semua Waitms 100 ’delay 100 ms Portb=0 ’mati semua Waitms 100 ’delay 100 ms Loop
Pengubah Analog ke Digital ADC. bas Start Adc Dim W As Word Channel = 0 ‘Baca data di channel Do W = Getadc(channel) ‘kirim ke port serial Print "Channel " ; Channel ; " value " ; W Portb=w ‘keluarkan ke port B Loop End
Dasar Kendali kendali. bas: ’ Dasar kontrol Config Port. D = Input Config Portb = Output Dim A As Byte Do A = Pin. D. 7 If A = 1 Then Portb = 0 End If A = 0 Then Portb=255 End If Loop ‘lakukan operasi DO. . LOOP ‘pin. D. 7 = A ‘ Jika saklar di Pin. D. 7 aktif ‘portb = Low ‘akhiran If ‘
Operasi Pulsa Pulsin. bas: Dim w As Byte ‘terima pulsa ‘misal dari rotary encoder motor DC pulsein w , PIND , 1 , 0 'detect time from 0 to 1 print w end Pulsout. bas: Dim A As Byte Config Portb = Output Portb = 0 'all pins 0 Do For A = 0 To 7 ‘Misal untuk menggerakkan servo Pulseout Portb , A , 60000 Waitms 250 'wait a bit Next Loop
Fungsi. bas: Dim a As Byte, b 1 As Byte, c As Byte Declare Sub Test(a As Byte) a = 1 : b 1 = 2: c = 3 Print a ; b 1 ; c Call Test(b 1) End Sub Test(a as byte) Print a ; b 1 ; c End Sub
Display LCD Config lcd=20*4 Suhu=getadc(0) LCD “Digital Termometer” lowerline LCD “Suhu saat ini “; suhu
Desain Robot Sederhana
Desain Robot
Implementasi AVR pada Robot
Penerapan Pada Robot. bas Config Portb = Output Dim W As Word Start ADC Do W = Getadc(0) ‘baca sensor jarak If W < 200 Then ‘jika tdk ada halangan Portb = 8 ‘maju Wait 2 ‘delay 2 detik Else ‘jika ada halangan Portb = 0 'belok kiri Wait 2 End If Loop
Sistem Minimum Mikro
Dasar Pemrograman ; Program menerima input, ditampilkan ke led $Mod 51 ; file library Start: ; Label Start ; Port 3 ialah dgn input saklar Mov A, P 3 ; Kirim Data pada Port 3 Ke Accumulator ; port 2 output ke lampu LED Mov P 1, A Jmp Start End ; Kirim Data pada Accumulator ke Port 1 ; Loncat Ke Label Start(looping) Simpan sebagai io 1. asm
Kompilasi
ISP Software
Mengisi Memori Mikrokontroler
Mengisi dengan file HEX
Mikrokontroler PIC loop: high 0 ' turn on Q 1 pause delay ' wait 25 ms low 0 ' turn off Q 1 high 1 ' turn on Q 2 pause delay ' wait 25 ms low 1 ' turn off Q 2
Mikrokontroler PIC
Basic Stamp
Prinsip Servo Motor ' {$STAMP BS 2} ' {$PBASIC 2. 5} DEBUG ' Servo Motor Berputar full speed clockwise' DO ‘ 650 x 2 u. S=1. 3 ms PULSOUT 13, 650 ‘Putar arah Clock Wise PAUSE 20 LOOP
Implementasi Servo Motor
Kompilasi
Network Microcontroller DS 80 C 400
Mikrokontroler Renesas (16 bit microcontroller with ADC 12 channel 10 bit) Mikro : R 5 F 21134 • ROM sebesar 16 KB • RAM internal sebesar 1 KB • 3 Timer 8 bit dan 1 Timer 16 bit • dll
Interfacing PC Port Serial int main(void) { bioscom(0, SETTINGS, COM 1); //3 parameter dari bioscom cprintf("Komunikasi serial menggunakan BIOSCOM, tekan [ESC] untuk keluar n"); while (!DONE) { status = bioscom(3, 0, COM 1); l Port Paralel/ISA outportb(0 x 378, data) ; Mengeluarkan data outportb(0 x 300, data); Meneluarkan data di port ISA alamat 300 H inportb(PA); memasukkan data l
Kontrol VB. NET
Private Declare Function inp Lib "inpout 32. dll" Alias "Inp 32" (By. Val portaddress As Integer) As Integer Private Declare Sub out Lib "inpout 32. dll" Alias "Out 32" (By. Val portaddress As Integer, By. Val value As Integer) Private Sub Radio. Button 1_Checked. Changed(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles Radio. Button 1. Checked. Changed out(&H 378, 1)’hidupkan alat 1 End Sub Dim data As Integer data = inp(&H 378) ‘terima data Text. Box 1. Text = data
Penerapan pada Industri • Pengontrol mesin penutup botol • Pengontrol pemanas tunggu • Pengontrol gerak robot • Pengontrol mesin bordir • Pengontrol utama Modem Digital dll
Industrial Control Case 1: Autodrill machine
Industrial Control Case 2 : Mixing machine
Berbagai Mobile Robot
Robot Berkaki
Robot Dynamics Just by knowing your wheel diameter and motor torque, you can determine the force your robot is capable of. Torque = Distance * Force Distance = Wheel Radius Force = Torque / Wheel Radius Force = Mass * Acceleration
Arm Robot
Eye. Con -5 MHz 32 bit Controller (Motorola 68332) - 1 MB RAM, extendible to 2 MB - 512 KB ROM (for system + user programs!) - 1 parallel port - 3 serial ports - 8 digital inputs - 8 digital outputs - 8 analog inputs - 2 motor drivers - Interface untuk color camera
Sensor pada robot Sensor Internal l Sensor posisi l Sensor kecepatan l Sensor percepatan Sensor Eksternal l Sensor taktil/berbasis sentuhan : limit switch pada bember robot l Sensor torsi /gaya l Sensor proksimity l Sensor jarak (sonar, PSD, dll) l Sensor vision (kamera) l Sensor gyro, kompas digital, detektor api
Low and High Level Control Low level control Perintah gerak Aktuator Sensor internal Sensor eksternal High Level control Lingkungan robot
Sensor Thermal Array Sensor Compas CMUcam SRF 04/8 Range Finder Sharp GP 2 D 12 UVtron detector/ Photoreflector Sensor Api P 5887 Sensor jarak HS 15 Sensor kelembaban
Robot for Human
Networking & Wireless GSM Module Serial to ethernet adapter EG-SR 7150 MJ
Wireless
Kontrol Over SMS
Konsep-Konsep Penting Pemrograman Robot Cerdas l l l Artificial Intelligent Algoritma Genetics Neural Network
Perangkat minimal untuk belajar Mikrokontroler Kit Sistem Minimum Mikrokontroler + Kabel ISP dengan tipe 89 S 52 atau AVR 89 S 8535 (cukup murah) l Software ATMEL ISP Software atau l Kit Sistem Minimum Mikrokontroler PIC dengan PIC Progammer + Software (Lebih mahal) atau l Kit Sistem Minimum Mikrokontroler Renesas + Software (Lebih murah) l l Beberapa buku mikrokontroler serta komponen pendukung.
Topik – topik Riset/Bisnis l l l Pengembangan robot pemilih barang(buah, ikan, daging dll) Perancangan Robot berkaki dengan mikrokontroler PIC Perancangan Running Text berbasis Mikrokontroler ATMEL 89 S 8252 Perancangan Home Remote System dengan Network Microcontroller 80 C 400 Kontrol alat berbasis SMS HP Pengembanfan Kursi roda elektronik Pengembangan lengan dan kaki elektronik untuk disable person. Home Remote System berbasis TCP/IP Sistem Akuisisi Data Wireless berbasis AVR Atmega 8535 Pengembangan Robot Pemain Catur Pengembangan Humanoid Robot dll
Sumber informasi tambahan l l l www. parallax. com www. joker-robotics. com www. atmel. com www. avrprojects. net www. mcselec. com Buku Referensi: l Widodo Budiharto, 12 Proyek mikro untuk Pemula, Elex Media Komputindo, 2007 l Widodo Budiharto, 12 Proyek Sistem Akuisisi Data, Elex Media Komputindo, 2007 l Widodo Budiharto, Perancangan Sistem dan Aplikasi Mikrokontroler, Elexmedia Komputindo, 2005. l Widodo Budiharto. Panduan Lengkap Pemrogrman J 2 EE, Andi Offset l Widodo Budiharto, Pemrograman Vb. Net 2005 Kontak: B 2 PLKLN Cevest Jl. Guntur Raya no. 1 Bekasi
- Slides: 63