pcbway

16F628A RESET PROBLEMİ

Başlatan cereyanmühendisi, 28 Şubat 2022, 14:10:44

cereyanmühendisi

Merhabalar 16F628A ile bir proje gerçekleştirdim. Proje temel olarak gelen sinyal ile bir döngüye giriyor daha sonra döngü her sinyal aldığında artıyor ya da bitiyor. Belirli çıkışlar döngüde tetikleniyor. Sistem tek faz ac motorların olduğu bir yerde çalışıyor. Sinyal geldiğinde döngü başlıyor fakat motor çalıştığında pic reset yiyor. Benim tahminim mclr pini gürültüden etkileniyordu. Ben de yazılımda NOMCLR yaparak onu normal bir inputa çevirdim. Daha sonra delaylar arasına koydum hatta bir sayıcı ile de destekledim. Kendi sistemimde bu sorun gitmesine rağmen çalışma alanında tekrar karşılaştım. Tahminim motorların yük altında kalması sonucu gürültünün artması ama buna benzer bir şey ile karşılaşan varsa ya da bir tecrübesi olan yardım edebilirse sevinirim. Sistem beslemesinde ve pic beslemesinde kapasitörlerim mevcut. Şimdiden teşekkürler.

seron

Hocam merhabalar kolay gelsin.
Benim bu konuda uzmanlık alanım sıfır. Bu nedenle aslında yanıt vermemem gerekiyor. Lakin yine yazma gereği hissettim. Projenizin detaylarını burada paylaşırsanız çok daha rahat yardım alırsınız.

Kondansatör kullandım demişsiniz ama neresinde? Nasıl tip kondansatör ve özellikleri ne? Ben en
çok buna takıldım. Devre motorlu sistemden tam izole mi? Örneğin opto-kuplör mü kullandınız? Sistem nasıl çalışıyor? Devre şeması, kartın fotosu, kablolama şeması gibi şeyleri yüklerseniz işiniz kolaylaşır.

Aklıma gelenler:
Kondansatörler entegre beslemesine en yakın yerden yapılmalıdır.
Kablolamalara dikkat edilmeli, yüksek gerilim kablolarından uzak konumlandırılmalıdır.
Ripılların engellenmesi için kablolara ferrit yüzük (EMI filter diye biliniyor) geçirilmelidir. Hiç yazıcı söktüyseniz anlamışsınızdır film kablolar ve normal kablolar dip kısımlarından ferrit ile korunmaktadır.
Faraday kafesi tekniğinden yararlanılmalıdır.
Entegre beslemesine dikkat edilmelidir. (gürültüsüz temiz güç kaynağı)
Entegre'den motorlara kadar olan katların uygun bir yerinde opto elemanlar kulanılarak yalıtılmaya çalışılmalıdır.

Yaptığım araştırmalarda edindiğim bazı sonuçlar aşağıdadır:

-https://www.picproje.org/index.php?topic=32695.0
-https://www.electro-tech-online.com/threads/pic16f628a-reseting-problem.29678/
-https://www.edaboard.com/threads/why-a-pic16f628a-resets.80941/

Bugün foruma giriş yapmayacağım bu yüzden ola ki benden yanıt beklerseniz dediğim gibi hem konunun gerçek muhattabı değilim, hem de boşa beklemeyin diye belirtiyorum. Bilen varsa yardımcı olacaktır.

İyi çalışmalar.

cereyanmühendisi

Cevap verdiğiniz için çok teşekkür ederim öncelikle. Kartım ile motorlar arasında doğrudan bir bağlantı yok. Sadece aynı ortamdalar. Benim kartım aynı fazdan besleniyor. Bir adaptör ile beslemesi yapılıyor. Bu yüzden optokuplör gibi bir kompanente gerek duymadım. Besleme kondansatörleri bildiğiniz 7805'in datasheetinde de görebileceğiniz elektrolitik kondansatörler. PICte ise 100nflık smd 1206 bir kondansatör kullandım. Direkt iki bacağının arasında. Ben aslında yazılım ile müdahale edebilirim diye düşünüyorum. Başka bir gürültü problemini öyle çözdüm. MCLR pini normalde 4.7K direnç ile 5V'a gidiyordu. Kartı bastırdığım için değiştirmedim ve direkt input yaptım.

Yusuf usta

28 Şubat 2022, 16:59:21 #3 Son düzenlenme: 28 Şubat 2022, 17:01:10 Yusuf usta
Alıntı yapılan: cereyanmühendisi - 28 Şubat 2022, 15:24:39Cevap verdiğiniz için çok teşekkür ederim öncelikle. Kartım ile motorlar arasında doğrudan bir bağlantı yok. Sadece aynı ortamdalar. Benim kartım aynı fazdan besleniyor. Bir adaptör ile beslemesi yapılıyor. Bu yüzden optokuplör gibi bir kompanente gerek duymadım. Besleme kondansatörleri bildiğiniz 7805'in datasheetinde de görebileceğiniz elektrolitik kondansatörler. PICte ise 100nflık smd 1206 bir kondansatör kullandım. Direkt iki bacağının arasında. Ben aslında yazılım ile müdahale edebilirim diye düşünüyorum. Başka bir gürültü problemini öyle çözdüm. MCLR pini normalde 4.7K direnç ile 5V'a gidiyordu. Kartı bastırdığım için değiştirmedim ve direkt input yaptım.
işin içinde motor varsa pikli devrelerde bu sorun hep oluyor. öncelikle motorun voltajına uygun düşük nanofaratlrda parazit filtresini motor uçlarına kesin koy ve motor gücüne orantılı tek yön ise direkt motora çift yön ise bridge devresine bir diyot kesin koy. emk  bu hatayla çok ilgili. ayrıca pik regülesi 5 volt kısmına yüksek bir kondansatör koy ki anlık motor çekmelerinde kondansatörden yesin ve osilatörü afallamasın. kapasitif korumaları ihmal etme.
Mühendislik Diplomayla olmaz. İnsanı adam eden, bilgi değil görgüdür.

seron

Merhabalar.
Ben bu örnekteki sorunları gidermeye yardımcı olmak adına bir elektronik filtre tasarlıyorum.
Bu 16F628A işlemcisinin dataşetinde net bilgi bulamadım kaç volt kaç amper istiyor bu işlemci?
2-5V arası diyor. stand-by akımı bilmem kaç mikro amper diyor. Şöyleyken şu kadar mikro amper böyleyken bu kadar mikro amper...
Net veri yok mu? Bu işlemci şunla çalışır şu kadar amper ister gibi?

cereyanmühendisi

Cevaplarınız için teşekkür ederim.

Bu sorunla karşılaşan çok olmuş, farklı çözümler ile problemi aşmışlar sanırım. Ben de MCLR ile GND arasına 100nF'lık bir kondansatör koyarak problemi çözdüm sanırım. Üzerine MCLR OFF yaparak o bacağı normal bir input gibi kullandım. Delay ve sayıcı koydum. Fakat denemelerimde buna gerek yoktu aslında ben yine de garanti olsun istedim.

İki gündür bir sorun yok bakalım uzun vadede neler olacak. Herkese teşekkür ederim

seron

Elektrik motorları kalkınma anlarında ve durma anlarında şebekede anlık olarak dalganamaya sert girişimlere neden olabilirler. Bu girişim elektrik hattı boyunca diğer almaçlara yayılır. Birçok almaç bundan etkilenmez; bazılarının da içinde EMI filter vardır.

SMPS adaptörlerin içinde (küçük tipler) EMI filtresi bulunmaz. Ayrıca yüksek frekans trafosunun primeri ile sekonderi arasına çok düşük kapasiteli bir Y kapasitörü konur. Bu kapasitörün amacı, çok yüksek hızda anahtarlanan trafoda kapasitif etki oluşmasını ve bu suretle verimin düşmesini engellemektir. Ne var ki bu kapasitör, şebeke hattı ile çıkış hattını zayıf da olsa birbirine bağlar. Bu, şebekedeki piklerin, parazitiklerin az da olsa çıkışa iletilmesini; ayrıca şebeke cereyanının çıkışa kaçak yapmasına neden olur. Bu nedenle SMPS adaptörlerin amplifikatörlerde kullanılması önerilmiyor, çünkü cazırtı yapıyor.

Konuda bahsedilen MCU'yu inceledim. Çok hassas bir işlemci ve küçük voltaj ve akımlarla çalışıyor. Bu türden bir işlemcinin beslemesine azami önem gösterilmelidir. Kullanılan SMPS adaptörün yapısı çok önemlidir. EMI filtre kesinlikle kullanılmalıdır. Hatta MCU kartının besleme girişindeki kabloda da ferrit yüzük kullanılmalıdır. Adaptör, direkt olarak karta girilmemeli, mümkünse 7805 entegresi ve kondansatörlerle kurulmuş basit bir filtre devresi kullanılmalı, filtre devresinin çıkış kablosu kısa tutulmalı ve ferrit yüzük kullanılmalıdır.

Bu unsurlara dikkat edilirse öyle umuyorum ki şikayetler azalacak ya da tamamen bitecektir. Bir-iki tane filtre tasarladım ancak sorun halledildiğine göre paylaşmama gerek yok sanırım. Gelecek haftalarda kendi sayfamda paylaşırım.

cereyanmühendisi

Çok teşekkür ederim, önüne geçtim sanırım dediğim gibi. Ben adaptörden aldığım 12 V gerilimi 7805 ile regüle ediyorum bu arada pic ile aynı kart üzerinde ama. Bundan mı bahsetmiştiniz?

seron

He he aynen :) Aynı kart üzerinde olması daha iyi. 7805'den entegreye giden yol mümkün mertebe kısa olmalı çünkü. Gayet doğru adım atmışsınız. Buna rağmen motorlar devreye giriyorsa yukarıda önerilerimiz aynen geçerli. Motorların ve bağlantılarının nasıl olduğunu göremediğimizden önerilerimiz genel kalıyor.