Dot matrix pic işlemcili saatte titreme sorunu

serkan_48

Üye dümdüz üye
Katılım
5 Ağu 2009
Mesajlar
13,971
Puanları
4,156
Yaş
43
Konum
Antalya
Değerli arkadaşlar merhabalar.

Devrenin malzemelerini aldım. Picli saat entegresi sıcaklık sensörü v.s. elemanları bir board üzerine kurdum. Devre kısmını hazırladım.

ikinci olarak bir projeboard uzerine 1 adet 8x8 led matrix ile 74HC595 i yerleştirdim. Gerekli bağlantıları yapıp en azından çalıştırabilecekmiyim diye denemek istedim. Çünkü led matrix ekranı yapmak beni baya uğraştıracak. Öncelikle görüntü almayı becereyim sonra boardı yaparım diye düşündüm. İlk denememde çalıştırdım.

Ancak ,

Ekranda görüntü almayı başarabilsemde şöyle bir sorun var. Aşağıyada ekleyeceğim videoda şu şekilde titremeler oluyor.

Özellikle hareketli görüntü mesela ekranda saat görünür iken titremeler oluyor. Videoda dikkat ederseniz dot matrixin üst pinlerine bağlı kabloya düşen ışık şiddetini izlerseniz belli şekilde titreme görünüyor.

Şimdi burada benmi bir hata yapıyorum da bu titreme oluşuyor yoksa bu devrede bu şekilde titreme normal mi? Bilgisi olan varsa yardımcı olursa sevinirim.

Şimdiden teşekkürler.

Devre aşağıdaki devredir. Video resmin altıdadır. İzninizle yorumlarınızı almak için sizleride etiketlemek istiyorum sayın @MAIN_LOOP ve sayın @pwm.c yorumlarınızı esirgemezseniz sevinirim.

Ekran Alıntısı (1).JPG



 
Bazen bende deney bordunda boyle sıkıntılar yasiyorum bazi yerlerde temassizlikoluyor titremeler felan ama devreyi bakir plakete yapinca duzgun çalisiyordu
 
bu titremeler ne şekilde oluyor???
Ancak ,

Ekranda görüntü almayı başarabilsemde şöyle bir sorun var. Aşağıyada ekleyeceğim videoda şu şekilde titremeler oluyor.

gayet düzenli titremelerse tarama hızıyla alakalıdır. osilatör hızıyla oynayarak (arttırarak) bunları gözle sezilemeyecek hale getirebilirsin. 74hc595 frekansı ile mcu frekansı arasında çakışma veya faz farkı oluşuyor olabilir. programsal hata olabilir veya biraz modifiye etmek gereklidir. bir yöntemde (boarda kurduğun devreden devrenin matriksi nasıl sürdüğünü nasıl taradığını vs bildiğini farzettim) ekrana sadece değişiklik olduğunda veri göndermektir (74hc595 özelliklerine bakmadım) böylece gereksiz yazma ve taramaların önüne geçilir.

düzensiz rastgele titremelerde ise güç kaynağının peak güçünden tutta kondansatörlerin sığalarına kadar sayda say.

vakti zamanında tesadüfen keşfettiğimiz bir yöntemden bahsedeyim. mcu yu programlardık ledler istediğimiz gibi davranmayınca kristalin ayakarından birine parmağımızı toprakla temas edecek şekilde dokundururduk ("kristalin bir pini - parmağımızın direnci - gnd" bağlantısı kurulmuş olur) bastırdıkça devremiz adeta slow motiona geçer baskıyı azalttıkça hızlanırdı. böylece ekranda (sıralı led, seven segment, dotmatrix, lcd, vs) karmaşa gider akışı adım adım görür ve programın neresinde hata yaptığımızı anlardık. (tabi bu yöntem için harici osilator kullanmak şart ve kritik değerdeki kartlarda risk alınmaması gerekli. buna benzer yöntem yazılım arayüzlerinde step by step, break point gibi aynı işi gören araçlar var. bizimkisi pratiğe/kolaya kaçmaktı.

çalışmanızda başarılar... kolay gelsin...

saygılarımla...
 
kullanılan pic 16f serisi olmasaydı 18 olsaydı tek seferde PLL açılarak iş çözülürdü.
sebepleri sıralıyorum
1- tarama frekansı çok düşük olabilir
2- I2C protokollü RTC kullanılmış sadece saniyede bir okunmalı kaynak kodu görmek lazım
3- sıcaklık için ADC okuması sürekli hızlı bir şekilde yapılıyor olabilir buda sürekli MUX işlemi arasına giriyor ve kısa süreli sönmeler oluşturuyor.
4- pic16f serilerinde BANK geçişleri ve RAM dizilimi sıralı olmuyor bundan dolayı bir 16bitlik değişkenin high byte i RAM in bir ucundayken low byte ı diğer BANK ta olabiliyor. okuma ve yazma gereksiz gecikmeler oluşturuyor.
5-kaynak kod elinde ise 16f serisi için 20mhz kristal kullanmanı öneririm.
6-74hc595 altrutininde ne kadar delay komutu varsa silebilirsin. 74HC çok hızlıdır sorun olmuyor.
7- kaynak kodu görebilirsem kesin yardımcı olurum
kolay gelsin
 
Kaynak kod elimde 8 mhz kullanilmis. Hex kodu sema ve pic basic pro ile hazirlanan kaynak kod ekteki sikistirilmis dosyadan erisebilirsiniz.

Bu gun 2. 8x8 dot matrixide takip tekrar deneyecegim. Nasil olacak. Birde konu devre sahibinin yorumlarinida okuyayim tekrar.

Tesekkurler.
 

Ekli dosyalar

  • 5x7 Saat 876 48 Sutun.rar
    47.8 KB · Görüntüleme: 40
Besleme nedir @serkan_48 pil kullanımında aynı sıkıntı var mı?
 
Besleme konusunu özellikle parazit olmasın diye 12 volt aku ile besledim. Kendi içinde 7805 ile voltajı dusurdum voltajda sorun yok diye düşünüyorum.
 
programın içerisinde BASLA: etiketi altında sensor_oku kısmını ' işareti ile şimdilik kapatıp bir daha derleyip yüklermisin? muhtemelen düzelecek. düzelirse uygun bir şekilde sıcaklık okuma algoritması yazalım.
birde 8mhz çok düşük 20mhz yapmalıyız
 
Anladığım kadarıyla bu sıcaklık okuma işi baya sıkıntılı sensörün sıcaklık için cevap vermesi baya bir zaman alıyor. Şu an pic basic pro yüklü değil. Yarın uygun zamanda yükler ilgili satırı devre dışı bırakıp yazılımı tekrar derler denerim.

Malesef yazılım yazmaktan hiç anlamıyorum bir aralar heveslendim ama temel bilgim hiç olmadığı için olmadı. Deneyeyim tekrar buradan yorumlarız. Teşekkürler.
 
DS18B20 750ms de bir cevap veriyor takriben.sorun tam olarak bundan dolayı değil fakat bunun hazır olup olmadığını anlamak için bakılan rutinde 100ms lik gecikmeler gördüm. yani her 100ms de bir oraya girilip bakılıyor. ben sorunu tam anlamak için sensor_oku rutini ve alt rutinlerini geçici olarak devre dışı bırakalım derim serkan şimdilik.
 

Yeni mesajlar

Forum istatistikleri

Konular
128,158
Mesajlar
915,525
Kullanıcılar
449,904
Son üye
teknikbilimlers31

Yeni konular

Çevrimiçi üyeler

Geri
Üst