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.

Kısa açıklama: PWM sinyalinde voltaj seviyesi değişmez; açık kalma süresi değiştirilir. Bu açık kalma oranına duty cycle denir.

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 Duty Cycle Açık kalma süresi arttıkça ortalama etki büyür. %25 duty %50 duty daha düşük ortalama etki daha yüksek ortalama etki

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.

LED parlaklığı

Duty cycle azaltıldığında LED daha sönük, artırıldığında daha parlak görünür.

DC motor hızı

Motor doğrudan daha düşük voltaj yerine darbeli enerjiyle kontrol edilebilir.

Servo sinyali

Servo motorlarda darbe genişliği konum bilgisini taşımak için kullanılır.

Güç kontrolü

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.

Dikkat: PWM pini bir motoru doğrudan sürecek güçte değildir. Motor, LED şerit, fan veya yüksek akımlı yükler için transistör, MOSFET veya uygun sürücü devresi kullanılmalıdır. Mikrodenetleyici pininden çekilebilecek akım sınırlıdır.

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.