Ardunio uno degisken frekansli pwm uretme

Yazılımsal olarak kontrol ederken, kullanmaya çalışacağınız fonksiyon yazdığınız ekranda tek cycle olarak gözükebilir ancak kütüphane karşılığını incelemediğinizi var sayarsak bu birden fazla cycle eşit olabilir. Bu durumda çok karmaşık olarak frekans hesaplaması yapmak zorunda kalırsınız. Çok basit anlamda delayMicroseconds fonksiyonu ile 10.000'lik bir periyot ayarlayarak bu 10.000 içerisinde duty cycle' i değiştirirseniz çok amatör PWM çıkışı elde edebilirsiniz. Peki buna gerek var mı? Tabikide gerek yok bir timer interrupt içerisine yerleştirceğiniz çok basit if döngüsü ile Duty Cycle' i ve Periyodu kesin olarak değiştirebilir ve bunun kaç Hertz' e eşit olacağını bilebilirsiniz. Bu bahsettiğim yöntem ile dijital bir çıkış kullanarak pwm çıkışı elde edilebilir.

Örnek bi uygulama paylaşabilirmisiniz.
 
Main loop içinde her saykilda bir artırarak sonrada istediğim değerde sıfırlayarak step motoru sürdüm. Ama kaç hertzde sürdüğümu bilmiyorum.
 
Arduino ile çalışmak kolaydır. Çünkü birçok komut birlesimi yapılmış durumda. Bu pwm olayı da keza hazır. Arduino pwm çıkışi bildiğim kadarıyla 500hz civarında. Duty cycle filan ise yaramaz. Çünkü o frekansı değil. Oluşturulan kare dalganın high ve low süresini ayarlıyor. Frekansi değiştirmek istiyorsanız pwm sinyalini üreten Timer değeri ile oynamalısiniz. Bununla ilgili okulda bir örnek yapmıştık ama pek hatırlamıyorum. Geçenlerde de arduino ile motor sürdüm. Orda sadece hız ayarı yapıyordum. Sonra çalisinca pıc için yazdım aynı kodu orda frekans olayı bir parametre haline geldi. Çünkü pıc te kendin belirliyorsun. Ders notlarıni hoca bize atmıştı. Bi bakayım kaybetmediysem atarım buraya
 
Çok iyi olur. En azından kaç hz'lik puls ürettiğimizi biliriz. Bi arkadaş ardunio kitlerinden herhangi birisi ile bir örnek uygulama paylasa ne kadar güzel olurdu.
 

Forum istatistikleri

Konular
129,867
Mesajlar
930,872
Kullanıcılar
452,732
Son üye
erencok

Yeni konular

Çevrimiçi üyeler

Geri
Üst