M2 MIKROPROSESOR DAN MIKROKONTROLER

Modul 2




MODUL 2

PWM , ADC & Interrupt


1. Pendahuluan[Kembali]

Pada percobaan pertama, dibuat sebuah sistem indikator detak jantung berbasis mikrokontroler yang menggunakan sensor heartbeat sebagai input untuk mendeteksi BPM (Beat Per Minute). Fitur ADC digunakan untuk membaca sinyal analog dari sensor, yang kemudian diolah oleh mikrokontroler guna menentukan status keluaran. Dalam penerapannya, jika nilai BPM yang terdeteksi melebihi 70, sistem akan menyalakan LED merah serta buzzer sebagai tanda kondisi tertentu. Di sini, mikrokontroler berfungsi sebagai unit pengolah pusat yang menghubungkan input sensor dan output secara real-time. Tujuan eksperimen ini adalah untuk memahami mekanisme ADC, pengolahan data sensor, serta pembuatan sistem monitoring sederhana.

Percobaan kedua bertujuan merancang sistem kendali jemuran otomatis dengan memanfaatkan sensor LDR sebagai input pendeteksi cahaya. Mikrokontroler bertugas memproses data dari sensor dan mengatur posisi jemuran menggunakan aktuator motor servo melalui sinyal PWM. Berdasarkan kondisi yang diatur, jemuran akan berada di luar saat lingkungan terang, berada  masuk ke bawah atap ketika kondisi gelap. Melalui percobaan ini, diharapkan praktikan dapat memahami konsep penggunaan ADC untuk pembacaan sensor, sinyal PWM untuk kontrol aktuator, serta aplikasi sistem otomasi berbasis lingkungan dalam keseharian.


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]




  • 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
                                                                


  • Breadboard

  • Kabel jumper

  • Adaptor / sumber tegangan

  •      A. ADC ADC adalah perangkat elektronika yang berperan sebagai antarmuka untuk mengonversi sinyal input analog menjadi format digital agar bisa diolah oleh sistem digital. Pada mikrokontroler STM32 G474RE, fitur ini memiliki resolusi mencapai 12-bit serta dilengkapi berbagai mode operasi, seperti single-shot atau scan mode untuk membaca banyak saluran sekaligus. Proses konversi tersebut melewati tahap sampling dan quantization, di mana hasilnya dapat diintegrasikan dengan timer atau jalur DMA guna mengoptimalkan efisiensi pengiriman data.

    B. PWM PWM merupakan teknik modulasi yang bekerja dengan cara memodifikasi lebar pulsa atau duty cycle, sementara nilai frekuensi dan amplitudonya tetap stabil. Duty cycle didefinisikan sebagai rasio antara durasi kondisi tinggi (ON) terhadap total periode satu siklus sinyal yang umumnya ditulis dalam persentase. Pada STM32, sinyal PWM dibangkitkan lewat blok timer internal yang diatur untuk menentukan frekuensi serta duty cycle secara akurat, yang sangat efektif untuk mengendalikan kecepatan motor atau intensitas cahaya LED.

    C. Interrupt Interrupt ialah mekanisme yang mengizinkan suatu instruksi atau perangkat I/O untuk menyela sementara alur program utama supaya prosesor bisa merespons peristiwa tertentu yang sifatnya lebih prioritas. Saat interupsi dipicu, CPU akan mengeksekusi fungsi khusus bernama Interrupt Service Routine (ISR) secara otomatis, lalu kembali menjalankan program utama setelah selesai. Mekanisme ini dikendalikan oleh NVIC (Nested Vectored Interrupt Controller) yang menyusun prioritas dari berbagai sumber, seperti sensor, timer, atau selesainya proses ADC, sehingga sistem mampu menanggapi kejadian secara real-time dengan lebih responsif.

    D. STM32 NUCLEO G47ARE

    STM32 NUCLEO-G474RE ialah sebuah papan pengembangan (development board) berbasis mikrokontroler STM32G474RET6 keluaran STMicroelectronics. Board ini diciptakan untuk mempermudah tahap pembelajaran, pengujian, serta perancangan aplikasi sistem tertanam (embedded system), baik bagi pengguna pemula maupun tingkat lanjut. STM32 Nucleo-G474RE sudah dilengkapi dengan antarmuka debugger/programmer ST-LINK secara onboard, sehingga proses pemrograman dan debugging dapat dilakukan secara langsung tanpa memerlukan perangkat tambahan.

    Adapun spesifikasi STM32 NUCLEO G47ARE sebagai berikut 

    Gambar 4.1 STM32 NUCLEO G47ARE


    E. STM32F103C8

    STM32F103C8 merupakan mikrokontroler berbasis arsitektur ARM Cortex-M3 yang diproduksi oleh STMicroelectronics. Perangkat ini menjadi pilihan populer dalam pengembangan sistem tertanam berkat performanya yang andal, efisiensi daya yang tinggi, serta dukungannya terhadap beragam protokol komunikasi. Dalam praktikum ini, STM32F103C8 digunakan dan dapat diprogram melalui beberapa metode, seperti komunikasi serial (USART), SWD (Serial Wire Debug), atau JTAG untuk berinteraksi dengan komputer dan perangkat eksternal lainnya. Adapun rincian spesifikasi dari STM32F4 yang digunakan pada praktikum ini adalah sebagai berikut:

    Gambar 4.2 STM32F103C8

    F. BAGIAN-BAGIAN PENDUKUNG

    1. STM32 NUCLEO G474RE

    1. RAM (Random Access Memory) RAM pada STM32 NUCLEO-G474RE berfungsi sebagai penyimpan data sementara saat program sedang dieksekusi. Mikrokontroler STM32G474RET6 ini dilengkapi RAM berkapasitas 128 KB yang dialokasikan untuk penyimpanan variabel, stackheap, serta buffer data.

    2. Memori Flash Eksternal Papan STM32 NUCLEO-G474RE tidak memakai memori flash eksternal. Seluruh instruksi program dan data permanen ditampung dalam memori Flash internal sebesar 512 KB pada chip STM32G474RET6. Memori ini bersifat non-volatile, yang menjamin data tetap terjaga walaupun daya diputuskan.

    3. Crystal Oscillator Secara standar, STM32 NUCLEO-G474RE mengandalkan osilator internal (HSI – High Speed Internal) sebagai sumber detak (clock) utamanya. Hal ini memungkinkan papan pengembang beroperasi tanpa butuh kristal eksternal. Clock tersebut berperan sebagai referensi waktu untuk mengatur ritme kerja CPU dan seluruh perangkat periferal.

    4. Regulator Tegangan Berfungsi untuk menjamin ketersediaan pasokan tegangan yang konstan dan stabil menuju mikrokontroler.

    5. Pin GPIO (General Purpose Input/Output) Pin GPIO pada STM32 NUCLEO-G474RE berperan sebagai antarmuka masukan dan keluaran digital yang dapat dikonfigurasi secara fleksibel.

    2. STM32

    1. RAM (Random Access Memory) STM32F103C8 dibekali dengan SRAM on-chip sebesar 20KB. Kapasitas memori ini memadai bagi mikrokontroler untuk mengolah berbagai aplikasi dan menyimpan data temporer selama proses eksekusi program.

    2. Memori Flash Internal Memori flash internal pada STM32F103C8 memiliki kapasitas 64KB atau 128KB yang ditujukan untuk menyimpan firmware serta kode program pengguna. Keberadaan memori ini memungkinkan penyimpanan instruksi secara permanen tanpa ketergantungan pada media simpan eksternal.

    3. Crystal Oscillator STM32F103C8 menggunakan osilator kristal eksternal (umumnya 8MHz) yang dipadukan dengan PLL untuk memacu frekuensi kerja hingga 72MHz. Kestabilan sinyal clock ini sangat krusial dalam sinkronisasi operasi mikrokontroler beserta komponen lainnya.

    4. Regulator Tegangan Perangkat STM32F103C8 memiliki sistem regulasi tegangan internal untuk memastikan distribusi daya ke mikrokontroler tetap stabil. Rentang tegangan operasional yang didukung adalah antara 2.0V hingga 3.6V.

    5. Pin GPIO (General Purpose Input/Output) Terdapat hingga 37 pin GPIO pada STM32F103C8 yang bisa dimanfaatkan untuk berinteraksi dengan perangkat luar seperti sensor, LED, dan motor, maupun untuk keperluan komunikasi melalui protokol UART, SPI, dan I²C.




     

    Komentar

    Postingan populer dari blog ini

    Tugas Besar

    Cover