Anlık anahtar kontrolünü açma / kapatma yapma


17

Anlık bir anahtarın 2 durumlu bir geçiş çıkışı (mandallama anlık anahtarı) üretmesini sağlamanın en basit, en ucuz, en küçük yolları nelerdir?

Başka bir deyişle, çıkış sürekli olarak düşüktür ve düğmeye / incelik anahtarına anlık olarak bastığınızda, çıkış sürekli olarak yüksek olarak değişir ve daha sonra tekrar bastığınızda, düşük seviyeye geri döner.


Bunun en iyi cevabının askere ve bir donanım veya yazılım çözümünden daha rahat olup olmadığınıza bağlı olduğunu düşünüyorum.
J. Polfer

Ayrıca, bu çıkış anahtarının nerede olduğuna ve hangi voltajların (durumlara!) Sahip olduğunuza da bağlıdır.
XTL

Herhangi bir dijital mantık gibi yüksek ve alçak iki durum. Eğer bisiklet sürdüğünüz birden fazla durum yapmak istiyorsanız, bunun bir mikro denetleyici gerektireceğini düşünüyorum. Bunun için devrenizde muhtemelen bir tane olurdu.
endolith

2 invertörlü çözümü seviyorum. Bunun 30V @ 1A'ya geçiş yapabilmesi için neyin gerekli olacağını merak ediyor musunuz?
stevenrcfox

@Overlow: Bir güç transistörü ile çıkış transistörü değiştirin veya röle
Endolit

Yanıtlar:


9

İşte iki invertör ve debouncing ile başka bir alternatif :

Two inverters

Lojik çıkış için sadece iki invertör, RC ve geri besleme direnci gereklidir:

enter image description here

NC7WZ14 , 2 invertör, küçük 6 pinli paket ve Schmitt tetik girişleri ile 0,06 $ ' dır , ancak bu devrenin RC nedeniyle Schmitt girişlerine bile ihtiyacı olmadığını düşünüyorum. Ayrıca 24 mA çalıştırabilir, bu nedenle herhangi bir nedenle bir LED kullanıyorsanız LED'i doğrudan ona bağlayabilirsiniz.

Ayrıca burada ve burada geçiş dokunmatik anahtarı olarak gösterilir .

Düğmeyi basılı tutarsanız salınımın önlenmesi için geri besleme direncinin merkez direncinden çok daha küçük olması gerektiğini düşünüyorum, çünkü çıkışa düşük empedanslı bağlantı, kapasitörün siz bırakana kadar orta gerilime şarj olmasını önleyecektir.

Varyantlar Press ON - OFF OFF yumuşak mandallama devrelerine basın :

AND gate variant


Bu ilk açıldığında, çıkış açık mı, kapalı mı yoksa rastgele mi başlayacak? Sadece devreyi inceleyerek, çıkış açıkken güç vereceğini tahmin ediyorum.
Craig McQueen

@CraigMcQueen İlk açıldığında, kapasitör üzerinde 0 V olacaktır. Böylece ilk devre AÇIK konumda başlayacaktır. Kondansatörü toprak yerine kaynağa bağlayın, KAPALI konumda başlayacaktır.
endolith

@CraigMcQueen Aslında bu garantili mi? Emin değilim. İnverterin düşük çıkış empedansı 220k direnç üzerinde hakim olacaktır, bu yüzden rastgele bir durumda başlayabilir.
endolith

Vout 0 olacak şekilde, 0.01 jxF kapasıtoru 0 V ile başlar gösterilen son devre @CraigMcQueen
Endolit

@ endolith VCC'nin son görüntüsünün neresine bağlandığı? Zemin ve Vout görüyorum.
Mike

7

Olası bir yöntem:

Düğmeyi kaldırmak için bir RC kullanın

RC network connected to momentary switch to debounce

ve daha sonra çıkış T giriş flopunu uygulamak için girişe geri beslenecek şekilde bir D flip-flop içine besleyin.

D flip-flop configured as toggle flip-flop

D flip-flop'un yalnızca pozitif kenar tetiklemeli olması ve ters çevrilmiş çıkışa ihtiyacı vardır.

  • 8-pin NC7SZ74 çalışmalı, çok küçük ve maliyeti 0,12 $.
  • 74HC74, $ 0.05 karşılığında 14 pimli bir çift D flip-flop.

Bununla ilgili herhangi bir sorun var mı? Saat girişini tetiklemek için yükselme süresi için düğmenin kısa bir süre basılı tutulması gerekir, ki bu muhtemelen iyidir. Düğmeyi basılı tutarsanız, yalnızca bir kez tetiklenir, bu da iyidir. Bunun yerine geri bildirim döngüsünde ya da başka bir şeyden çıkmanın daha iyi bir yolu var mı?


5
Gerçekten düğmedeki girişte bir schmitt tetikleme tamponuna ihtiyaç duyar (veya flip-flopta da işe yarayacak schmitt tetikleyici girişleri varsa). Aksi takdirde, düğme bırakıldığında saat girişi yavaşça yükseldiğinde FF anlık olarak salınabilir. (Bu, sökme kapağı ve direncinin dikkatli bir şekilde seçilmesiyle hafifletilebilir, ancak asla ortadan kaldırılmaz)
Connor Wolf

Geri dönmeyi önlemek için geri bildirim yolunda bir RC filtresi de kullanamaz mısınız?
endolith

6

Ya da tek bir küçük 6 pimli mikrodenetleyici ile ve başka hiçbir bileşenle yapabilirsiniz. Biraz daha pahalıya mal olabilir, ancak daha basittir ve daha az yer kaplar. Yazılımda bir anahtarın kaldırılması basittir, o zaman çıktının yüksek veya düşük olması gerekiyorsa, bir boolean depolamanın bir yoludur. Bu mcu'nun en küçük versiyonu 2mm x 2mm yüzey montaj paketinde gelir. Büyük miktarlarda 0,50 dolar olabilir.

toggle schematic


+1 - Ama bu kısmın sadece SMT'de geldiğine inanıyorum.
J. Polfer

1
Evet ama en ucuz mikrodenetleyici bile basit dijital mantıktan daha pahalıya mal olacak. Basit bir görev yapmak için oldukça karmaşık bir sistem ve kendinizi yazılım hatalarının dünyasına açıyorsunuz. Ayrıca, her mikro programlama için üretim maliyetlerini artırır mı?
endolit

Böylece dijital giriş olarak ayarlanmış PB0'da dahili çekme direncini kullanır ve ardından tetiklemek için topraklarsınız, değil mi? Anahtar bu şekilde seri olarak bir dirence ihtiyacınız olmamalıdır.
endolit

1
@TokenMacGuy PB0 bir çıkış değil, bir giriş olacağından PB0'dan GND'ye hiçbir akım akmamalıdır. @endolith doğru, dahili pull-up kullanarak harici pull-up gerekmez. (Ayrıca, pull-up, dahili veya harici pull-up ile anahtarla seri değildir). SMep'e gelen @heepsimulator sadece hobi için bir sorundur. Bu durumda, fazladan bir veya iki dolar sorun olmaz ve 8 pimli DIP ATtiny25'e kolayca çıkabilirsiniz25.
davr

@endolith Sanırım uygulamaya bağlı. Her zaman ödünleşmeler vardır. Cihazın en temelinden başka her şeyin içinde bir tür mantık vardır. Kendinizi yazılım hatalarının dünyasına açtığınızı söylemek o kadar da büyük bir şey değil ... mcu olmadan mantık gerçekleştirmek için bir çeşit dijital / analog devre inşa ettiğiniz için kendinizi donanım hatalarına açıyorsunuz.
davr

1

Bu devre ( burada da açıklanmaktadır ) çok ucuzdur, ancak daha karmaşıktır ve tüm bileşenlerle biraz yer kaplar. Transistörler büyük miktarlarda 0.02 $ gibiyse, toplamda 0.10 dolar olabilir mi?

3-transistor latching switch


0,02 $ ... belki burada 27.000 tane satın alırsanız: search.digikey.com/scripts/DkSearch/…
davr

1
$ 0.03 gibi küçük miktarlarda $ 0.02 gibi korkunç bir sürü ...
SingleNegationElimination 18:10

1.4 sent için 3904'ler: newark.com/on-semiconductor/mmbt3904lt1g/… Yüksek miktarlarda, kapasitörler 1 cent gibidir ve dirençler bir cent'in 1 / 10'u gibidir.
endolith

Transistör Q2'nin, tabandan akan akımı sınırlamak için taban üzerinde bir dirence ihtiyacı varmış gibi görünüyor.
Craig McQueen

1

Bir pozitif kenar tetiklemeli jk flipflop girişlerini kısaltarak bir T flip-Flop yapın ve buton çıkışını jk flip flop'un saat girişine bağlayın.

schematic

bu devreyi simüle et - CircuitLab kullanılarak oluşturulan şematik


0

Bunu yapmanın "dolaylı" bir yolu olduğunu biliyorum, ancak sparkfun gibi bir salon efekt sensörü alabilirsiniz: http://www.sparkfun.com/commerce/product_info.php?products_id=9312

ve sadece bir mıknatıs kullanın, bu özel salon efektinin mandallandığını (zor yoldan) öğrendim, bu yüzden ihtiyacım olan şey için işe yaramayacak, ancak teoride aradığınız şey için işe yarayabilir gibi görünüyor .

Bir breadboard'a taktım, sanırım bir direnç kullanmış olabilirim (muhtemelen bir ay oldu, bu yüzden detaylarda biraz bulanıkım) ve mıknatısı yakın (anlık) hareket ettirdiğimde sensörü kapatır ve orada git.


1
Nasıl "mandalını" açmak istiyorsunuz? Mıknatısı sensöre ikinci kez yaklaştırmak onu devre dışı bırakmaz, değil mi?
davr

"Temizlemek" için mıknatısın polaritesini tersine çevirmek zorunda olacağına inanıyorum. Ama emin olmak için test etmek için tekrar evde takmak zorunda kalacağım, ancak "sıfırlama" ne kadar sürdüğüne bakıyorum gücü keserseniz. Belirli bir süre için gücü (çok uzun olmaması şartıyla) öldürerek yapacağım projem için kullanabilirim
onaclov2000

0

En kolay alternatif, alternatif bir basmalı düğme kullanmaktır.

Farklı konumlarda kilitlendiği gerçeğini görmezden gelirseniz, neredeyse bir anlık anahtar gibidir. Bunun sorunun ruhu olmadığını anlıyorum, ancak yazılım ve harici donanım gerektirmeyen basit ve kompakt bir çözüm.


0

Son hedefin tam olarak ne olduğundan emin değilim ama bunu oraya koyacağımı düşündüm:

Bu, iki durumlu röleleri çalıştırmak için kullanmak istediğim harika bir küçük devredir. İnşa etmek de oldukça ucuz.

Anlık anahtara basmak rölenin ve LED'in durumunu değiştirir. Düğmeyi ne kadar basılı tuttuğunuz konusunda gerçekten seçici değil. Röle kilitlendiğinden, çoğu zaman fazla akım çekmez.

Bu yapılandırmada, röle ayarlanmış durumdayken LED yanar ve röle sıfırlandığında söner. R7 sıfırlandığında LED'in yanması için R7'yi C3'ün + terminaline de bağlayabilirsiniz.

Bunu gitar efektlerinde kullanmayı seviyorum, böylece cihazı anlık bir ayak pedalıyla atlayabilir veya devreye sokabilirim. Tabii ki bir 3PDT anahtarı aynı şeyi kendi başına yapardı, ancak anahtarlama bu şekilde daha sessizdir (büyük pop yok) ve anlık yumuşak dokunmalı ayak pedalları büyük 3PDT olanlardan çok daha hoş hissediyor.

Bu yardımcı olur umarım.

Latching Relay Driver


0

Sadece yazılımda yapamaz mısın?

Düğme, programlanabilir bir cihazda bir giriş olacak mı, yoksa donanım alanında geçiş yapmanız mı gerekiyor?

Düğme durumunu bellekte depolayarak, anlık bir anahtarı geçiş olarak kullanmak oldukça kolaydır.

boolean buttonState = false; // store for toggle state, false = off true = on

if(yourButton == HIGH && buttonState == false) // if button is pressed and toggled off
{
     Serial.println("Button Toggled On"); // do something while button is on

     buttonState = true // set button state to on
}

if(yourButton == HIGH && buttonState == true) // if button is pressed and toggled on
{
     Serial.println("Button Toggled Off");  // do something else while button is off

     buttonState = false // set button state to off
}

Maalesef bu işaretin dışındaysa, bu cevap bir MCU veya programlanabilir çip kullanmanıza bağlı.


Şahsen, bağımsız bir çözüme ihtiyacım var, ancak sorunun genel olması gerekiyor.
endolith

1
Evet, bu bir mikroişlemciniz olduğunda kesinlikle mantıklı bir çözümdür. Ayrıca, geçiş sırasında anahtarlar ve düğmeler gürültülü olduğu için "açmayı" da uygulamalısınız.
Craig McQueen
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.