Modulasi lebar nadi (PWM) ialah istilah mewah untuk jenis isyarat digital. PWM digunakan dalam pelbagai aplikasi, termasuk litar kawalan kompleks. Cara biasa kami menggunakannya di SparkFun ialah meredupkan LED RGB atau mengawal arah servo. Kami boleh mencapai julat hasil dalam kedua-dua aplikasi ini kerana PWM membenarkan kami mengubah jumlah masa isyarat tinggi dalam cara analog. Walaupun isyarat hanya boleh tinggi (biasanya 5V) atau rendah (tanah) pada bila-bila masa, kita boleh mengubah perkadaran masa isyarat itu tinggi berbanding rendah dalam selang masa yang konsisten.
Apabila isyarat tinggi, kami memanggilnya "tepat masa". Untuk menerangkan jumlah "tepat masa", kami menggunakan konsep kitaran tugas. Kitaran tugas diukur dalam peratusan. Peratusan kitaran tugas secara khusus menerangkan peratusan masa isyarat digital dihidupkan dalam selang waktu atau tempoh. Tempoh ialah songsangan bagi frekuensi bentuk gelombang. Jika isyarat digital dihidupkan separuh masa dan dimatikan separuh lagi, kami katakan isyarat digital mempunyai kitaran tugas 50%, serupa dengan gelombang persegi yang ideal. Jika peratusan lebih tinggi daripada 50%, isyarat digital menghabiskan lebih banyak masa dalam keadaan tinggi berbanding dalam keadaan rendah, dan sebaliknya jika kitaran tugas kurang daripada 50%. Rajah berikut menggambarkan tiga kes ini:

Kitaran tugas 100% adalah sama seperti menetapkan voltan kepada 5 volt (tinggi). Kitaran tugas 0% adalah sama seperti menyambungkan isyarat ke tanah.
contoh
Anda boleh mengawal kecerahan LED dengan melaraskan kitaran tugas.

Dengan LED RGB (merah, hijau dan biru), anda boleh mengawal jumlah setiap tiga warna yang dicampur dengan memalapkannya dengan jumlah yang berbeza.

Jika ketiga-tiganya dihidupkan dalam jumlah yang sama, hasilnya akan menjadi warna cahaya putih yang berbeza-beza. Percampuran biru dan hijau yang sama akan menghasilkan warna hijau kebiruan. Untuk contoh yang lebih kompleks, cuba hidupkan merah sepenuhnya, hidupkan hijau sepenuhnya pada kitaran tugas 50% dan matikan biru sepenuhnya untuk menghasilkan warna oren.

Apabila mengawal LED, kekerapan gelombang persegi perlu cukup tinggi untuk mencapai kesan pemalapan yang betul. Gelombang kitaran tugas 20% pada 1 Hz dengan jelas akan menunjukkan ia dihidupkan dan dimatikan pada mata anda, manakala kitaran tugas 100% pada 20 Hz atau lebih tinggi akan kelihatan lebih malap berbanding apabila dihidupkan sepenuhnya. Pada asasnya, jika matlamat anda adalah untuk mencapai kesan pemalapan dengan LED, tempoh tersebut tidak boleh terlalu besar. Anda juga boleh menggunakan modulasi lebar denyut untuk mengawal sudut motor servo yang disambungkan kepada peranti mekanikal seperti lengan robot. Servo mempunyai aci yang bertukar ke kedudukan tertentu berdasarkan garis kawalannya. Motor servo kami mempunyai julat kira-kira 180 darjah.
Kekerapan/tempoh adalah khusus untuk mengawal servo tertentu. Motor servo biasa menjangkakan kemas kini setiap 20 ms, dengan denyutan antara 1 ms dan 2 ms—dengan kata lain, kitaran tugas antara 5% dan 10% pada bentuk gelombang 50 Hz. Dengan nadi 1.5 ms, motor servo akan berada dalam kedudukan semula jadi 90 darjah. Pada nadi 1ms, servo akan berada pada 0 darjah, dan pada nadi 2ms, servo akan berada pada 180 darjah. Anda boleh mendapatkan julat penuh gerakan dengan mengemas kini servo kepada nilai di antaranya.
Modulasi lebar nadi digunakan dalam pelbagai aplikasi, terutamanya kawalan. Sekarang setelah anda tahu ia boleh digunakan untuk meredupkan LED dan mengawal sudut motor servo, anda boleh mula meneroka kegunaan lain yang mungkin. Jika anda berasa sesat, sila lihat Kit SparkFun Inventor, yang termasuk contoh menggunakan modulasi lebar denyut. Jika anda sudah bersedia untuk memulakan pengekodan dengan segera dan mempunyai Arduino, lihat contoh pengekodan PWM di sini.
Masa siaran: Jul-31-2025


