agar lebih mudah di jelaskan, pertama tama saya akan menjelaskan apa itu PWM dan berikut penjelasan singkat tentang PWM.
Pulse-width modulation ( PWM ), adalah cara untuk menggambarkan sinyal digital (biner / diskrit) yang dibuat melalui teknik modulasi yang penggunaan utamanya adalah untuk memungkinkan kontrol daya yang dipasok ke perangkat listrik yang memungkinkan untuk mengatur kecepatan sebuah motor. Modulasi PWM dilakukan dengan cara mengubah perbandingan lebar-pulsa-positif terhadap lebar-pulsa-negatif ataupun sebaliknya dalam frekuensi sinyal yang tetap. Yang artinya, total 1 perioda (T) pulsa dalam PWM adalah tetap. Penyebutan data PWM pada umumnya menggunakan perbandingan pulsa positif terhadap total pulsa seperti yang ditunjukkan oleh Gambar 1, Gambar 2, dan Gambar 3.
SUMBER: https://depokinstruments.com/2012/06/16/pwm-pulse-width-modulation-pembahasan/
https://en.wikipedia.org/wiki/Pulse-width_modulation
keterangan: Tp= perioda pulsa positif
Tn= perioda pulsa negatif
Gambar 1 - PWM=50% https://depokinstruments.files.wordpress.com/2012/06/pwm_50.jpg |
Gambar 2 - PWM=30% https://depokinstruments.files.wordpress.com/2012/06/pwm_30.jpg |
Gambar 3 - PWM=60% https://depokinstruments.files.wordpress.com/2012/06/pwm_60.jpg |
dan sekarang saya akan menjelaskan pwm pada arduino.
seperti yang kita tau, arduino merupakan sebuah mikrokontroler yang dapat mengkontrol alat/komponen elektronik selama itu compatible/cocok, dan salah satu fitur nya adalah dapat mengontrol PWM atau dapat mengirimkan sinyal HIGH dan LOW atau on dan off pada Arduino untuk menyalakan dan mematikan sesuatu menggunakan digitalWrite(). Bagaimana kalo kita ingin mengaktifkan sesuatu dengan kekuatan tertentu dan bisa diubah-ubah sesuai keperluan, seperti misalnya mengatur intensitas cahaya LED atau mengatur kecepatan putaran motor? Dalam hal ini kita punya analog output. Analog output pada Arduino berarti kita mengirimkan sinyal analog dengan intensitas yang ditentukan sesuai kebutuhan.
sumber : https://www.codepolitan.com/analog-output-arduino-menggunakan-pwm-pulse-width-modulation
Analog input dihasilkan oleh teknik yang dikenal dengan istilah PWM atau Pulse Width Modulation. PWM memanipulasi keluaran digital sedemikian rupa sehingga menghasilkan sinyal analog. Mikrokontroler mengeset output digital ke HIGH dan LOW bergantian dengan porsi waktu tertentu untuk setiap nilai keluarannya. Durasi waktu untuk nilai HIGH disebut pulse widthatau panjang pulsa. Variasi nilai output analog didapatkan dari perubahan panjang pulsa yang diberikan pada satu periode waktu dan dilakukan berulang-ulang. Untuk lebih jelasnya perhatikan ilustrasi berikut:
sumber : https://www.codepolitan.com/analog-output-arduino-menggunakan-pwm-pulse-width-modulation
sumber: Arduino.cc[/caption]
Kondisi HIGH adalah kondisi ketika sinyal berada di atas grafik (5V) dan LOW adalah ketika sinyal berada di bawah (0V). Duty cycle adalah persentasi panjang pulsa HIGH dalam satu periode sinyal. Ketika duty cyclenya 0% atau sinyal LOW penuh, maka nilai analog yang dikeluarkan adalah 0V atau setara dengan GND. Ketika duty cyclenya 100% atau sinyal HIGH penuh maka sinyal yang dikeluarkan adalaah 5V.
Untuk mengatur nilai duty cycle, kita gunakan fungsi analogWrite([nomorPin], [nilai]). Nilai pada parameter kedia berkisar antara 0 hingga 255. Bila kita hendak mengeset duty cycle ke 0%, maka kita set nilai parameter ke 0, dan untuk duty cycle 100%, maka kita set nilai parameter ke 255. Jadi bila misalkan kita hendak mengeset duty cycle ke 50%, berarti nilai yang harus kita set adalah 127 (50% x 255).
Sebenarnya berdasarkan konsep PWM di atas, kita dapat mensimulasikan PWM pada semua pin digital. Tapi khusus penggunaan fungsi digitalWrite() kita hanya bisa menggunakannya pada pin-pin PWM. Seperti pada Arduino Uno, pin yang dapat menggunakan fungsi ini hanya pin 3, 5, 6, 9, 10 dan 11. Biasanya pin PWM disimbolkan dengan karakter '~'.
https://www.tutorialspoint.com/arduino/images/uno_pwm_pins.jpg |
demikian penjelasan tentang PWM pada arduino, semoga postingan ini membatu para pembaca.
catatan(semua materi pada postingan ini tidak sepenuhnya bersumber dari saya, karena itu saya sudah mencantumkan link sumber pada setiap akhir paragraf dan di bawah gambar)
No comments:
Post a Comment