Button on-off latch devresi komponent seçimi

Başlatan isoment01, 06 Eylül 2019, 12:57:33

isoment01

Arkadaşlar nand gateler kullanarak button on-off latch devresi yaptım. Butona bastığımızda çıkış on, diğer bir basışta off oluyor. Sistem enerjilendiğinde çıkışın Low state kalmasını istiyorum fakat. Girişin kaynak ile bağlantısını kestiğimde kapatmadan önceki çıkış ne ise enerji verdiğimde o state'den başlıyor. Devreyi aldığım yerde C11 kapasitörünün sisteme enerji verdiğinde devrenin low state başlamasını sağlıyor diyor ama sorunu çözemedim. Bana o kapasitörlerin ve onlara bağlı dirençlerin devrede nasıl çalıştığını anlatabilir misiniz. Bunların optimum değerleri ne olmalı donanımcı arkadaşlar beni bilgilendirirse sevinirim acil ihtiyacım var.

taydin

Resim görülmüyor ama herhalde JK flip flop kullandın ve RESET girişinde de RC devre var. Tipik JK flip floplar 1us den çok daha az bir pals ile dahi durum değiştirir, o yüzden 1nF kapasitör bile yeterli olması lazım. Yani RESET girişini 10K gibi bir dirençle pull up yap, sonra da aynı giriş ile GND arasına 1nF bir kapasitör koy. Osiloskop varsa direkt olarak girişin durumunu gözlemle, bu şekilde en ideal kapasitör değerini seçebilirsin.

Mevcut devrende belki de çok yüksek değerli bir kapasitör koymuş olabilirsin. Bu durumda o giriş, lojik 0 ile lojik 1 arasındaki gri bölgede çok uzun süre kalır ve flip flop sapıtabilir.
Timur Aydın (mekatronik.org)

isoment01

Alıntı yapılan: taydin - 06 Eylül 2019, 13:17:10Resim görülmüyor ama herhalde JK flip flop kullandın ve RESET girişinde de RC devre var. Tipik JK flip floplar 1us den çok daha az bir pals ile dahi durum değiştirir, o yüzden 1nF kapasitör bile yeterli olması lazım. Yani RESET girişini 10K gibi bir dirençle pull up yap, sonra da aynı giriş ile GND arasına 1nF bir kapasitör koy. Osiloskop varsa direkt olarak girişin durumunu gözlemle, bu şekilde en ideal kapasitör değerini seçebilirsin.

Mevcut devrende belki de çok yüksek değerli bir kapasitör koymuş olabilirsin. Bu durumda o giriş, lojik 0 ile lojik 1 arasındaki gri bölgede çok uzun süre kalır ve flip flop sapıtabilir.
http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/electronic-circuits/push-button-switch-turn-on/latching-toggle-power-switch
hocam burdaki devreyi kurdum bana burdaki iki kapasitörün  ne yaptığını ve ideal RC hesabını anlatır mısınız. Burda buttonun girişi değil ama çıkıştaki ucunda pull down direnci yok. Ne kadar koymalıyım? Birde uzun bastığımda çıkış durumunda değişme olmaması gerek. Anca tekrar basısta durum değişmesi gerek.

taydin

#3
Kullandığın gate'in datasheet'ine bakman lazım. Mesela Renesas'ın CD4011BMS modelini kullanıyoruz.

https://www.renesas.com/us/en/www/doc/datasheet/cd4011bms-12bms-23bms.pdf

"Propagation Delay" ve "Transition Time" parametrelerine bakıp en kötü senaryoya göre mesela 1 µs tutarsak olur. Yani öyle bir RC devresi seçeceksin ki, 1 µs süreyle girişi lojik 0 eşiğinin altında tutacak.

Bir osiloskop kullanarak belli bir kapasitörün bu 1 µs süreyi sağladığından emin olabilirsin. Ama illa hesap ile yapmak istersen, kapasitörün şarj olması bir üstel fonksiyondur. Matematiğin kuvvetli ise şuradaki fonksiyonda belli bir Vc için t ne olması lazım? t yi denklemin solunda bırakmayı deneyebilirsin. Ben osiloskopla yapmayı tercih ederim.



Konu ile ilgili daha kapsamlı bilgi:

 https://www.electronics-tutorials.ws/rc/rc_1.html
Timur Aydın (mekatronik.org)

isoment01

#4
Alıntı yapılan: taydin - 06 Eylül 2019, 13:56:38Kullandığın gate'in datasheet'ine bakman lazım. Mesela Renesas'ın CD4011BMS modelini kullanıyoruz.

https://www.renesas.com/us/en/www/doc/datasheet/cd4011bms-12bms-23bms.pdf

"Propagation Delay" ve "Transition Time" parametrelerine bakıp en kötü senaryoya göre mesela 1 µs tutarsak olur. Yani öyle bir RC devresi seçeceksin ki, 1 µs süreyle girişi lojik 0 eşiğinin altında tutacak.

Bir osiloskop kullanarak belli bir kapasitörün bu 1 µs süreyi sağladığından emin olabilirsin. Ama illa hesap ile yapmak istersen, kapasitörün şarj olması bir üstel fonksiyondur. Matematiğin kuvvetli ise şuradaki fonksiyonda belli bir Vc için t ne olması lazım? t yi denklemin solunda bırakmayı deneyebilirsin. Ben osiloskopla yapmayı tercih ederim.

(Resim gizlendi görmek için tıklayın.)

Konu ile ilgili daha kapsamlı bilgi:

 https://www.electronics-tutorials.ws/rc/rc_1.html

propagation delay (28 + (0.23* CL) for  5 V typical 55ns diyor hocam.
bu sanırım hesabımı burda.Transition high ve low içinde benzer denklemler var peki nasıl kullanıcam. Tepkinin hızlı olması başlangıçta herzaman low state başlaması lazım ve basılı tutunca değişmemesi gerek ama sürekli biri olsa diğeri olmuyor.. Biraz daha açık örnekle açıklayabilir misiniz.
Pf ya da nF mertebelerinden CL eklesem baştaki sayıyı etkilemicek ve 28 civarı bişey bulacagım bu ne manaya geliyor..

z

#5


Bu meslege saygi guzel sema cizerek olur. Ne olur boyle semalar cizip goz zevkimizi bozmayin.

U10 transistorun yanlis baglanmis.  Asagidaki sema daha anlasilir.



Fakat bu haliyle de calismayacak. !!!!

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

isoment01

Alıntı yapılan: z - 06 Eylül 2019, 14:45:08(Resim gizlendi görmek için tıklayın.)

Bu meslege saygi guzel sema cizerek olur. Ne olur boyle semalar cizip goz zevkimizi bozmayin.
Bu devrede sürekli değişiklikler yapıldığı için biraz karıştı son hali tabiki de bu olmayacak.

taydin

Hmm şimdi VPN ile bağlanınca resim görüldü. Evet gene bizimkiler rastgele bir image host'u bloklamışlar herhalde :D

Öncelikle o linkini verdiğin "mosaic industries" deki devreyi bağımsız olarak kurup o şekilde çalıştır. Ondan sonra senin devreye entegre et.

Devre de hakikaten çok dağınık. bağlantı ek yerlerinde "dot" var mı yok mu belli değil. Belki de bazı teller bağlı olması gerekirken bağlı değil, veya tam tersi durum var. Düzgün çizilmiş bir devrede hata bulmaya çalışmak mantıklı.
Timur Aydın (mekatronik.org)

taydin

#8
Bir de çizdiğin şemada, devreyi oluşturan bloklar birbirinden iyi ayrılmış olsun. Böylece sinyal veya enerji akışını mesela soldan sağa görebilmemiz lazım.

Ama sende push button power devresi ile diğer devreler iç içe geçmiş.
Timur Aydın (mekatronik.org)

taydin

Alıntı yapılan: isoment01 - 06 Eylül 2019, 14:11:46propagation delay (28 + (0.23* CL) for  5 V typical 55ns diyor hocam.
bu sanırım hesabımı burda.Transition high ve low içinde benzer denklemler var peki nasıl kullanıcam. Tepkinin hızlı olması başlangıçta herzaman low state başlaması lazım ve basılı tutunca değişmemesi gerek ama sürekli biri olsa diğeri olmuyor.. Biraz daha açık örnekle açıklayabilir misiniz.
Pf ya da nF mertebelerinden CL eklesem baştaki sayıyı etkilemicek ve 28 civarı bişey bulacagım bu ne manaya geliyor..

Birçok senaryoya göre delayleri ölçmüşler ve yazmışlar. Vcc ye göre, yüklemeye göre, çipin radyasyon yediği duruma göre :D Bunların denklemi olmaz, bunları üretici deneysel olarak belirlemiş ve yazmış. Senin en kötü senaryoya göre tasarım yapman lazım.

"mosaic industries" linkidenki devrede butonu basılı tutmanın bir sakıncası yok. Dediğim gibi o devreyi ayrı olarak kur. 0.01 µF olan kondansatör ile senin işin, bu kondansatör ilk power verildiğinde çıkışın off olmasını sağlıyor. Diğer kondansator ise sadece buton basıldığında gate'in durum değiştirmesini sağlıyor. Çok hızlı peş peşe o butona basılması durumlarında onun değeri kritik olur. Bu uygulamada çok önemli değil.
Timur Aydın (mekatronik.org)

isoment01

#10
Alıntı yapılan: taydin - 06 Eylül 2019, 15:27:18Birçok senaryoya göre delayleri ölçmüşler ve yazmışlar. Vcc ye göre, yüklemeye göre, çipin radyasyon yediği duruma göre :D Bunların denklemi olmaz, bunları üretici deneysel olarak belirlemiş ve yazmış. Senin en kötü senaryoya göre tasarım yapman lazım.

"mosaic industries" linkidenki devrede butonu basılı tutmanın bir sakıncası yok. Dediğim gibi o devreyi ayrı olarak kur. 0.01 µF olan kondansatör ile senin işin, bu kondansatör ilk power verildiğinde çıkışın off olmasını sağlıyor. Diğer kondansator ise sadece buton basıldığında gate'in durum değiştirmesini sağlıyor. Çok hızlı peş peşe o butona basılması durumlarında onun değeri kritik olur. Bu uygulamada çok önemli değil.
100 nf kapasitör sanırım boşken başlangıcta enerji verdiğimde çıkış sıfır oluyor fakat buton ile durumu değiştirdiğimde ve enerjiyi kestiğimde en son hangi durumda ise ordan başlıyor. Şimdi en son açıkken ben enerjiyi kesersem ordaki 100nf dolu mu oluyor ? Bu yüzden mi çıkış bir oluyor.
Çünkü belirli bir süre geçtikten sonra tekrar çıkış sıfır olarak başlıyor.
Koyduğum 100K dirençlerin bir önemi var mı ?

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

isoment01

Alıntı yapılan: z - 06 Eylül 2019, 15:36:18

Belki bu daha mantikli.
hocam  benim orda ledli bir butonum var deaktif etmişsiniz ama o transistör neden ?

z

#13
Ben de ona bir turlu anlam veremedim ve onun opto tarzi bir sey olduguna karar vermistim.

Buton ise yeniden dusunmek lazim. Senin devrede U10 ne ise yariyor?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

taydin

Alıntı yapılan: isoment01 - 06 Eylül 2019, 15:34:13100 nf kapasitör sanırım boşken başlangıcta enerji verdiğimde çıkış sıfır oluyor

Hayır. 0.1 µF kapasitör çıkışı 1 yapmak için kullanılıyor. Ilk durumu yaratan 0.01 µF olan kapasitör.

Alıntı yapılan: isoment01 - 06 Eylül 2019, 15:34:13fakat buton ile durumu değiştirdiğimde ve enerjiyi kestiğimde en son hangi durumda ise ordan başlıyor. Şimdi en son açıkken ben enerjiyi kesersem ordaki 100nf dolu mu oluyor ? Bu yüzden mi çıkış bir oluyor.
Çünkü belirli bir süre geçtikten sonra tekrar çıkış sıfır olarak başlıyor.
Koyduğum 100K dirençlerin bir önemi var mı ?

İlk güç verildiğinde 0.01 µF olan kondansatör girişi GND yapacak ve dolayısıyla devre çıkışı da 0 olarak. Bu noktadan itibar de 0.01 µF, 100 kΩ olan direnç üzerinden deşarj olmaya başlayacak. Demekki 100 kΩ fazla geliyor.
Timur Aydın (mekatronik.org)