16f628a ile lcd li sayıcı (eepromda yüksek sayıları saklama)

rustuuckun

Üye
Katılım
14 Eki 2008
Mesajlar
12
Puanları
1
Yaş
39
Yaklaşık üç yıldır fabrikadaki presler için çok sayıda sayıcı devre yaptım. Bazıları lcd li bazıları 7 segment display şeklinde. Sayı adetleri bazen 1 milyonu buluyor. Sayacım sayıyı hafızada tutuyor. Böylece elektrik kesintilerinde ya da devrede kısa süreli aksaklık olduğunda kaldığı yerden devam ediyor. Fakat devreler yine de arada sapıtıyor. Sanırım benim eepromda yazdığım karmaşık ve amatör kod kaynaklı oluyor. Ben eepromda sayıyı bir kaç adrese atayıp sonra da bunları birleştirerek çağırıyorum. Ama bazen pic saçma değerler çıkarıyor. 16f628 eeprom içinde yüksek adetli sayıları nasıl saklayabiliriz? Yardımcı olabilirseniz sevinirim.
 
Bikaç kez pic16f628 in eeprom hafızasının yazılımda olmayan sebeplerden ötürü bozulduğuna şahit oldum.. Program hafızası sorun olmasa da eeprom da böyle bi gariplik var.. Ben crc hata ayıklaması koydum önemli yerlere.. Bozulduğunu tespit edip ona göre işlem yaptırıyordum..

Bu arada yüksek adetli sayı derken kaç tane kaç bitlik sayı onları da yaz.. Yazdığında çelişkiye düştüm.. "1 milyon sayı" dediğin sanırım en az 20 bitlik tek bir sayı.. Eğer ki aynı yere 1 milyon defa yaz sil yapıyorsan picin hafızası kolay yıpranacaktır ve saçma değerler üretecektir.. Tavsiyem; her sayı önemli değilse bunları dk da bir kaydet ya da önemliyse pice elektrik kesintisini algılayacak bir giriş yap, kondansatörü bitene kadar hafızasına sayıyı yazacak bir yazılım yap..
 
Yaptığım devreyi preslerde mekanik sayaçların yerine kullanmak için kullanıyorum. Daha da geliştirmeye devam ediyorum. Öncelikle forumlarda çok yaygın olarak kullanılan ve asm dilinde yazılan 9999 sayıcıyla başladım (7 segment display ile). Şimdi de bazılarını 2x16 lcd ile yaptım. Son yaptığım high tech pic c ile yazılan her vuruşta sayıyı eeproma yazıp yine eepromdan okuyarak lcd ya da 7 segment displaye aktarıyor. Fakat çok dengesiz şekilde bazı durumlarda mesela 1116 gibi bir değer varken 3550 oluyor. Benim sormak istediğim bu presler bazen 11000 bazen de 2 milyonu bulabiliyor. Ben 16f628 in hafızası yetmediği için sayıyı parçalara ayırıp 2 ya da 3 farklı eeprom adresine yazıyorum. Böyle büyük bitli sayıyı ondalık olarak tek bir adrese nasıl yazabilirim? Mümkün mü? Bu vuruşları endüktif sensörle okuyorum.

Sayın tekin126'nın oğlu verdiğin cevap için teşekkür ederim. Peki bu çabuk bozulan eeprom sorununu nasıl aşabilirim. Çünkü ben bu hafızada tutma işini her vuruşta yaptırıyorum... Buna dayanabilecek bir parça var mı?
 
Pic in eepromu 8 bitlik.. Malesef bunu en az 3 bayta parça parça yazdırman gerekir..

Bugün yeni sistemimizde de bahsettiğim eeprom bozulmasına şahit olduk.. Bu defa vukuat 18F4620 de oldu.. Beslemedeki switching adaptörden ya da 220V girişin yalıtımından kaynaklı sanırım, inceleme fırsatım olmadı cihazı.. Benzer sorun sende de olabilir.

Bir deneme yap, pic in sadece eepromunu kod korumasız bırak.. Sorun oluştuğunda, pic i okut, eepromunda kullanılmayan eeprom alanlarında da 0xFF dışında veri varsa ve düzensizse(yazılımla oluşamayacak şekildeyse) sorun donanım kaynaklı olabilir.. Ben donanımdan pek çakmam.. Yazılımdan anlarım.. :/ O yüzden öneri sunamayacağım.. :(

Eğer donanımına güveniyorsan yazılımı bir gözden geçir.. Bazen tek bir karakter yüzünden sorunlar çıkabiliyor.. Belki 256, 65536 sayılarına geçişlerde sorun yaşıyorsundur.. Ya da ondalık şekilde kayıt yapıyorsan 100, 10000 gibi sayılarda sorun oluyordur.. Simülasyonda bu sayılara bir bak istersen..

Bu arada adım Güven.. :)
 
İş yerindeki preslerin çoğunda devrelerim kafayı yedikçe ben de sıyırıyorum. Pazartesiye kadar izin aldım. 6 eksen robot kullanım geliştirme, multibending büküm makinası elektriksel sorunları çözme, PLC ile simülasyon ve yeni ledli ürünlerin armatür yapısı ve optik çalışmalarını yapmam gerekiyor. Ama aklım hep bu arıza veren devrelerde kalıyor. Eve kapanıp bütün sorunlarımı çözmek istiyorum. Yaptığım devreyi eksiksiz toparlayıp burada paylaşmak istiyorum.

Sayın Güven,

Göstermiş olduğun hassasiyet ve alaka için teşekkür ederim...
 
Rica ederim..

Biz de baba oğul kafa kafaya verdik sorunu çözmeye çalışıyoruz, sıyıracaz yakında.. :) Yalıtım yaptığımız halde eeprom bozuluyor bir şekilde..
 
Eeprom neden bozulur ki? Kullandığınız komponentin üreticisinden yardım isteseniz olur aslında. Sanırım siz profesyonel olarak uğraşıyorsunuz. Dolayısıyla üreticiye başvurmak en güzeli olur herhalde... Tabi buradaki ustalar daha iyi. Şu ana kadar pic ile ilgili yabancı kaynakları araştırmama pek gerek olmadı (kendi çapımda)...Tabi sizin gibi ustalarımız sayesinde...
 
Estağfurullah,, ne ustası.. Ziraat müh okuyorum ben.. Babam elektronikçi.. :) Yazılıma hobi olarak başladım.. PIC asm de iddialıyım ama elektroniğin analog kısmından pek anlamam..

Cihazın bağlantılarını yapıp test etmiştik, hiçbir sorun çıkmamıştı.. Fakat denenmesi için verdiğimizde dk 1 gol 1, eeprom bozuldu.. Belki elektrik şebekesinin dalgalanmasından kaynaklı, belki de bağlantıları yanlış yaptılar, tam bilemiyoruz cihaz elimize ulaşmadı.. Gsm modüllü bir cihazdı zaten, eepromunu da smsle sorguladık.. Hele bir gelsin esas cihaz bakacağız detaylıca..


Neyse sizin sisteme dönelim.. Yazılımı incelediniz mi? Var mı bir gelişme? Eeproma yazma kısmını paylaşın isterseniz.. Asm değilse pek anlamam ama, anlayan üyeler yardımcı olabilir sanırım..

Aklıma gelmişken lcd genelde hassas olur, eğer eepromu bozacak kadar parazitliyse pic in besleme gerilimi vs, lcd yi de bozar büyük ihtimal.. Lcd sağlıklı çalışıyor muydu?
 
Şu anda bütün sorunlarımı çözdüm. Yardımınız için teşekkürler.
 

Forum istatistikleri

Konular
127,952
Mesajlar
913,885
Kullanıcılar
449,600
Son üye
psychedelic

Yeni konular

Geri
Üst