pic ile power on power off

Başlatan enrique_iglesias, 24 Mart 2015, 03:10:30

enrique_iglesias

Arkadaşlar merhaba;
iki gündür uğraşıyorum işin içinden çıkamadım yardımcı olursanız sevinirim...

Şöyle bir şey yapmak istiyorum.
bir butona basılınca pnp transistörün beyzi gnd'ye çekilsin pic enerjilensin ve çalışsın çalışınca pic bu pnp transistörü gnd'ye çekmeye devam etsin ve böylelikle kendi kendini çalıştırsın.
Sonra aynı butona basıldığını algılasın ve bu gnd'ye çekmeyi bıraksın enerji kesilsin pic kapansın.
Nasıl olur bu çıldırmak üzereyim...




Maxim

pic te 1 uç daha kullanman lazım
yani butona bastıktan sonra pic calismaya başlayınca butona bastığını anlayacak
çıkışını aktif hale getirecek
sen elini çeksende çıkış hala aktif olacağından pic çalışmaya devam edecek
sonra aynı şekilde butona basınca pic bunu bilecek ve çıkışı kesecek

hatta buna benzer birşey yapmıştım ben

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

sadogan

Bu devre ile bol bol transistor yakarsın. Transistor EB gerilimi 0.7 volt olmak durumunda.
Sizin devrede nerdeyse besleme gerilimine eşit.
Ayrıca böyle bir yapıya gerek yok.
Kullandığın pic' i uyumaya alırsın. Button a basınca işlemci uyanır ve işlemlerini yapmaya devam eder
görevi bitince tekrar uyur.

enrique_iglesias

Peki doğru şema nasıl olur? Uyku modu kullanmak istemiyorum pil tasarrufu için

sadogan

uyku modu pil tassarufu için zaten

enrique_iglesias

Biliyorum ama yeterli değil devrede pull down dirençleri var lcd var, uyku modunda yaklaşık 4mA çekiyor 250ma pil ile 3 güne bir pil değişmek zorunda kalacağım bu sefer....

ete

Biraz akıl oyunu ile istediğiniz yapmak zor değil. Önce parametrelerimizi belirleyelim. Bize ne lazım?
- Sistem kapalı iken akım çekmemesi gerekiyor.
- Bir buton ile sistemi açıp aynı buton ile kapatmalıyım.
Şimdi nasıl olacağına bakalım. Bir buton üzerinden HIGH sinyali 4K7 dirençten geçirerek bir NPN transistörün Beys ucuna verirsem o transistörü aktif hale getirebilirim. Bu transistör de bir PNP transistörü aktif hale getirip Pic için gerekli olacak +5V (yada 4,96V) Collectorundan çıkartır.
Pic beslemesinide bu bacağa bağlarsam butona bastığım müddetçe pic çalışır. Elimi butondan çekersem besleme kaybolur . O halde bana ikinci bir set özelliği gerekiyor. Bunuda pic den bir pin kullanarak halledebilirim. Bir diyot yardımı ile pic pininden aldığım HIGH sinyali NPN transistörü süren 4K7 direncin giriş ucuna verirsem elimi butondan çeksem bile sistem çalışır halde kalacaktır.
O halde toparlarsak, Butona bastım pic'e voltaj geldi pic çalıştı. Çalışır çalışmaz bir pinden HIGH çıkardı ve oda NPN transistörü sürekli aktif halde tutuyor. Burada kilit nokta bu pic den HIGH olarak çıkan sinyaldir. Bu sinyali kesersem sistem otomatik olarak kapanacaktır.
Şimdi aynı butona tekrar basalım. Değişen hiç bir şey olmayacaktır. Üstelik pic bu butona basılıp basılmadığını bile anlamayacaktır.
O halde bize lazım olan şey butona basılınca pic aktif ise yani sistem açık ise bana bir şekilde LOW dan HIGH a geçiş yada tersi bir şey yapması gerek ki işlemci butona tekrar basıldığını anlayabilsin. O halde bana ilave bir iki şey daha gerekli.
Butonadan alıp NPN transistörü sürdüğüm ucu 2 adet 1N4148 diyottan geçirsem. İki diyotun birleşme noktasından bir uç alsam ve bu ucu da 10K ile GND ye bağlarsam bu nokta Butona basıldığında HIGH basılmadığı zaman LOW olacaktır. İşte ikinci püf noktasıda burası olacaktır. Bu noktayı da Pic'e girip ya kesme yaratacak şekilde (PORTB.0) bir bacağa bağlarsam yada arada bir o bacağı test edersem ve o bacak HIGH olduğu zaman gidip NPN transistörü süren pini LOW a çekersem sistem istediğim gibi çalışacaktır.
Bu açıklamaları şema ile desteklemedim ama anlatımımdan kolaylıkla halledebileceğinizi düşünüyorum.
Tek dikkat edilecek husus şudur. İlk açılışta sistemi set eden 1 nolu HIGH çıkışı BASLA satırından evvel set edilmelidir.
Sistem çalışmaya başladı ve program bu sefer kapatma için o noktayı test etmeye başlayacak ve orada HIGH var ise kapat diyecektir. Bunu önlemeinin bir kaç yolu var. Birincisi programı BASLA satırından evvel o noktada LOW oluncaya kadar (tuş bırakılıncaya kadar) bekletmek veya bir işaret değişkeni (ILK) kullanarak bu değişken değerini tuş bırakıldıktan sonra 1 yaparak ancak ILK=1 ise ve o tuşa yeniden basılmış ise çıkışı LOW yapmak şeklinde bu sorun aşılabilir. Veya o noktanın puls üretmesini sağlamak gerekir. Bu palsi kullanarak da kesme oluşturmak ve kesme içinde çıkışı LOW yapmak da bir çözüm olabilir. O noktanın puls üretebilmesini 10K dirence paralel bağlayacağınız 10-100uF kondansatör sağlayacaktır.

Sonuç olarak böyle bir sistemin yapılması için pic den 2 pin kullanılması zorunludur. Size uyuyor ise anlattıklarıma uygun bir şey yapabilirsiniz.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

RaMu

#8
Konu başlığından ötürü pic ile yapılabilecek çözümlerden bahsedilmiş sanırım.
ama transistör veya role ile veya sayısal entegrelerlede yapılabilir,
http://www.talkingelectronics.com/projects/200TrCcts/101-200TrCcts.html#20a





Flip flop larlada yapılabilir.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

enrique_iglesias

#9
Ete hocam allah razı olsun çok güzel tarif etmişsiniz akşam hemen bir deneyeceğim....

mesaj birleştirme:: 24 Mart 2015, 14:26:15

Ete hıcam 9v için tariflerinizle bir şema çizdim doğrumu yaptım acaba?




enrique_iglesias

Arkadaşlar sonunda başardım,
Butona 3000ms basıldığında pic enerjilenip çalışıyor ardından aynı butona basıldığında kapanıyor....
Öğlenden beri çalışıyor bir sorun çıkmadı umarımda çıkmaz :)
Yardımcı olanlara tekrar teşekkürler....






z

Çalışmaması lazım.

R4 ile Q3 beyz bacağı arasına bir direnç bağlamak şart görünüyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

ete

#12
Tarifini ettiğim şema aşağıdaki şekilde idi.



Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

sadogan

Q1 iletime gectiğinde Q2 nin base emiter  üzerinde besleme gerilimini kısadevre eder Q2 base ine seri direnc unutulmuş

ete

#14
Doğru Q2 nin Base inde 2K2 direnç olması gerekir. Resmi düzelttim.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com