MODUL 2
PWM, ADC, & INTERRUPT
Instrumentasi / Alat
Komponen / Bahan
- STM32F103C8 (Blue Pill) — Mikrokontroler berbasis ARM Cortex-M3, beroperasi pada 3.3V dengan 32 pin GPIO dan clock speed 72 MHz.
Spesifikasi:
- Microcontroller Core : ARM Cortex-M3
- Operating Voltage : 3.3V
- Input Voltage (recommended) : 5V
- Input Voltage (limit) : 2.0V – 3.6V
- Digital I/O Pins : 32 pin
- PWM Digital I/O Pins : 15 channel
- Analog Input Pins : 10 channel (ADC 12-bit)
- DC Current per I/O Pin : 25 mA
- DC Current for 3.3V Pin : 150 mA
- Flash Memory : 64 KB
- SRAM : 20 KB
- Clock Speed : 72 MHz
- Komunikasi : USART, SPI, I²C, USB, CAN
- Pemrograman : SWD, JTAG, USART Bootloader
- STM32 NUCLEO-G474RE — Development board berbasis ARM Cortex-M4F dengan 51 GPIO pin dan clock speed hingga 170 MHz, dilengkapi ST-LINK onboard.
Spesifikasi:
- Microcontroller : STM32G474RE (ARM Cortex-M4F)
- Operating Voltage : 3.3V
- Input Voltage (recommended) : 5V via USB atau 7–12V via VIN
- Input Voltage (limit) : 4.5V – 15V
- Digital I/O Pins : ±51 GPIO
- PWM Digital I/O Pins : Hingga 24 channel (termasuk HRTIM)
- Analog Input Pins : Hingga 24 channel ADC (12-bit / 16-bit dengan oversampling)
- DC Current per I/O Pin : Maks. 20 mA (disarankan ≤ 8 mA)
- DC Current for 3.3V Pin : Hingga ±500 mA
- Flash Memory : 512 KB
- SRAM : 128 KB (termasuk CCM RAM)
- Clock Speed : Hingga 170 MHz
- Onboard Debugger : ST-LINK V3
- Komunikasi : USART, SPI, I²C, USB, CAN FD
- LED — Light Emitting Diode sebagai indikator output visual.
Spesifikasi (LED 5mm Standar):
- Warna : Merah / Hijau / Kuning (tergantung jenis)
- Forward Voltage (Vf) : 1.8V – 2.2V (merah), 2.0V – 3.5V (hijau/biru)
- Forward Current (If) : 10 mA – 30 mA (tipikal 20 mA)
- Maximum Current : 30 mA
- Luminous Intensity : 5 – 500 mcd
- Viewing Angle : 20° – 60°
- Reverse Voltage (max) : 5V
- Operating Temperature : -25°C hingga +85°C
- Resistor yang dibutuhkan (3.3V supply) : (3.3V – 2.0V) / 0.02A = 65 ohm (gunakan 100 ohm)
Spesifikasi:
- Tipe : Common Cathode LED RGB
- Forward Voltage Merah : 1.8V – 2.2V
- Forward Voltage Hijau : 2.8V – 3.5V
- Forward Voltage Biru : 2.8V – 3.5V
- Forward Current : 20 mA per channel
- Maximum Current per Channel : 30 mA
- Luminous Intensity : 2000 – 4000 mcd
- Viewing Angle : 30°
- Pin : 4 pin (R, G, B, GND/common cathode)Spesifikasi:
- Tipe : Tactile Push Button / Toggle Switch
- Tegangan Operasi : 12V DC (max 50V DC)
- Arus Maksimum : 50 mA
- Contact Resistance : < 100 mΩ
- Insulation Resistance : > 100 MΩ
- Life Cycle : > 100,000 kali tekan
- Operating Temperature : -25°C hingga +70°C
- Bounce Time : 5 – 10 ms (perlu debounce di software)
- Buzzer — Komponen output audio sebagai alarm/peringatan.
Spesifikasi:
- Tipe : Active Buzzer (osilator internal)
- Tegangan Operasi : 3.5V – 5.5V DC
- Tegangan Rated : 5V DC
- Konsumsi Arus : < 30 mA
- Frekuensi Suara : 2300 ± 300 Hz
- Sound Pressure Level (SPL) : ≥ 85 dB (pada 10 cm)
- Operating Temperature : -20°C hingga +70°C
- Dimensi : 12mm × 9.5mm
- Sambungan : 2 pin (+ dan -)
- Resistor — Komponen pembatas arus (1k ohm).
Spesifikasi (Resistor 100 ohm, 1/4 Watt):
- Nilai Resistansi : 100 Ω (coklat-hitam-coklat)
- Toleransi : ±5% (gelang emas)
- Daya Maksimum : 0.25 Watt (1/4 W)
- Tegangan Maksimum : 250V
- Suhu Operasi : -55°C hingga +155°C
- Material : Carbon Film
- Sensor Heartbeat
Pulse Sensor Features and Specifications
- Biometric Pulse Rate or Heart Rate detecting sensor
- Plug and Play type sensor
- Operating Voltage: +5V or +3.3V
- Current Consumption: 4mA
- Inbuilt Amplification and Noise cancellation circuit.
- Diameter: 0.625”
- Thickness: 0.125” Thick
- Sensor LDR
Spesifikasi Sensor Cahaya LDR
1. Supply : 3.3 V – 5 V (arduino available)
2. Output Type: Digital Output (0 and 1)
3. Inverse output
4. Include IC LM393 voltage comparator
5. Sensitivitasnya dapat diatur
6. Dimensi PCB size: 3.2 cm x 1.4 cm
- Motor Servo
- Push Button
Spesifikasi Teknis Push Button Switch
Karakteristik Listrik
Rating Tegangan (Voltage): Menunjukkan batas maksimum tegangan yang bisa ditangani, misalnya 12V DC atau 250V AC.
Rating Arus (Current): Menunjukkan seberapa besar arus yang bisa dialirkan tanpa merusak kontak, biasanya berkisar antara 1A hingga 5A.
Tipe Kontak: Bisa NO (Normally Open), NC (Normally Closed), atau kombinasi keduanya (SPDT / Single Pole Double Throw).
4.1 ADC
ADC atau Analog to Digital Converter merupakan salah satu perangkat elektronika yang digunakan sebagai penghubung dalam pemrosesan sinyal analog oleh sistem digital. Fungsi utama dari fitur ini adalah mengubah sinyal masukan yang masih dalam bentuk sinyal analog menjadi sinyal digital dengan bentuk kode-kode digital.
Pada mikrokontroler STM32, terdapat dua ADC (Analog-to-Digital Converter) 12-bit yang masing-masing memiliki hingga 16 kanal eksternal. ADC ini dapat beroperasi dalam mode single-shot atau scan mode. Pada scan mode, konversi dilakukan secara otomatis pada sekelompok input analog yang dipilih. Selain itu, ADC ini memiliki fitur tambahan seperti simultaneous sample and hold, interleaved sample and hold, serta single shunt. ADC juga dapat dihubungkan dengan DMA untuk meningkatkan efisiensi transfer data. Mikrokontroler ini dilengkapi dengan fitur analog watchdog yang memungkinkan pemantauan tegangan hasil konversi dengan akurasi tinggi, serta dapat menghasilkan interupsi jika tegangan berada di luar ambang batas yang telah diprogram. Selain itu, ADC dapat disinkronkan dengan timer internal (TIMx dan TIM1) untuk memulai konversi, pemicu injeksi, serta pemicu DMA, sehingga memungkinkan aplikasi untuk melakukan konversi ADC secara terkoordinasi dengan timer.
Pada STM32 Nucleo G474RE, terdapat blok ADC (Analog-to-Digital Converter) yang digunakan untuk mengubah sinyal analog menjadi data digital. STM32 G474RE memiliki beberapa unit ADC (seperti ADC1, ADC2, ADC3, dan ADC4) yang memungkinkan proses konversi dilakukan secara paralel untuk meningkatkan kecepatan akuisisi data. Setiap ADC mendukung resolusi hingga 12-bit, dengan fitur tambahan seperti oversampling untuk meningkatkan akurasi dan mengurangi noise pada sinyal. Setiap unit ADC dapat mengakses banyak channel input yang terhubung ke berbagai pin GPIO, sehingga memungkinkan pembacaan berbagai sensor secara fleksibel. ADC pada STM32 G474RE juga dilengkapi dengan fitur scan mode untuk membaca beberapa channel secara berurutan, serta mode continuous conversion yang memungkinkan pembacaan data secara terus-menerus tanpa intervensi CPU. Selain itu, terdapat injected channel yang berfungsi sebagai channel prioritas untuk kebutuhan real-time.
ADC ini juga mendukung berbagai sumber trigger, seperti timer (TIM) atau sinyal eksternal, sehingga dapat disinkronkan dengan modul lain seperti PWM untuk aplikasi kontrol tertutup (closed-loop). Proses konversi dilakukan melalui tahap sampling dan quantization, dengan hasil akhir disimpan pada register data ADC. Dengan fitur-fitur tersebut, ADC pada STM32 G474RE sangat cocok digunakan dalam aplikasi seperti pembacaan sensor, monitoring tegangan, serta sistem kendali berbasis sinyal analog yang membutuhkan kecepatan dan presisi tinggi.
Ton = Waktu ON atau Waktu dimana tegangan keluaran berada pada posisi tinggi (high atau 1)
PWM pada STM32 dihasilkan menggunakan timer internal yang berfungsi sebagai penghitung waktu dengan berbagai mode operasi. Mikrokontroler ini memiliki empat timer 16-bit (TIM1–TIM4), yang dapat dikonfigurasi untuk menghasilkan sinyal dengan frekuensi dan duty cycle tertentu. Timer bekerja dengan menghitung hingga nilai tertentu berdasarkan frekuensi clock, lalu mengubah status register untuk menghasilkan gelombang persegi. STM32 memiliki 15 pin yang mendukung PWM, beberapa di antaranya berasal dari timer tingkat lanjut seperti TIM1, yang memiliki fitur tambahan seperti complementary output. Selain menghasilkan sinyal PWM, timer juga bisa digunakan untuk mengukur sinyal eksternal (input capture), menghasilkan sinyal berbasis waktu (output compare), dan membuat satu pulsa berdasarkan trigger (one pulse mode). PWM sering digunakan untuk mengontrol kecepatan motor, mengatur kecerahan LED, dan berbagai aplikasi berbasis waktu lainnya.
4.3 INTERRUPT
- 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 RAM sebesar 128 KB yang berfungsi untuk menyimpan variabel, buffer data, stack, dan heap.
- Memori Flash EksternalSTM32 NUCLEO-G474RE tidak menggunakan memori flash eksternal. Seluruh program dan data permanen disimpan pada memori Flash internal mikrokontroler STM32G474RET6 dengan kapasitas 512 KB. Memori flash ini bersifat non-volatile, sehingga data dan program tetap tersimpan meskipun catu daya dimatikan.
- Crystal OscillatorSTM32 NUCLEO-G474RE menggunakan osilator internal (HSI – High Speed Internal) sebagai sumber clock utama secara default. Penggunaan clock internal ini membuat board dapat beroperasi tanpa memerlukan crystal oscillator eksternal. Clock berfungsi sebagai sumber waktu untuk mengatur kecepatan kerja CPU dan seluruh peripheral.
- Regulator TeganganUntuk memastikan pasokan tegangan yang stabil ke mikrokontroler.
- Pin GPIO (General Purpose Input/Output)Pin GPIO pada STM32 NUCLEO-G474RE digunakan sebagai antarmuka input dan output digital yang fleksibel
- RAM (Random Access Memory)STM32F103C8 dilengkapi dengan 20KB SRAM on-chip. Kapasitas RAM ini memungkinkan mikrokontroler menjalankan berbagai aplikasi serta menyimpan data sementara selama eksekusi program.
- Memori Flash InternalSTM32F103C8 memiliki memori flash internal sebesar 64KB atau 128KB, yang digunakan untuk menyimpan firmware dan program pengguna. Memori ini memungkinkan penyimpanan kode program secara permanen tanpa memerlukan media penyimpanan eksternal.
- Crystal OscillatorSTM32F103C8 menggunakan crystal oscillator eksternal (biasanya 8MHz) yang bekerja dengan PLL untuk meningkatkan frekuensi clock hingga 72MHz. Sinyal clock yang stabil ini penting untuk mengatur kecepatan operasi mikrokontroler dan komponen lainnya.
- Regulator TeganganSTM32F103C8 memiliki sistem pengaturan tegangan internal yang memastikan pasokan daya stabil ke mikrokontroler. Tegangan operasi yang didukung berkisar antara 2.0V hingga 3.6V.
- Pin GPIO (General Purpose Input/Output)STM32F103C8 memiliki hingga 37 pin GPIO yang dapat digunakan untuk menghubungkan berbagai perangkat eksternal seperti sensor, motor, LED, serta komunikasi dengan antarmuka seperti UART, SPI, dan I²C.
Tidak ada komentar:
Posting Komentar