Dijital giriş olarak SPST anahtarını mı kullanıyorsunuz?


10

"Elektrik mühendisliği" konusunda yeniyim ve küçük bir arduino projesi üzerinde çalışıyorum. SPST anahtarının tahtada dijital giriş olarak kullanılmasını istiyorum.

Birine pozitif, diğeri dijital girişe bağlı anahtar kablolarım var. Buradaki sorun, kapatıldığında girişin topraklanacağından emin olamamamdır. Anahtar kapalıyken girişin topraklandığından nasıl emin olabilirim?

Dijital girişi toprağa bağlı bir dirence bağlarsam çalışır, böylece anahtar kapalıyken topraklanır, ancak anahtar açıkken kısa devre yapmaz - bu işe yarar mı?

Yanıtlar:


9

En geleneksel çözüm, anahtarın bir tarafını toprağa bağlamak olacaktır. Diğerini dijital girişe ve ayrıca pozitif beslemeye giden 1 ila 10 K ohm arasındaki bir dirence bağlayın.

Diğer yöne gitmek, Bruno'nun tarif ettiği gibi bir aşağı çekme direnci ile mümkündür, ancak daha az tercih edilir. Birçok girdi zaten bir dereceye kadar örtülü bir çekmeye sahiptir ve bağlı değilse, oldukça güvenilir olmasa da bir '1' okuyacaktır. Ancak anahtarınız zaten pozitif raya bağlıysa, aşağı çekme iyi bir çözümdür, ancak birçoğu pozitif raya girişleri bağlarken küçük bir direnç kullanmayı tercih eder.

Birçok mikro denetleyicide, GPIO pinlerinde bir yapılandırma kaydına yazarak etkinleştirilebilen dahili çekme ve / veya çekme dirençleri de bulunur. Böyle bir mikrodenetleyicinin girişini kullanıyorsanız, her mikrodenetleyici bunlara sahip olmasa da, harici bir yukarı / aşağı dirence ihtiyacınız olmayabilir.


4
Ayrıca, dahili çekmeli veya çekmeli bir uC kullanıyorsanız, bunları bilinen bir durumda tutmak için kullanılmayan pimler üzerinde etkinleştirmek iyi bir uygulamadır.
Matt Young

Projem için anahtarı toprağa bağlamak aslında daha kolay. Bu yüzden bir çekme direnci kullanmayı deneyeceğim. Teşekkürler!
Sünger Bob

2
Harika! "Switch bounce" hakkında soru sormak istediğinizde geri gelin :)
gbarry

Arduino'nun otomatik olarak pullup yapacağını ortaya koyuyor. Nasıl emin değilim, ama kodda Dijital "INPUT_PULLUP" var ve bir dirence bile ihtiyacım yok. Kolaydı. Ayrıca, anahtar sıçrama hakkında, seri çıkışı izlerken bunu fark ettim. Bu yüzden sadece kodda 3 ms gecikme ekledim. Bana mağazaya başka bir seyahat kurtardı. :)
Sünger Bob

ATMEGA veri sayfasında dolaşırsanız, çekmeyi etkinleştirmek için bir yapılandırma kaydında yazılabilecek bir bit göreceksiniz. Arduino kütüphaneleri bunu daha kolay hale getiriyor. Sıçrama için, bir süreliğine girdiyi görmezden gelmek olağan bir derstir, ancak 3ms biraz kısa olabilir. Gecikme tüm sisteminizi bloke ederse, kısa tutmanız gerekebilir, yalnızca bu girişi yok sayarsanız, kasıtlı yeniden aktivasyonlar hala daha yavaş olacağından biraz daha uzun sürebilir.
Chris Stratton

9

Evet, sizin tarif ettiğiniz gibi çalışır. Kontak açıkken dijital girişin 0 (düşük) mantık durumunda olmasını garantilediği için buna çekme direnci denir. Genellikle bu amaç için 10 KΩ'lık bir direnç kullanabilirsiniz.


2

Bu işe yarayacak ve size pozitif mantık verecektir: anahtar kapandığında yüksek seviye (mantık "1").

Ancak Chris'in tersine çevrilmiş şeyin daha yaygın olduğunu söylediği gibi: toprağa bağlı anahtar ve güç kaynağına bir çekme (aşağı çekme yerine) direnci. Mantığınız ters çevrilecek: "1" mantığı açık bir anahtara karşılık gelecek.

Çekme versiyonunun iyi bir nedeni, çoğu mikrodenetleyicinin bunları entegre etmesidir ve ihtiyaçlarınıza bağlı olarak bunları etkinleştirebilir / devre dışı bırakabilirsiniz. Bazı mikro denetleyiciler de yapılandırılabilir aşağı çekmelere sahiptir, ancak bunlar daha az yaygındır.

Harici bir pull-up istiyorsanız 10 kΩ iyi bir değer olabilir. Mikrodenetleyici girişi 1 µA'ya kadar bir kaçak akıma sahip olabilir ve daha sonra 10 kΩ ihmal edilebilir bir 10 mV düşecektir. Daha düşük değerler kesinlikle mümkündür, ancak anahtar kapatıldığında daha yüksek bir toprak akımına sahip olacaklarını unutmayın. 1 kΩ'lık bir direnç, 5 V'luk beslemede 5 mA çeker, bu da güç kaybıdır. 10 kΩ için bu sadece 500 µA'dır. Çok düşük güçlü uygulamalar için değeri 100 kΩ'ye yükseltebilirsiniz, ancak kaçak akımı hatırlayın; 1 µA 100 mV düşüş sağlayacaktır!

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.