Anda di halaman 1dari 6

PERCOBAAN 7

PULSE WIDTH MODULATION (PWM)

I. TUJUAN
a. Mahasiswa memahami ARM.
b. Mahasiswa memahami cara membuat inisialisasi I/O dari ARM menggunakan software
STM32 Cube.
c. Mahasiswa dapat mengolah bahasa pemograman dari ARM dengan menggunakan
software keil uvision5.

II. DASAR TEORI

ARM merupakan salah satu dari jenis mikrokontroler yang dapat digunakan untuk mengatur
atau mengontrol sesuatu dengan menggunakan bahasa pemograman C. Fungsi dari ARM
biasanya digunakan pada pabrik/industri yang menggunakan sistem otomasi. ARM adalah
prosessor dengan arsitektur set intruksi 32bit RISC (Reduced Intruction Set Computer) yang
dikembangkan oleh ARM Holding. ARM merupakan singkatan dari Advanced RISC Machine
(sebelumnya lebih dikenl dengan kepanjangan RISC Machine). Pada awalnya ARM proesor
dikembangkan untuk PC (personal computer) oleh Acorn Computers, sebelum dominasi Intel
x86 prosesor Microsoft di IMB PC kompatibel menyebabkan Acorn Computers bangkrut.

Melalui izin dari seluruh dunia, arsitektur ARM adalh yang paling umum dilaksanakan 32-
bitset intruksi arsitektur. Arsitektur ARM diimplementasikan pada Windows, Unix, dan sistem
operasi mirim Unix, termasuk Apple iOS, Android, BSD, Inferno, Solaris, WebOS, Plan 9 dan
GNU/Linux. ARM awalnya dikenal sebagai Mesin Acorn RISC.

Adapun software yang akan digunakan ada 2 buah, untuk awal inisialisasi pin sebagai input
atau output dapat menggunakan aplikasi STM32CubeMX. Dan selanjutnya untuk mengolah
bahasa C yang akan digunakan untuk mengontrol ARM tersebut dapat menggunakan aplikasi
Keil uVision.

III. Peralatan yang digunakan


Modul Program STM32CubeMX
Modul Program Keil uvision5

IV. Langkah kerja


1. Buka aplikasi STM32 CubeMX pada dekstop atau start menu
2. Setelah terbuka aplikasinya pilihlah New Project

3. Atur MCU filter seperti pada gambar dibawah ini, pilih STM32F407VGTx

4. Setelah itu akan muncul gambar dari ARM yang digunakan dengan Pin-pin nya,
tentukan GPIO_Output pada pin PE12 s/d PE15 dengan cara klik kiri pada Pin yang akan
ditentukan.
Atur RCC pada bagian kiri layar dengan mengubah HSE yang sebelumnya disable
menjadi Crystal/Ceramic Resonator.
Atur TIM2 dengan mengubah Clock Source yag sebelumnya disable menjadi Internal
Clock. Lalu mengubah Channel3 menjadi Output Compare CH3 dan Channel4 menjadi
Output Compare CH4.
5. Setelah inisialisasi I/O selesai pilih menu project >> setting, atur nama project yang akan
dibuat dan lokasi penyimpanan project, lalu tekan Ok

6. Klik pada menu Clock Configuration, lalu aturlah sedemikian rupa seperti pada gambar
dibawah ini

7. Lalu pindah menu lembar kerja pada Configuration, klik pada TIM
8. Setelah muncul jendela baru, aturlah seperti gambar dibawah ini

9. Lanjutkan dengan memilih menu Project >> Generate Code [Ctrl+Shift+G], maka
aplikasi STM32Cube akan melanjutkan untuk mengedit program dengan aplikasi Keil
uVision5 secara otomatis
10. Isi program dengan :

#include "stm32f4xx_hal.h"
TIM_HandleTypeDef htim2;
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_TIM2_Init(void);
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_TIM2_Init();
HAL_TIM_Base_Start(&htim2);
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_4);
int i;
while (1)
{
{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, 1);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, 0);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, 1);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, 0);
TIM2->CCR3 =1000; TIM2->CCR4 =5000;
HAL_Delay(1000);

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, 0);


HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, 1);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, 0);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, 1);
TIM2->CCR3=5000; TIM2->CCR4=1000;
HAL_Delay(1000);}

11. Setelah menulis program click compile , setelah tidak ada error maka click load untuk
memasukkan program ke stm32f4.
V. ANALISA
Pada praktikum kali ini yaitu menggunakan PWM (Pulse Width Modulation) merupakan
sebuah program yang mengatur sinyal yang digunakan untuk sesuai keinginan, yang pada
praktikum ini pengaturan sinyal di buat sedemikian rupa hingga membuat motor pada modul
berputar bolak balik dan sebaliknya. Pada praktikum kali ini menggunakan ARM untuk
menyalakan motor pada modul ARM Aplikasi yang digunakan yaitu STM32 CUBEMX,
aplikasi ini digunakan untuk inisialisasi pin-pin yang digunakan sebagai input dan output.
Sedangkan untuk memprogramnya menggunakan KEIL uvison5.

Pada praktikum kali ini yaitu menginisialisasi PE12 sampai PE15 sebagai output. Lalu
mengatur RCC pada bagian kiri layar dengan mengubah HSE yang sebelumnya disable
menjadi Crystal/Ceramic Resonator agar pada Clock Configure dapat diganti ada HSE
dengan input 8. Selanjutnya pada Clock configure dibuat seperti pada gambar nomor 6
dengan tujuan agar mencapai frekuensi yang diinginkan. Kemudian pengaturan pada menu
Configuration bertujuan untuk mengatur parameter setting pada TIM2.

Pada program yang telah dibuat dapat menghasilkan output yaitu membuat motor
menyala. Namun, kita juga perlu memperhatikan rancangan atau pemasangan pada
modulnya. Sehingga output akan dapat bekerja sesuai dengan perintah.

Untuk pengaturan pwm ini dapat di lihat pada oscilloscope, terdapat perubahan dari
gelombang yang bekerja. TIM2->CCR3 =1000; TIM2->CCR4 =5000; merupakan program
yang digunakan untuk mengatur lebar perubahan dari gelombang yang telah kita lihat.
Semakin besar selisih antara CCR3 dan CCR4 akan mengakibatkan perbedaan mencolok
pada gelombangnya.

Dimana didalam program terdapat Inisialisasi WritePin adalah pin yang difungsikan
untuk membuat perintah yang apabila perintahya telah selesai maka akan kembali pada
keadaan semula.

VI. KESIMPULAN
Dari praktikum yang telah dilakukan apat diambil kesimpulan bahwa :
Software STM32CubeMX adalah software yang digunakan untuk memilih jenis ARM
yang akan digunakan dengan mudah.
Software Keil uvision5 adalah softwarepengolah program yang dikhususkan untuk ARM
dengan bahasa C.
WritePin adalah pin yang difungsikan untuk membuat perintah yang apabila perintahya
telah selesai maka akan kembali pada keadaan semula.
Pada praktikum kali ini yaitu mengatur putaran motor agar bisa bolak balik berputar.
Motor A berputar ke kanan, motor B berputar ke kiri, lalu sebaliknya. Pengaturan
lamanya berputar bergantung pada delay yang di tentukan.
Kita juga perlu memperhatikan rancangan atau pemasangan pada modulnya

Anda mungkin juga menyukai