Picproje Elektronik Sitesi

DİJİTAL & ANALOG ELEKTRONİK => Temel Elektrik/Elektronik => Konuyu başlatan: ttg - 17 Kasım 2013, 18:26:04

Başlık: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: ttg - 17 Kasım 2013, 18:26:04
Merhabalar,

uzun süredir aklımda dönüp duruyor. Bizim cep telefonlarında olduğu gibi güç tuşuna basılı tutarak açma ve kapama işlemlerini yapmak istiyorum. Bu işlemin bir adı var mı araştırabileceğim? Ya da kolay bir işlemse mantığı nedir?

Aklıma işlemciyi güç tasarrufu moduna almak gibi çözümler geliyor ama sanırım daha etkili bir yöntem kullanılıyordur?
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: camby - 17 Kasım 2013, 19:06:05
İşlemci sleep'te ise Bir R-C ile yapılabilir. Yeteri kadar büyük R üzerinden C dolunca , CPU'ya sleep'tan kalk sinyali gider.

Ama donanımsal değil de yazılımsal da yapılıyor olabilir. Telefon kapalı olsa da CPU sürekli açıktır. Butona bastığımızda klasik timer başlar , taştığında init başlar.

yada yine sleepte olsun ilk basıldığında sleep'ten low power olarak kalkar ve basılı durup durulmadığı için timer başlar , ya init'e başlar yada sleep'e geri döner.

vsvsvs
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: ibrsel - 17 Kasım 2013, 19:06:36
Tuş basılı olduğu sürece timer ı çalıştırıp süreyi kontrol edersin. Örneğin 1500 ms basılış ise işlemini yaptırırsın.
Ben cevap yazarken @camby hocamda cevap yazmış...Ben bu tür işlemlerde genellikle timer kullanıyorum yada basitce WHILE WEND döngüsü içerisinde (butona basılı olduğu sürece) bir değişkenin değerini arttırırsın. Belirli değere ulaşmış ise işlemini yaptırırsın.

ÖRNEK:

main:   
     sayi=0
   WHILE buton=1
         sayi=sayi+1
         delayms 10
   WEND
         if sayi>15000 then GOTO ...
GOTO main     
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: camby - 17 Kasım 2013, 19:39:53
Alıntı yapılan: ibrsel - 17 Kasım 2013, 19:06:36
Tuş basılı olduğu sürece timer ı çalıştırıp süreyi kontrol edersin. Örneğin 1500 ms basılış ise işlemini yaptırırsın.
Ben cevap yazarken @camby hocamda cevap yazmış...Ben bu tür işlemlerde genellikle timer kullanıyorum yada basitce WHILE WEND döngüsü içerisinde (butona basılı olduğu sürece) bir değişkenin değerini arttırırsın. Belirli değere ulaşmış ise işlemini yaptırırsın.

ÖRNEK:

main:   
     sayi=0
   WHILE buton=1
         sayi=sayi+1
         delayms 10
   WEND
         if sayi>15000 then GOTO ...
GOTO main     

Timer doğru tabi ama arkadaş aslında işlemci kapalı iken bu iş nasıl yaptırılır diye sormaya çalışmış. Bu açıdan bakınca soru biraz daha derinleşiyor.
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: ttg - 17 Kasım 2013, 21:34:01
Cevaplarınız için ayrı ayrı teşekkür ederim. İki türlüsünü de merak ettim açıkçası. Aç-kapa switch i yerine basılı tutma usulü bir buton kullanmak kullanıcıya daha çok hitap ediyor sanırım.

Bu arada R üzerinden C'nin dolması derken bir girişe bağlayıp kesme ile sleepten çıkarmadan bahsetmiştiniz değil mi?
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: camby - 17 Kasım 2013, 21:44:30
evet , harici kesmeler ile cpu yada mcu'lar sleep'ten uyandırılabiliyor. Farklı farklı yolları da var.
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: Bayramsumbul - 18 Kasım 2013, 00:32:13
Aklıma geldi sadece denemesini yapmadım.Basılı kalan sürede bir kapasitör dolmaya başlasa,Sonrada belli bir gerilime ulaştığı zaman bir mesela diyot iletime geçer ve sinyal oluşturur.
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: papsukkal - 18 Kasım 2013, 00:48:14
@bayramsumbul hocam r c ile aynı sizin söylediğiniz aynı mantik.

Bir de benim aklıma gelen şöyle bir şey var.
Butona basınca kesme oluşur ve işlemci uyanır, timer saymaya başlar.
İstenilen değere kadar butonu lojik1 veya lojik 0 görürse işlemci açılışa devam eder.
Eğer istenilen zamandan önce buton bırakılırsa sleep komutu tekrar devreye girer. Yani uykuya devam. . .
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: picusta - 18 Kasım 2013, 12:26:17
Röle mantigindaki butona bas açilsin,  baskasina bas kapansin mantigi transistörlerle yapilamaz mi?
Power Button 'una parallel bir transistor olsa, islemci uyaninca bu transistörü iletime geçirse (geçirebilirse).
buton birakilinca akim burdan geçse, sonra islemci transistörü kapatsa.
Olabilir mi ?

Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: SpeedyX - 18 Kasım 2013, 13:28:40
picusta nın bahsettiğini şahsen kullandım. Ladder diagramdaki kilitleme devresi gibi. Bir buton besleme veriyor, butona paralel transistör var, işlemci hemen transistörü sürüyor ve buton bırakılsa bile transistör üzerinden besleme alabiliyor. Daha sonra bir şart sağlanınca transistörü kesime götürerek kendi enerjisini kesiyor ve bir daha butona basılana kadar çalışamıyor.
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: papsukkal - 18 Kasım 2013, 22:58:37
burada istenen butona basınca işlemciyi açmaktan ziyade örnek veriyorum 3sn butona basılı tutunca işlemciyi açmak. butona basıp bırakınca tepki almamak

diye anladım ben  ? :o
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: Maxim - 18 Kasım 2013, 23:04:13
2 transistor + 2 i/o port + 1 buton ile yapılıyordu
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: picusta - 21 Kasım 2013, 22:42:37
Birkaç aksamdir breadboard üzerinde denemeler yapiyorum.

Maksat buton'a basip birakilinca timer devreye girsin ve led belli bir süre (10sn) yansin ve sonra kendisi kapansin. (merdiven otomatigi).

Fakat bunu minimum enerji harcayarak yapmak istiyorum. Kullanim sIklIgI az (günde 2-3 kere).


Pil birkaç yüz mah, NE555 ise 3ma  çekiyor. Ben en az 1 -2 yil dayanmasini istiyorum.

NE 555 astable mode'a çalissin, Enerji verilir verilmez ON olsun, MOSFET'i iletime geçirsin. 10 sn sonra kapansin ve MOSFET'i de kapatsin.
Devreyi ikiye bölüp denedim :
1) MOSFET ve buton paralel On, OFF : OK.
2) Astable devre : NE 555 sürekli beslemde iken trigger giris kullanarak 10 sn on astable devre yaptim.

ikisini birlestirince alttaki gibi bir sema denedim ama umdugum sonucu alamadim.
NE555 diger bacak baglantilarini bilerek çizmedim, bu kisimda yardimlarinizi bekliyorum.
Besleme geldiginde nasil baslatabiliriz (trigger) ?
(http://imageshack.com/a/img833/9594/40nr.png)

NE 555 ile ugrasmayip yerine ufak bir MCU 'mu koysam yoksa ?



Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: z - 22 Kasım 2013, 03:22:09
(http://t3.gstatic.com/images?q=tbn:ANd9GcQvx0vLWK9sq4-g8mO_4aZFaSoeYJVCh2fdXXPriUi_z0x3LqGZxg)

Q1 Transistorunun CE arasina 100nF bagla.
Trigger butonuna 100nF paralel bagla.

mesaj birleştirme:: 22 Kasım 2013, 03:37:26

Q1 uclarina baglanan C1 kaldirilabilir. Cunku enerji verildigi anda calissin denince ben pil baglaninca anladim.

555 yerine 7555 kullanisan pil tuketimi iyice azalir.
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: picusta - 22 Kasım 2013, 17:23:51
Hocam açiklamalari tam anlayamadim.

- Q1 Transistorunun CE arasina 100nF bagla.

Anladim sanirim, benim semadaki NPN transistörün uçlarina 100nF baglayim. Bu transistörün isi 555 Output'u dusunce 555 'in enerjisini kesmek.

- Trigger butonuna 100nF paralel bagla.

Bu hangi buton ? benim semada sadece bir buton var o da SW1. Birkaç ms ON kalacak, sonra OFF.  OFF'ken MosFET iletime geçecek.

- Q1 uclarina baglanan C1 kaldirilabilir. Cunku enerji verildigi anda calissin denince ben pil baglaninca anladim.

Q1 birin uçunda C1 yok. Basta bahsettiginiz 100nF 'mi ?   Enerji verildigi demek, SW1 ON olunca demek. Pil hep bagli ama MOSFET her zaman iletimde degil, 0 uA hariciyor.

Sizin verdiginiz semada ki C1 ise zamanlamayi nasil yapacagiz  ?


- 555 yerine 7555 kullanisan pil tuketimi iyice azalir.
Evet 5 kati daha azalir. 3 gün yerine 15 gün gider (200 mAh, 3mA,  60uA). benim hedefledigim 2 sene.  Bu devre ile 555 yerine MCU olabilir. veya 555 'in yanina MCU koyabiliriz.

Q1 'in bazina direnç koyayim.


Verdiginiz devre astable çalisma,
benim istedigim o trigger girisini enerji verildiginde (SW1 kapaninca) tetikelemek (LOW yapmak)  ve MOSFET'i iletime geçirmek. Süre bitince MOSFET'i kesmek.




Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: z - 22 Kasım 2013, 17:37:01
Soruya bakınca googledan monostable şeması arayıp eklemiştim.

Soruya yaklaşım şu şekilde. Eğer monostabl MMV nin tetikleme pini varsa ve örneğin bu giriş lowa çekilince tetikleme yapıyorsa bu pine pull-up resistör bağlayıp aynı zamanda bir C ile Gnd'ye çekilirse isteğiniz karşılanır.

Voltaj verildiğinde C trigger girişini lowa çekerek sanki butona basılmış etkisi gösterir.

NPN uçlarına paralel kapasitör bağlamamın sebebi aslında yanlış anlamadan kaynaklandı. Enerji verildiğinde tetiklensin denince pil bağlantısı yapıldığında tetiklensin dendiğini sanmıştım. Fakat buradaki istek pil bağlantısı yapılınca değil power butonuna basıldığında tetiklensin galiba. Sonuçta NPN uçlarındaki kapasitörün amacı pil bağlandığında MOS kapasitör üzerinden ilk anda iletime geçip 555 beslemesini darbe olarak verecekti.
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: picusta - 23 Kasım 2013, 00:48:37
Sagolun hocam, simdi breadboard'a kurdum harika çalisiyor.
Semada su degisiklikler yapilmasi gerekir :
1) Trigger : Z'nin degi gibi RC low pass filtre   :  Vcc (NE 555'in) Trig arasi direnç (10k) + Trig gnd arasi kond. (1uF)
2) Kesinlikle NPN kullanilmamali onun yerine N MOSFET kullanilmasi gerekiyor, yoksa P MOSFET kesilmiyor. MCU CMOS çikisi olur.
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: xoom - 23 Kasım 2013, 09:36:46
PicUsta hocam şu devrenin tüm Halini çizdiyseniz paylaşırmısınız.. 555'in uçları dahil..
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: Ramiz - 23 Kasım 2013, 14:40:12
Şöyle olsa,

nanowatt mcu lar şu sıralar revaçta. 6-8 pinli olanlardan kullanıp, mcu nun reset bacağına buton bağlasak?

main döngüsünde ilk başta belirlenen süre kadar lambayı yaksa yada röleyi çekse, sonra uyku moduna geçse? uykuda kaldığı süre içersinde 10-20 nA akım çekecek. 555 li şemadan daha az akım çekmiş olmazmıyız?
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: olemiss - 23 Kasım 2013, 16:08:53
Bunun süper bir soru olduğunu yazmak istiyorum.  Soruya verilen cevaplar çok öğretici, fakat aklımı esas meşgul eden şey şu oldu: "bu konuyu sormayı ben niye akıl edemedim?!" ;-)  Akıl akıldan üstünmüş diye boşuna dememişler.  Teşekkürler.
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: selimkoc - 23 Kasım 2013, 21:11:15
Bir de aşağıdaki linkteki yazıyı inceler misiniz?

http://elektrokod.wordpress.com/2013/11/18/buton-kontrolu/ (http://elektrokod.wordpress.com/2013/11/18/buton-kontrolu/)
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: picusta - 23 Kasım 2013, 22:32:33
Yogun istek üzerine semayi çizdim.    https://www.circuitlab.com/ (https://www.circuitlab.com/)  20 dkk 'lik bedava sürümünü kullandim, o yüzden tekrar çizdim.

Breadboard'da çalisan ve elimde olan malzemelerimle yaptigim hali. Degerleri uygulamaniza göre seçin.
MOSFET'ler güç mosfeti, bu referanslar yerine daha düsük güç kullanabilirsiniz, hele IRF540 için hiçbir güç söz konusu değil.
P-MOSFET arkasina baglanacak yüke göre degisir.

Yanlisim varsa düzeltin, ama butona basilmadikça devre 0A harciyor. OFF durumundayken P-MOSFET üzerindeki kaçak akim ve 100k ve N MOSFET üzerindeki kaçak akim kadar harcar. Nanowatt değil, pico watt bu devre.
Devamina herhangi bir MCU veya devre koyabilirsiniz.
Diyelim devremizde motor sürücüsü, step-up,  LCD, LED entegre var, bu entegreler akim çekmeye devam ettikçe MCU nanowatt'a sleep olsa da olur olmasa da olur.
Nanowatt islemciyi PMOSFET'ten önce koymalisiniz ve NE555'in islevini yerine getirmeli (devreyi iletime geçirmek için N-MOSFET'i sürsün, sonra kapatsin)

Sonradan fark ettigim birkaç hatayi düzelteyim :
- NE555 yerine 7555 kullanirsak 5 değil 50 kat fark olur (hesap hatasi)
- Z'nin dedigi gibi astable değil, monostable devre olacak. Yazi sürçmesi, astable olarak yazdigim yerleri monostable olarak okuyun.
(http://imageshack.com/a/img850/1527/vnvz.png)


Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: Ramiz - 24 Kasım 2013, 00:00:36
Akım normal şartlarda R1 ve M2 üzerinden akmaya çalışır ama dediğiniz gibi pikoamper gibi çok düşük seviyede olur. Ben en başta 555 i sürekli enerjileyeceğinizi düşünmüştüm. O yüzden nano amper seviyesine dikkat çekmek istemiştim :)
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: xoom - 24 Kasım 2013, 10:37:35
picusta hocam paylaşım için teşekkürler..bu arada..
Arkadaşlar konu sonradan başka bir devreye dönüşmemiş mi ben mi yanlış anlıyorum..
Konu Başlığında Uzun Basınca Açılan tekrar Uzun Basınca Kapanan devre üzerineyken.
Son durumda sanırım..
Basınca 20sn çalışıp duran devreye dönüşmüş..

Acaba Tekrar ilk Mesajdaki ihtiyaç üzerinden bir devre içinde böyle bir şema oluşturabilir miyiz? Uzun Basınca İşlemciyi (Uyandıran) Tekrar Uzun basınca (Uyutan)
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: picusta - 26 Kasım 2013, 17:05:48
Sorunun kolay cevabi, islemciyi P MOSFET 'ten önce koymak, böylece islemeci hep beslenir, ama çogu zaman uykuda geçirir. Gereken tek sey islemciyi uyandirabilen bir input bacagi, gerisi yazilim.
islemci uyanir 2sn buton basili kalmismis diye kontrol eder, P MOSFET'i açar, devrenin kalani beslenir.
Daha sonra kullanici butona 2sn daha basinca islemci bunu kontrol eder (farkina varir, interrupt veya pooling) ve kapanmasi gerektigini anlar. MOSFET'ti kapatir, ve kendini uykuya alir.

Islemcinin uyku modu yoksa, veya devre aslinda NE555 ise, bu kontrol kismi mosfet'ten sonraya alinabilir ve asagidaki gibi kullanilabilir :

(http://imageshack.com/a/img850/9493/yi38.png)
Başlık: Ynt: Basılı tutunca açılıp kapanan sistemler nasıl çalışır?
Gönderen: ercan_t - 26 Kasım 2013, 17:21:58
merhaba,

picustanın bahsettiğine benzer bir devre rastlamıştım;


(http://www.maximintegrated.com/images/appnotes/3283/3283Fig01.gif)

sanırsam MCU GPO ile kendi kapatı kapatıyor, GPI ile Butonu algılıyor(basılı tutuldumu diye)..

alıntı:
http://www.maximintegrated.com/app-notes/index.mvp/id/3283 (http://www.maximintegrated.com/app-notes/index.mvp/id/3283)