PWM Nedir Ve Arduino'da Nasıl Kullanılır?

İçindekiler:

PWM Nedir Ve Arduino'da Nasıl Kullanılır?
PWM Nedir Ve Arduino'da Nasıl Kullanılır?

Video: PWM Nedir Ve Arduino'da Nasıl Kullanılır?

Video: PWM Nedir Ve Arduino'da Nasıl Kullanılır?
Video: 16-PWM Nedir? Arduino ile PWM (Pulse Width Modulation) Sinyali Üretimi 2024, Nisan
Anonim

PWM kısaltmasının arkasında ne olduğunu, nasıl çalıştığını, ne için olduğunu ve Arduino ile çalışırken nasıl kullanabileceğimizi bulalım.

PWM sinyali
PWM sinyali

Gerekli

  • -Arduino;
  • - Işık yayan diyot;
  • - 200 Ohm dirençli bir direnç;
  • - bilgisayar.

Talimatlar

Aşama 1

Arduino dijital pinleri sadece iki değer verebilir: mantık 0 (DÜŞÜK) ve mantık 1 (YÜKSEK). Bu yüzden dijitaldirler. Ancak Arduino'nun PWM olarak adlandırılan "özel" sonuçları vardır. Bazen dalgalı bir çizgi "~" ile gösterilirler veya daire içine alınırlar veya bir şekilde diğerlerinden ayırt edilirler. PWM, "Darbeli genişlik modülasyonu" veya Darbe Genişliği Modülasyonu, PWM anlamına gelir.

Darbe genişliği modülasyonlu bir sinyal, sabit bir frekansa, ancak değişken bir görev döngüsüne (darbe süresinin tekrarlama süresine oranı) sahip bir darbe sinyalidir. Doğadaki çoğu fiziksel işlemin bir miktar ataleti olması nedeniyle, 1'den 0'a keskin voltaj düşüşleri, bazı ortalama değerler alarak yumuşatılacaktır. Görev döngüsünü ayarlayarak, PWM çıkışındaki ortalama voltajı değiştirebilirsiniz.

Görev döngüsü %100 ise, Arduino'nun dijital çıkışında her zaman "1" veya 5 voltluk bir mantık voltajı olacaktır. Görev döngüsünü %50'ye ayarlarsanız, çıkıştaki sürenin yarısı mantıksal "1" ve yarı mantıksal "0" olur ve ortalama voltaj 2,5 volt olur. Ve benzeri.

Programda görev döngüsü yüzde olarak değil, 0 ile 255 arasında bir sayı olarak ayarlanmıştır. Örneğin, "analogWrite (10, 64)" komutu mikrodenetleyiciye görev döngüsü 25 olan bir sinyal göndermesini söyleyecektir. % dijital PWM çıkışına # 10.

Darbe genişlik modülasyon fonksiyonlu Arduino pinleri yaklaşık 500 Hz frekansta çalışır. Bu, nabız tekrarlama süresinin, şekildeki yeşil dikey vuruşlarla ölçülen yaklaşık 2 milisaniye olduğu anlamına gelir.

Dijital çıkışta bir analog sinyali simüle edebileceğimiz ortaya çıktı! İlginç, değil mi?

Bunu nasıl kullanabiliriz? Bir sürü uygulama var! Örneğin bunlar LED parlaklık kontrolü, motor hız kontrolü, transistör akım kontrolü, piezo emitörden ses çıkarma…

Darbe Genişliği Modülasyonunu Anlama
Darbe Genişliği Modülasyonunu Anlama

Adım 2

En temel örneğe bir göz atalım - PWM kullanarak bir LED'in parlaklığını kontrol edelim. Klasik bir şema oluşturalım.

Arduino'da PWM'yi göstermek için devre
Arduino'da PWM'yi göstermek için devre

Aşama 3

Örneklerden "Fade" taslağını açalım: File -> Samples -> 01. Basics -> Fade.

Arduino'da PWM'yi göstermek için bir örnek açma
Arduino'da PWM'yi göstermek için bir örnek açma

4. Adım

Biraz değiştirelim ve Arduino hafızasına yükleyelim.

PWM gösteri taslağı
PWM gösteri taslağı

Adım 5

Gücü açıyoruz. LED'in parlaklığı kademeli olarak artar ve ardından kademeli olarak azalır. Darbe genişlik modülasyonu kullanarak dijital çıkışta bir analog sinyali simüle ettik.

Önerilen: