Akıcı LED parlaklık kontrolü

turkuazaga

Üye
Katılım
23 Aralık 2018
Mesajlar
58
PWM ile parlaklık kontrolü yapılabilen LED için renkler arasında aşamalı geçiş olsun istiyorum. Bunun için bir C programının içinde 10 ms de bir renkler arasında geçiş yaptırıyorum. Ama renk geçişi çoğu zaman akıcı olsa da bazan LED'ler belli bir renkte donuyor (yarım saniye gibi) ve sonra renk akışı devam ediyor. Tahminim, arada bir benim programdan daha yüksek önceliğe sahip başka bir süreç araya giriyor ve o arada benim program beklemeye alınıyor. Ama kesin olarak budur diyemiyorum, buysa da hangi süreç benim programdan daha yüksek önceliğe sahip bilmiyorum.

10 ms süreyi 2 ms'ye düşürmeyi denedim, problem daha az sıklıkla meydana geliyor. Bu donma neyden kaynaklanıyor olabilir?
 
Program bir çeşit firmware midir yoksa Linux işletim sistemi altında mı çalışıyor?
 
Linux altında çalışan bir C programından sysfs (/sys/class/led/xxx) altındaki kontrol dosyalarını açıp LED bileşenlerini kontrol ediyorum.
 
Her zaman, hiç şaşmadan 10 ms arayla bir işlem yapacaksan, bunu user mod'da çalışan bir uygulama ile yapamazsın. Bu işlemi ancak kernel modda yapabilirsin, bir kernel driver yazılıp bir timer ile 10ms de LED'leri kontrol etmen lazım.

Biraz iyileşme olması için yazdığın programın önceliğini artırabilirsin (nice komutuna bak). Ama bunu yapınca da çok öncelikli çalışan ve 10 ms de sürekli işlemciyi meşgul eden bir program elde edersin, ve bu program belirgin bir yükleme yapar. Ama bir dene, belki işini görebilir.
 
programı REALTIME öncelikli yaptım. Anlayabildiğim kadarıyla en yüksek öncelik bu. Ama pek fark göremedim. Geçiş zamanını 500 ms yapınca donma çok belirgin olmuyor ama renk dalgalanmasını farketmek zor oluyor. Daha uzun süre bakmak gerekiyor.

Kernel'da da bu işi yapacak bilgiye sahip değilim. Sanırım sadece LED lerle ilgilenen ayrı bir MCU koymak gerekir.
 
Şimdi LED kontrolü ile ilgili kernel dokümantasyonuna baktım da, hazır bazı LED kontrol entegreleri için yazılmış driver'lar var. Özellikle şu dikkatimi çekti:


Buna belli bir sayıda LED bağlayıp LED'lerle özel efekt elde edilebiliyormuş. Ayrı bir PIC ile de LED'leri çok temiz bir şekilde kontrol edebilirsin. Fiyat/zaman durumuna bakıp one göre bir seçim yapabilirsin.
 
TSOP-8 paketinde birçok MCU var. Bizim firmada STM ile ilgili bilgi birikimi iyi düzeyde uygun bir STM8 bazlı MCU kullanacağız. TŞK
 

Forum istatistikleri

Konular
5,787
Mesajlar
98,995
Üyeler
2,464
Son üye
s4met

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top