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
7,726
Mesajlar
128,623
Üyeler
3,119
Son üye
İsmail16

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
az bilgili çok meraklı
Back
Top