İşlemci pini kilitleniyor.

Başlatan mistek, 20 Şubat 2014, 08:20:53

mistek

İşlemcinin pin çıkışına bağlı bir transistör ve bunada bağlı bulunan mosfet var. Mosfet ile endüktif bir yükü uzun aralıklarla aç kapa yapıyorum. (Tuşa basıp açıp kapatıyorum.)

Şöyle bir sorun var.
Yük eğer led direnç gibi şeyler olursa sorunsuz açıp kapatabiliyorum. Ama ne zaman endüktif yükü açıp kapatmak istesem 1-2 kez açılıp kapanıyor sonrasında sürekli açık kalıyor. Daha doğrusu en son ne olduysa orada kalıyor. Program içerisine kontrol noktaları koydum İşlemci kilitlenmiyor gibi görünüyor.

Osiloskopta spikelara bakıyorum temiz gözüküyor yük uçlarında freewheel diyotu var.

Tuş'a bastığımı program anlıyor ancak yükü aç diyemiyor. Yük sadece led olursa hiç sorun yok patır patır açıp kapatabiliyorum. 

Bu tür durumlarda ne gibi önlemler anlamak lazım?

Ek olarak: Debug modda yine endüktif yüküde açıp kapatabiliyorum orada da sorun olmuyor. Gerçek zamanlı çalışmada problem oluyor.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

Z80

Endüktif yüke 10-100 nf arası bir kapasitörü paralel bağla.

mistek

Ayrı ayrı 10nf ve 100nf bağladım olmadı. Şimdi hiç açılıp kapanmıyor. Yükü devreden çıkarıyorum resetliyorum işlemciyi ondan sonra normale dönüyor.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

Icarus

Alıntı yapılan: mistek - 20 Şubat 2014, 08:20:53
Osiloskopta spikelara bakıyorum temiz gözüküyor yük uçlarında freewheel diyotu var.
Kullandığınız diyot mosfet'in diyotundan daha hızlı olmalı ki işe yarasın.
Kullandığınız scope kaç MHz ? birde probunuz ?

mistek

#4
Alıntı yapılan: Icarus - 20 Şubat 2014, 09:11:51
Kullandığınız diyot mosfet'in diyotundan daha hızlı olmalı ki işe yarasın.
Kullandığınız scope kaç MHz ? birde probunuz ?

Teorik olarak işlemci pini nasıl kilitleniyor olabilir ? İşlemci pin çıkışında seri 1n4148 diyotta var.

Osiloskop 100MHz, problar 500MHz
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

Icarus

Bir şekilde işlemciye gelen güçte glitch'ler oluşuyor (Türkçesini bilmiyorum)
Bunun sebebi güç dağtımının doğru yapılmamış olması. Çözümü: CPU'a gelen gücü LC, RC, vb... gibi bir şeyler filitreyebilirsiniz. PCB'i çizerken uygun güç dağıtım desenlerini kullanabilirsiniz vb..

Ama şu da olabilir Mosfet'in Cgs kapasitesi üzerinden işlemcinin pinine yüksek voltajda geliyor olabilir.

mistek

Beslemelerde  LC filtre var. Osiloskopta giriş çıkış sinyalleri temiz gözüküyor ama anlamadım.

Şöyle bir durumda var. Mesela tuşu hiç kullanmasam sadece yazılımda 10 saniye aralıklarla toggle yapsam yine sorun olmuyor. Tuş piniyle ilgili oluyor desem baskıyorum tuşa algılıyor. Enterasan.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

yldzelektronik

Alıntı yapılan: mistek - 20 Şubat 2014, 09:30:37
...
Şöyle bir durumda var. Mesela tuşu hiç kullanmasam sadece yazılımda 10 saniye aralıklarla toggle yapsam yine sorun olmuyor. Tuş piniyle ilgili oluyor desem baskıyorum tuşa algılıyor. Enterasan.

Acaba buton üzerinde ark oluşuyorda bu esnada hızlıca aç kapa yapıyor olabilir mi?Endüktif yükün etkisiyle birlikte.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

mistek

Alıntı yapılan: yldzelektronik - 20 Şubat 2014, 09:36:35
Acaba buton üzerinde ark oluşuyorda bu esnada hızlıca aç kapa yapıyor olabilir mi?Endüktif yükün etkisiyle birlikte.

Şimdi ona bakıyorum hocam. 5 saniye aralıklarla yazılımda toggle ediyorum hiç sorun gözükmüyor. Spike'ta yok.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

Erol YILMAZ

mistek hocam hangi işlemci bu ?

skara1214

Alıntı yapılan: mistek - 20 Şubat 2014, 09:41:36
Şimdi ona bakıyorum hocam. 5 saniye aralıklarla yazılımda toggle ediyorum hiç sorun gözükmüyor. Spike'ta yok.

freewheell diyota paralel direnc ve kapasitorle snubber devresi yapmayı deneyebilirsiniz.
Herkes ölür ama herkes gerçekten yaşamaz

mistek

#11
Alıntı yapılan: Allegro - 20 Şubat 2014, 09:57:35
mistek hocam hangi işlemci bu ?

Stm32f100.

mesaj birleştirme:: 20 Şubat 2014, 10:11:21

Alıntı yapılan: skara1214 - 20 Şubat 2014, 10:01:47
freewheell diyota paralel direnc ve kapasitorle snubber devresi yapmayı deneyebilirsiniz.

Snubber da denedim ama olmuyor sanki başka yerde sıkıntı var. Endüktif yükün arkıda Çıkış pinini durduruyor. Osilokoskopta bakıyorum spike yok debug moda giriyorum tuşa basıp açıp kapatıyorum sorun olmuyor. Biraz önce yazılımda 5 saniye aralıklarla toggle yaptım normal çalışıyor. Buton tarafıyla ilgileneceğim.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

CoşkuN


mistek

#13
Standart piyasa malı Tactile button.



mesaj birleştirme:: 20 Şubat 2014, 11:56:32

Butona bastıktan sonra 500ms kadar gecikme koydum. Şimdi hiç takılmadı. Butondanmış sanırım paralel kondansatör eklesem iyi olacak
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

z

Baskı devrede Gnd hattının izlediği yolla ilgili bir sıkıntı vardır.

Pin kilitlendiğinde pinin üyesi olduğu portun diğer pinleri de kitleniyormu?

Hayır ise;

Pini input moduna ardından da output moduna al. Tekrar çıkış yapmayı dene. Belki bu şekilde idare edersin fakat, anahtarlama işlemi ardından oluşan parazit içeride başka hangi flip flopların konumunu değiştiriyor bilinmez.

Sorun kesinlikle pcb problemi gibi duruyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com