12f675 ADC Sorunu

Başlatan ugurer, 05 Ekim 2017, 16:36:00

ugurer

Hocam kusura bakmayın araya kaynamış o mesaj. Nereden aldığımızı bilmiyorum ürünleri eski bir tasarım zaten. Kullanılan yerlerden böyle batarya dolmuyor şikayeti gelince fark ettik durumu.

Muyat

Konuyu takipteyim.Sorunu çözersen bilgilendirir misin?

ugurer

Tabi hocam bugün deneme şansım olmadı ilk fırsatta kalibrasyon kısmını halledeceğim.

ugurer

Maalesef bir değişiklik olmadı daha doğrusu yazılım atarken zaten kalibrasyon yapıyormuşuz yeni fark ettim o durumu.

cetin1990

Yazılımı atarken kalibrasyon nasıl yapıyorsunuz?

ADC min örnekleme süresini sağladınız mı?

ugurer

Alıntı Yap
Onun için şöyle bir şey vardı,Yazılım yükleme pgm'ında OSCCAL diye bir kutucuk oluyordu.Onu işaretlediğinizde
olması muhtemel en yakın değer ile İşlemciği otmatik kalibre ediyordu.
Bunu da şu şekilde yapıyordu.İşlemci içierisindeki ROM veya Eeprom'a Kalibre değerini İmalat esnasında gömüyorlardı.
O değer otomatik olarak OSCCAL registerine yükleniyordu.
Burada @JOKERAS 'ın dediği gibi program yüklerken ki register değerlerine baktık bunu sabit olarak maksimum değer olan 3FFF olarak yüklemişiz.

JOKERAS

ugurer, 3FFF olmaz.
Eğer İşlemciyi okuduğunuzda Rom'un en son hücresindeki değer 3FFF ise
İşlemci sıfır değil,yani daha önce Pgm yüklenmiş işlemcidir.
Yükleme pgm'ında Kalibrasyon işaretli şekilde yükleme yapılmayan işlemci Rom'u doğal olarak
silinir.Silmekten kasıt 3FFF olması.Halbuki ilk değerin 3F değilde 34 olması gerektiği,bunun RetLw komutu olduğunu
Alltaki Linkte ifade ediyor.




Siz hiç pgm yüklenmemiş işlemciler ile bunu test edeceksiniz.
Şöyle düşünün...
Sıfır bir işlemciye Kalibrasyon işaretli bir şekilde pgm atarsanız,Rom'un Son hücresindeki değerin
kopyalanıp OSCCAL registerine yüklendiğini düşünün.
Yükleme pgm'ında bunu yapmazsanız doğal olarak Değer siliniyor.


OSCCAL işratelenmden Pgm atılmış işlemcilerde bunu manuel olarak deneye deneye bulacaksınız.
Çünkü kalibrasyon değeri bir kere uçtu,geri getirmek imkansız!
Deneyin.


İngilizce'si sağlam arkadaşlar buradan okuyup yorumlayabilir. 
http://picprojects.org.uk/projects/piccal.htm











ugurer

Hmm o zaman durum apayrı. Ben 3F değerini görünce aşağıda ki görselle uyumlu diğer FF'de tamamlamak için diye düşünmüştüm çok yanlış anlamışım durumu. Deneye deneye bulacaksınız'dan kasıt programlayıcı kısmından değer yazmak değil mi. Datasheet'te yazmam gereken değer belirtilmiş anladığım kadarıyla niye farklı değerler denemem gerekiyor.



Daha doğrusu şöyle bir toparlayayım benim şu an denediğim şey osilatör frekansının yanlış olabileceği ve  bunu durumu düzeltmek için register değeri ile kalibrasyon yapmak. Bu kalibrasyonu da ister direk yazılımla istersem de programlama sırasında OSCCAL register'ına değer girerek yapabiliyorum. Bu değer de datasheet'te yazdığı gibi 0x9F. He bir de bu işlemi sıfır çiplerle deneyeceğim eğer bu şekilde program attıklarımda sorun yoksa problem buradaymış diyeceğim. Doğru mu anlamışım.

JOKERAS

#23
Alıntı yapılan: ugurer - 07 Ekim 2017, 14:26:36

Daha doğrusu şöyle bir toparlayayım benim şu an denediğim şey osilatör frekansının yanlış olabileceği ve  bunu durumu düzeltmek için register değeri ile kalibrasyon yapmak. Bu kalibrasyonu da ister direk yazılımla istersem de programlama sırasında OSCCAL register'ına değer girerek yapabiliyorum. Bu değer de datasheet'te yazdığı gibi 0x9F. He bir de bu işlemi sıfır çiplerle deneyeceğim eğer bu şekilde program attıklarımda sorun yoksa problem buradaymış diyeceğim. Doğru mu anlamışım.

Aynen öyle.
Siz kodunuza OSCCAL = 0x Test edilecek değerler;
yazıp deneyin.Bakın farklılık varmı?


Sıfır Hiç pgm yüklenmemiş işlemci kullanıyorsanız OSC Kalibrasyon işaretleyin otomatik kalibre olsun.



ugurer

Tamamdır hocam en kısa sürede deneyip geri dönüş yapacağım. Yorumlarınız için teşekkürler.

MC_Skywalker

Güzel anlatmış. binary değeri saklama yöntemi bayağı ilginç.
Yeni PIC'i oku, enson adreste ki 34xx deki xx i binary çevir ve pinlere işaretle.

ugurer

Tekrardan merhabalar. Eski işlemcilerin hex kodlarını okuduğumda dediğim gibi kalibrasyon değerlerini silmişiz farkında olmadan. Onlara tekrar kalibrasyon yapalım diye uğraşmadk ama yeni işlemcilere kalibrasyon değerlerini ekleyerek yazılım attık. 60 tane kartta denedim şuan için bir problem gözükmüyor. Konuyla ilgilenen ve destek veren herkese teşekkür ederim.