Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

picin sapıtma sebepleri

Başlatan skara1214, 04 Mart 2013, 21:28:52

skara1214

picler neden saçmalar bunu öğrenmek istiyorum çünkü şu an çok ilginç bir olayla karşı karşıyayım şöyleki pice programı yüklüyorum rs232 haberleşmesi yapıyorum okey bir sıknıtı yok ama while döngüsü kuruyorum bazen giriyor bazen girmiyor.Döngüden çıkıyor bazen çıkmıyor.En enteresanı ise değişkenleri değiştirmeme ragmen bağzen değişip bazen değişmiyor.
-Program önceden çalışıyordu ama ne olduysa artık çalışmıyor.
-Problemin kaynağında ilk önce kristal olduğunu düşündüm ama  rs232 haberleşmesinde hiçbir sıkıntı yok akeza voltajıda ölçüyorum 20 mv salınım dışında birşey yok.
-ccs c 4.137 kullanıyorum bunda bir sıkıntı olabilirmi?
-kullandığım pic 18f2431
-pici sıfır taktım aynı cevapları veriyor.
-ptc okuyorum 38 derecede direk pice giriyorum(pull upla) ptcdeki sicaklık değişimi picte bu sorunlara neden oluyor olabilirmi?
-pic programlayıcıdan kaynaklı birşey olabilirmi?(programı düzgün bir şekilde atıyor gibi gözüküyor)
Herkes ölür ama herkes gerçekten yaşamaz

sadogan

 interrupt ları kontrol etin bir şekilde kullanılmayan  interrupt açık olursa veya olmuşa return nü göremediği için
geri dönüşü bulamıyor.

ahmetgokce01

Hocam picin beslemesinde regülatör entegresi ve bunun giriş çıkışlarına mutlaka 100nf kondansatör bağlanmalı pille beslesek bile mutlaka 100nf kondansatör bağlamalıyız bağlanmadığında pic sapıtıyor çalışmıyor vs. siz büyük ihtimal kondansatör bağlamışsınızdır.
-RS232 ile haberleşirken max232 entegresinin beslemesini pic ile aynı kaynak ile beslediniz mi?(eğer max 232 nin beslemesi ayrı ise o parazitli olabilir buda pici etkiliyor olabilir )
-Eğer devrede buton varsa bunları doğru kondansatör değeri ile kuplajladınız mı?(kondansatör bağlanmadıysa %70 sapıtıyor)
-Birde bazen program içerisinde bazı işlemleri yaparken örnek adc birimindeki kanalların birinden okuma yaparken delay_us(15); deriz bunun gibi bekleme verdiniz mi?(uygun bekleme süresi olmadığı zaman o yapacağı işlemi yapamadan kod atlayabiliyor)
-PIC'e bağlanan kristalin, pic ile mesafesi nasıl birde kristalin bacaklarına bağlanan kondansatörler kristal bacakları arasında mesafe var mı?(mesafeler var ise bu bacaklar arasında problem olabilir)

drmp

bu tür sorunları her zaman pic'in kendisine atfetmek iyi olmaz

her nekadar besleme devreleriyle alakalı yüzlerce  şey söylensede  bir çok ticari picli devrede sadece trafo+ köprü ve 7805 den ibaret olan devreler gördüm  mesala ısı kontrol cihazı

her zaman olmasada ben her zaman devrelerimde bu önerileri uygularım  ama yine de sapııtığı zamanlar olur  bu daha çok yazdığım programla yada derleyicinin içindeki bug lardan kaynaklandığını anladım  proton basic'in bir versiyonunda 2 pwm kanalını kullanmak istediğimde saçmalayıp mosları pişirmesi vede sorunun farkına varıp o kısmı yine asm kodlarıyla devam edip yinede sonuca ulaşamadım en son derleyici versiyonu değiştirdim 

bazen de datashettlere iyi bakmayıp olmacak foknksiyonların işlemesi için çabaladığım zamanlar oldu   olaydan sonra  datashetlerle daha iyi haşır neşir oldum   errata dosyalarını  da incelemekte fayda var

almış olduğumuz stm 32 kartında sırasıyla bir çok uygulama yaptım fakat adc örneklerine geldiğimde  keil yamuk  yapmaya başladı  çözüm bir üst versiona geçince sorun kaltı  fakat sorun her bilgisayarda olmaya biliyor 
umarım faydası olur 

kolay gelsin. . .


Okan AKÇA

işi bilmeyenlerin elinde tango bile yapar....

skara1214

kristalde sıkıntı olsa uart haberleşmesini yapmaz bu  sebepten kristalden kaynaklı birşeyin olduğunu düşünmüyorum.Ama adc çevrimi capturi engelleyebilir diye düşünüyorum.5 volt direk smps ten geliyor.Fakat bunların hiçbiri normalde çalışıp şimdi bozulmasını açıklamıyor bir türlü bu konuda bir çözüme varamadım:D
Herkes ölür ama herkes gerçekten yaşamaz

yldzelektronik

adc ile ilgili olarak şunu söyleyebilirim.Gerçi daha önce ifade edilmiş ancak;

Kanal seçimleri esnasında gecikme konması kanaldan alınan verinin daha doğru olmasını sağlıyor.Yani kanal değişimi sonrası bekleme konmamış bir programda zaman zaman ölçüm alamıyordum zaman zaman alakasız zaman zaman ise müthiş değişken ölçümler alıyordum.Kanal geçişlerinde bekleme süresini ilave ettiğimde gayet stabil ölçümler aldım.Bu 16f serisinden ve 18f serisinden bir kaç denetleyicide karşılaştığım bir durumdu.Rs232 tarafında bazen tanımladığım değişkenlerden kaynaklanan sorunlar yaşıyordum.Tanımladığım değişken lokal olabiliyor ve garip bir şekilde gelişi güzel değerler alıyordu.Nasıl hiç bilmiyorum.Debug da bazen gözlemlediğim o bellek adresine farklı farklı lokal değişkenleri atayabiliyor.Sabit tanımlamalarım ve ilk değerlerim genelde bu sıkıntımı çözdü.uarttan aldığınız veriyi lokal değişkene attığınızda ve rx int kullanıyorken yaptığınızda gariplikler olabiliyor.Ancak hepsinden öte aynı donanım ve program ile evvelden çalışan uygulama çalışmaz hale geldiyse donanım kaynaklı olabilir diye düşünüyorum.Pcb tarafında kırık çatlak patlak vs durumları olan bir yer, soğuk lehim kaynaklı temassızlık yada farklı elektriksel etkiler etkiliyor olabilir.Donanımın değişmediği ortamda program değişiklik göstermez.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

skara1214

valla hocam anlamadım gitti capture uygulaması yapıyorum aynı anda uarttan okuyorum ama durum şöyle gelişiyor;capture devam ediyor  ama ilk capture ettiği değerden başka değer yollamıyor ama kesin olarak eminimki o değer aslında değişiyor.Ne olduğunu bir türlü çözemedim pici değiştirdim değişen hiçbirşey yok ya pic programlayıcı sıkıntılı yada başka birşey anlamadım.
Herkes ölür ama herkes gerçekten yaşamaz

RaMu

Çok sağlam çalışan bir programım bir anda çalışmamaya saçmalamaya başlamıştı saatlerce uğraştım evirdim çevirdim programı yok banamısın demedi, sonra dedim ICSP ile programlamayayım birde pici devreden söküp zif soketten programlayayım, takır takır çalışmaya başladı, benim devre hem beslemeyi 4.9 V civarlarına (programlarken bazen 4.2 lere falan) düşürüyormuş, farkedememişim sonradan çözdüm olayını ayrıca programlama pinleriyle aynı yere lcd bağlamıştım o sıkıntı çıkarıyormuş, işin kötüsü programlama sorunsuz gözüküyordu hatta self verification  olumlu sonuç veriyordu sorunu çözdükten sonra problemli durumu tekrar analiz ederken manuel verification yaptırdığımda gördümki program eksik atılıyormuş, neyse karşılaştığım yüzlerce hatadan biri buydu.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Pir-O

PIC neden mi sapıtıyor keşke bilsem :) 2 hafta önce bir uygulama yapmıştım sıcaklık ve nem bilgisini ölçüp kablosuz olarak alıcıya iletiyor. Devre çalıştı bir sorun yok. Sonra dedim kendi kendime aynı devreden bir tane daha yapayım. Devre şeması aynı ve aynı kodları yükledim ama tık yok çalışmıyor. 1 hafta uğraştım sorun çözülmedi. Peki şimdi asıl soru ilk yaptığımda neden çalıştı?

Ben artık CCS ve PIC ikilisini kullanmamaya çalışacağım. Özellikle CCS'nin fark ettiğim bugları mevcut. Artık yamalı olduğundan mı yoksa gerçekten orjinalinde de mi hata var bilemiyorum.

Extreme

CCS-C DE böyle buglar olduğu zaman her ihtimale karşı eski versiyonlarının driverlarını elimde tutuyorum oradan oynamalar yapıyorum.. 

başka versiyonda derlemeye çalışıyın analog devrede sorun olmadığını düşünüyorsanız.

skara1214

Valla 4.107 yi kullanıyordum bir sıkıntı yoktu 4.137 yi kullanıyorum. Uartta bir sıkıntı çıkmıyor ama başka şeyler düzgün çalışmıyor.Bir sıkıntı daha kendim #byte diye registeri tanımlıyorum ben tanımlayınca çalışmıyor(bazen)hazır kod kullanınca çalışıyor:D.Bunun yüzünden hitech c ye yada microchipe döneceğim(aslında en iyisi onlar  ama zor geliyor değiştirmek :D)
Herkes ölür ama herkes gerçekten yaşamaz

vatandas30

Alıntı yapılan: ahmetgokce01 - 04 Mart 2013, 22:18:07
Hocam picin beslemesinde regülatör entegresi ve bunun giriş çıkışlarına mutlaka 100nf kondansatör bağlanmalı pille beslesek bile mutlaka 100nf kondansatör bağlamalıyız bağlanmadığında pic sapıtıyor çalışmıyor vs. siz büyük ihtimal kondansatör bağlamışsınızdır.
-RS232 ile haberleşirken max232 entegresinin beslemesini pic ile aynı kaynak ile beslediniz mi?(eğer max 232 nin beslemesi ayrı ise o parazitli olabilir buda pici etkiliyor olabilir )
-Eğer devrede buton varsa bunları doğru kondansatör değeri ile kuplajladınız mı?(kondansatör bağlanmadıysa %70 sapıtıyor)
-Birde bazen program içerisinde bazı işlemleri yaparken örnek adc birimindeki kanalların birinden okuma yaparken delay_us(15); deriz bunun gibi bekleme verdiniz mi?(uygun bekleme süresi olmadığı zaman o yapacağı işlemi yapamadan kod atlayabiliyor)
-PIC'e bağlanan kristalin, pic ile mesafesi nasıl birde kristalin bacaklarına bağlanan kondansatörler kristal bacakları arasında mesafe var mı?(mesafeler var ise bu bacaklar arasında problem olabilir)
burada butonu kondansatörle kuplajlama nasıl oluyor? anlatabilir misiniz?

skara1214

butona bir capasite ekleyip toprağa çekiyorsunuz.Böylece filtre görevi görüyor
Herkes ölür ama herkes gerçekten yaşamaz

vatandas30

ben devrelerimde butonları pull-up direnç ve diğer ucunu gnd ye bağlıyorum. dediğinizden anladığıma göre butona paralel bir kapasite bağlanacak. doğru mu?
bir de kapasitenin değeri kaç olmalı?