Robot Kontrol Bolabot Berbasis Wireless

17
BOLABOT TECHNO ROBOTIC INSTITUTE | 1 Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot) Mada Sanjaya WS, Ph.D Penerbit Bolabot 2013 ROBOT KONTROL BERBASIS WIRELESS TLP/RLP 315 MHZ

description

The wireless use in this robot is TLP/RLP 315 MHz

Transcript of Robot Kontrol Bolabot Berbasis Wireless

Page 1: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 1

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

Mada Sanjaya WS, Ph.D

Penerbit Bolabot

2013 ROBOT KONTROL BERBASIS

WIRELESS TLP/RLP 315 MHZ

Page 2: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

ROBOT KONTROL DIGITAL

MENGGUNAKAN WIRELESS

TUJUAN

1. Mengetahui dan memahami sistem kontrol digital dengan komunikasi serial USART

menggunakan wireless TLP/RLP 315 MHz.

2. Mampu mendesain, memprogram dan membuat robot kontrol

3. Mengetahui aplikasi robot kontrol digital menggunakan

DASAR TEORI

Dalam bab ini kita akan membuat desain dan rancang bangun pembuatan robot dengan kontrol berbasis

wireless menggunakan gelombang 315 MHz.

Untuk membangun sistem kontrol

diperlukan dua buah sistem mikrokontroler

yang terhubung secara serial. Satu sistem

sebagai robot penerima perintah atau

(Rx), sedangkan sistem kontrol robot

memberikan perintah atau transmitter

Dalam mikrokontroler keluarga AVR,

komunikasi serial terdapat pada menu USART

(Universal Syncronous Asyncronous

Receiver/Transmitter).

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E

Mada Sanjaya WS, Ph.D (Profesor Bolabot)

OBOT KONTROL DIGITAL

MENGGUNAKAN WIRELESS

TLP/RLP 315 MHz

Mengetahui dan memahami sistem kontrol digital dengan komunikasi serial USART

TLP/RLP 315 MHz.

Mampu mendesain, memprogram dan membuat robot kontrol wireless digital.

Mengetahui aplikasi robot kontrol digital menggunakan wireless.

Dalam bab ini kita akan membuat desain dan rancang bangun pembuatan robot dengan kontrol berbasis

wireless menggunakan gelombang 315 MHz.

Untuk membangun sistem kontrol wireless

diperlukan dua buah sistem mikrokontroler

yang terhubung secara serial. Satu sistem

sebagai robot penerima perintah atau receiver

(Rx), sedangkan sistem kontrol robot

transmitter (Tx).

Dalam mikrokontroler keluarga AVR,

komunikasi serial terdapat pada menu USART

Universal Syncronous Asyncronous

Gambar 1. Ilustrasi komunikasi serial

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 2

Mengetahui dan memahami sistem kontrol digital dengan komunikasi serial USART

Dalam bab ini kita akan membuat desain dan rancang bangun pembuatan robot dengan kontrol berbasis

Ilustrasi komunikasi serial

Page 3: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

Simulasi Sistem Wireless Proteus

Untuk membuat simulasi wireless

transmitter dan receiver mikrokontroler dengan komponen

tapi tidak secara langsung. Berikut adalah desain simulasi proteus sistem

Gambar 2.

Untuk membuat robot actual dari skema tersebut, maka

MHz di bagian Transmitter remote

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E

Mada Sanjaya WS, Ph.D (Profesor Bolabot)

wireless di proteus, dapat kita lakukan dengan menghubungkan sistem

mikrokontroler dengan komponen optocoupler yang sebenarnya menghubungkan

tapi tidak secara langsung. Berikut adalah desain simulasi proteus sistem wireless robot kontrol digital.

Gambar 2. Skema proteus robot kontrol digital wireless

Untuk membuat robot actual dari skema tersebut, maka optocoupler diganti dengan komponen TLP 315

kontrol dan RLP 315 MHz di bagian Receiver Robot.

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 3

lakukan dengan menghubungkan sistem

yang sebenarnya menghubungkan

robot kontrol digital.

diganti dengan komponen TLP 315

Robot.

Page 4: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

Hardware Aktual TLP/RLP 315 MHz

Gambar 3.

Data sheet Komponen TLP/RLP 315 MHz

Gambar 4.

Gambar 5.

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E

Mada Sanjaya WS, Ph.D (Profesor Bolabot)

15 MHz

Gambar 3. Komponen actual TLP/RLP 315 MHz

Data sheet Komponen TLP/RLP 315 MHz

Gambar 4. Komponen transmitter TLP 315 MHz

Gambar 5. Komponen Receiver RLP 315 MHz

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 4

Page 5: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

Desain Aktual Robot Kontrol Wireless

Transmitter

Receiver

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E

Mada Sanjaya WS, Ph.D (Profesor Bolabot)

esain Aktual Robot Kontrol Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 5

Page 6: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 6

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

Program CV AVR Robot Kontrol Wireless

Program Transmitter Remote Kontrol

/*****************************************************

This program was produced by the

CodeWizardAVR V2.05.0 Professional

Automatic Program Generator

© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project : Remote Kontrol Robot Kontrol Wireless

Version : I Hexapod UHF

Date : 9/16/2012

Author : Mada Sanjaya WS, Ph.D

Company : Bolabot Techno Robotic School

Comments: "Semangat harapan itu masih ada"

Chip type : ATmega8

Program type : Application

AVR Core Clock frequency: 12.000000 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 256

*****************************************************/

#include <mega8.h>

// Standard Input/Output functions

#include <stdio.h>

#include <delay.h>

unsigned char perintah;

// Declare your global variables here

void main(void)

{

// Declare your local variables here

// Input/Output Ports initialization

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTB=0x00;

DDRB=0x00;

// Port C initialization

Page 7: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 7

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00;

DDRD=0x00;

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

TCCR0=0x00;

TCNT0=0x00;

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer1 Stopped

// Mode: Normal top=0xFFFF

// OC1A output: Discon.

// OC1B output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer2 Stopped

// Mode: Normal top=0xFF

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

// External Interrupt(s) initialization

Page 8: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 8

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

// INT0: Off

// INT1: Off

MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: Off

// USART Transmitter: On

// USART Mode: Asynchronous

// USART Baud Rate: 1200

UCSRA=0x00;

UCSRB=0x08;

UCSRC=0x86;

UBRRH=0x02;

UBRRL=0x70;

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

// ADC initialization

// ADC disabled

ADCSRA=0x00;

// SPI initialization

// SPI disabled

SPCR=0x00;

// TWI initialization

// TWI disabled

TWCR=0x00;

// mendefinisikan input output

DDRD.5=0; //input tombol perintah belok kiri

DDRD.6=0; //input tombol perintah belok kanan

DDRD.7=0; //input tombol perintah mundur

DDRB.0=0; //input tombol perintah maju

DDRD.2=1; //output led indikator ketika tombol ditekan

while (1)

{

if (PINB.0!=0)

//program maju

{

perintah=1;

PORTD.2=0;

Page 9: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 9

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

}

else if (PIND.7!=0)

//program mundur

{

perintah=2;

PORTD.2=0;

}

else if (PIND.6!=0)

//program belok kanan

{

perintah=3;

PORTD.2=0;

}

else if (PIND.5!=0)

//program belok kiri

{

perintah=4;

PORTD.2=0;

}

else

{

perintah=0; // diam

PORTD.2=1;

}

putchar(perintah); // mengirim tipe data perintah

}

}

Program Receiver Robot Kontrol Wireless

/*****************************************************

This program was produced by the

CodeWizardAVR V2.05.0 Professional

Automatic Program Generator

© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project : Receiver Robot Kontrol Wireless

Version : I Hexapod

Date : 9/16/2012

Page 10: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 10

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

Author : Mada Sanjaya WS, Ph.D

Company : Bolabot Techno Robotic School

Comments: "Semangat Harapan itu Masih Ada!!!"

Chip type : ATmega8

Program type : Application

AVR Core Clock frequency: 12.000000 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 256

*****************************************************/

#include <mega8.h>

#ifndef RXB8

#define RXB8 1

#endif

#ifndef TXB8

#define TXB8 0

#endif

#ifndef UPE

#define UPE 2

#endif

#ifndef DOR

#define DOR 3

#endif

#ifndef FE

#define FE 4

#endif

#ifndef UDRE

#define UDRE 5

#endif

#ifndef RXC

#define RXC 7

#endif

#define FRAMING_ERROR (1<<FE)

#define PARITY_ERROR (1<<UPE)

#define DATA_OVERRUN (1<<DOR)

#define DATA_REGISTER_EMPTY (1<<UDRE)

#define RX_COMPLETE (1<<RXC)

unsigned char dutu; // mendefinisikan data

// USART Receiver buffer

Page 11: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 11

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

#define RX_BUFFER_SIZE 8

char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE <= 256

unsigned char rx_wr_index,rx_rd_index,rx_counter;

#else

unsigned int rx_wr_index,rx_rd_index,rx_counter;

#endif

// This flag is set on USART Receiver buffer overflow

bit rx_buffer_overflow;

// USART Receiver interrupt service routine

interrupt [USART_RXC] void usart_rx_isr(void)

{

char status,data;

status=UCSRA;

data=UDR;

if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)

{

rx_buffer[rx_wr_index++]=data;

#if RX_BUFFER_SIZE == 256

// special case for receiver buffer size=256

if (++rx_counter == 0)

{

#else

if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;

if (++rx_counter == RX_BUFFER_SIZE)

{

rx_counter=0;

#endif

rx_buffer_overflow=1;

}

}

}

#ifndef _DEBUG_TERMINAL_IO_

// Get a character from the USART Receiver buffer

#define _ALTERNATE_GETCHAR_

#pragma used+

char getchar(void)

{

char data;

while (rx_counter==0);

data=rx_buffer[rx_rd_index++];

#if RX_BUFFER_SIZE != 256

if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;

#endif

#asm("cli")

--rx_counter;

#asm("sei")

Page 12: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 12

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

return data;

}

#pragma used-

#endif

// Standard Input/Output functions

#include <stdio.h>

// Declare your global variables here

void main(void)

{

// Declare your local variables here

// Input/Output Ports initialization

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=T

PORTB=0x00;

DDRB=0x06;

// Port C initialization

// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00;

DDRD=0x00;

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

TCCR0=0x00;

TCNT0=0x00;

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: 11.719 kHz

// Mode: Fast PWM top=0x00FF

// OC1A output: Non-Inv.

// OC1B output: Non-Inv.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

Page 13: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 13

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

TCCR1A=0xA1;

TCCR1B=0x0D;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer2 Stopped

// Mode: Normal top=0xFF

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On

// USART Transmitter: Off

// USART Mode: Asynchronous

// USART Baud Rate: 1200

UCSRA=0x00;

UCSRB=0x90;

UCSRC=0x86;

UBRRH=0x02;

UBRRL=0x70;

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

// ADC initialization

// ADC disabled

ADCSRA=0x00;

Page 14: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 14

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

// SPI initialization

// SPI disabled

SPCR=0x00;

// TWI initialization

// TWI disabled

TWCR=0x00;

// Global enable interrupts

#asm("sei")

// mendefinisikan output motor DC

DDRD.5=1; //output motor kiri

DDRD.6=1; //output motor kiri

DDRD.7=1; //output motor kanan

DDRB.0=1; //output motor kanan

// kondisi awal

PORTD.5=1;

PORTD.6=1;

PORTD.7=1;

PORTB.0=1;

// mengatur kecepatan motor dengan PWM

OCR1A=200; // kecepatan motor kiri

OCR1B=200; // kecepatan motor kanan

while (1)

{

dutu=rx_buffer[0];

if(dutu==1) // program maju, kedua motor bergerak kedepan

{

PORTD.5=1;

PORTD.6=0;

PORTD.7=1;

PORTB.0=0;

}

else if (dutu==2) //program mundur, kedua motor bergerak kebelakang

{

PORTD.5=0;

PORTD.6=1;

PORTD.7=0;

PORTB.0=1;

}

else if (dutu==3) //program belok kanan, motor kanan mundur, motor kiri maju

{

PORTD.5=1;

Page 15: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 15

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

PORTD.6=0;

PORTD.7=0;

PORTB.0=1;

}

else if (dutu==4) //program belok kiri, motor kanan maju, motor kiri mundur

{

PORTD.5=0;

PORTD.6=1;

PORTD.7=1;

PORTB.0=0;

}

else // tidak ada perintah kedua motor diam

{

PORTD.5=0;

PORTD.6=0;

PORTD.7=0;

PORTB.0=0;

}

}

}

METODE PERCOBAAN

ALAT DAN BAHAN

1. Papan PCB/protoboard

2. Multimeter

3. Kabel koneksi dan soket

4. Resistor

5. LED

6. Motor DC

7. Spacer

8. Tombol push-button

9. Battery 9 volt

10. 2 buah Mikrokontroler ATmega 16

11. Motor driver L 293D

12. Transmitter TLP 315 MHz

Page 16: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 16

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

13. Receiver RLP 315 MHz

14. LCD 16x2

15. Antena

16. Modul kit Downloader

17. Software Proteus

18. Software Code Vision AVR

19. Toolkit elektronika

20. Osiloskop digital

PROSEDUR PERCOBAAN

Desain dan Pembuatan Transmitter Remote Kontrol

1. Desain rangkaian pada proteus sesuai skema yang telah dijelaskan

2. Buatlah program transmitter remote kontrol yang akan mengirimkan perintah pada receiver robot

kontrol untuk menggerakan robot maju, mundur, belok kiri dan kanan menggunakan code vision

AVR.

3. Isikan program yang dibuat pada desain proteus

4. Buatlah eksperimen actual transmitter dalam hal ini remote kontrol wireless yang meliputi

pembuatan dan pengujian.

Desain dan Pembuatan Receiver Robot Kontrol

1. Desain rangkaian pada proteus sesuai skema yang telah dijelaskan

2. Buatlah program untuk receiver robot kontrol yang akan menerima perintah dari transmitter

menggunakan code vision AVR.

3. Isikan program yang dibuat pada desain proteus

4. Buatlah eksperimen actual receiver dalam hal ini robot kontrol wireless yang meliputi pembuatan

dan pengujian.

Pengujian dan Analisis

1. Pengujian dan analisis output transmitter remote kontrol menggunakan osiloskop.

2. Pengujian dan analisis output receiver robot kontrol menggunakan osiloskop.

Page 17: Robot Kontrol Bolabot Berbasis Wireless

B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 17

Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)

3. Pengujian robot kontrol wireless.

TUGAS PENDAHULUAN

1. Apa yang dimaksud dengan robot kontrol!

2. Bagaimana prinsip kerja TLP/RLP 315 MHz!

3. Jelaskan prinsip kerja USART dalam mikrokontroler!

4. Bagaimana logika membangun robot kontrol wireless!

5. Jelaskan aplikasi robot kontrol wireless!

TUGAS AKHIR DAN LAPORAN

1. Buatlah diagram alir percobaan.

2. Analisis dan bandingkan antara teori, simulasi proteus, serta hasil eksperimen sesuai tujuan yang

ingin dicapai dalam praktikum!

3. Buat Kesimpulan

DAFTAR PUSTAKA

1. Floyd & Buchla. “ Fundamental of analog circuits”. Prentice Hall, New Jersey, 2008.

2. Malvino. “Prinsip-prinsip elektronika I” Erlangga, Jakarta, 1994.

3. Winarno & Arifianto, D. “Bikin robot itu gampang”. Kawan Pustaka, Jakarta, 2011.

4. Andrianto, H. “ Pemrograman mikrokontroler AVR ATmega 16 menggunakan bahasa C (Code

Vision AVR)”. Penerbit Informatika, Bandung, 2008.

5. Sanjaya, M. “Pengenalan robotika”, Bolabot Techno Robotic School, Bandung, 2012.

6. Sanjaya, M.” Modul membuat robot itu asyik”, Bolabot Techno Robotic School, Bandung, 2012.

SELAMAT MENCOBA…

MARI BERJUANG BERSAMA BOLABOT

“BEKERJA UNTUK KEBANGKITAN

TEKNOLOGI INDONESIA”