Çoğullama hiç Charlieplexing'den daha üstün mü?


17

İki yöntemi gözden geçirdim ve çoğullamanın gerçekten sadece bir avantajı var gibi görünüyor, başarısız bir LED'i Charlieplex dizisine göre daha kolay takip edebilecek.

Daha bilgili biri diğer değiş tokuşları açıklayabilir mi?

Yanıtlar:


26

Evet, çoğullama ve charlieplexing'in her ikisinin de avantajları vardır ve her biri farklı görevler için en uygunudur.

Charlieplexing'in ana avantajı, orta boyutlu bir mikrodenetleyici üzerinde yapılabilmesi, daha az I / O pimi ile daha fazla LED'in çalıştırılması ve LED'lerin yanı sıra harici bir donanımın bulunmamasıdır.

Şimdi, "harici donanım yok" avantajı, mikro denetleyicinizin akım sınırına ulaşıncaya kadar yalnızca nispeten az sayıda LED için geçerlidir ve çoğullamalı dizilerin sahip olmadığı bir parlaklık sınırı uygular. Harici donanım kullanmayı seçerseniz, bir seferde tam bir satır sürdüğünüz çoğullamalı bir dizinin aksine, genellikle herhangi bir anda matriste yalnızca bir LED sürmekle sınırlıdır.

LED'leri çok katlı bir dizininkine uyacak şekilde daha yüksek parlaklığa sürmek için harici donanım ekledikten sonra, charlieplexing parlaklığını kaybeder.

İlk olarak, çoklanmış bir dizi kesinlikle satır ve sütun ile ele alınır; bunu yapmak çok basit. Satır 1'i açın, satır 1 için tüm sütunları açın, satır 2'yi kapatın, satır 2 için tüm sütunları açın vb. Buna karşılık, charlieplexed bir dizi çok daha basittir. Her zaman işe yaramaz bir çapraz satır vardır ve ben şahsen dizilerim ile verilerimi sakladığım dikdörtgen bir dizi arasında ilişki kurmak için arama tablolarını kullanıyorum.

İkincisi ve bir katil, charlieplexing genellikle üç durumlu sürücüler gerektirir. Ancak çoğullama, katı açma-kapama ikili mantığı ile gerçekleştirilir. Düşük pimli bir mikrodenetleyiciniz varsa ve çok sayıda LED sürmek istiyorsanız, hem X hem de Y eksenlerini kontrol etmek için harici mantık yongaları (ör. Kaydırma yazmacı ve / veya LED sürücüleri) kullanmak kolaydır. Çoğu shift-register türü yongalar, aynı şeyi charlieplexed dizide yapmak için gerekli olan tristatasyonu desteklemez. Özel charlieplexed sürücüler mevcuttur, ancak neredeyse çok yönlü değildir.

Üçüncüsü, charlieplexed bir dizide, aktif olarak bir şey yapmayan her pim zayıf ("yüksek empedans") bir bağlantı yoluyla LED'lere bağlanır. Bağlantı zayıf olsa da sıfır değildir. Bir LED ızgarasına bağlı 25 G / Ç piminiz olduğunu varsayalım. Bir LED'i yakarsanız - bu 25 hattan birini ve bu 25 hattan birini alarak 23 yüksek empedanslı hat bırakır. Yüksek G / Ç hattının bir LED'den nötr bir hatta geçtiği her yerde, akım sızıntısı olasılığı vardır. Fazla değil. Belki burada ya da orada bir mikroamper. Ancak modern, verimli LED'lerle, genellikle görünür gölgelenme oluşturmak için yeterlidir.

Dördüncüsü, charlieplex bir dizide LED parlaklığını kontrol etmek daha zordur. Çoğullamalı bir dizide, mevcut düzenlemeyi bir PWM sürücüsü ile birlikte kullanarak, her bir sütunun parlaklığını ayrı ayrı düzenleyen, yaygın olarak mevcut herhangi bir sayıda akım düzenleyen "batan" LED sürücü yongalarını kullanabilirsiniz. Charliepleks matris konumlarının ayrı ayrı ele alındığı ve satır veya sütun başına yalnızca bir direnç kullanıldığı ölçüde, charlieplex bir dizide nokta parlaklığı düzeltmesi ve tam gri tonlamalı / renkli animasyon gerçekleştirmek çok daha zordur.


1
İyi okuma.
Peggy

Sadece düzenli ledler aldım ama gölgelenme hala bir sorun. Her hat için her led için bir direnç kullanmak daha mı iyi? Bir Attiny85 kullanarak 6 led sürüyorum. Her hat için 330 Ohm direnç kullanmadan önce 1K kullanıyorum. 1K ile chosting daha az ama yine de orada, aynı zamanda ledler 330 Ohm tabi olduğu kadar parlak değil. Peki her LED'in bunu ortadan kaldırmak için kendi direnci olması daha mı iyi?
Codebeat

3

"Charlieplexing" ışıklarının en önemli dezavantajı, 'n'yönlü çoğullama ile sürülebilen LED sayısını n (n-1) ile sınırlandırmasıdır. Üç durumlu sürücü gereksiniminin bir bütün olarak teknikle ilgili bir sorun olduğunu düşünmüyorum. Kesinlikle üç durumlu bir sürücü yerine iki geleneksel sürücü kullanmak zorunda kalmak CharliePlexing'in faydasını azaltacaktır, ancak bazı durumlarda yine de avantajlar kalabilir (örneğin, sürücülerle bir panel ile sürücü arasındaki bir panel arasındaki bağlantı kablolarının sayısını azaltabilir. ışıklar veya anahtarlar).

Charlieplexing anahtarlarına gelince, Wikipedia makalesi en büyük dezavantajdan bahsetmez: Charlieplexing, bir denetleyicinin düğmeye basılmasını pasif olarak beklemesine izin vermez. Öte yandan, bileşen gereksinimleri konusunda aşırı karamsar. 1997'de, harici bir diyot veya IIRC dışındaki diğer bileşenlere ihtiyaç duymadan üç I / O pini ve sadece bir giriş pimini kullanarak sekiz düğmeyi tarayan bir cihaz ürettim. yerleşik bir tane var; yaklaşım, başka bir pull-up direncinin (bir tane olmayan başka bir I / O pin için) eklenmesiyle on düğmeyi ele alabilirdi, ancak müşteri sadece sekiz düğmeye ihtiyaç duyuyordu, bu yüzden gerek yoktu.


İnternette bir yerde bunun bir şeması var mı?
Codebeat

@Erwinus: CPU'dan gelen tüm kablolar yukarı çekilir. Her olası kablo eşleştirmesine bir anahtar bağlayın (böylece dört kablo varsa, bu altı anahtar olacaktır; beş kablo, 10; altı, yedi veya sekiz, 15, 21 veya 28 ise). Her kablo ile toprak arasına bir anahtar bağlayın (kablo başına bir ekstra anahtar).
supercat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.