PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

1. Membuat projek baru pada STM32Cubemx
2. Pilih mikrokontroler yang dipakai yaitu STM32F103C8T6
PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

3. Atur RCC dan SYS seperti pada gambar berikut.
SYS --> menggunakan STLink (Serial Wire)
RCC --> supaya bisa menggunakan clock maksimal yaitu sebesar 72MHz

PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

4. Kita akan membangkitkan PWM dari timer 4 channel 1 pada pin B6, maka atur TIM4 seperti pada gambar berikut

PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

5. Pada tab Clock Configuration, atur nilai HCLK menjadi nilai maksimal yaitu 72 MHz, seperti pada gambar berikut
PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

6. Pada tab Configuration > Control > TIM4
PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

7. Pada Tab GPIO Settings, pilih pin yang digunakan kemudian ubah pada bagian "Maximum Output Speed" menjadi HIGH.
PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

8. Pada Tab Parameter Settings, yang diatur ada dua bagian yaitu. Counter Settings > Prescaler dan > Counter Periode. Ubah seperti gambar berikut:

PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

9. Penjelasan nilai dari Prescaler dan Counter Periode.

10. Klik Ok.
11. Klik lambang gerigi / Generate source code, atur nama file, folder penyimpanan, dan pada menu Toolchain / IDE pilih MDK-ARM V5. seperti gambar berikut:

PWM pada STM32F103C8T6 Menggunakan STM32CubeMX | Keil Uvision

12. Untuk mengaktifkan PWM yang telah kita atur, tambahkan code berikut diantara int main(void) dan while(1).

13. Untuk mengatur nilai output PWM kita buat prosedur seperti berikut, dan jangan lupa deklarasi juga sebelum int main(void) supaya terdeteksi oleh compiler.

14. Untuk menjalankan prosedur yaitu dengan cara dipanggil di while(1), seperti berikut.

15. Keseluruhan coding yang ada pada file main.c, seperti berikut:

Terima Kasih, jika masih ada pertanyaan tulis di kolom komentar.


Kerjasama:
https://linktr.ee/robotikid

Youtube: https://www.youtube.com/robotikid
Instagram: https://www.instagram.com/robotikid/
Facebook: https://www.facebook.com/RobotikID/
Website: https://www.robotikindonesia.com/
Tokopedia: http://tokopedia.com/instrumentrobot

Post a Comment

0 Comments