avatar_ete

Simulasyonda Çalışıp da Gerçek de çalışmayan Devreler

Başlatan ete, 16 Nisan 2014, 14:50:47

ete

Pek çok kişinin ortak derdi bu konu. Simulasyonda programları çelıştırıyorlar ama gerçek devre hazırladıkları zaman devre çalışmıyor. Pek çok kere dile getirdiğim bu konuyu etraflıca incelemeye alıyoruz.
Önce ben aklıma gelenleri ve bu konudaki tecrübelerimi aktarıyım. Eksik kalanları diğer arkadaşlar tamamlar her halde.

Önce bu olayın neden kaynaklandığını belirtelim. Simulasyon programı bazı varsayımlar ile çalışır. İşte devrelerinizin çalışmama sebepleri ile ilgili ip uçlarıda bunlardır. Sırasıile vermeye çalışayım.

1. Güç Kaynağı Besleme :
    Simulasyonda besleme bağlantısı yapmazsınız var kabul eder. Üstelik doğru bağlanmış olarak görür. Buna karşılık sizin muhtemel hatalarınız şunlar olabilir.
    a) Devreye bir besleme kaynağı bağlamamış olabilirsiniz. Yada artı ve eksi beslemeden birisini unutabilirsiniz. Öncelikle beslemenin varlığını ve bununda pic bacaklarına 5V olarak ulaştığından emin olun.

    b) Besleme kaynağınız 5V değildir. Bu kötü bir durum zira fazla bir voltaj verdiniz ise işlemciniz ve varsa LCD niz bozulmuştur.

   c) Besleme devreye ters bağlanmıştır. Genelde düzeltince her şey yoluna girer.

2. Simulasyon sigorta ayarlarına pek fazla aldırış etmez. Şayet devre normal kristal osc veya dahili osc ile çalışıyor ise var kabul eder.  O halde sizin muhtemel hatalarınız şunlar olabilir.
   a) Devreyi dahili osc ile çalıştırmak istiyor olabilirsiniz. Ama sigorta ayarı vermeyince işlemci ne ile çalışacağını kestiremeyip çalışmaz.
   b) Devreyi kristal osc ile çalıştırıyorsunuzdur ama kristal bağlamayı unutmuş olabilirsiniz
   c) Kristal osilatör pinlerinde 22pf kondansatör (GND ile) bağlı ister. Bunları bağlamamışolabilir yada yanlış değerli kondansatör bağlamış olabilirsiniz.

3. Her işlemcininbir Reset bacağı (MCLR) bulunur. Bu pinin normal şartlarda HIGH da tutulması gerekir. Simulasyon çoğu zaman bunu da önemsemez. Dolayısıyla şayet programdan iptal edilmeyen bir MCLR pini var ise buna bir pullup direnci bağlı olduğundan emin olunuz.

4. İşlemci pinleri en fazla 20-25ma akım verebilirler. Daha fazlasını asılırsanız yada bu konuda tedbir almazsanız işlemciniz anında bozulabilir. Özellikle pinlere led bağlarken seri akım sınırlama direnci bağlamayı unutmayın. Zira ledler yaklaşık 2-3V luk bir gerilimle çalışırlar. Pine direk bağlarsanız 5V vermiş olursunuz buda onun aşırı akım çekmesine sebep olur. Simulasyon programı bu konuyuda önemsemez. Seri direnç varmı yokmu pek umursamaz dolayısıyla dikkat etmeniz gerekir. Son versiyonlarda işlemcinin buna önem verdiğinide gözlemledim. Bunuda belirtmeden geçmeyeyim.
İşlemci pininde sürülen röle selenoid 7 segment ortak uçları gibi akım kaynaklarını mutlaka bir transistörü sürerek yapın. Aksi halde işlemci anında bozulacaktır.

5. ADC kullanılan devrelerde besleme voltajınız çok stabil olmalıdır. Bu besleme voltajını aynı zamanda referans voltajı olarak da kullandığınız için voltajdaki inme ve yükselmeler ölçüm kalitenizi etkiler ve ölçüm değerleriniz sürekli oynama gösterir.
Mümkünse LM2575 gibi switching regülatörler kullanmaya çalışın.

6. LCD kullanan devrelerde simulasyon LCD de kontrast potu varmı yokmu bakmaz direk ne göstermesi gerekiyor ise gösterir.
    Siz gerçek devrenizde 10K lık bir trimpot kullanmanız gerekir. Trimpotun orta ucu LCD nin 3 nolu pinine, trimpotun dıştaki iki ucundan birisi +5V ta diğeri GND ye bağlanacaktır.
Sistem çalıştırıldıktan sonra tripmot ile ekranda en güzel görüntüyü alıncaya kadar ayar yapmanız gerekir. Ayar genelde orta uç GND ye yakın iken tutar.
LCD konusuna değinmiş iken bir iki şey ilave edeyim.
İlk çalışan devrede ekranda yalnızca üst sırada kareler çıkıyor ise sistem çalışıyor ancak kontrast ayarınız bozuk demektir.
Şayet hem alt satırda hem üst satırda kareler çıkıyor ise bu iki farklı şeyi gösterebilir. Birincisi işlemci herhangi bir nedenden dolayı çalışmıyordur. Yukarıdaki nedenlerden birisi olabilir. İkincisi ise ekranda iki satır bilgi vardır ve kontrast ayarınız bozuktur. Trimpot dan ayar vererek düzeltilmeye çalışılmalıdır.

şimdlik aklıma gelenler bunlar.

Ete


antuari

hocam çok yararlı bir yazı olmus ellerinize sağlık

est32

ek olarak;
Komparatör pinlerine sahip işlemcilerde(örneğin 16F628A da CMCON=7 diyerek kapattığımız) komparatör pininin analog veya dijital olma durumu da proteus tarafından göz ardı ediliyor.
CMCON=7 satırını kullansanız da kullanmasanız da proteusta devre çalışıyor ama gerçekte bu pinler dijital olarak kullanılacaksa o pinlerde sorun yaşanıyor..

ersangundogdu

İşlemciye en yakın bir yerlere 100nf kondansatör takmayı ihmal etmeyelim. Bazen bu yüzden devre çalışmayabiliyor.

Eolos

Pic16f877A ile bir volt ampermetre devresi yaptım. Kod C'de yazıldı, baskı devreyi hazırladım cillop gibi çalışıyor.

Aynı kodu Pic 18f4520 ve 4580 için hazırlıyorum, 16f877'yi karttan söküp yerine 18f'leri takıyorum ama ekranda sadece üst sekmede kareler görüyorum.

Bunun sebebi acaba ne olabilir ?

Kontrastı değiştirdim sorun çözülmedi. Pic bacaklarını kontrol ettim fark yok.

Mikroc Pro crackli versiyon ile hex oluşturuyorum, pickit 2 usb clon ile programlıyorum.

ete

18F serisinde çok farklı özellikler bulunmaktadır. Bunların çok dikkatlice değerlendirilmesi ve kullanılmayanların iptal edilmesi gerekir.
Kullandığınız pic in özelliklerini bir kağıda yazın ve o işle ilgili regşsterleri tespit edip kullanım şeklinize göre ya registerleri yeniden yapılandırın yada o özelliği iptal etmeye çalışın.
Görünüşe bakılırsa programınız çalışmıyor.

Ete

Hattuşa

Alıntı yapılan: Eolos - 27 Aralık 2016, 17:12:43
Pic16f877A ile bir volt ampermetre devresi yaptım. Kod C'de yazıldı, baskı devreyi hazırladım cillop gibi çalışıyor.

Aynı kodu Pic 18f4520 ve 4580 için hazırlıyorum, 16f877'yi karttan söküp yerine 18f'leri takıyorum ama ekranda sadece üst sekmede kareler görüyorum.

Bunun sebebi acaba ne olabilir ?

Kontrastı değiştirdim sorun çözülmedi. Pic bacaklarını kontrol ettim fark yok.

Mikroc Pro crackli versiyon ile hex oluşturuyorum, pickit 2 usb clon ile programlıyorum.


bence yeni işlemcinizin config ayarları hatalı veya verilmemiş, boş bir pine led bağlayıp yazılımla yakıp söndürün led çalışıyorsa program çalışıyor demektir hatayı devrede arayın. led çalışmazsa hata koddadır

Eolos

Her ikinize de cevap verdiğiniz için teşekkür ederim.

Öncelikle basit olandan başlayarak, şu ledi bi deneyeyim, sonra ikinci aşamaya geçip kafa kaşımaya başlarım :)

Eolos

pic16'nın  1 nolu Vpp / MCLR pininde E portu yok.. ben bütün E portlarını analog giriş yapmıştım.

pic18f45 serisinde 1 nolu bacakta MCLR / Vpp / RE3 portu var, sorun burdan kaynaklanıyor galiba. Siz ne dersiniz ?

Powered by EzPortal