Modulasi lebar pulsa (PWM) adalah istilah khusus untuk jenis sinyal digital. PWM digunakan dalam berbagai aplikasi, termasuk sirkuit kontrol yang kompleks. Cara umum kami menggunakannya di SparkFun adalah untuk meredupkan LED RGB atau mengendalikan arah servo. Kami dapat mencapai berbagai hasil dalam kedua aplikasi ini karena PWM memungkinkan kami untuk memvariasikan durasi sinyal tinggi secara analog. Meskipun sinyal hanya dapat tinggi (biasanya 5V) atau rendah (ground) pada waktu tertentu, kami dapat memvariasikan proporsi durasi sinyal tinggi dibandingkan dengan rendah dalam interval waktu yang konsisten.
Ketika sinyal tinggi, kita menyebutnya "tepat waktu". Untuk menggambarkan tingkat "tepat waktu", kita menggunakan konsep siklus kerja. Siklus kerja diukur dalam persentase. Persentase siklus kerja secara spesifik menggambarkan persentase waktu sinyal digital menyala dalam suatu interval atau periode. Periode tersebut merupakan kebalikan dari frekuensi bentuk gelombang. Jika sinyal digital menyala separuh waktu dan mati separuh waktu lainnya, kita mengatakan sinyal digital tersebut memiliki siklus kerja 50%, mirip dengan gelombang persegi ideal. Jika persentasenya lebih tinggi dari 50%, sinyal digital menghabiskan lebih banyak waktu dalam kondisi tinggi daripada kondisi rendah, dan sebaliknya jika siklus kerja kurang dari 50%. Diagram berikut mengilustrasikan ketiga kasus tersebut:

Siklus kerja 100% sama dengan mengatur tegangan ke 5 volt (tinggi). Siklus kerja 0% sama dengan menghubungkan sinyal ke ground.
contoh
Anda dapat mengontrol kecerahan LED dengan menyesuaikan siklus tugas.

Dengan LED RGB (merah, hijau, dan biru), Anda dapat mengontrol jumlah masing-masing dari tiga warna yang tercampur dengan meredupkannya pada jumlah yang berbeda.

Jika ketiganya dinyalakan dalam jumlah yang sama, hasilnya akan berupa gradasi cahaya putih yang berbeda-beda. Campuran biru dan hijau yang sama akan menghasilkan warna hijau kebiruan. Untuk contoh yang sedikit lebih rumit, coba nyalakan merah sepenuhnya, hijau sepenuhnya pada siklus kerja 50%, dan biru sepenuhnya mati untuk menghasilkan warna oranye.

Saat mengendalikan LED, frekuensi gelombang persegi perlu cukup tinggi untuk mencapai efek peredupan yang tepat. Gelombang siklus kerja 20% pada 1 Hz akan dengan jelas menunjukkan lampu menyala dan mati di depan mata Anda, sementara siklus kerja 100% pada 20 Hz atau lebih tinggi akan tampak lebih redup daripada saat lampu menyala penuh. Intinya, jika tujuan Anda adalah mencapai efek peredupan dengan LED, periodenya tidak boleh terlalu besar. Anda juga dapat menggunakan modulasi lebar pulsa untuk mengontrol sudut motor servo yang terhubung ke perangkat mekanis seperti lengan robot. Servo memiliki poros yang berputar ke posisi tertentu berdasarkan garis kontrolnya. Motor servo kami memiliki rentang sekitar 180 derajat.
Frekuensi/periode spesifik untuk mengendalikan servo tertentu. Motor servo pada umumnya mengharapkan pembaruan setiap 20 ms, dengan pulsa antara 1 ms dan 2 ms—dengan kata lain, siklus kerja antara 5% dan 10% pada bentuk gelombang 50 Hz. Dengan pulsa 1,5 ms, motor servo akan berada pada posisi alami 90 derajat. Pada pulsa 1 ms, servo akan berada pada 0 derajat, dan pada pulsa 2 ms, servo akan berada pada 180 derajat. Anda bisa mendapatkan rentang gerak penuh dengan memperbarui servo ke nilai di antara keduanya.
Modulasi lebar pulsa digunakan dalam berbagai aplikasi, terutama kontrol. Setelah Anda mengetahui kegunaannya untuk meredupkan LED dan mengontrol sudut motor servo, Anda dapat mulai menjelajahi kemungkinan penggunaan lainnya. Jika Anda masih bingung, silakan lihat SparkFun Inventor's Kit, yang berisi contoh-contoh penggunaan modulasi lebar pulsa. Jika Anda siap untuk langsung memulai coding dan memiliki Arduino, lihat contoh coding PWM di sini.
Waktu posting: 31-Jul-2025


