Elektrotekno.com Ana Sayfa || Pic ve diğer işlemci ve denetleyiciler ile yapılmış devreler, projeler


Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.
Şu an Tamamlanmış Elektronik Devreler, Projeler kategorisi içerisindeki Pic ve diğer işlemci ve denetleyiciler ile yapılmış devreler, projeler forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "16f628 ile yapılmış 7 adet saat ve termometre devresi" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.
Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!

16f628 ile yapılmış 7 adet saat ve termometre devresi

Kayıt: 12 Şub 2006
Mesajlar: 435
Konum: d bakır
Offline
tilkisinan
Tarih: 01 01 2007 22:37

sayın ete
7 nolu devreyi (tarih saat -ısı)yaptım fakat çalıştıramadım displeyler eksik gösteriyor sebebide sanırım sizin verdiğiniz dosyadaki hex code leri kullanmış olmam. çünkü picpasic ile hazırladığınız dosyayı hex e çeviremedim sebebini anlayamadım ama sanırım pbpdemo ve yine derleyici olarak mcs2.3.0.0 kullanıyor olmam.

bana 7 nolu devrenin çalışır hex dosyasını gönderebilirmisiniz. yada bu bas uzantıları hexe çevirmenin başka bir yolu yokmu yardım edermisiniz.
teşekkürler

Kayıt: 22 Nis 2006
Mesajlar: 319

Offline
ete
Tarih: 02 01 2007 19:40

Aslında verdiğim dosyalar arasında hex dosyasıda olması lazım. Yok ise yeniden belirtki biryerlere yükleyeyim yada mail adresine göndereyim adres verirsen tabiiki.
Yada aşağıdaki deki dosyalara bak arasında olması gerek.

http://rapidshare.com/files/3285273/SAA..._.rar.html

ete

Başa dön
Kayıt: 12 Şub 2006
Mesajlar: 435
Konum: d bakır
Offline
tilkisinan
Tarih: 03 01 2007 23:05

sayın Ete

vermiş olduğunuz devreyi yaptım ama bir türlü çalıştıramıyorum
eminim biyerde basit bir hata yapıyorum şimdi yaptıklarımı sizinle paylaşmak ve sorunu çözmek istiyorum.
1. problem 1,2,3,4,5,6 nolu devreleri proteusda sorunsuz çalıştırdım ama 7 nolu devreyi çalıştırdığımda proteus kilitleniyor cpu işlem yapıyor görünüyor ama display sabit değer gösteriyor nede butonlar aktif.
resimde kullandığım proteus var
16f628 ile yapılmış 7 adet saat ve termometre devresi

5 nolu devre çalışıyor hiç sorunsuz 4 4 lük Smile
16f628 ile yapılmış 7 adet saat ve termometre devresi

7 nolu devreyi çalıştırdığımda kilitleniyor alttaki resimde görevi sonlandır diyerek çıkıyorum
ama sanırım sorun bende çünki önceki konularda 100 kişinin çalıştırdığını soylemişsiniz.
16f628 ile yapılmış 7 adet saat ve termometre devresi

ben direk devreyi yaptım altta devrenin yapılmış hali var
kullandığım malzemeler
PIC16F628-04/P ,M74HC595, DS1302, DALLAS18B20, 32.768Khz XTALL , BD175 Kullandım, ortak katot 7segment birde 7-segmetlerin katotlarını paralel5x2k2 ile gnd ye bağladım yine 100nf ve 330mf beslemeye paralel bağladım. 595, pic, ve ds1302 nin beslemelerinide yaptım.
16f628 ile yapılmış 7 adet saat ve termometre devresi

uuzun araştırmalarım sonucu bahsettiğiniz mcs2300 ile derlemeyide öğrendiğimi zannediyorum onuda şöle derledim.
verdiğiniz dosyadaki .bas uzantılı (saat-ısı_8_.rar) dosyayı c:/ ye kopyaladım mcs2.3.0.0 ı çalıştırdım PBP2.46 yı yine c:/PBP246 klasörüne koydum
alttaki resimdeki gibi ayarladım
16f628 ile yapılmış 7 adet saat ve termometre devresi
16f628 ile yapılmış 7 adet saat ve termometre devresi

kullandığım mcs nin versiyonu
16f628 ile yapılmış 7 adet saat ve termometre devresi

bas dosyasını mcs de açtım derle dedim resimdeki gibi

16f628 ile yapılmış 7 adet saat ve termometre devresi

c ye 4 tane dosya oluşturdu 1.asm dosyası 2. hex dosyası 3.list dosyası 4 mac dosyası
ve resimdeki gibi success dedi
16f628 ile yapılmış 7 adet saat ve termometre devresi

ardından bu hex dosyasını icprog kullanarak şekildeki gibi pice attım
çalışmadı

16f628 ile yapılmış 7 adet saat ve termometre devresi

sizin dosyalardakilerden de hex leri alıp yine aynı şekilde yükledim ama devre çalışmıyor.5 nolu ve 6 nlu devrelerinde bas dosyalarını aynı şekilde denedim yine çalıştıramadım
butonlar çalışıyor. displayde digitler eksik gösteriyor.aynı dıgıt 8 i gösterebilirken 4 ü yarım gösteriyor .
tarih saat ve derece geçişleride oluyor.derecenin değeride değişiyor ama dediğim gibi 3 ü gösteriyo aynı dıgitler 4 olunca sadece 4 ün g segmentini yakıyo gibi

lütfen yardım.
teşekkürler

Başa dön
Kayıt: 22 Nis 2006
Mesajlar: 319

Offline
ete
Tarih: 03 01 2007 23:23

@Tilkisinan,
Üzüldüm devrenin çalışmamış olmasına. Bir arkadaşımın güzel bir lafı vardır. Derki çalışmayan devre yoktur, çalıştırılamayan devre vardır.
Öncelikle işe isis simulasyonundan başlayalım. Programda DS18B20 sensörü var ve şayet isisde model dosyan yok ise bu sensörün okunması esnasında program kilitlenmektedir. Çünki program sensörden bilgi almaya çalışmakta alamayıncada sonsuz döngüye girmektedir.
Gerçekten program sensör okumada mı kilitleniyor diye merak ediyor isen. programda sonlara doğru aşağıdaki satırları bul ,

SENSOROKU:
'-----------------DİKKAT İSİS'de BU SATIR AKTİF EDİLECEK----------------------
' ham=$ff5e:Gosub hesapla:return 'NORMAL ÇALIŞMADA BU SATIR SİLİNECEK
'------------------------------------------------------------------------------

ham=$ff5e şeklinde başlayan satırı aktif hale getir (başındaki ' işaretini silersen yada kaldırırsan satır aktif olacaktır.
Bu hali ile programı yeniden derle ve isiste çalıştır. Program kilitlenmeyecektir.
Aynı programı gerçek devrende kullandığın pic'e de yükle ve bak bakalım kilitleniyormu?.

Kilitlenmenin bir başka sebebide de DS1302 olabilir. Kristal tam tamına X1 ve X2 bacaklarına en kısa yoldan bağlanmalıdır.
Varsa bir frekansmetre ile X1 yada X2 bacağından ölçüm almaya çalış 32768 HZ veya yakını bir değer göstermesi gerekir.
Göstermiyor ise DS1302 nin osilatörü çalışmıyordur.

En önemli sebeplerden biriside Pic'in besleme bacaklarına 100nf kondansatör atılmamış olmasıdır. Devrenin başka yerinde 100 nf olabilir ama pic in besleme bacaklarına en yakın olan bir yere mutlaka 100nf kondansatör eklemeyi ihmal etmeyiniz.

Bu dedklerimi bir kontrol edin ve eksikleri tamamlayıp sonucu burada açıklarsanız sevinirim.

Ete

Başa dön
Kayıt: 12 Şub 2006
Mesajlar: 435
Konum: d bakır
Offline
tilkisinan
Tarih: 04 01 2007 00:43

sayın Ete


SENSOROKU:
'-----------------DİKKAT İSİS'de BU SATIR AKTİF EDİLECEK----------------------
' ham=$ff5e:Gosub hesapla:return 'NORMAL ÇALIŞMADA BU SATIR SİLİNECEK
'------------------------------------------------------------------------------
satırı aktif hale getirdim program proteus da sorunsuz çalışıyor. Wink
aynı programı (hex i) pice yükledim.picin 5-14 bacaklarına direk devrenin arkasından 100nf bağladım. kristali ölçtüm (32.768khz veriyor)
devreyi tek tek kontrol ettim tüm bağlantılar doğru.
gerçek devrede mesele saniye digiti sayarken 01,02,03 diye 01 i normal sösteriyor 02 yi gösteririken 2 nin a,b,g segmentleri yanıyor d,e segmentleri yanmıyor 03 ü gösterirken a,b,c,d,g yanıyor 04 de gene bazıları yanmıyor.bu saat dakika ve tarih içinde geçerli bazı segmentler eksik gösteriyor aynı segment bi başka rakamı gösterirken yanıyor bukez diger segmentin bi kısmı yanmıyor gibi tüm bağlantılar normal. ortadaki ledler yanıp sönüyor onlarda sorun yok butonlar çalışıyor.
acep sorun PIC16F628 A kullanmıyor olmam gibi bişey olabilirmi pic16f628 kullanıyorum.

Başa dön
Kayıt: 22 Nis 2006
Mesajlar: 319

Offline
ete
Tarih: 04 01 2007 10:16

Anlattıklarından anladığım kadarı ile,
1. sorunun Isı sensörün doğru çalışmıyor. Bozukda olabilir yanlış sensörde olabilir.
Piyasada DS18B20 , DS1820 ve DS 18S20 sensörleri bulunmaktadır. Bu devre 18B20 için yazılmıştır. Diğer sensörler ile çalışmaz. Diğerleri dediğim DS1820 ve DS18S20 sensörleri bu program ile çalışmaz. Önce sensörüne bir bak bakalım nedir.
Sensör doğru ise bu sefer devreni kontrol et. Şayet sensör için blendajlı kablo kullanmış isen aynı hataları görmen büyük olası.
Normal çıplak kablo kullanmalısın. Resimden gördüğüm kadarı ile bir soket yapıp sensörü oraya bağlamışsın. Eğer öyle ise sensör bacaklarının iletim kontrolünü yap. Temas etmiyor olabilirler. Data bacağında pullup direnci olması lazım onu kontrol et. Uygun değerdemi.

2. sorun ise displaylerin segment bağlantılarında bir sorunun var. Sanırım ortak katod display kullandın ve ortak katodu bir transistörle sürdün doğrumudur?. Burada bir sorun yok aslında bana kalırsa 74HC595 ler ile segment bağlantıları arasında 100 ohm veya 47 ohm gibi bir direnç olmalı (akım sınırlandırma direnci) yoksa segmentleri yakabilirsin.
Bazı segmentlerin yanmaması bağlantılarda bir sorun olduğunu gösterir. Yoksa ne pic nede 595 ler bu tip hatayı yapmaz.
Dikkat et yanmayan segmentler hem tarih yada saat hemde sıcaklık gösterirkende yanmıyordur.
Bunların bir teyidini verirsen bir adım daha ileri gidebiliriz.

Ete

Başa dön
Kayıt: 02 Arl 2006
Mesajlar: 15

Offline
akf
Tarih: 04 01 2007 10:33

Ellerinize sağlık. aklıma geldi sormak istedim. belkide forumda mevcuttur. bi yerde görmüştüm. ledler ile tasarlanmış bir analog saat gibi. bu yaptığımız devrelere ek olarak tasarlanmış, displaylerin etrafında bir çemberde 60 adet mavi led. saniyeyi temsilen. mavi ledlerle güzel bir görünüme sahip olmuş Smile dekoratif amaçlı. zannediyorumki bu modifikasyon pekte zor değidir...

Başa dön
Kayıt: 12 Şub 2006
Mesajlar: 435
Konum: d bakır
Offline
tilkisinan
Tarih: 04 01 2007 23:24

sayın ete

yardımlarınız sayesinde devreyi çalıştırdım sorun 595 lerle displeyler arasındaki yollardan mış.
ben akım sınırlama direncini tüm displaylerin katotlarını gnd ye bağlarken ortak koydum bu uygun değil displeyler birbirlerinden etkilenecekler biliyorum ama deneme devresi olduğu için 42 direnç koymayı yemedi:) esas displayı ledlerle yapacağım. devrede tek transistör var oda ortada yanıp sönen ledleri sürmek için yani sizin verdiğiniz devreden bi fark yok. xtall değeri doğru ölçtüm.

şimdi birkaç problemim daha var Embarassed

1.zamanın ileri gitme yada geri kalmasını önceki konularda bahsettiğiniz 61 değerini kullanarak yapcaz onu anladım(gerçi 25-30 dk denedim telefonun kronometresi ile şaşma olmadı)

2.tarih, saat ve derece arasındaki geçiş zamanlarını programın neresinden ayarlicaz.

3.DALLAS18B20 %100 doğru gösteriyor ama ds18b20 devreye bağlı iken 4 adet saniye ile birlikte yanıp sönen led sürekli yanık kalıyor saniye sapıtıyor. ds18b20 yi sökünce saat süper çalışıyor. sorun ne olabilir daha önce verdiğiniz ds1820 için olan kodu derlemeyi denedim ısı1 ve ısı2 değişkenleri var sanırım onları ilave etmeden derlenmiyor ayrıca küçük (ı) harflerinide (i) olarak değiştirdim bahsettiğiniz değişkenleri ilave ettim ama değişken atama alanı yetmedi sanırım mcs derlemede hata verdi.

4.tarih ayarlanırken ay 99 gün olarak görünüyor ve mode butonuna basınca aşağı butonuna basmadan kendi kendine aşağı sayıyor bu ısı sensörü bağlı olsada olmasada değişmiyor.
butonları ve dirençleri ölçtüm.

yardım edermisiniz
teşekkürler

Başa dön
Kayıt: 22 Nis 2006
Mesajlar: 319

Offline
ete
Tarih: 05 01 2007 11:10

@Tilkisinan,

Saatin ileri yada geri kalması bahsini ettiğin 61 değeri ile yapılmıyor. Saat DS1302 den okunduğu için saatin hassasiyeti tamamı ile DS1302 nin kristaline bağlı. Normalde X1 yada X2 bacaklarından birinden frekansmetre ile ölçtüğünüz zaman 32768 HZ okumanız gerekir. Şayet bu frekansı okursanız saatiniz doğru çalışıyor demektir pek ileri geri gitme yapmaz.
Bu 61 rakamının nerede etkin olduğu senin 3 nolu sorunun cevabında göreceksin.

Gelelim Bilgilerin ekranda kalış süreleri ayarına,
Programın başında hemen başla satırından sonra;
Kod


BASLA:
        IF Y=21 THEN Y=0
        IF Y<8 THEN GOSUB EKRAN0   'saat göster
        IF Y>7 AND Y<15 THEN GOSUB EKRAN1  'derece göster
        IF Y>14 THEN GOSUB EKRAN2    'tarih göster

şeklinde satırlar var. Ayarlamaları bu satırlar yapıyor.
Y nin değeri 0 ile 8 arasında iken (yani 8 sn) ekranda saat gösteriliyor.
Y nin değeri 8 ile 15 arasında iken (Yani 7 sn) ekranda sıcaklık gösteriliyor
Y nin değeri 15 ile 21 arasında iken (yani 6 sn) ekranda tarih gösteriliyor.

Y nin değeri her saniye bir artırılıyor. ve değer 21 olunca otomatikman sıfırlanıyor (birinci satırdaki komut yardımı ile)

Tabiiki bu değerlerin etkilediği bir satır daha var buda programın sonunda KESME adlı etiket altında bulunan ;
Kod


if Y<8 then HIGH LEDLER

satırı. Şimdi bir örnekle neyi ne şeklide değiştireceğinizi açıklayayım.
Diyelimki siz 5 saniye saat, 10 sn. ısı ve 7 saniye de tarih gösterilmesini istiyorsunuz. Toplam değişim süresi;
5 + 10 + 7 = 22 sn eder. BU durumda yukardaki satırlar şöyle düzenlenmeli;
Kod


BASLA: '0 - 1 - 2 - 3 - 4 **  5 - 6 - 7 -8 - 9 - 10 - 11 - 12 - 13 -14 ** 15 - 16 - 17 - 18 - 19 - 20 -21 **
        IF Y=22 THEN Y=0
        IF Y<5 THEN GOSUB EKRAN0   'saat göster
        IF Y>4 AND Y<15 THEN GOSUB EKRAN1  'derece göster
        IF Y>14 THEN GOSUB EKRAN2    'tarih göster
' ve de kesme başlığındaki satır da;
if Y<5 then HIGH LEDLER


şeklinde değiştirilecek. Hepsi bu Umarım anlamışsındır.

3 nolu soruna gelince işte bu ledlerin yada saniyenin düzgün çalışmamasını bahsini ettiğin 61 değeri sağlıyor.
Bu değeri uygun tutturabilirsek her şey düzgün çalışmaktadır. Yaptığım denemelerde bu değerin 50 dolayında olması gerektiğini buldum. Bir kaç arkadar uyguladı sonuç gayet güzel oldu. Programın bu değere göre düzenlenmiş halini ve bir iki düzeltme içeren versiyonunu aşağıdakie koydum. Bir dene istersen. Sonucu bildirirsen sevinirim.

4. sorunda bahsini ettiğin sorunu anlamadım. Muhtemelen devrende tuşa basılı kalıyormuş gibi bir his var içimde. Çünki programda öyle bir komut yok. Muhtemelen ya pull up direnci yoktur yada başka bir şey olabilir. Sen son programıda bir dene sorun devam ediyor ise bildir lütfen.

http://rapidshare.com/files/10296762/SA...e.rar.html

Ete

Başa dön
Kayıt: 12 Şub 2006
Mesajlar: 435
Konum: d bakır
Offline
tilkisinan
Tarih: 05 01 2007 23:44

sayın ETE
yardımlarınız için ve ilginiz için çok teşekkür ediyorum

bir sorun var demiştim mode tuşuna basınca ay 31 den değilde 99 dan kendiliğinden aşağı sayıyor diye
butonları kontrol ettim 10k direnci kontrol ettim en sonunda picin normal çalışma esnasında 4,15,16
nolu bacaklarından voltaj ölçtüm 16 ve 4 nolu bacak 5 volt, 15 nolu bacak ise 2.5 volt tu pic in 15 nolu bacağını
ayırıp soketin dışında bırakarak sokete taktım ama hiç bişey değişmedi. sanırım sorun pic den heralde bozduk dedim
kodlardan RA5 ile RA6 yı yer değiştirdim
SYMBOL ASAGI =PORTA.6
SYMBOL YUKARI=PORTA.7

değişmiş hali
SYMBOL ASAGI =PORTA.7
SYMBOL YUKARI=PORTA.6

bu sefer mode tuşuna basınca kendiliğinden yukarı saymaya başladı
bolece sorunun picden olduğu kesinleşti.
RA6 arızalandı
bende
' IF ASAGI=0 THEN
' SAAT=SAAT-1
' IF SAAT=255 THEN SAAT=23
' ENDIF
olarak tüm 'aşagı'yı şimdilik kaldırdım. 5 tane programın içinde 5 inide
bu şekilde kaldırdım. pic16f628 i diyarbakırda bulamadım sipariş verdim gelecek
enazından birkaç gün idare etsin.



şimdi sadede geleyim

sayenizde devreyi cok güzel çalıştırdım. fakat tek sorun ledlerin saniye ile uyumsuz çalışması.
en son vermiş olduğunuz dosyayı olduğu gibi pic e attım
zaman doğru işliyor fakat ledler yine anlamsız yanıyorlar.
yanıp sönme aralıkları standart değil.
50 olarak verdiğiniz değeri 49-62 ye kadar denedim ama gene olmadı
ledler saniye ile uyumlu yanıp sönmüyor.
bu konuda yardımlarınızı bekliyorum.

bir sorum daha olacak tarihi 30:04:2007 yaptım saatide 23:50:00
telefonumun kronometresine bastım saniye şaşmadı (değer:50 idi)
10 dakika sonra tarih 31 olmadı 01:05:2007 oldu bunu diğer aylar
içinde ayarlamışmıydınız.
4 senede 1 şubat ayını 29 gün yapıyormu ?

eşekkürler

Başa dön


Sayfaya git Önceki  1, 2, 3, 4, 5, 6, 7, 8, 9  Sonraki
Benzer Konular

- şeffaf ledlerle yapılmış iki ayrı vumetre devre ve şemaları

- 2000 adet elektronik devre şeması
- Mükemmel bir anfi devresi(herşeyiyle)
- bir kaç adet çizgiyi ölçüp toplamak için her hangi bir komut varmı?
- Ters Sarkacın Tasarımı ve Kontrolü üzerine 5 adet Y.L. tezi
- 18f452 ile yapılmış FAT16 MMC/SD kart okuyucu
- araba aküsü test devresi
- JK flip-flop sayıcı devresi
- sabit telefon ses yükseltme devresi

- MMC Card Kullanılarak Yapılmış 3 Renkli Kayan Yazı (Şema - kod - Hex )

- basit kulanışlı bir pil şarj devresi

16f628 ile yapılmış 7 adet saat ve termometre devresi



Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar için iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Türkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71