PWM, ADC, & INTERRUPT (M2)




1. Pendahuluan [Kembali]

a) Asistensi dilakukan 1x 

b) Praktikum dilakukan 1x 

2.Tujuan [Kembali]

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 

3. Alat dan Bahan [Kembali]

a)     STM32F103C8T6

Buy Development board ARM STM STM32F103C8T6 (blue-pill) at the right ...

 

b)     HeartBeat Sensor

HEART RATE SENSOR-PULSE SENSOR - Chinahub.lk

 

c)     Push Button

Push Button Switch

 

d)     LED

Amazon.com: EBOOT 100 Pieces Clear LED Light Emitting Diodes Bulb LED ...

 

e)     Buzzer

Piezoelectric Buzzers: Creating Vibrations

 

 

f)      Resistor

TE Connectivity 10kΩ Carbon Film Carbon Film Resistor 1W ±5% CFR100J10K ...

 

 

g)     Breadboard

ABS 800 Pin Breadboard at Rs 80/piece in Vadodara | ID: 22340937912

h)     STM32 Nucleo G474RE

NUCLEO-F411RE STM32 64 ARM Development Board with STM32F411RE MCU ...

i)      LDR Sensor

LDR Light Dependent Resistor Sensor at ₹ 12/piece in Mumbai | ID ...

j)      Motor Servo

Penggunaan Motor Servo dalam Otomasi Industri - Sebuah Tinjauan ...

h) Adaptor

Power adaptor for torch flashlight landline phones,,cordless phones ...

 

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.

 

Buy STMICROELECTRONICS Nucleo-G474RE, Development Board, STMG474RET6U ...

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

Popular posts from this blog