Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => PSoC Mikrodenetleyici => Konuyu başlatan: ahmet2004 - 11 Mart 2007, 03:05:39

Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proj
Gönderen: ahmet2004 - 11 Mart 2007, 03:05:39
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)
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ground - 11 Mart 2007, 13:57:01
Bu tip bir çalışmayı E-dergi de de görmek isteriz Ahmet hocam..

Katılımları bekliyoruz..
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: Cetinal - 11 Mart 2007, 14:14:41
bu arada bu şemayı hangi programla cizdiniz
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: aster - 11 Mart 2007, 15:27:44
Alıntı yapılan: "RoMeO123"bu arada bu şemayı hangi programla cizdiniz
Eagle

Bu arada 91 derece iyi rakam
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: aYe - 11 Mart 2007, 16:11:25
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.
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ahmet2004 - 11 Mart 2007, 16:19:12
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.
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: teknikelektronikci - 11 Mart 2007, 17:55:08
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
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: Cetinal - 11 Mart 2007, 19:00:46
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
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ahmet2004 - 11 Mart 2007, 20:07:47
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.
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: aYe - 12 Mart 2007, 14:23:48
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)
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ahmet2004 - 12 Mart 2007, 16:17:07
Maalesef sabit -84 gösteriyor Lcd.

4.4 tekrardan kurdum olmadı.

Normal oda sıcaklığını bir türlü ölçemedim.
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: aYe - 12 Mart 2007, 17:14:46
Benim gönderdiğim kodu denediğinde de -84 mü gösteriyor?
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ahmet2004 - 12 Mart 2007, 17:25:03
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)
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ahmet2004 - 12 Mart 2007, 17:30:42
Bitmiş son Kaynak kodları burada projenin.

..............Bitmiş Son Hali................... (http://rapidshare.com/files/20679047/devreSon.zip.html)
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: aYe - 12 Mart 2007, 17:48:47
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.
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ahmet2004 - 12 Mart 2007, 19:57:50
Anlatırsan konuyu memnun olurum .
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: aYe - 12 Mart 2007, 20:10:57
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.
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ahmet2004 - 13 Mart 2007, 15:23:10
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)
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: aYe - 13 Mart 2007, 19:25:32
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.
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ahmet2004 - 13 Mart 2007, 20:02:24
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)
Başlık: Cy8c27443 ile Entegrenin iç ısısını ölçmek (Full proje)
Gönderen: ahmet2004 - 30 Haziran 2007, 00:04:45
Psoc kullanıcıları kaç kişi acaba picprojede.?