Psoc 27443 iç ısısını ölçtüm.
sonuç 91 derece görünüyor lcd de.Bu değer doğru değil heralde.
Hata nerde yapmış olabilirim.
Dosyaların hepsini aşağıya koydum.
Psoc kaynak kodu (http://rapidshare.com/files/20426134/devre.zip.html)
(http://img225.imageshack.us/img225/1243/devre1kxv3.jpg)
------------------
(http://img135.imageshack.us/img135/7883/sicaklik1kpk2.jpg)
2x16Lcd_Library 27c443 Şema 3d (http://rapidshare.com/files/20425495/sic_psoc_27443.zip.html)
Bu tip bir çalışmayı E-dergi de de görmek isteriz Ahmet hocam..
Katılımları bekliyoruz..
bu arada bu şemayı hangi programla cizdiniz
Alıntı yapılan: "RoMeO123"bu arada bu şemayı hangi programla cizdiniz
Eagle
Bu arada 91 derece iyi rakam
Kod'da bir iki ufak hata ve gereksiz kısım gördüm gibi ama şuan evdeyim ve derleyici yüklü değil, işyerime geçmeden net birşeyler yazmak istemedim.
Yalnız derleyici hatasına dayalı bir sorunda olabilir, o yüzden PSoC Designer 4.4'ü yüklü değilse yüklemenizi öneririm.
Linkini daha önce forumda vermiştim.
Psoc kullanıcılarından hala cevap gelmedi.?
ground hocam eDergi aklımda.Şöyle daha uzun bir zaman
aralığı bulursam dergiye katkıda bulunmak isterim tabiki.
merhaba ahmet2004 hocam hocam konu ile alaksi yok kusura bakmayin ama bu gönderdiginiz brd dosyasiini eagle da acip 3d halini cikartayim dedim olmadi sadece baski devresini gösterdi pov-roy programi acaba prblem nedir bu eagle i ben pek kullanmiorum ama bu 3d olayi süper bir sey :) saygilar
kaynak koda bakmadım
hep bu hatayı verdi
""
Too many users downloading right now. Please try again in two minutes or get a PREMIUM-Account
""
birçok kullanıcı idiriyo şu an diye bu mesajı yazmadan 2 saat önce de denemiştim ama olmadı bşka bi siteye de upload edebilirmisiniz
aYe versiyon 4.4 zaten kodları yeniledim.Gerçi birşey
farketmiyor.çipin tam yapısını çözmeye çalışıyorum.
// İç sıcaklık ölçmek
#include <m8c.h>
#include "PSoCAPI.h"
void BytetoIntStr(int c, int keta, char *buf) {
int i;
buf[keta+1] = '\0';
buf[0] = (c < 0)? '-': ' ';
c = (c < 0)? -c: c;
for (i = keta; i > 0; i--) {
buf[i] = (c > 0)? ((c % 10) + '0'): ' ';
c /= 10;
}
}
const char celciusstr[3] = {(char)0xdf, 'C', '\0' };
#define SMPLSTPHLF 128
#define SMPLSTP (SMPLSTPHLF*2)
void main() {
char cTemp;
int count;
long sumcT;
char rTemp;
char intstr[5];
M8C_EnableGInt;
LCD_1_Start();
LCD_1_Position(0,0); LCD_1_PrCString("www.picproje.org");
LCD_1_Position(1,0); LCD_1_PrCString("Sicaklik:");
LCD_1_Position(1,14); LCD_1_PrCString(celciusstr);
FlashTemp_1_Start();
count = 0; sumcT = 0;
do {
if (FlashTemp_1_fIsData()) {
cTemp = FlashTemp_1_cGetData();
sumcT += cTemp;
if (++count == SMPLSTP) {
rTemp = sumcT / count;
//LCD_1_Position(0,15); LCD_1_PrCString("o");
//LCD_1_Position(0,12); LCD_1_PrHexByte(rTemp);
BytetoIntStr(rTemp, 3, intstr);
LCD_1_Position(1,10); LCD_1_PrString(intstr);
count = 0; sumcT = 0;
} else if (count == SMPLSTPHLF) {
//LCD_1_Position(0,15); LCD_1_PrCString(" ");
}
FlashTemp_1_Start();
}
} while (TRUE);
}
teknikelektronikçi proje kaynak kod şema board
dosyalarını verdim.
2x16 Lcd Povray3d dosyasını vermedim.Onun
için çıkaramazsın.Buradaki amaç PSOC la yapılmış
bir projeye dikkat çekmektir.
Yeniden yazmak düzeltmekten kolay geldi :oops:
Buzlukta en fazla -44 dereceye kadar düştü ama ben resmini çekene kadar -17 dereceye kadar ısınıyor.
+99 dereceden sonra kod saçmalıyor, koda bir iki ekleme yapmak lazım, vaktim olmadığı için uğraşamadım.
Kartın üzerinde CY8C29466 vardı, 27443'ü takmaya üşendiğim için kodu ona yazdım.
Bir iki resim ve kod dosyası;
(http://img263.imageshack.us/img263/1338/dsc00061of5.jpg)
(http://img178.imageshack.us/img178/4489/dsc00067fn9.jpg)
http://rapidshare.com/files/20653250/PSoC_Temperature.rar.html (http://rapidshare.com/files/20653250/PSoC_Temperature.rar.html)
Maalesef sabit -84 gösteriyor Lcd.
4.4 tekrardan kurdum olmadı.
Normal oda sıcaklığını bir türlü ölçemedim.
Benim gönderdiğim kodu denediğinde de -84 mü gösteriyor?
Konfigürasyon ayarlarında VC1 olan kısmı VC2 yaptım düzeldi.
VC2 = VC1/N
Bu konfigürasyon ayarları FlashTemp'in dökümanında varmı?
(http://img127.imageshack.us/img127/9000/konfig1wu8.jpg)
Animasyon:
(http://img143.imageshack.us/img143/686/1111isika3.gif)
Bitmiş son Kaynak kodları burada projenin.
..............Bitmiş Son Hali................... (http://rapidshare.com/files/20679047/devreSon.zip.html)
Hocam PSoC donanım ayarlarını verdiğin koddaki donanım ayarlarına bakarak düzelttim, bu ayarları neye dayanarak yaptın diye soruyosanız anlatıyım.
Yok şansa VC1'i VC2 yaptım çalıştı diyorsanız bir de VC3 yapın belki havadaki nemi de ölçer.
Anlatırsan konuyu memnun olurum .
Ben analog blok için VC3 tahsis edilemez, ancak digital blok'a konulan ve girişi VC3 olan bir buffer'ın çıkışı analog clock'a giriş olarak seçilerek kullanılabilir gibi bir yorum beklemiştim.
Ana konuya dönersek kural şu;
(CPUCLOCK/100) >=(büyük eşit) ANALOGCLOCK/4
Verdiğim örnekte;
Sysclk = 24 mhz
Cpuclock=Sysclk/2=12mhz
VC1=Sysclk/10=2.4mhz
VC2=VC1/5=2.4/5=0.48mhz
Sonuç;
12mhz/100 >= 0.48mhz/4
0.12 >= 0.12 geçerli.
Benim anlatmak istediğim VC1 i neden kullanmıyoruz idi.
Dökümanlardan şunu çıkardım.
Dökümanında belirtildiği gibi Saat Freakans girişi maximum 960 Khz
minimum 125 Khz oluyor.Buna göre VC1=24Mhz/100=2.4Mhz
olduğundan 2.4Mhz Saat giriş frekansından çok yüksek o yüzden
çalışmıyor devre doğru olarak.İç ısıda oyüzden çok büyük çıkıyor.
(http://img297.imageshack.us/img297/4431/003wb1.jpg)
Alıntı yapılan: "ahmet2004"Buna göre VC1=24Mhz/100=2.4Mhz
VC1=24mhz/100=2.4mhz olamaz zira hem 24/100=0.24 eder hemde VC1 sadece 16'ya kadar bölebilir.
O da en az 1.5mhz eder ki bu verilen limitin üstünde bir değerdir.
Bu yüzden VC2 kullanılır çünkü VC2, VC1 çıkışını clock girişi olarak kullanan bir prescaler'dir.
CpuClock,SysClock,VC1,VC2,VC3 ibarelerini birbirine karıştırmayın.
SysClock dahili osilatör saat frekansı, CpuClock İşlemci clock prescaler'i, VC1 ve VC2 analog ve digital bloklar için clock prescaler'i, VC3 dijital bloklar için clock prescaler'idir.
Aynı şeyi konuşuyoruz.Orda yazarken bir sıfır fazla yazmışım.
Çok dikkatlisiniz o olmayacak. Zaten bakılınca görünüyor.Frekans 10a
bölünüyor.
(http://img475.imageshack.us/img475/4984/005jf0.jpg)
Psoc kullanıcıları kaç kişi acaba picprojede.?