pcbway

PIC16F877A ve LM35 derece ölçme sorunu

Başlatan cscodes, 28 Temmuz 2014, 04:03:19

cscodes

İyi günler arkadaşlar,

Aşağıdaki devreyi Proteus'ta yaptığımda farklı, board üzerinde devreyi kurduğumda farklı bi sonuç yazıyor. Sorun nerede çözemedim, devrede mi yoksa kodlarda mı?

anlayan arkadaşlar yardımcı olabilir mi lütfen.

tüm proje dosyaları: https://www.dropbox.com/s/tsnm1qy63oeusah/LM35_test1.zip

LCD'de yazan değer 145 - 160 arası değişip duruyor.
Multimetre ground ve LM35'in orta ayağına bağlı.


Proteus'ta ise farklı:

furkanbuyuksutcu

hayırlı bayramlar  bu sorun sadece 877 için gecerli degil. Diger tüm micorproseslerde  de gecerli ayrıca  bunun sorunuda programımız olan proteusun orjinal olmamasıdır bilgisayarada yazdıgın kodlar bilgisayarda calısıyordur fakat günlük hayatta stabil olmuyor olabilir ama genelde calisması lazım. cok büyük ekisliklerde calışmama sorunu verebilir  iyi günler dilerim
 

cscodes

Alıntı yapılan: furkanbuyuksutcu - 28 Temmuz 2014, 08:23:15hayırlı bayramlar  bu sorun sadece 877 için gecerli degil. Diger tüm micorproseslerde  de gecerli ayrıca  bunun sorunuda programımız olan proteusun orjinal olmamasıdır bilgisayarada yazdıgın kodlar bilgisayarda calısıyordur fakat günlük hayatta stabil olmuyor olabilir ama genelde calisması lazım. cok büyük ekisliklerde calışmama sorunu verebilir  iyi günler dilerim
 

Hayırlı bayramlar, bu benim ilk devrem, board'a 5v vermesi için yaptığım devreyi saymaz isek :P

Hobi olarak başladım ben, muhtemelen devremde eksik birşeyler var sanırım.

Şuradaki http://mikrodunya.wordpress.com/2012/11/13/lm35-ile-dijital-termometre-uygulamasi/ örneği aldım şimdi.

75 lik direnç yerine 100lük koydum bende o olduğu için, 1uF kapasitör olmadığı için onu koyamadım, şimdi derece 10derece fazla gösteriyor, hava 35c iken 45c gösteriyor, onu da sanırım kodlardan çarpanı değiştirerek çözmek gerekecek.

serkan_48

MErhabalar..

Tam okumadım ama sitede en sonda kodda bir hata olduğundan bahsetmiş yayımcı. ölçü aletinizle ölçtüğünüz değere göre sorun işlemcinin değeri okuyup ekranda yazmada sıkıntı var.

Ayrıca böyle bir devre için fazla büyük bir işlemci kullanılmış. Deneme için ise sorun yok ama bence f84 yada f628 daha uygun bir işlemci. Kolay gelsin iyi çalışmalar.

cscodes

İyi günler, ben yeni başladım bu ilk devrem, öğrenme amaçlı yapıyorum, artık öyle deneme yanılmayla gidiyoruz : d

Yukarıdaki sitede verilen koddaki 4.8828125 değerini ben 3.688 yapınca doğru dereceyi yazdırabildim LCD'ye. LM35'e tam 5v veriyorum fakat niye öyle oldu anlamadım.

şu şekil oldu yani:

milivolt=ort*3.688; //4.8828125;
sicaklik=milivolt/10;

serkan_48

28 Temmuz 2014, 20:46:58 #5 Son düzenlenme: 28 Temmuz 2014, 20:54:30 serkan_48
Burda neden böyle bir katsayı ile çarpma işlemi yapmış anlamadım. milivolt/10 mantıklı bir işlem.  Bildiğim kadarıyla çıkış voltajı sıcaklıkla doğru orantılı atıyorum 33 derecede 0.33 volt 12 derecede 0.12 derece ve bunu yaptığınız şekilde bölmeyaparak ekranda yazdırabilirsiniz düşüncesindeyim.

Şu LM35 in datasheetine bir daha bakayım en güzeli.

cscodes

az önce LM35'i sıcak suya batırıp bi deniyim dedim, LCD'de yazan derece 44'ü geçince sapıtıp - olarak göstermeye başlıyor -43c -35c fln diye :d benim devre tamamen yanlış heralde : )

serkan_48

28 Temmuz 2014, 23:14:22 #7 Son düzenlenme: 28 Temmuz 2014, 23:33:09 serkan_48
Peki bu hareketi gösterdiğinde LM35 in çıkış voltajını ölçtünüzmü

Sorun büyük ihtimal kodlarda olduğunu düşünüyorum. Ancak küçük ihtimalde olsa LM35 arızalıda olabilir.

ayrıca sıcak suya batırdığınızda elemanın bacaklarınıda batırmadınız değilmi ?

LM35 datasheetinde şu yazıyor.

VOUT = 1500 mV at 150°C
VOUT = 250 mV at 25°C
VOUT = –550 mV at –55°C

-55 ve +150 derece aralığında ölçüm yapıyor. /10 yaparak sıcaklık değerini görebilirsiniz.

Sizden ricam şu linkteki proje ile ilerlermisiniz. Sizin uygulamış olduğunuz devrenin aynısı. Bir incelerseniz belki sorunu bulabilirsiniz. benim şu an vaktim çok yok ama belki yarın müsait olursam bende inceler yorumlarım.

http://www.biltek.tubitak.gov.tr/gelisim/elektronik/13.htm

cscodes

Alıntı yapılan: serkan_48 - 28 Temmuz 2014, 23:14:22Peki bu hareketi gösterdiğinde LM35 in çıkış voltajını ölçtünüzmü

Sorun büyük ihtimal kodlarda olduğunu düşünüyorum. Ancak küçük ihtimalde olsa LM35 arızalıda olabilir.

ayrıca sıcak suya batırdığınızda elemanın bacaklarınıda batırmadınız değilmi ?

LM35 datasheetinde şu yazıyor.

VOUT = 1500 mV at 150°C
VOUT = 250 mV at 25°C
VOUT = –550 mV at –55°C

-55 ve +150 derece aralığında ölçüm yapıyor. /10 yaparak sıcaklık değerini görebilirsiniz.

Sizden ricam şu linkteki proje ile ilerlermisiniz. Sizin uygulamış olduğunuz devrenin aynısı. Bir incelerseniz belki sorunu bulabilirsiniz. benim şu an vaktim çok yok ama belki yarın müsait olursam bende inceler yorumlarım.

http://www.biltek.tubitak.gov.tr/gelisim/elektronik/13.htm

verdiğim sitedeki kodlarla biraz oynamıştım şimdi tekrar o sitedekini alıp sadece 4.8828125 değerini 3.688 yaptım ve dikkatlice suya ucunu değdirerek denedim, 60c'lere kadar çıktı, suyun sıcaklığı okadardı heralde. bu arada da multimetre ile LM35'nin çıkış voltajını ölçtüm, LCD'de yazan derece ile aşağı yukarı aynıydı.

Buradaki kafamı kurcalayan yer 5v/1023 yapınca gelen 4.882 değerini kullanınca doğru sonuç alamamam, halbuki LM35'e verdiğim akım tam 5v, multimetre ile de kontrol ettim, LM35'e giden akım tam 5v.

Birçok örnek inceledim hep 5v/1023 ile bölüp çıkan 4.888... sonucunu kullanmışlar ama ben LCD'de doğru dereceyi yazdırabilmem için 3.688 kullanmam gerekiyor.

Sanki LM35'e (3.688/1000)*1023 = 3.77volt veriyormuşum gibi 3.688 kullanmam gerekiyor :)

Sizin verdiğiniz yerdeki HEX'i de denedim PICkit2 programlayıcısı şu uyarıyı verdi:

https://www.dropbox.com/s/qvnbl4t9sdneqyz/Clipboard02.png

ama yinede çip'e yazdı HEX'i fakat hiç çalışmadı, şemaya göre LCD ayaklarının bağlantılarını fln da düzenlemiştim. .C dosyası farklı bi yazılımla yazılmış sanırım mikroC ile yeni .HEX'i oluşturamadım hata verdi birsürü.

Bu arada yardımcı olduğunuz için teşekkürler, sizden başka yardımcı olan olmadı. Bilgidiğiz bu tarz yabancı yada yerli daha aktif forumlar varsa onları bana yazabilirmisiniz, oralara da sorayım.
[mergedate]1406671913[/mergedate]
Alıntı yapılan: serkan_48 - 28 Temmuz 2014, 23:14:22Peki bu hareketi g..

hocam mesaj atmışsınız teşekkürler, ben özel mesaj yazamıyorum ileti sayım az olduğu için sanırım.

cscodes

İyi günler arkadaşlar, sorun +5V bağlantısını PIC'in 11. pin'ine yapacağıma 9.pin'ine yaptığım içinmiş.

serkan_48

Geçmiş olsun projeboard üzerinde olunca kafadan devre kurulumuna kafa yormamıştık .. Güzel bir proje...