You are on page 1of 61

DTM FTUI

KATHOLIEKE UNIVERSITEIT

LEUVEN

Microcontroller Simulation Board

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 252

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
• Mechatronics [1]  Mechanism/Mechanical & Electronics
 “Technologies and developed products will be
incorporating electronics more and more into mechanisms, intimately
and organically, and making it impossible to tell where one ends and
the other begins.”
• Key Elements of Mechatronics :
1. Physical System Modeling
2. Sensors & Actuators
3. Signal & System
4. Computers & Logic System
5. Software & Data Acquisition
[1] : Yasakawa Electric Company.2002.”The Mechatronics Handbook”.CRC Press

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 253

Universitas Indonesia
DTM FTUI
Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 254

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application

• Basic Input / Output


• Digital Voltmeter / Thermometer
• Motor Drive Using PWM
• Integrated Digital Tachometer

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 255

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Module
Module :
System Minimum
- I/O Module
- Comparator
- Motor Driver
- ADC Interface
- DC Motor
- LCD Module
- Voltage Regulator

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 256

Universitas Indonesia
DTM FTUI

KATHOLIEKE UNIVERSITEIT

LEUVEN

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 257

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Module
Evaluation Board PORT A PORT C
Module :
Act as main
processors
- Using ATMEGA 16 /
ATMEGA 8535
- 4 Ports (A,B,C,D)
- ISP Programming

PORT B PORT D

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 258

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Module
I/O Module :
Act as input device
and output indicator
- INPUT : Tactile
switch
- OUTPUT : LED

INPUT Module OUTPUT Module

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 259

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Module
Comparator Module :
Act as Analog to
Digital Converter
- Using LM 324
- 1 PORT, 8 PIN

COMPARATOR Module

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 260

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Module
Motor Driver Module :
Act as Digital to Analog Converter
- Integrated with optocoupler PC 817
- Using mechanical relay to determine
the output polarity

Motor Driver Module

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 261

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Module
ADC Module :
To interfacing between the sensor
and the microcontroller port
This interface is connected to the
ADC PORT / PIN in the
microcontroller. (see datasheet)

ADC Interface

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 262

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Module
DC Motor :
Actuator for the controller
- 12V DC
- Simulating the output from
PWM control

DC Motor

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 263

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Module
LCD Module:
2 x 16 character LCD Module
Use as a display indicator

LCD Module

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 264

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Module
Voltage Regulator Module:
Regulate the voltage supply
from 12V DC to 5 V DC, related
to the microcontroller
specification
- Using IC 7805 or LM 323K

Voltage Regulator Module

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 265

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Basic Input Output

- Mensimulasikan proses pemberian input pada


mikrokontroler untuk menghasilkan output yang
diinginkan.
- Output mikrokontroler ditunjukkan dengan nyala
pada Modul LED
- Modul yang digunakan pada percobaan ini adalah :
Evaluation Board & Modul I/O

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 266

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Basic Input Output  Skematik

Push Button
LED Module
Evaluation Board

Input
Output
5V DC
Voltage Regulator

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 267

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Basic Input Output  Teori yang harus dimengerti

Inisialisasi Input/Output :
• Pada mikrokontroler, port paralel I/O adalah
device yang paling umum digunakan.
• Setiap port paralel I/O memiliki 3 I/O
register yang saling berhubungan :
- Data Direction Register (DDRx)
- Port Driver Register (PORTx)
- Port Pins Register (PINx)

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 268

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Inisialisasi Input/Output : (cont’d)

• DDRx digunakan untuk menentukan bit yang mana


dari kaki mikrokontroler, yang digunakan untuk input,
dan bit yang mana yang digunakan untuk output.

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 269

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Inisialisasi Input/Output : (cont’d)
• Jika data bit DDRx dipasang 1, bit tersebut menjadi
output. Contoh :
DDRA=0xFF; seluruh kaki pada port A
digunakan sebagai output.
0x00 adalah bilangan hexadesimal dengan nilai ff.
Nilai ff pada bilangan biner adalah 1111 1111. Nilai ini
menentukan port tersebut digunakan untuk apa.

• Bagaimana cara menentukan port digunakan sebagai


input?

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 270

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Inisialisasi Input/Output : (cont’d)

• PORTx digunakan untuk menentukan bit yang


mana dari kaki output mikrokontroler, yang
menggunakan pull-up resistor. Artinya port dapat
langsung mempunyai suatu nilai tertentu.
Contoh :
DDRA = 0xff; // seluruh kaki mikrokontroler
digunakan sebagai output.
PORTA=0x0f; //4 bit LSB menggunakan pull-
up resistor.

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 271

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Inisialisasi Input/Output : (cont’d)

• PINx digunakan untuk menentukan bit yang mana


dari kaki input mikrokontroler, yang akan
dibaca/diambil nilainya.

X = PINA; //membaca seluruh (8 bit) dari port A


sebagai input mikrokontroler.

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 272

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Interrupt :

• Interrupt dapat didefinisikan sebagai perintah yang


“menginterupsi” μn pada saat sebuah perintah
sedang dijalankan.
• “Interrupt” berbeda dengan “reset”
• Aplikasi interrupt banyak digunakan pada keypads,
emergency off button, dll.
• Pada prosessor AVR interrupt memiliki prioritas
yang sama.

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 273

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Interrupt : (cont’d)

• Pada ATMEGA16 / ATMEGA 8535 terdapat 2


interrupt, yaitu INT0 dan INT1

• Proses inisialisasi Interrupt dilakukan dalam 2


proses :
- Mengaktifkan interrupt yg akan digunakan.
- Mengaktifkan fitur interrupt secara global.

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 274

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Basic Input Output  Program
#include <mega16.h>

// External Interrupt 0 service routine (jika terjadi interrupt di int 0, maka...)


interrupt [EXT_INT0] void ext_int0_isr(void)
{
PORTA = PORTA^0xff; // LSB LED di port A akan togle
//PORTB = PORTB^0x01;
}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 275

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Basic Input Output  Program
void main(void)
{
DDRA=0xff; //port A lSB nya saja yang output dan nyala pada awalnya

//DDRB=0x01;
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: Off
// INT2: Off

GICR|=0x40;
MCUCR=0x02;
MCUCSR=0x00;
GIFR=0x40;

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 276

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Basic Input Output  Program
#asm("sei")

while (1) //jalan trus


{
; //tidak terjadi apa2
}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 277

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Digital voltmeter
- Dengan menggunakan fitur ADC pada
mikrokontroler, dapat dideteksi perubahan tegangan
pada baterai yang selanjutnya ditampilkan dalam
indikator LED.
- Fitur Analog Digital Converter (ADC) menggunakan
PORT/PIN yang sesuai dengan konfigurasi
mikrokontroler.
- Modul yang digunakan pada percobaan ini adalah
Evaluation Board, ADC interface, Modul LED
Laboratorium Teknologi Manufaktur dan Otomasi
Departemen Teknik Mesin 278

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Digital Voltmeter  Skematik

ADC interface

LED Module
GP2D12
Sensor
Evaluation Board

Input
Output
5V DC
Voltage Regulator Sensing device

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 279

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Digital Voltmeter  Teori yang harus dimengerti

Inisialisasi ADC :
• Mikrokontroler dapat menangani data
analog dengan cara mengkonversikannya
ke data digital.
• ADC pada AVR menghasilkan resolusi 10
bit dan dapat beroperasi pada kecepatan
15 kSPS (kilo-samples per second).
• ADC dapat digunakan pada 8 kaki
mikrokontroler (port A).

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 280

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Inisialisasi ADC : (cont’d)

• Terdapat 2 register yang harus diinisialisasi untuk


mengontrol ADC :
1. ADC control and status register (ADCSR).
2. ADC mutiplexer select register (ADMUX).

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 281

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Inisialisasi ADC : (cont’d)
1. ADC control and status register (ADCSR)
diaktifkan untuk mengontrol pengfungsian dan
pendefinisian ADC yang digunakan.
Contoh :
ADCSR = 0xcb; // 0xcb adalah 11001011 (binari) untuk mengaktifkan
ADEN, ADSC,ADIE, ADSP1, dan ADSP0.
2. ADC mutiplexer select register (ADMUX) :
mengontrol kaki yang mana dari ADC yang
digunakan.
Contoh :
ADMUX=2; //mengaktifkan ADC2, yang terletak di port A kaki ke 2

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 282

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Digital Voltmeter  Program
#include <mega16.h>

//mendefinisikan port output dan tipe nyala LED


#define LED PORTD
#define penuh 0b011
#define sedang 0b101
#define kurang 0b110

interrupt [ADC_INT] void adc_isr(void) //bila ada input, adc akan melakukan
interrupt
//dan melakukan...

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 283

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Digital Voltmeter  Program (cont’d)
{
unsigned int data_adc; //ini adalah variabel data ADC
data_adc = ADCW; //data ADC adalah semua (10) bit

if (data_adc > (3*1023)/5)


LED = penuh; //batere lebih besar dari 3 volt
else if (data_adc < (2*1023)/5)
LED = kurang; //batere lebih kecil dari 2 volt
else
LED = sedang; //batere antara 2 dan 3 volt

ADCSR = ADCSR | 0x40; //mulai konversi berikutnya


}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 284

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Digital Voltmeter  Program (cont’d)
void main(void)
{
DDRD=0x07; //3 LSB port D sebagai output

ADMUX = 0x03; //mengaktifkan ADC 3


ADCSR = 0xCE; //ADC hidup, mulai konversi, interupt aktif, dan faktor
pembagi prescaler 64

#asm("sei") //global interrupt

while(1) //jalan terus....


{
; //ga ngapa-ngapain, tunggu ada ADC input
}
}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 285

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Motor Drive using PWM

- Fitur PWM pada mikrokontroler dapat digunakan


untuk mengatur kecepatan putaran pada motor DC.
- Pulse Width Modulation (PWM) merupakan salah
satu metode dalam mengontrol putaran motor
dengan menggunakan prinsip digital.
- Modul yang digunakan pada percobaan ini adalah :
Evaluation Board, Motor Driver, DC Motor

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 286

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Motor Drive using PWM  Skematik

Motor Driver

Evaluation Board

Output
DC Motor
Voltage Regulator 5V DC

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 287

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Motor Drive Using PWM  Program
#include <mega16.h>
#include<delay.h>

// general constants
#define MAXVAL 0x3FF // Maksimum PWM (10bit max value)
#define MAJU 0 // Active Low Forward
#define MUNDUR 1
#define PRESCALER 0x03 //64 Prescaler ---> lihat datasheet

//prototype function
void motor_Pwm(float pwm_kiri,int stat_kiri,float pwm_kanan,int
stat_kanan);
void cekPwm();

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 288

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Motor Drive Using PWM  Program (cont’d)
void main() // main function: start here !!
{ DDRD = 0xF0; //Inisialisasi PWM
PORTD = 0xF0; //PORTD 4,5,6,7 --> Pull Up
TCCR1A = 0xF3; //10 bit PWM --> lihat datasheet
TCCR1B = PRESCALER; //Prescaler 64

while (1)
{
delay_ms(3000);
//motor_Pwm(15,MAJU,15,MAJU);
cekPwm();
delay_ms(3000);
//motorPwm(0,MUNDUR,0,MUNDUR);
}
}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 289

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Motor Drive Using PWM  Program (cont’d)
void motor_Pwm(float pwm_kiri,int stat_kiri,float pwm_kanan,int stat_kanan)
{
OCR1B = MAXVAL*pwm_kanan; //PORTD.5 ==> right motor
OCR1A = MAXVAL*pwm_kiri; //PORTD.4 ==> left motor
PORTD.7 = stat_kiri; //PORTD.7 ==> arah motor
kanan
PORTD.6 = stat_kanan; //PORTD.6 ==> arah motor kiri
}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 290

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Motor Drive Using PWM  Program (cont’d)
void cekPwm()
{
while(1)
{
motor_Pwm(5, MAJU, 5, MAJU);
delay_ms(2000);
motor_Pwm(15, MUNDUR, 15, MUNDUR);
delay_ms(2000);
}
}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 291

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Integrated Digital Tachometer
- Percobaan ini menggunakan seluruh fitur yang
telah dijelaskan sebelumnya, yaitu : PWM dan I/O
- Ditambah dengan pengetahuan mengenai
penggunaan optocoupler sebagai sensor putaran
(encoder), comparator sebagai ADC, dan LCD
sebagai display output putaran.
- Modul yang digunakan pada percobaan ini adalah :
Evaluation Board, Motor Driver, DC Motor,
Comparator, Encoder Optocoupler, LCD
Laboratorium Teknologi Manufaktur dan Otomasi
Departemen Teknik Mesin 292

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Integrated Digital Tachometer  Skematik

Motor Driver

LCD Evaluation Board


Sensor
Input DC Motor
Output
5V DC
Sensing device
Voltage Regulator
Display

Comparator

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 293

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Integrated Digital Tachometer  Teori yang harus
dimengerti

- Input / Output
- Interrupt
- Timer / Counter
- Inisialisasi LCD

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 294

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Integrated Digital Tachometer  Teori yang harus
dimengerti
Inisialisasi Timer / Counter :
• Merupakan fitur standar yang terdapat pada
mikrokontroler AVR
• Digunakan sebagai pengukur waktu, PWM,
kecepatan, frekuensi,dsb
• Pada ATMEGA8535 / ATMEGA16 terdapat 2 pin
timer 8-bit (Timer 0 dan Timer 2)

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 295

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Inisialisasi Timer / Counter :
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
CS02 CS01 CS00
CS02 CS01 CS00 Interrupt Function

0 0 0 Stop, Timer 0 is stopped


0 0 1 System Clock, CK
0 1 0 System Clock / 8, CK / 8
0 1 1 System Clock / 64, CK / 64
1 0 0 System Clock / 256, CK / 256
1 0 1 System Clock / 1024, CK / 1024
1 1 0 External Pin T0, counts a falling edge
1 1 1 External Pin T0, counts a falling edge

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 296

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Integrated Digital Tachometer  Teori yang harus
dimengerti
Inisialisasi LCD :
• LCD digunakan sebagai tampilan data hasil
penghitungan (counter) sensor putaran (encoder).
• Sebelum ditampilkan dalam LCD, data counter
terlebih dahulu diproses oleh mikrokontroler
(dilakukan proses perhitungan dengan
menggunakan “rumus konversi”).
• Seluruh port pada ATMEGA8535 / ATMEGA16
dapat digunakan sebagai port LCD

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 297

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Integrated Digital Tachometer  Program
#include <mega8535.h>
#include <delay.h>
#include <stdlib.h>
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#include <lcd.h>
unsigned int itung;
unsigned int rps,rpm, sekarang, sebelum;
char lcd1[5];
char lcd2[5];

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 298

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Integrated Digital Tachometer  Program (cont’d)
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
TCNT0=6;
sekarang=TCNT1;
if (++itung==500)
{
if(sekarang>sebelum)
rps=sekarang-sebelum;
else
rps=0xffff-sekarang+sebelum;
rpm=rps*60;
itung=0;
}
//TCNT1=0;
}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 299

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Integrated Digital Tachometer  Program (cont’d)
void main (void)
{
TCCR0=0x03;
TCNT0=0x00;

TCCR1A=0x00;
TCCR1B=0x47;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
TIMSK=0x01;
#asm("sei")

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 300

Universitas Indonesia
DTM FTUI

Mechatronics
KATHOLIEKE UNIVERSITEIT

LEUVEN
Mechatronics Application
Integrated Digital Tachometer  Program (cont’d)
lcd_init(16);

while (1)
{
lcd_gotoxy(0,0);
lcd_putsf("RPS = ");
lcd_puts(lcd1);
itoa (rps,lcd1); // Place your code here

lcd_gotoxy(0,1);
lcd_putsf("RPM = ");
lcd_puts(lcd2);
itoa (rpm,lcd2);
};
}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 301

Universitas Indonesia
DTM FTUI
CodeVision AVR - tutorial
KATHOLIEKE UNIVERSITEIT

LEUVEN
1. Membuat PROJECT

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 302

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
1. Membuat PROJECT (cont’d)

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 303

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
1. Membuat PROJECT (cont’d)

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 304

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
1. Membuat PROJECT (cont’d)

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 305

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
1. Membuat PROJECT (cont’d)

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 306

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
2. Membuat SOURCE

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 307

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
3. INPUT File SOURCE ke dalam PROJECT

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 308

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
4. INPUT SOURCE Code ke File & COMPILE (press - F9)
Miss :
#include <mega8535.h>\
void main()
{
DDRA=0xff
PORTA=0x0f
}

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 309

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
5. HILANGKAN ERROR SOURCE Code & RE-COMPILE (press - F9)

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 310

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
5. PROGRAMMER SETTING  download program ke micron

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 311

Universitas Indonesia
DTM FTUI
CodeVision AVR – tutorial (cont’d)
KATHOLIEKE UNIVERSITEIT

LEUVEN
Bila menggunakan WIZARD :

1. Klik ‘Tool’
2. Klik ‘CodewizardAVR’
3. Set : Chip version & Oscilator Frequency
4. Set : (atau Clear-kan) Pins/Port yang diinginkan
5. Set : LCD dengan suatu Port (mis. PORTA)
6. Set : A/D C (a.l. : di-enable-kan, set Clock, set Voltage Ref.,)

Laboratorium Teknologi Manufaktur dan Otomasi


Departemen Teknik Mesin 312

Universitas Indonesia

You might also like