Anda di halaman 1dari 15

Analisa Mekanisme Kerja Compile & Upload

Program pada STM32F1O3C8T6 Melalui


STLink.V2
Tugas Mata Kuliah Mikroprosesor Mikrokontroller

Disusun oleh:

KEVIN IMAM SATRIA ( 2110951030 )

PRIMA ALGHIFARI ( 2110951034 )

ADE RAYHAN ( 2110951025 )

JORDY PRATAMA YUDHA ( 2110952041 )

Dosen Pengampu:
Zaini Ph.D

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS ANDALAS

PADANG

2024

A. Latar Belakang

Mikrokontroler STM32F103C8T6, yang tergolong dalam keluarga STM32 buatan


STMicroelectronics, merupakan pilihan yang sangat tepat untuk aplikasi kontrol motor.
Ditenagai oleh arsitektur inti ARM Cortex-M3, STM32F103C8T6 menyediakan sejumlah
kelebihan yang memungkinkan integrasi yang efisien dalam berbagai aplikasi, termasuk
kontrol motor dalam sistem otomasi atau robotika.

Mikrokontroler ini memiliki fitur-fitur yang sangat relevan pada pengontroanl motor.
Periferal seperti PWM (Pulse Width Modulation) dapat dengan mudah dikonfigurasi untuk
menghasilkan sinyal yang diperlukan dalam mengontrol kecepatan dan posisi motor. Selain
itu, kemampuan komunikasi serial melalui periferal seperti UART, SPI, dan I2C
memungkinkan integrasi yang mulus dengan driver motor atau sensor yang terhubung.

Dalam pengaplikasiannya pada kontrol motor, STM32F103C8T6 memberikan


keunggulan dalam pengelolaan antarmuka dengan komponen motor dan sensor terkait.
Misalnya, GPIO yang dapat dikonfigurasi pada mikrokontroler ini memungkinkan pengguna
untuk mengatur pin-pin yang sesuai dengan kebutuhan pengendalian motor tertentu.

Dukungan dari lingkungan pengembangan perangkat lunak seperti STM32CubeIDE


memberikan kemudahan dalam implementasi kontrol motor yang kompleks. Pengguna
dapat dengan efisien mengatur parameter motor, mengimplementasikan algoritma kontrol,
dan memantau kinerja sistem secara real-time.

Dengan demikian, penggunaan STM32F103C8T6 dalam kontrol motor tidak hanya


menyediakan solusi yang handal dan efisien, tetapi juga mempermudah proses
pengembangan dan integrasi dalam aplikasi otomasi atau robotika yang melibatkan
pergerakan motor.
B. Dasar Teori

Mikrokontroler STM32F103C8T6, dikembangkan oleh STMicroelectronics,


merupakan perangkat berbasis ARM Cortex-M3 yang sangat diminati dalam berbagai
aplikasi, seperti sistem embedded, Internet of Things (IoT), dan robotika.

Proses pengembangan perangkat lunak untuk STM32F103C8T6 melibatkan dua


tahapan utama, yaitu kompilasi dan pengunggahan (upload) program. Kompilasi adalah
proses mengubah kode sumber program menjadi kode mesin yang dapat dieksekusi
oleh mikrokontroler, sementara pengunggahan program melibatkan transfer kode mesin
ke dalam memori mikrokontroler. Makalah ini akan membahas mekanisme kerja compile
dan upload program pada STM32F103C8T6 dengan menggunakan STLink.V2 sebagai
antarmuka pemrograman dan debugging.

Tahap preprocessing pada proses kompilasi mencakup langkah-langkah untuk


membersihkan kode sumber dari komentar, mengganti makro, dan menentukan nilai
konstanta. Proses ini merupakan langkah awal untuk mempersiapkan kode sumber
sebelum dikompilasi.

Pada tahap compiling, kode sumber program diubah menjadi kode mesin. Proses ini
melibatkan translator atau compiler yang mengonversi representasi tingkat tinggi
menjadi kode objek tingkat rendah, yang kemudian di-link untuk membentuk file biner
atau objek yang dapat dieksekusi.

Proses upload program merupakan transfer kode mesin hasil kompilasi ke dalam
memori mikrokontroler. STLink.V2, sebuah alat debugging dan programming,
memainkan peran krusial dalam proses ini.

STLink.V2, dikembangkan oleh STMicroelectronics, berfungsi sebagai alat antarmuka


untuk menghubungkan mikrokontroler STM32 dengan komputer pengembangan.
Dengan menggunakan port Serial Wire Debug (SWD), STLink.V2 memfasilitasi transfer
data dan debugging pada mikrokontroler.

Proses compile dan upload program pada STM32F103C8T6 melalui STLink.V2 terdiri
dari beberapa langkah, yaitu preprocessing, compiling, transfer file biner ke STLink.V2,
koneksi STLink.V2 ke mikrokontroler, transfer kode mesin ke memori mikrokontroler,
dan eksekusi program.

C. Perangkat

1. Perangkat Keras

a. STM32F1O3C8T6
Gambar 1. Mikrokontroler STM32F103C8T6

STM32F103C8T6 adalah mikrokontroler dengan rangkaian lini performa densitas


menengah. Mikrokontroler STM32F103C8T6 dirancang untuk menawarkan kinerja
tinggi dan berbagai fitur periferal yang membuatnya cocok untuk aplikasi yang beragam
di berbagai industri.

Rangkaian lini performa densitas menengah STM32F1O3C8T6 menggabungkan


inti RISC Arm® Cortex-M3® 32-bit berkinerja tinggi yang beroperasi pada frekuensi
72 MHz, memori tertanam berkecepatan tinggi (memori Flash hingga 128 Kbytes dan
SRAM hingga20 Kbytes), dan berbagai I/O dan periferal yang disempurnakan yang
terhubung ke dua Bus APB. Semua perangkat menawarkan dua ADC 12-bit, tiga timer
16-bit tujuan umum ditambah satu Timer PWM, serta antarmuka komunikasi standar
dan lanjutan: hingga dua I2C dan SPI, tiga USART, USB, dan CAN.

Perangkat beroperasi dari catu daya 2, 0 hingga 3, 6 V. Mereka tersedia di


kedua -40 hingga kisaran suhu +85°C dan kisaran suhu –40 hingga +105 °C
diperpanjang. Sebuah set komprehensif mode hemat daya memungkinkan
desain aplikasi berdaya rendah. Rangkaian lini performa densitas menengah
STM32F1O3C8T6 mencakup perangkat dalam enam perangkat berbeda jenis paket:
dari 36 pin hingga 100 pin. Tergantung pada perangkat yang dipilih, set yang berbeda
periferal disertakan, deskripsi di bawah ini memberikan gambaran umum tentang
rangkaian lengkap periferal diusulkan dalam keluarga ini.

Fitur-fitur ini membuat mikrokontroler garis kinerja kepadatan menengah


STM32F1O3C8T6 keluarga cocok untuk berbagai aplikasi seperti penggerak motor,
kontrol aplikasi, peralatan medis dan genggam, periferal PC dan game, platform GPS,
industri aplikasi, PLC, inverter, printer, pemindai, sistem alarm, interkom video, dan
HVAC.
Gambar 2. Blok diagram STM32F1O3C8T6
Gambar 3. Peta memori STM32F1O3C8T6
b. STLink.V2

Gambar 4. STLink.V2

ST-LINK / V2 adalah debugger / programmer dalam sirkuit untuk


mikrokontroler STM8 dan STM32. Single wire interface module (SWIM) dan
antarmuka JTAG/serial wire debugging (SWD) memfasilitasi komunikasi
dengan mikrokontroler STM8 atau STM32 yang beroperasi pada papan
aplikasi. Selain menyediakan fungsionalitas yang sama dari ST-LINK / V2,
ST-LINK / V2-ISOL fitur isolasi digital antara PC dan papan aplikasi target
yang juga tahan tegangan hingga 1000 VRMS.

USB Interface berkecepatan penuh memungkinkan komunikasi dengan


PC dan:

1. Perangkat STM8 melalui perangkat lunak ST Visual Develop (STVD)


atau ST Visual Program (STVP) (tersedia dari STMicroelectronics)
2. Perangkat STM32 melalui lingkungan pengembangan terintegrasi
Atollic®, IAR™, Keil®, dan TTASKING®.

Adapun fitur yang tersedia pada ST-LINK / V2 adalah:

1. Daya 5 V disuplai oleh konektor USB


2. USB 2.0 antarmuka yang kompatibel dengan kecepatan penuh
3. Kabel USB standar A ke Mini-B
4. Fitur khusus SWIM:
– Tegangan aplikasi 1,65 V hingga 5,5 V didukung pada antarmuka SWIM

– Mode kecepatan rendah dan kecepatan tinggi SWIM didukung

– Tingkat kecepatan pemrograman SWIM: 9,7 Kbytes / s dalam kecepatan


rendah dan 12,8 Kbytes / s dalam kecepatan tinggi

– Kabel SWIM untuk koneksi ke aplikasi melalui vertikal standar ERNI (ref:
konektor 284697 atau 214017) atau horizontal (ref: 214012)

– Kabel SWIM untuk koneksi ke aplikasi melalui header pin atau pitch 2,54
mm konektor

5. Fitur khusus JTAG / serial wire debugging (SWD):

– Tegangan aplikasi 1,65 V hingga 3,6 V didukung pada antarmuka JTAG /


SWD dan 5 V masukan yang toleran

– Kabel JTAG untuk koneksi ke konektor JTAG 20-pin pitch 2.54 mm standar

- Mendukung komunikasi JTAG

- Mendukung komunikasi serial wire debug (SWD) dan serial wire viewer
(SWV)

6. Mendukung fitur pembaruan firmware langsung (DFU)


7. LED status, yang berkedip selama komunikasi dengan PC
8. Tegangan isolasi tinggi 1000 VRMS (hanya ST-LINK / V2-ISOL)
9. Suhu pengoperasian dari 0 hingga 50 °C

c. Motor DC

Gambar 5. Motor DC MY1020


Motor DC yang digunakan adalah Model MY1020 1000W48V.
Model MY1020 adalah brush DC motor. Tersedia dalam tiga
varian daya, yaitu 500W dengan pilihan voltase 24V, 36V,
atau 48V, 750W dengan voltase 36V, 48V, atau 60V, dan 1000W
dengan voltase 36V atau 48V. Kecepatan tanpa beban
bervariasi dari 3150 rpm hingga 3700 rpm, sedangkan arus
tanpa beban tetap rendah, yaitu ≤2.5 A pada 24V untuk
model 500W. Kecepatan terukur berkisar antara 2500 rpm
hingga 3000 rpm, dan torsi terukur bervariasi dari 1.9 N.m
hingga 3.2 N.m, memberikan fleksibilitas dalam aplikasi
yang berbeda. Arus terukur mencapai ≤35.6 A pada model
1000W. Selain itu, motor ini memiliki efisiensi setidaknya
78% untuk semua varian daya. Model MY1020 dirancang untuk
digunakan pada berbagai kendaraan, termasuk skuter
listrik dan SUVs. Dengan berbagai pilihan daya dan voltase,
motor ini dapat disesuaikan dengan kebutuhan spesifik
aplikasi pengguna.

Motor listrik MY1020 1000W48V menggunakan daya sebesar 1000W


pada voltase 48V, motor ini dirancang untuk memberikan output
yang kuat dan efisien. Kecepatan tanpa beban mencapai 3700 rpm
(±5%), dan arus tanpa beban adalah sekitar 2.2 A, sementara torsi
tanpa beban mencapai 3.20 N.m (±5%). Saat berada di bawah beban,
motor ini memiliki kecepatan terukur sekitar 3000 rpm (±5%),
arus terukur ≤26.7 A, dan daya terukur mencapai 1000W. Efisiensi
operasional motor ini mencapai setidaknya 78%, menandakan
kemampuannya untuk mengubah daya listrik menjadi daya
mekanis dengan tingkat efisiensi yang baik.

Adapun performance dari MY1020 sebagai berikut:

MY1020 menggunakan sprocket rantai dengan 11 gigi dan pitch sebesar 1/4“=6.35 mm,
yang dapat dipertukarkan dan dilengkapi dengan mur fiksasi untuk memastikan
pemasangan yang kuat. Poros pada sistem ini memiliki diameter sebesar 10 mm dan
memiliki alur diukir pada kedua sisinya dengan lebar 1.5 mm, mungkin digunakan untuk
tujuan pemasangan atau menjaga stabilitas. Efisiensi sistem ini mencapai setidaknya
78%, menunjukkan sejauh mana energi yang dimasukkan diubah menjadi energi
bermanfaat. Umur mekanis sistem ini diperkirakan sekitar 5000 jam, dan sistem
menggunakan eksitasi sikat, dengan catatan bahwa sikat karbon akan mengalami keausan
dan disarankan untuk diganti setiap tahun. Meskipun sikat karbon memiliki keausan,
sistem dapat mencapai umur 5000 jam tanpa masalah, dengan penggantian sikat karbon
sebagai tindakan pemeliharaan yang direkomendasikan setiap tahun.

d. Wattmeter Digital
Gambar 6. Wattmeter 150A

Wattmeter yang digunakan adalah wattmeter 150A. 150A high precision watt
meter and power analyzer dirancang khusus untuk memantau kinerja matahari.
Pengukur yang mudah digunakan ini dapat memantau delapan parameter listrik
yang penting untuk keselamatan dan kinerja daya. Mereka termasuk: amps, volts,
watts, amp-hours, watt-hours, peak amps, minimum volts (sag) and peak watts.
Dengan kapasitas 60 volt dan 150A, layar tampilan biru kontras tinggi, dan fitur
auto set. Adapun spesifikasinya:
Perangkat wattmeter 150A dengan model FT08 adalah suatu komponen yang
dirancang untuk operasi dalam rentang tegangan yang luas, yaitu 4.8 hingga 60
Volt, memberikan fleksibilitas dalam penggunaannya untuk berbagai aplikasi.
Perangkat ini memiliki arus operasional maksimum sebesar 150 A, menunjukkan
kemampuannya untuk menangani beban arus yang signifikan. Dengan warna
hitam dan terbuat dari karet cat (Rubber Paint), FT08 juga memperhatikan aspek
desain dan material yang digunakan. Dimensi fisik perangkat mencakup panjang
85 mm, lebar 25 mm, dan tinggi 45 mm, dengan berat 80 gram. Informasi berat
pengiriman sebesar 0.084 kg dan dimensi pengiriman 9 × 13 × 5 cm memberikan
gambaran tentang berat total dan ukuran kemasan untuk pengiriman.

e. MOSFET

2. Perangkat Lunak

a. STM32Cube
STM32Cube adalah inisiatif asli STMicroelectronics untuk secara signifikan meningkatkan
produktivitas desainer dengan mengurangi upaya pengembangan, waktu, dan biaya. STM32Cube
mencakup seluruh portofolio STM32.

STM32Cube meliputi:

a. Seperangkat alat pengembangan perangkat lunak yang mudah digunakan untuk mencakup
pengembangan proyek dari konsepsi hingga realisasi, di antaranya adalah:

- STM32CubeMX, alat konfigurasi perangkat lunak grafis yang memungkinkan pembuatan kode
inisialisasi C secara otomatis menggunakan penyihir grafis

- STM32CubeIDE, alat pengembangan all-in-one dengan konfigurasi periferal, pembuatan kode,


kompilasi kode, dan fitur debug

- STM32CubeProgrammer (STM32CubeProg), alat pemrograman yang tersedia dalam versi


grafis dan baris perintah

– STM32CubeMonitor (STM32CubeMonitor, STM32CubeMonPwr, STM32CubeMonRF,


STM32CubeMonUCPD) alat pemantauan canggih untuk menyempurnakan perilaku dan kinerja
aplikasi STM32 secara real-time
b. Paket STM32Cube MCU dan MPU, platform perangkat lunak tertanam komprehensif khusus
untuk setiap seri mikrokontroler dan mikroprosesor (seperti STM32CubeF4 untuk Seri
STM32F4), yang meliputi:

– STM32Cube hardware abstraction layer (HAL), memastikan portabilitas maksimal di seluruh


portofolio STM32

– API lapisan rendah STM32Cube, memastikan kinerja dan jejak terbaik dengan kontrol
pengguna tingkat tinggi atas perangkat keras

– Satu set komponen middleware yang konsisten seperti RTOS, USB, TCP / IP, dan Graphics

- Semua utilitas perangkat lunak tertanam dengan set lengkap contoh periferal dan aplikatif

c. Paket Ekspansi STM32Cube, yang berisi komponen perangkat lunak tertanam yang
melengkapi fungsionalitas Paket MCU dan MPU STM32Cube dengan:

– Ekstensi middleware dan lapisan aplikatif

– Contoh yang berjalan pada beberapa papan pengembangan STMicroelectronics tertentu

D. Metode Kerja

1. Compile

Proses Kompilasi Program diawali dengan mengalokasikan file project kepada salah
satu lokasi penyimpanan pada laptop atau device masing-masing, setelah itu dilanjutkan
dengan pemilihan tipe STM32 yang dipakai lalu mengatur pengaturan terhadap program
yang ingin dioperasikan seperti pengaturan pemilihan bahasa pemrograman (C atau C++),
menentukan tipe biner sistem (cara operasional program) merancang program pada
STM32Cube, mendefinisikan PIN-PIN yang dipakai lalu “Generate” Programnya. Setelah
Program di atur sedemikian rupa, maka proses compiling dilakukan dengan memasuki
tahap Inisialisasi.

- Tahap Inisialisasi

Tahap Inisialisasi pada STM32Cube menggunakan file dengan domain ioc, dimana file
ini akan mengenali dan membaca tipe bahasa yang digunakan (C dan C++) agar bisa
disesuaikan degan pembacaan CPU

Anda mungkin juga menyukai