PWM, ADC, & INTERRUPT (M2)
a)
Asistensi dilakukan 1x
b) Praktikum dilakukan 1x
a) Memahami cara penggunaan PWM, ADC, dan Interrupt
pada Development Board yang digunakan
b) Memahami cara menggunakan komponen input dan output yang mengimplementasikan PWM, ADC, dan Interrupt pada Development Board yang digunakan
a)
STM32F103C8T6
b)
HeartBeat
Sensor
c)
Push Button
d)
LED
e)
Buzzer
f)
Resistor
g)
Breadboard
h)
STM32 Nucleo G474RE
i)
LDR Sensor
j)
Motor Servo
h) Adaptor
4. Dasar Teori [Kembali]
1.
Analog to Digital Converter (ADC)
ADC (Analog to Digital
Converter) merupakan fitur pada mikrokontroler yang digunakan untuk mengubah
sinyal analog menjadi data digital agar dapat diproses oleh sistem digital.
Sinyal analog berasal dari sensor seperti sensor suhu, sensor cahaya, maupun sensor
detak jantung yang menghasilkan tegangan berubah-ubah sesuai kondisi
lingkungan. Data hasil konversi ADC kemudian diolah oleh mikrokontroler untuk
menentukan aksi tertentu pada sistem.
Pada mikrokontroler
STM32, ADC memiliki resolusi hingga 12-bit sehingga mampu menghasilkan nilai
digital dari 0 sampai 4095. Semakin tinggi resolusi ADC, maka semakin baik
tingkat ketelitian pembacaan sensor. ADC pada STM32 juga mendukung beberapa
mode seperti single conversion, continuous conversion, dan scan mode untuk
membaca lebih dari satu channel secara berurutan.
ADC banyak digunakan pada
aplikasi monitoring dan kontrol, seperti pembacaan sensor LDR, sensor suhu
LM35, maupun heartbeat sensor. Dengan ADC, sistem dapat membaca perubahan
tegangan dari sensor secara real-time sehingga proses pengendalian dapat dilakukan
dengan lebih akurat.
2.
Pulse Width Modulation (PWM)
PWM (Pulse Width Modulation) merupakan teknik
pengaturan sinyal digital dengan cara mengubah lebar pulsa (duty cycle) pada
frekuensi tetap. PWM digunakan untuk mengatur besar daya yang diberikan ke
suatu perangkat elektronik seperti motor DC, motor servo, dan LED.
Duty cycle adalah perbandingan antara waktu sinyal
berada pada kondisi HIGH terhadap satu periode sinyal. Nilai duty cycle
dinyatakan dalam persen (%). Semakin besar duty cycle, maka semakin besar daya
yang diberikan ke beban.
Pada STM32, PWM dihasilkan menggunakan timer internal. Timer akan menghasilkan sinyal periodik dengan frekuensi tertentu, sedangkan duty cycle diatur melalui register pembanding (CCR). PWM banyak diterapkan pada pengaturan kecepatan kipas, pengaturan sudut motor servo, serta pengaturan intensitas cahaya LED.
3.
Interrupt
Interrupt merupakan mekanisme yang memungkinkan
mikrokontroler menghentikan sementara proses utama untuk menangani suatu
kejadian tertentu dengan prioritas lebih tinggi. Setelah interrupt selesai
diproses, program utama akan dilanjutkan kembali. Fungsi yang menangani
interrupt disebut Interrupt Service Routine (ISR).
Interrupt biasanya digunakan pada push button, sensor, maupun komunikasi data agar sistem dapat merespons kejadian dengan cepat tanpa harus melakukan pengecekan secara terus-menerus (polling). Pada STM32, interrupt dapat dipicu oleh perubahan logika pin GPIO seperti kondisi rising edge dan falling edge. Penggunaan interrupt membuat sistem menjadi lebih efisien dan responsif, terutama pada aplikasi real-time seperti sistem monitoring dan kontrol otomatis.
4.
STM32 Nucleo G474RE
STM32 Nucleo G474RE merupakan development board
berbasis mikrokontroler STM32G474RET6 dengan arsitektur ARM Cortex-M4F. Board
ini dirancang untuk mempermudah proses pembelajaran dan pengembangan sistem
embedded. STM32 Nucleo G474RE memiliki kecepatan clock hingga 170 MHz, memori
flash 512 KB, serta SRAM 128 KB. Board ini mendukung berbagai peripheral
seperti ADC, PWM, UART, SPI, I2C, dan interrupt. Selain itu, tersedia ST-LINK
onboard sehingga proses upload program dan debugging dapat dilakukan langsung
menggunakan kabel USB tanpa alat tambahan.
5.
STM32F103C8
STM32F103C8 merupakan mikrokontroler berbasis ARM
Cortex-M3 yang banyak digunakan dalam pengembangan sistem embedded karena
memiliki performa yang baik serta konsumsi daya yang rendah. Mikrokontroler ini
memiliki clock hingga 72 MHz, memori flash 64 KB, dan SRAM 20 KB. STM32F103C8
mendukung berbagai fitur penting seperti ADC, PWM, timer, komunikasi serial,
dan interrupt. Mikrokontroler ini sering digunakan pada aplikasi monitoring
sensor, sistem kontrol, robotika, dan Internet of Things (IoT).
A. Bagian-Bagian
Pendukung
1. STM32 NUCLEO G474RE
a. RAM (Random Access
Memory)
RAM (Random Access
Memory) pada STM32 NUCLEO-G474RE digunakan sebagai memori sementara untuk
menyimpan data selama program berjalan. Mikrokontroler STM32G474RET6 memiliki
kapasitas RAM sebesar 128 KB yang digunakan untuk menyimpan variabel, buffer
data, stack, dan heap.
b. Memori Flash Internal
STM32 NUCLEO-G474RE
menggunakan memori flash internal sebagai media penyimpanan program dan data
permanen. Mikrokontroler STM32G474RET6 memiliki kapasitas flash sebesar 512 KB.
Memori flash bersifat non-volatile sehingga data tetap tersimpan meskipun catu
daya dimatikan.
c. Crystal Oscillator
STM32 NUCLEO-G474RE
menggunakan osilator internal atau HSI (High Speed Internal) sebagai sumber
clock utama secara default. Clock berfungsi untuk mengatur kecepatan kerja CPU
dan seluruh peripheral pada mikrokontroler sehingga sistem dapat bekerja secara
sinkron dan stabil.
d. Regulator Tegangan
Regulator tegangan
berfungsi untuk menjaga kestabilan tegangan yang masuk ke mikrokontroler.
Dengan adanya regulator tegangan, sistem dapat bekerja dengan aman dan mencegah
kerusakan akibat perubahan tegangan yang tidak stabil.
e. Pin GPIO (General
Purpose Input/Output)
Pin GPIO pada STM32
NUCLEO-G474RE digunakan sebagai antarmuka input dan output digital yang
fleksibel. GPIO dapat digunakan untuk membaca sensor, push button, maupun
mengontrol perangkat output seperti LED, buzzer, motor, dan perangkat
elektronik lainnya.
2. STM32F103C8
a. RAM (Random Access
Memory)
STM32F103C8 dilengkapi
dengan SRAM on-chip sebesar 20 KB. RAM ini digunakan untuk menyimpan data
sementara selama program berjalan, seperti variabel, buffer, dan proses
pengolahan data lainnya.
b. Memori Flash Internal
STM32F103C8 memiliki
memori flash internal sebesar 64 KB hingga 128 KB yang digunakan untuk
menyimpan firmware dan program pengguna. Memori ini memungkinkan program tetap
tersimpan meskipun sumber daya dimatikan.
c. Crystal Oscillator
STM32F103C8 menggunakan
crystal oscillator eksternal dengan frekuensi 8 MHz yang bekerja bersama PLL
(Phase Locked Loop) untuk meningkatkan frekuensi clock hingga 72 MHz. Sinyal
clock ini berfungsi untuk mengatur kecepatan operasi mikrokontroler dan peripheral
lainnya.
d. Regulator Tegangan
STM32F103C8 memiliki
sistem regulator tegangan internal yang berfungsi menjaga kestabilan suplai
daya ke mikrokontroler. Tegangan operasi yang didukung berada pada rentang 2,0
V hingga 3,6 V.
e. Pin GPIO (General
Purpose Input/Output)
STM32F103C8 memiliki
hingga 37 pin GPIO yang dapat digunakan sebagai input maupun output digital.
Pin GPIO ini dapat dihubungkan dengan berbagai perangkat eksternal seperti
sensor, motor, LED, serta komunikasi data menggunakan UART, SPI, dan I²C.
Comments
Post a Comment