PWM, dijital bir çıkışla analog benzeri etki üretmek için kullanılan yöntemlerden biridir. Dijital çıkış aslında sadece iki seviye verebilir: açık veya kapalı. Fakat bu açma kapama işlemi çok hızlı yapılırsa LED parlaklığı azaltılmış gibi, motor hızı düşürülmüş gibi veya ısıtıcı gücü ayarlanmış gibi davranış elde edilebilir.
PWM mantığı nedir?
Bir LED’i sürekli açık tutarsanız tam parlaklıkta yanar. Çok hızlı şekilde yarı zaman açık, yarı zaman kapalı yaparsanız göz bunu orta parlaklık gibi algılar. PWM’in temel fikri budur. Sinyal ya 0V ya da 5V olabilir; fakat zaman içindeki ortalama etki değişir.
Duty cycle yüzde olarak ifade edilir. %25 duty cycle, sinyalin zamanın dörtte biri boyunca açık kaldığını gösterir. %50 duty cycle yarı yarıya açık-kapalı, %100 ise sürekli açık anlamına gelir.
PWM analog çıkış mıdır?
PWM gerçek analog çıkış değildir. Çıkış hâlâ dijitaldir; sadece çok hızlı açılıp kapandığı için bağlı yük üzerinde analog benzeri bir etki oluşur. LED parlaklığı ve motor hızı gibi uygulamalarda bu etki yeterli olur. Ancak hassas analog sinyal gerekiyorsa filtreleme veya gerçek DAC kullanmak gerekebilir.
Duty cycle azaltıldığında LED daha sönük, artırıldığında daha parlak görünür.
Motor doğrudan daha düşük voltaj yerine darbeli enerjiyle kontrol edilebilir.
Servo motorlarda darbe genişliği konum bilgisini taşımak için kullanılır.
Isıtıcı, fan veya LED şerit gibi yüklerde ortalama güç ayarlanabilir.
Arduino’da PWM nasıl düşünülür?
Arduino’da PWM destekleyen pinlerde analogWrite komutu kullanılır. Bu komuta verilen değer 0 ile 255 arasındadır. 0 tamamen kapalı, 255 tamamen açık anlamına gelir. 128 civarı değer yaklaşık %50 duty cycle üretir.
Burada isim biraz yanıltıcıdır: analogWrite gerçek analog voltaj üretmez. PWM sinyali üretir. LED veya motor gibi yüklerde bu fark sorun olmayabilir, ama analog ölçüm devresi gibi hassas yerlerde PWM çıkışı doğrudan analog sinyal yerine geçmez.
Frekans ve duty cycle farkı
PWM’de iki önemli kavram vardır: frekans ve duty cycle. Frekans, sinyalin saniyede kaç kez tekrarlandığını gösterir. Duty cycle ise her tekrar içinde sinyalin ne kadar süre açık kaldığını gösterir. Aynı duty cycle farklı frekanslarda üretilebilir; uygulamanın türüne göre bu fark önemli hale gelebilir.
- LED parlaklığında çok düşük frekans titreme yapabilir.
- Motor kontrolünde frekans ses, ısınma ve verim üzerinde etkili olabilir.
- Filtrelenmiş analog benzeri çıkışta frekans ve filtre değeri birlikte seçilmelidir.