MODUL 2

 

PWM, ADC, DAN INTERRUPT




PWM, ADC, DAN INTERRUPT


1. Pendahuluan [Kembali]

Pada percobaan pertama, praktikum difokuskan pada perancangan purwarupa instrumen pemantau detak jantung (heart rate indicator). Sistem ini mengandalkan sensor heartbeat untuk mengakuisisi sinyal fisik, yang selanjutnya diterjemahkan menjadi data digital menggunakan periferal ADC pada mikrokontroler. Setelah data mentah tersebut dikalkulasi menjadi besaran BPM (Beats Per Minute), sistem akan merespons secara real-time; secara spesifik, mikrokontroler akan memberikan instruksi untuk menyalakan buzzer dan LED kuning apabila hasil kalkulasi detak jantung melampaui ambang batas 60 BPM. Objektif utama dari eksperimen ini adalah untuk memperdalam pemahaman mengenai teknik konversi sinyal analog ke digital, algoritma pengolahan data pembacaan sensor, serta fundamental perancangan sistem monitoring berbasis mikrokontroler.

Beralih pada percobaan kedua, eksperimen mengangkat tema otomatisasi berbasis lingkungan melalui rancang bangun jemuran pintar. Cara kerja prototipe ini bertumpu pada sensor cahaya (LDR) yang bertugas memantau tingkat iluminasi sekitar. Mikrokontroler kemudian mengevaluasi data tangkapan sensor tersebut untuk mengendalikan sudut putar aktuator motor servo melalui transmisi sinyal PWM. Secara mekanik, sistem dieksekusi dalam tiga skenario: jemuran akan ditarik keluar atap secara penuh pada cuaca terang, bergeser menahan di posisi setengah terbuka saat intensitas cahaya berstatus sedang, dan otomatis dievakuasi masuk ke pelindung atap ketika kondisi terpantau gelap. Melalui percobaan ini, praktikan diharapkan mampu mengintegrasikan kapabilitas ADC untuk pembacaan parameter alam, penguasaan sinyal PWM untuk kendali aktuator mekanis, sekaligus merealisasikan konsep otomatisasi fungsional dalam kehidupan sehari-hari.

 

2. Tujuan [Kembali]

1. Memahami cara penggunaan PWM, ADC, dan Interrupt pada Development Board yang digunakan.

2. Memahami cara menggunakan komponen input dan output yang mengimplementasikan PWM, ADC, dan Interrupt pada Development Board yang digunakan. 

 

3. Alat dan Bahan [Kembali]

 A. Alat / Instrumentasi 

  • Mikrokontroler STM32F103C8

Microcontroller

ARM Cortex-M3

Operating Voltage

3.3 V

Input Voltage (recommended)

V

Input Voltage (limit)

2 – 3.6 V

Digital I/O Pins

32

PWM Digital I/O Pins

15

Analog Input Pins

10 (dengan resolusi 12-bit ADC)

DC Current per I/O Pin

25 mA

DC Current for 3.3V Pin

150 mA

Flash Memory

64 KB

SRAM

20 KB

EEPROM

Emulasi dalam Flash

Clock Speed

72 MHz


  • Mikrokontroler STM32 Nucleo G474RE


Microcontroller

STM32G474RE (ARM Cortex-M4F)

Operating Voltage

3.3 V

Input Voltage (recommended)

5 V via USB (ST-LINK) atau 7–12 V via VIN

Input Voltage (limit)

4.5 – 15 V (VIN board Nucleo)

Digital I/O Pins

±51 GPIO pins (tergantung konfigurasi fungsi)

PWM Digital I/O Pins

Hingga 24 channel PWM (advanced, general-purpose, dan high- resolution timers)

Analog Input Pins

Hingga 24 channel ADC (12-bit / 16-bit dengan oversampling)

DC Current per I/O Pin

Maks. 20 mA per pin (disarankan ≤ 8 mA)

DC Current for 3.3V Pin

Hingga ±500 mA (tergantung regulator & sumber daya)

Flash Memory

512 KB internal Flash

SRAM

128 KB SRAM (termasuk CCM RAM)

Clock Speed

Hingga 170 MHz


  • Sensor Heartbeat

  • Sensor cahaya (LDR)

  • Motor Servo

  • Push Button

  • LED (Hijau, Kuning, Merah)

  • Buzzer

  • Resistor
                                                            
       
  • Kabel jumper

  • Breadboard

  • Adaptor / sumber tegangan


4. Dasar Teori [Kembali] 

A. Analog to Digital Converter (ADC) 

ADC adalah modul elektronika yang bertindak sebagai antarmuka pengubah besaran sinyal analog kontinu menjadi representasi data digital, sehingga informasi tersebut dapat diolah lebih lanjut oleh sistem komputasi. Di dalam arsitektur mikrokontroler seperti STM32 G474RE, modul ADC ini mampu mengonversi data dengan resolusi maksimal 12-bit dan dilengkapi berbagai metode pembacaan, mulai dari mode single-shot hingga scan mode untuk mengeksekusi beberapa channel secara bergiliran. Mekanisme perubahan bentuk sinyal ini secara prinsip melewati fase pencuplikan (sampling) dan kuantisasi. Lebih jauh lagi, proses akuisisi data ini dapat dipicu secara sinkron oleh timer bawaan atau dikolaborasikan dengan modul DMA (Direct Memory Access) guna memaksimalkan kecepatan transmisi data tanpa membebani kinerja CPU.

B. Pulse Width Modulation (PWM) 

PWM merupakan suatu metode manipulasi sinyal digital dengan cara memvariasikan durasi lebar pulsa aktif (duty cycle) pada sebuah frekuensi dan amplitudo yang nilainya dipertahankan konstan. Secara matematis, duty cycle dipahami sebagai persentase rasio lamanya durasi sinyal berada pada logika tinggi (ON) dibandingkan dengan panjang total satu siklus gelombang. Pada ekosistem mikrokontroler STM32, pembangkitan sinyal PWM ini difasilitasi langsung oleh perangkat keras timer internal. Melalui pengaturan timer tersebut, parameter frekuensi dan rasio pulsa dapat dikonfigurasi dengan tingkat presisi yang tinggi, menjadikan PWM sebagai teknik esensial untuk aplikasi pengendalian kecepatan putar pada motor maupun pengaturan tingkat kecerahan LED.

C. Interupsi (Interrupt) 

Interupsi merupakan sebuah mekanisme intervensi yang memberi wewenang kepada perangkat I/O atau instruksi tertentu untuk menyela rutinitas program utama. Tujuannya adalah agar prosesor dapat segera mengalihkan fokus untuk menangani kejadian tak terduga yang berprioritas lebih tinggi. Begitu pemicu interupsi ini aktif, CPU akan langsung melompat untuk mengeksekusi rutin penanganan khusus yang dikenal dengan Interrupt Service Routine (ISR), dan setelah instruksi di dalamnya tuntas, CPU akan otomatis berbalik melanjutkan program utama yang sempat tertunda tadi. Seluruh alur hierarki prioritas ini diorkestrasi oleh Nested Vectored Interrupt Controller (NVIC), yang bertugas mengelola berbagai pemicu seperti notifikasi konversi ADC, timer, maupun sensor eksternal, demi mewujudkan respons sistem yang cepat (real-time) dan hemat sumber daya.

D. STM32 NUCLEO-G474RE 

STM32 NUCLEO-G474RE adalah sebuah papan purwarupa (development board) besutan STMicroelectronics yang berpusat pada keping mikrokontroler seri STM32G474RET6 sebagai unit pemroses utamanya. Perangkat keras ini difabrikasi secara khusus untuk memfasilitasi berbagai tahapan rekayasa sistem tertanam (embedded system), mulai dari proses edukasi dasar, simulasi pengujian, hingga implementasi prototipe berskala lanjut. Keunggulan arsitektural utama dari papan ini terletak pada ketersediaan modul antarmuka ST-LINK yang telah terintegrasi secara langsung (on-board). Keterpaduan fitur ini memberikan keleluasaan bagi praktikan atau pengembang untuk melakukan proses penanaman kode program (flashing) serta pelacakan galat (debugging) secara instan, tanpa perlu lagi mengonfigurasi modul programmer eksternal tambahan.

E. STM32F103C8 

STM32F103C8 merupakan sebuah cip mikrokontroler berarsitektur prosesor ARM Cortex-M3 yang didesain dan diproduksi oleh STMicroelectronics. Perangkat keras ini sangat lazim diimplementasikan dalam perancangan sistem tertanam (embedded system) berkat keunggulannya yang mampu memadukan performa komputasi mumpuni dengan tingkat efisiensi konsumsi daya yang tinggi, serta ketersediaan beragam antarmuka protokol komunikasi. Dalam konteks pelaksanaan praktikum ini, mikrokontroler STM32F103C8 difungsikan sebagai unit pemroses utama. Adapun proses penanaman instruksi program (flashing) ke dalam cip ini menawarkan fleksibilitas tinggi karena dapat dieksekusi melalui berbagai metode antarmuka, mulai dari jalur komunikasi serial standar (USART), hingga pemanfaatan protokol debugging tingkat lanjut seperti SWD (Serial Wire Debug) maupun JTAG guna menjembatani interaksi antara mikrokontroler dengan komputer induk.


F. KOMPONEN PENDUKUNG MIKROKONTROLER

1. STM32 NUCLEO-G474RE

  • 1. Random Access Memory (RAM) 

RAM pada papan ini difungsikan sebagai ruang penyimpanan data yang sifatnya sementara (volatil) selama siklus program dieksekusi. Cip STM32G474RET6 sendiri menyediakan kapasitas RAM sebesar 128 KB, yang secara khusus dialokasikan oleh sistem untuk menampung nilai variabel dinamis, buffer data, serta manajemen memori stack dan heap.
  • 2. Memori Flash 

Papan purwarupa ini tidak mengandalkan modul memori flash eksternal. Sebagai gantinya, seluruh instruksi program dan data permanen diakomodasi sepenuhnya oleh memori flash internal bawaan mikrokontroler yang memiliki kapasitas hingga 512 KB. Karakteristik memori ini bersifat non-volatile, sehingga integritas kode program akan tetap terjaga di dalam cip meskipun sistem kehilangan suplai daya listrik.
  • 3. Osilator Kristal (Clock) 

Secara bawaan (default), operasional board ini digerakkan oleh osilator internal berkecepatan tinggi atau HSI (High-Speed Internal). Implementasi sumber clock internal ini mengeliminasi kebutuhan terhadap pemasangan komponen kristal eksternal, namun tetap mampu menghasilkan ritme sinkronisasi yang presisi untuk mengatur kecepatan komputasi CPU beserta seluruh periferalnya.
  • 4. Regulator Tegangan 

Komponen ini berperan sangat krusial dalam meregulasi arus serta menjamin kelancaran dan stabilitas distribusi pasokan tegangan listrik ke seluruh blok rangkaian di dalam mikrokontroler.
  • 5. Pin GPIO (General Purpose Input/Output) 

Deretan pin GPIO pada board ini merupakan antarmuka digital yang sangat adaptif, yang memfasilitasi interaksi mikrokontroler dengan dunia luar, baik bertindak sebagai jalur pembacaan sinyal (input) maupun jalur kendali aktuator (output).

 

2. Mikrokontroler STM32F103C8 (Bluepill)

  • 1. Random Access Memory (RAM) 

Mikrokontroler ini terintegrasi dengan memori SRAM on-chip berkapasitas 20 KB. Ketersediaan ruang penyimpanan sementara ini sangat vital untuk memfasilitasi operasional komputasi serta menjaga keutuhan data dinamis saat mikrokontroler menjalankan serangkaian instruksi program.
  • 2. Memori Flash Internal 

Untuk keperluan penyimpanan firmware dan basis kode pengguna, cip STM32F103C8 dibekali dengan modul memori flash internal dengan variasi ukuran 64 KB atau 128 KB. Fasilitas penyimpanan permanen ini memungkinkan aplikasi tertanam langsung di dalam sistem mikrokontroler tanpa mewajibkan adanya media penyimpanan tambahan.
  • 3. Osilator Kristal (Clock) 

Berbeda dengan sistem internal murni, arsitektur clock pada cip ini umumnya dipadukan dengan osilator kristal eksternal (seperti kristal berfrekuensi 8 MHz). Frekuensi dasar tersebut kemudian dilipatgandakan menggunakan sirkuit PLL (Phase-Locked Loop) untuk mencapai kecepatan operasi maksimal di angka 72 MHz, yang mana stabilitas sinyal ini menjadi fondasi utama penentu keandalan pemrosesan sistem.
  • 4. Regulator Tegangan 

Cip seri ini telah dilengkapi dengan sirkuit manajemen daya internal yang bertugas menstabilkan suplai arus. Spesifikasi perangkat ini dirancang untuk dapat beroperasi secara optimal pada rentang tegangan catu daya antara 2.0 Volt hingga batas atas 3.6 Volt.
  • 5. Pin GPIO (General Purpose Input/Output) 

Cip ini mengekspos hingga 37 pin GPIO multifungsi. Fleksibilitas konfigurasi pin-pin ini memungkinkan STM32F103C8 untuk berinteraksi dengan ragam perangkat keras periferal seperti modul sensor, motor, LED, hingga mendukung jalur komunikasi standar industri seperti antarmuka UART, SPI, maupun I²C.

 

Tidak ada komentar:

Posting Komentar

ADAM SIRHAN

  BAHAN PRESENTASI UNTUK ELEKTRONIKA 2024 Oleh : ADAM SIRHAN NIM. 2310952036   Dosen Pengampu : Dr. Darwison, S. T., M. T. NIDN. 0014096406 ...