M2 MIKROPROSESOR DAN MIKROKONTROLER
Modul 2
MODUL 2
PWM , ADC & Interrupt
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.
- Memahami cara penggunaan PWM, ADC dan Interrupt pada Development board yang digunakan
- Memahami cara menggunakan komponen input dan output yang mengimplementasikan PWM, ADC, dan Interrupt pada Development Board yang digunakan
Microcontroller | ARM Cortex-M3 |
Operating Voltage | 3.3 V |
Input Voltage (recommended) | 5 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 |
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 |
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. STM32F103C8STM32F103C8 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 STM32F103C8F. BAGIAN-BAGIAN PENDUKUNG
1. STM32 NUCLEO G474RE
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, stack, heap, serta buffer data.
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.
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.
Regulator Tegangan Berfungsi untuk menjamin ketersediaan pasokan tegangan yang konstan dan stabil menuju mikrokontroler.
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
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.
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.
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.
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.
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.
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
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:
F. BAGIAN-BAGIAN PENDUKUNG
1. STM32 NUCLEO G474RE
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, stack, heap, serta buffer data.
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.
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.
Regulator Tegangan Berfungsi untuk menjamin ketersediaan pasokan tegangan yang konstan dan stabil menuju mikrokontroler.
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
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.
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.
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.
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.
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
Posting Komentar