Battery Management System On EV Car
Battery Management System On EV Car
MEKATRONIKA
3 SERVO
WALKING
ROBOT
NAMA KELOMPOK 2
SASHA SAFRIDA
(2112100004)
EVELYN LOEKITO
(2112100032)
(2112100036)
(2112100084)
GUNAWAN ADITAMA
(2112100049)
(2112100115)
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dewasa ini, otomatisasi sangat marak ditemui. Perusahaan-perusahaan banyak
mengganti tenaga kerja manual dengan device/robot. Hal ini dikarenakan, kesalahan produksi
cenderung lebih sering terjadi pada proses yang dikerjakan oleh tenaga kerja manual atau
Human Error. Ketika proses telah di automatisasi, pembuatan suatu produk menjadi lebih
efektif, ukuranya lebih presisi, jumlah produk yang dibuat setiap hari dapat dijaga stabil, dan
kualitas dapat dipertahankan lebih baik. Atas dasar ini, diperlukan pengetahuan mengenai
robotika. Terutama untuk mahasiswa-mahasiswa yang nantinya akan terjun ke dunia industri.
Selain itu dalam berbagai segi kehidupan mulai dari rumah tangga sampai industri.
Namun secara umum kegunaan robot yaitu untuk menggantikan kinerja manusia yang
membutuhkan ketelitian yang tinggi dan mengurangi bahkan menghilangkan risiko
kecelakaan yang cukup tinggi jika manusia melakukan pekerjaan tersebut. Sebagi contoh
pada pabrik pembuatan mobil, mobil-mobil yang dibuat tidak akan memiliki kepresisian yang
tinggi jika proses pengerjaannya dilakukan oleh manusia, karena manusia memiliki rasa lelah
jika bekerja secara terus menerus dan pada saat lelah ketelitian pekerjaan yang dilakukan
dapat berkurang lain halnya jika pekerjaan tersebut dilakukan oleh robot, mobil-mobil yang
dibuat akan memiliki kepresisian cukup baik selain waktu yang diperlukan untuk proses
pembuatan akan relatif lebih cepat jika pekerjaan tersebut dilakukan oleh tangan manusia.
Contoh lain pada tim gegana yang bekerja menjinakan bom, jika tidak berhati-hati maka
bom bisa meledak dan melukai bahkan mungkin bisa membunuhnya tetapi jika pekerjaan
digantikan oleh robot, pekerjaan itu tidak terlalu berbahaya bagi manusia.
Sehingga banyak sekali kegunaan dari robot, yaitu untuk meningkatkan produksi
melalui otomasi di industri, menciptakan tenaga kerja yang berkinerja tinggi dan dapat
bekerja 24 jam, untuk menjalankan pekerjaan yang memerlukan ketelitian tinggi,
menggantikan manusia dalam pekerjaan yang bersifat selalu berulang-ulang, dan sebagai alat
bantu manusia dalam melakukan eksperimen ilmiah di luar angkasa .
Pada pembuatan robot, sering kali menggunakan motor servo, karena selain
ukurannya kecil, juga sangat tangguh, sebagai contoh Futaba S3003 mempunyai torsi
56.8 oz/in. (4.1kg.cm), yang artinya adalah motor servo yang dapat mengangkat gaya
sebesar 4.1 kg tiap 1cm permukaannya. Servomotor juga mengkonsumsi daya yang
sebanding dengan beban mekanik (dengan bebabn yang besar namun konsumsidaya
tidak besar).
Untuk aplikasi robot berkaki, gerakan-gerakan yang diinginkan tidak hanya memutar,
namun gerakan sudut lebih banyak diperlukan. Untuk itu dibutuhkan motor servo, yaitu
motor yang bergerak menuju sudut tertentu berdasarkan lebar pulsa PWM yang diterima.
1.2 Rumusan Masalah
Adapun rumusan masalah dari praktikum ini adalah
1. Bagaimana mengetahui
servomotor?
2. Bagaimana memahami cara mengontrol motor servo dengan mengatur PWM?
3. Bagaimana cara membuat program pada mikrokontroller STM32F030F4 dengan
Keil MDK-ARM?
1.3 Tujuan
Adapun tujuan dari tugas ini adalah sebagai berikut:
1. Mengetahui bagaimana cara kerja robot berkaki menggunakan 3 buah servomotor.
2. Memahami cara mengontrol motor servo dengan mengatur PWM
3. Mengetahui cara membuat
programpada
mikrokontroller
STM32F030F4
denganKeil MDK-ARM.
1.3 Batasan Masalah
Adapun batasan masalah dari laporan ini adalah
1. Servo yang digunakan adalah sebanyak tiga buah.
2. Ketiga servo bekerja dengan baik.
1.4 Sistematika Laporan
Adapun sistematika laporan robot 3 servo ini adalah
BAB I memuat dasar teori yang berisi latar belakang hingga rumusan masalah
dilakukannya pembuatan robot 3 servo ini.
BAB II berisi dsar teori tentang komponen-komponen robot 3 servo ini.
BAB III disebutkan alat dan bahan yang digunakan untuk membuat robot, beserta
langkah-langkah pembuatan secara sigkat.
BAB IV berisi pembahasan mengenai proses pembuatan robot 3 servo ini secara
keseluruhan, lengkap dengan proses mekanis dan elektris robot tersebut. Pada bagian akhir.
BAB V mencantumkan kesimpulan dan saran.
BAB II
DASAR TEORI
2.1 Motor Servo
Motor Servo adalah sebuah motor DC yang dilengkapi rangkaian kendali dengan
sistem closed feedback yang terintegrasi dalam motor tersebut. Pada motor servo
posisiputaran sumbu (axis) dari motor akan diinformasikan kembali ke rangkaian kontrol
yang ada di dalam motor servo. Motor servo disusun dari sebuah motor DC, gearbox,
variabel resistor (VR) atau potensiometer dan rangkaian kontrol. Potensiometer berfungsi
untuk menentukan batas maksimum putaran sumbu (axis) motor servo. Sedangkan sudut dari
sumbu motor servo diatur berdasarkan lebar pulsa yang pada pin kontrol motor servo
bagian
ini
berfungsi
ke obyek-obyek
untuk
yang
menempatkan
akan digerakkan.
sekrup
yang
Pada gambar
tampak lubang jangkar dihubungkan ke obyek dengan sekrup untuk gerakan memutar.
3. Lubang Sekrup, yang berfungsi untuk mengaitkan motor servo dengan tubuh robot
4. Housing Servo, di dalam bagian ini terdapat motor DC, gearbox dan rangkaian
pengatur sudut servo
5. Kabel, kabel yang menghubungkan rangkaian servo dengan pengendali servo
6. Konektor, konektor 3 pin yang terdiri dari input tegangan positif (+), input tegangan
negatif (GND) dan input pulsa (Signal)
Untuk dapat melakukan controling pada servo, kabel signal di sambung langsung pada Salah
satu port Mikrocontroller, dan di set sebagai Output. kemudian servo diberi suplay 5-6V.
Sedangkan nilai sinyal yang di kirm dan sudut yang di hasilkan terlihat sepertiberikut:
Motor servo jenis ini mampu bergerak dua arah (CW danCCW) tanpa batasan defleksi
sudut putar (dapat berputar secara kontinyu). Sudut putarannya bisa mencapai 360.
3. Berdasarkan jenis Horn
Motor servo merupakan sebuah motor dc kecil yang diberi sistim gear dan
potensiometer sehingga dia dapat menempatkan horn servo pada posisi yang
dikehendaki. Karena motor ini menggunakan sistim close loop sehingga posisi horn
yang dikehendaki bisa dipertahankan. Horn pada servo ada dua jenis. Yaitu Horn
X dan Horn berbentuk bulat (seperti pada gambar di bawah ).
membuat
LED
berkedip
dengan
memanfaatkan
fungsi
dari
Timer
4.
Pada Reference Manual RM0008, Sub bab APB1 perpheral clock enable register
(RCC_APB1ENR), menjelaskan pengaturan APB1ENR periferal clock enable register.
Terlihat bahwa TIM4EN berada pada posisi bit ke 2. Dengan demikian, untuk mengaktifkan
timer 4 ini, bit ke 2 pada register APB1ENR harus kita berikan logika 1 dengan cara sebagai
berikut :
1RCC->APB1ENR |= RCC_APB1ENR_TIM4EN
Sistem clock pada development board kita adalah 72 MHz. Dan sekarang kita ingin
menyalakan LED L1 dan L2 bergantian dengan frekuensi 1 Hz. Ini berarti Setiap L1 dan L2
akan
menyala
selama
500
ms
dan
juga
akan
mati
selama
500
ms.
Pada Sub bab 14.3.1 terdapat pengaturan register pre-scaler bagi timer dan nilai auto-reload
nya. Pemberian nilai pre-scaler adalah -1 dari nilai yang diharapkan. Misalkan kita ingin
timer bekerja dengan frekuensi 1/12 dari frekuensi sistem, maka nilai pre-scaler harus kita isi
dengan 11. untuk menghasilkan frekuensi timer 4 sebesar 2000 Hz (1/36000 dari frekuensi
sistem) maka nilai pada pre-scalernya harus kita isi dengan :
1TIM4->PSC=35999;
Pada Reference Manual, sub bab TIM1 status register (TIMx_SR), terlihat sebagai berikut :
Dan agar setiap 500 ms terjadi notifikasi pada TIM4 status register, pada bit Update Interrupt
Flag (UIF), maka nilai Auto-Reload Register (ARR) kita isi dengan :
1TIM4->ARR=1000;
Selanjutnya, pada Reference Manual, sub bab TIM1 control register (TIMxCR1), terlihat
sebagai berikut :
3L2_GPIO->ODR ^= (1<<L2);
4
Dari perintah diatas terlihat bahwa setiap terjadi auto-reload (500 ms), maka kondisi L1 dan
L2 akan berubah dari keadaan sebelumnya. Agar L1 dan L2 bisa menyala bergantian, maka
sebelum baris diatas perlu diatur kondisi yang berbeda antara L1 dan L2;
1L1_GPIO->BSRR=(1<<L1);
2L2_GPIO->BRR=(1<<L2);
Berikut program lengkapnya :
1 #include "stm32f10x.h"
2 #include "antilib_gpio.h"
#define L1_GPIO GPIOB
3 #define L1 9
4 #define L2_GPIO GPIOB
5 #define L2 8
6
7 int main(void)
{
8
RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;
9
RCC->APB1ENR |= RCC_APB1ENR_TIM4EN;
10
11 #if (L1 > 7)
L1_GPIO->CRH = (L1_GPIO->CRH & CONFMASKH(L1))
12
GPIOPINCONFH(L1,
13
GPIOCONF(GPIO_MODE_OUTPUT2MHz,
14
GPIO_CNF_OUTPUT_PUSHPULL));
15 #else
L1_GPIO->CRL = (L1_GPIO->CRL & CONFMASKL(L1))
16
GPIOPINCONFL(L1,
17
GPIOCONF(GPIO_MODE_OUTPUT2MHz,
18
GPIO_CNF_OUTPUT_PUSHPULL));
19 #endif
20
21 #if (L2 > 7)
L2_GPIO->CRH = (L2_GPIO->CRH & CONFMASKH(L2))
22
GPIOPINCONFH(L2,
23
GPIOCONF(GPIO_MODE_OUTPUT2MHz,
24
GPIO_CNF_OUTPUT_PUSHPULL));
25 #else
26
L2_GPIO->CRL = (L2_GPIO->CRL & CONFMASKL(L2))
GPIOPINCONFL(L2,
27
GPIOCONF(GPIO_MODE_OUTPUT2MHz,
28
GPIO_CNF_OUTPUT_PUSHPULL));
29 #endif
30
31 TIM4->PSC=35999;
32 TIM4->ARR=1000;
33 TIM4->CR1=TIM_CR1_CEN;
34
35 L1_GPIO->BSRR=(1<<L1);
L2_GPIO->BRR=(1<<L2);
36 while(1)
37
38 { if(TIM4->SR & TIM_SR_UIF)
39
{
40
TIM4->SR &= ~TIM_SR_UIF;
L1_GPIO->ODR ^= (1<<L1);
41
L2_GPIO->ODR ^= (1<<L2);
42
};
43 };
44}
LD33 regulator
Merupakan voltage regulator untuk mengatur tegangan yang masuk ke dalam stm32
sebesar 3,3 volt. LD33 adalah LOW DROP Voltage Regulatorable yang digunakan untuk
menyediakan hingga 800mA Output, bahkan tersedia dalam versi yang disesuaikan (Vref =
1.25V). Mengenai versi tetap, yang menawarkan Tegangan output berikut: 2.5V, 2.85V, 3.0V
3.3V dan 5.0V.
Menyusun LED dalam rangkaian seri akan lebih sulit jika warna LED berbeda-beda,
karena tiap warna LED yang berlainan mempunyai tegangan maju (Vf) yang berbeda.
Perbedaan ini akan menyebabkan bila jumlah tegangan yang diberikan oleh sumber daya
listrik tidak cukup untuk membangkitkan chip LED, maka beberapa LED akan tidak
menyala. Sebaliknya, bila tegangan yang diberikan terlalu besar akan berakibat kerusakan
pada LED yang mempunyai tegangan maju relatif rendah.
Pada umumnya, LED yang disusun secara seri harus mempunyai tegangan maju yang
sama atau paling tidak tak berbeda jauh supaya rangkaian LED ini dapat bekerja secara baik.
Jika LED digunakan untuk indikator pada voltase lebih tinggi dari operasinya dirangkai seri
dengan resistor untuk menyesuaikan arus agar tidak melampaui arus maksimum LED, kalau
arus maksimum terlampau LED jadi rusak.
2.9 Resistor
Resistor merupakan komponen elektronik yang memiliki dua pin dan didesain untuk
mengatur tegangan listrik dan arus listrik, dengan resistansi tertentu (tahanan) dapat
memproduksi tegangan listrik di antara kedua pin, nilai tegangan terhadap resistansi
berbanding lurus dengan arus yang mengalir, berdasarkan hukum Ohm. Resistor digunakan
sebagai bagian dari rangkaian elektronik dan sirkuit elektronik, dan merupakan salah satu
komponen yang paling sering digunakan. Resistor dapat dibuat dari bermacam-maca kompon
dan film, bahkan kawat resistansi (kawat yang dibuat dari paduan resistivitas tinggi seperti
nikel-kromium). Karakteristik utama dari resistor adalah resistansinya dan daya listrik yang
dapat dihantarkan. Karakteristik lain termasuk koefisien suhu, derau listrik (noise), dan
induktansi. Resistor dapat diintegrasikan kedalam sirkuit hibrida dan papan sirkuit cetak,
bahkan sirkuit terpadu. Ukuran dan letak kaki bergantung pada desain sirkuit, kebutuhan daya
resistor harus cukup dan disesuaikan dengan kebutuhan arus rangkaian agar tidak terbakar.
Identifikasi empat pita adalah skema kode warna yang paling sering digunakan. Ini
terdiri dari empat pita warna yang dicetak mengelilingi badan resistor. Dua pita pertama
merupakan informasi dua digit harga resistansi, pita ketiga merupakan faktor pengali (jumlah
nol yang ditambahkan setelah dua digit resistansi) dan pita keempat merupakan toleransi
harga resistansi. Kadang-kadang terdapat pita kelima yang menunjukkan koefisien suhu,
tetapi ini harus dibedakan dengan sistem lima warna sejati yang menggunakan tiga digit
resistansi.
yang
biasa
dijual
(disposable/sekali
pakai)
mempunyai
tegangan listrik 1,5 volt. Baterai ada yang berbentuk tabung atau kotak. Ada juga yang
dinamakan rechargeable battery, yaitu baterai yang dapat diisi ulang, seperti yang biasa
terdapat pada telepon genggam. Baterai sekali pakai disebut juga dengan baterai primer,
sedangkan baterai isi ulang disebut dengan baterai sekunder.
Baik baterai primer maupun baterai sekunder, kedua-duanya bersifat mengubah energi
kimia menjadi energi listrik. Baterai primer hanya bisa dipakai sekali, karena menggunakan
reaksi kimia yang bersifat tidak bisa dibalik (irreversible reaction). Sedangkan baterai
sekunder dapat diisi ulang karena reaksi kimianya bersifat bisa dibalik (reversible reaction).
2.12 Board
Board adalah sebuah papan yang penuh dengan komponen-komponen elektronika
yang tersusun membentuk rangkaian elektronik atau tempat rangkaian elektronika yang
menghubungkan komponen elektronik yang satu dengan lainnya tanpa menggunakan kabel.
Disebut dengan Papan Sirkuit karena diproduksi secara massal dengan cara mencetak. PCB
dilapisi lapisan logam (tembaga) yang berfungsi sebagai penghubung antar komponen,
Lapisan logam ini nantinya akan menjadi kabel yang tersusun rapi, setelah kita melarutkan
pada larutan FerryClorit + air. Papan sirkuit cetak dapat digolongkan atas beberapa jenis
berdasarkan:
susunan lapis:
o lapis tunggal
o lapis ganda
o multi lapis (4, 6, 8 lapis)
bentuk:
o keras
o lunak (fleksibel)
o gabungan keras dan lunak
spesifikasi:
o konvensional
o penghubung kepadatan tinggi (High Density Interconnect)
material basis:
o FR4
o Logam
o Keramik
2.13 Pin on off 6 pin
Pin
on
off
adalah
switch
yang
dapat
3.1.2
Lem
Mur dan Baut
Gergaji
Bor
Penggaris, pensil
Cutter
Elektris
Led 3mA
Resistor 1k
Resistor 10k
Kapasitor 100 nF multilayer 2 buah
IC 7805
Kapasitor 1000 mikrofarad 25 volt
Kapasitor 220 mikrofrad 25 volt
On off 6 pin
Tempat battery
Battery 9 volt
Board
3.2
Langkah Kerja
3.2.1
Mekanis
1.
Gambar 3.2 Kayu sebagai penutup bagian depan belakang dari servo
BAB IV
PEMBAHASAN
Secara umum walking robot dengan 3 servo ini dapat ditinjau secara mekanis ,
elektris dan pemrograman sistem . Ketiga tinjauan tersebut berfungsi untuk mengatur agar
robot dapat bergerak maju.
4.1
TINJAUAN MEKANIS
Pada robot ini bagian yang peling penting dalam pergerakan robot ini adalah
pergerakan dari ketiga putaran motor servo. Pada servo yang digunakan dua diantaranya
berperan dalam pergerakan telapak kaki robot. Sementara satu servo berperan untuk menaik
turunkan dari kaki
penempatan ketiga
servo tersebut.
Servo untuk
menggerakkan
kaki kiri
Servo untuk
menggerakkan kaki
kanan
dengan
menggunakan
voltage
regulator
LD33.
Digunakan
micro
STM32F030F4 karena memiliki bit sebesar 16. Bit tersebut sangat cukup untuk diaplikasikan
pada robot ini karena robot ini hanya menggunakan 3 pin. Berikut adalah skema pin yang
digunakan pada STM32F030F4.
4.2
ELEKTRIS
4.2.1
Rangkaian BOARD
Led 3mA
Resistor 1k
Resistor 10k
4.2.2
Pergerakan robot diatur oleh pergerakan 3 servo yang memiliki fungsi masingmasing. Pergerakan dari servo yang dapat berlangsung secara CW ataupun CCW diatur
melalui program dengan software KEIL yang akan dibaca oleh mikrokontroller
STM32F031F6. Secara umum, urutan jalannya perintah hingga servo bergerak adalah sebagai
berikut:
Power
Supply
(Baterai)
MCU
Servo
Kaki
Robot
yang
sebelumnya
sudah
deprogram
menggunakan
program
Keil
mengirimkan sinyal kepada motor servo. Kemudian motor servo akan menggerakan kaki dan
telapak kaki robot, dan robot pun berjalan.
Batterai hanya berfungsi sebagai pemberi tegangan dan besar dari tegangan
menyesuaikan dengan mikrokontroller yang digunakan. Range dari tegangan baterai yang
dipakai antara 6 Volt hingga 16 Volt. Kemudian arus listrik mengalir dalam mikrokontroller.
Di dalam mikrokontroller ini terdiri atas beberapa komponen seperti resistor, kapasitor,
header, led, LM317, LM7805. Komponen tersebut dirangkai sebagai regulator yang nantinya
pengelolaan inti dilakukan oleh STM32. Pada STM 32 inilah program dapat dimasukkan.
4.3 Pemrograman Sistem
Hal-hal yang peru dilakukan dilakukan dalam pomrograman adalah sebagai berikut:
Buka file templates standart peripheral, buka MDK-ARM, buka project Mekatronika
Jadi
Buka pengaturan File Extension untuk mengatur Project Target, Group, dan File dari
Groups yang harus di hapus Juga untuk input file User
Buka pengaturan Option for target Output untuk mengatur folder output dari
program yang akan dijalankan
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_7|GPIO_Pin_6;
TIM_TimeBaseStructure.TIM_Prescaler = 100;
if(count>200)count=0;
if(count<pwm1){
else{ ClrB(1);}
SetB(1);}
if(count<Servo1){ SetA(7);}
else{ ClrA(7);}
if(count<Servo2){ SetA(5);}
else{ ClrA(5);}
if(count<Servo3){ SetA(6);}
else{ ClrA(6);}
}
Paragraf ini untuk mengatur Pin yang digunakan berdasarkan variable Count Bilangan dari
variable ini eiliki batas maksimal. Disini kami menggunakan 200.
SysTick_Config(SystemCoreClock / 1000); //->SysTick Init interrupt per 1
mS
GPIO_Config();
TIM_Config();
pwm1=0;
while (1)
{
Servo1=5;
Servo2=5;
Servo3=9;
Delay(1000000);
Servo1=8;
Servo2=8;
Servo3=12;
//Servo1=29;
Delay(1000000);
Paragraf ini merupakan perintah jauhnya putaran servo berdasarkan angka yg dicantumkan
Angka-angka tersebut yag keudian di variasikan untuk melihat berapa derajat putaran yang
diwakilkan oeh angka tersebut.
Ketika sudah mendapatkan sudut putaran yang tepat, klik rebuild untuk mengecek apakah
program yang telah divariasikan tidak meiliki error
Apabila asih terdaapat error, maka program peru diperbaiki cek pada baris di sebeah nomor di
setiap jendela program, apakah terdapat tanda siag berwarna merah atau tida Tanda silang
tersebut enandakan adanya kesaahan pemrograman di baris tersebut.
4.3.1 Untuk menjaankan device (robot)
Sambungkan devepment board ke aptop dan k e device yang telah dirangkai Setelah
itu load program di Keil yang telah divariasikan sebelumnya. Maka robot akan berjalan.
Berikut langkah-langkah erangkai pcb dan device:
1. Sabungkan kabe servo dengan jumper male
2. Pada kabel jumper tersebut asing-masing kabel signal dihubungka ke pin masing-
masing. Kabel 5volt disambungkan dengan kabe 5volt dari servo asing-asing Begitu
juga dengan kabel ground
BAB V
Kesimpulan
Adapun kesimpulan yang dapat diambil dalam percobaan ini yaitu :
a. Terdapat tiga tinjauan dalam menjelaskan bagaimana cara gerak dan pengaturan
dari3-servo walking robot yaitu ditinjau dari mekanik,elektrik dan system
perograman.
b. Dari tinjauan mekanik, bagian paling penting dalam pergerakan dari robot ini
adalah pergerakan dari putaran motor servo,dan servo yang digunakan adalah
Futaba S3003.
c. Dari segi tinjauan elektrik terdapat beberapa komponen elektrik yang berperan
dalam pergerakan robot. Dimana pengaturan dilakukan dengan cara membuat
program pada software Keil yang nantinya akan dibaca mikrokontroller dan
meneruskan ke komponen elektrik lainnya.
d. Dari segi tinjauan sistem pemrogramnnya, hal yang paing penting adalah cara
pengkodingan pada keil, yaitu untuk menentukan sudut putar dan berapa
5.2.