Anda di halaman 1dari 63

Interfacing

Mikrokontroler &
Robotika
www.widodo.com
Trend Industri
Elektronika dengan TI

 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
 Harga harus kompetitif Solusi ?

Peluang besar bagi yang kompeten pada Embedded System


Kompetensi Nasional
SKKNI Programmer memiliki salah satu sub
kompetensi yaitu :

 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
 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).

 Peneliti aplikasi embedded dan kontrol


(Robotika, Instrumentasi, sistem kontrol, Wireless application dll)

 Engineer /Teknisi profesional

Menggunakan Software : Visual Basic .net, C++,


Visual C#, Java, assembly dll.
Kunci Sukses Menguasai
Elektronika Terapan dan TI
Software :
 Assembly + C/C++/ Bascom AVR
 Pemrograman & Interfacing Mikrokontroler
 Visual Basic .Net 2005
 Visual C# .Net 2005 atau Borland Delphi
 Java (J2SE, J2EE dan J2ME)
 Sql Server/Oracle 10g dan MySql

Hardware:
 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:
 CPU
 RAM
 ROM
 EEPROM (Tidak semua)
 I/O (Serial /paralel)
 Timer

Sehingga dimungkinkan membangun Aplikasi


single chip(Aplikasi dengan hanya 1 buah chip)
Mikrokontroler Umum
Berbagai Mikrokontroler
 Mikrokontroler ATMEL
contoh: 89C51,89S51,89S8252,AVR 89S8535, 90S2313
 Mikrokontroler PIC
contoh : 16F84A,16F628,16F877A,12F625
 Mikrokontroler Basic Stamp
contoh : BS1, BS2, BS2sx (menggunakan PIC)
 Mikrokontroler MAXIM
contoh : 80c400,80C320
 Mikrokontroler Motorolla
contoh: 68HC11, 6800
 Mikrokontroler Renesas
contoh : M16C/60, R8C/10,R8C/11
Aplikasi Mikrokontroler
 Robotika
 Home remote system
 Industrial control
 Kontrol alat over SMS
 Aplikasi hiburan seperti Games dan DVD
Player
 Antarmuka PC
Pertimbangan Memilih Mikrokontroler

 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

 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.000x
 EEPROM sebesar 512 byte yang dapat diprogram saat
operasi dan dapat ditulis ulang 100.000x
Arsitektur CPU AVR
Perbandingan Mikrokontroler ATMEL

Flash Memory EEPROM


Type RAM

4 KByte No
AT89C51/ AT89S51 8 X 128 Byte

8 KByte No
AT89C52/ AT89S52 8 X 256 Byte

20 KByte No
AT89C55 8 X 256 Byte

12 KByte No
AT89S53 8 X 256 Byte

8 KByte 2 KByte
AT89S8252 8 X 256 Byte

8KByte 512B
Atmega 8535 512
Minsys. Mikrokontroler
U1

1
PB0 (XCK/T0) PA0 (ADC0)
40 Kelip.bas
2 39
PB1 (T1) PA1 (ADC1)
3
PB2 (AIN0/INT2) PA2 (ADC2)
38 ‘Konfigurasi port B sebagai output
4 37
5
PB3 (AIN1/OC0) PA3 (ADC3)
36 Config portb=output
PB4 (SS) PA4 (ADC4)
6 35
PB5 (MOSI) PA5 (ADC5)
LED 7
8
PB6 (MISO) PA6 (ADC6)
34
33
Do ’pengulangan
PB7 (SCK) PA7 (ADC7) Portb=255 ‘hidup semua
14
PD0 (RXD) PC0 (SCL)
22 Waitms 100 ’delay 100ms
15 23
16
PD1 (TXD) PC1 (SDA)
24 Portb=0 ’mati semua
PD2 (INT0) PC2
17
PD3 (INT1) PC3
25 Waitms 100 ’delay 100ms
18 26
19
PD4 (OC1B) PC4
27
Loop
PD5 (OC1A) PC5
20 28
PD6 (ICP) PC6 (TOSC1)
21 29
PD7 (OC2) PC7 (TOSC2)
VCC
9 10
RESET VCC
C1 30
AVCC
12 32
XTAL2 AREF
13
2

XTAL1
Cap 31
18pF GND
11
GND
C2
1

ATmega8535
Cap 11.0592MHz
18pF
Pengubah Analog ke Digital
VCC
VCC

Q1
U1
ADC.bas
R3 1 40 R1 R? Start Adc
PB0 (XCK/T0) PA0 (ADC0)
390 2 39 1K
10K Dim W As Word
PB1 (T1) PA1 (ADC1)
2N3904 3 38
PB2 (AIN0/INT2) PA2 (ADC2)
4 37
8 X LED 5
PB3 (AIN1/OC0) PA3 (ADC3)
36
Channel = 0
R4 6
PB4 (SS)
PB5 (MOSI)
PA4 (ADC4)
PA5 (ADC5)
35 ‘Baca data di channel
390 7 34
8
PB6 (MISO)
PB7 (SCK)
PA6 (ADC6)
PA7 (ADC7)
33 Do
14 22
W = Getadc(channel)
PD0 (RXD) PC0 (SCL)
15
PD1 (TXD) PC1 (SDA)
23 ‘kirim ke port serial
16 24
17
PD2 (INT0)
PD3 (INT1)
PC2
PC3
25 Print "Channel " ; Channel ; " value " ; W
18
19
PD4 (OC1B) PC4
26
27
Portb=w ‘keluarkan ke port B
PD5 (OC1A) PC5
20
PD6 (ICP) PC6 (TOSC1)
28 Loop
21 29
PD7 (OC2) PC7 (TOSC2)
VCC End
9 10
RESET VCC
C1 30
AVCC
12 32
XTAL2 AREF
13
2

Cap XTAL1
31
GND
18pF 11
GND
C2
1

ATmega8535
Cap 11.0592MHz
18pF
Dasar Kendali
kendali.bas:
’ Dasar kontrol
Config PortD = Input
Config Portb = Output
Dim A As Byte

Do ‘lakukan operasi DO..LOOP


A = PinD.7 ‘pinD.7 = A
If A = 1 Then ‘ Jika saklar di PinD.7 aktif
Portb = 0 ‘portb = Low
End If ‘akhiran If
If A = 0 Then
Portb=255
End If ‘
Loop
Operasi Pulsa

Pulsin.bas: Pulsout.bas:
Dim w As Byte Dim A As Byte
‘terima pulsa Config Portb = Output
‘misal dari rotary encoder motor DC Portb = 0
pulsein w , PIND , 1 , 0 'detect time from 0 'all pins 0
to 1 Do
print w For A = 0 To 7
end ‘Misal untuk menggerakkan servo
Pulseout Portb , A , 60000
Waitms 250
'wait a bit
Next
Loop
Fungsi

Fungsi.bas:
Dim a As Byte, b1 As Byte, c As Byte
Declare Sub Test(a As Byte)
a = 1 : b1 = 2: c = 3

Print a ; b1 ; c
Call Test(b1)
End

Sub Test(a as byte)


Print a ; b1 ; 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
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
$Mod51 ; file library

Start: ; Label Start


; Port 3 ialah dgn input saklar

Mov A,P3 ; Kirim Data pada Port 3 Ke Accumulator


; port 2 output ke lampu LED
Mov P1,A ; Kirim Data pada Accumulator ke Port 1
Jmp Start ; Loncat Ke Label Start(looping)
End
Simpan sebagai io1.asm
Kompilasi
ISP Software
Mengisi Memori Mikrokontroler
Mengisi dengan file HEX
Mikrokontroler PIC

loop: high 0 ' turn on Q1


pause delay ' wait 25 ms
low 0 ' turn off Q1
high 1 ' turn on Q2
pause delay ' wait 25 ms
low 1 ' turn off Q2
Mikrokontroler PIC
Basic Stamp
Prinsip Servo Motor

' {$STAMP BS2}


' {$PBASIC 2.5}
DEBUG ' Servo Motor Berputar full speed clockwise'
DO
‘650x2uS=1.3ms
PULSOUT 13,650 ‘Putar arah Clock Wise
PAUSE 20
LOOP
Implementasi Servo Motor
Kompilasi
Network Microcontroller
DS 80C400
Mikrokontroler Renesas
(16bit microcontroller with ADC 12 channel 10 bit)

Mikro :R5F21134
• 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, COM1);//3 parameter dari bioscom
cprintf("Komunikasi serial menggunakan BIOSCOM, tekan [ESC] untuk
keluar \n");
while (!DONE)
{
status = bioscom(3, 0, COM1);

 Port Paralel/ISA
outportb(0x378,data) ; Mengeluarkan data
outportb(0x300,data); Meneluarkan data di port ISA alamat 300H
inportb(PA); memasukkan data
Kontrol VB .NET
Private Declare Function inp Lib "inpout32.dll" Alias "Inp32" (ByVal
portaddress As Integer) As Integer
Private Declare Sub out Lib "inpout32.dll" Alias "Out32" (ByVal
portaddress As Integer, ByVal value As Integer)

Private Sub RadioButton1_CheckedChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
RadioButton1.CheckedChanged
out(&H378, 1)’hidupkan alat 1
End Sub

Dim data As Integer


data = inp(&H378) ‘terima data
TextBox1.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 Force = Mass * Acceleration


Distance = Wheel Radius
Force = Torque / Wheel Radius
Arm Robot
EyeCon

-5MHz 32bit Controller (Motorola 68332)


- 1MB RAM, extendible to 2MB
- 512KB 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
 Sensor posisi
 Sensor kecepatan
 Sensor percepatan

Sensor Eksternal
 Sensor taktil/berbasis sentuhan : limit switch pada bember robot
 Sensor torsi /gaya
 Sensor proksimity
 Sensor jarak (sonar, PSD, dll)
 Sensor vision (kamera)
 Sensor gyro, kompas digital, detektor api
Low and High Level Control

Low level control

Perintah gerak Aktuator Lingkungan


robot

Sensor internal

Sensor eksternal

High Level control


Sensor
Thermal Array Sensor
CMUcam SRF04/8 Range Finder
Sensor Compas

Sharp GP2D12
UVtron detector/ Photoreflector Sensor jarak
Sensor Api P5887

HS 15
Sensor kelembaban
Robot for Human
Networking & Wireless

GSM Module
Serial to ethernet adapter
EG-SR 7150MJ
Wireless
Kontrol Over SMS
Konsep-Konsep Penting
Pemrograman Robot Cerdas
 Artificial Intelligent
 Algoritma Genetics
 Neural Network
Perangkat minimal untuk
belajar Mikrokontroler
 Kit Sistem Minimum Mikrokontroler + Kabel ISP dengan tipe
89S52 atau AVR 89S8535 (cukup murah)
 Software ATMEL ISP Software
atau
 Kit Sistem Minimum Mikrokontroler PIC dengan PIC Progammer
+ Software (Lebih mahal)
atau
 Kit Sistem Minimum Mikrokontroler Renesas + Software (Lebih
murah)

 Beberapa buku mikrokontroler serta komponen pendukung.


Topik – topik Riset/Bisnis
 Pengembangan robot pemilih barang(buah, ikan, daging dll)
 Perancangan Robot berkaki dengan mikrokontroler PIC
 Perancangan Running Text berbasis Mikrokontroler ATMEL
89S8252
 Perancangan Home Remote System dengan Network
Microcontroller 80C400
 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 Atmega8535
 Pengembangan Robot Pemain Catur
 Pengembangan Humanoid Robot
 dll
Sumber informasi tambahan
 www.parallax.com
 www.joker-robotics.com
 www.atmel.com
 www.avrprojects.net
 www.mcselec.com

Buku Referensi:
 Widodo Budiharto, 12 Proyek mikro untuk Pemula, Elex Media Komputindo, 2007
 Widodo Budiharto, 12 Proyek Sistem Akuisisi Data, Elex Media Komputindo, 2007
 Widodo Budiharto, Perancangan Sistem dan Aplikasi Mikrokontroler, Elexmedia
Komputindo, 2005.
 Widodo Budiharto. Panduan Lengkap Pemrogrman J2EE, Andi Offset
 Widodo Budiharto, Pemrograman Vb .Net 2005

Kontak:
B2PLKLN Cevest
Jl. Guntur Raya no.1
Bekasi

Anda mungkin juga menyukai