MAX6675'i kullananlar buraya

Başlatan MICROCEBEL, 10 Temmuz 2008, 09:29:45

MICROCEBEL

Arkadaşlar merhaba,

Pic ile max6675 ten spi veri yoluyla ısı bilgisini alıyorum.Fakat K tipi termokuplu max6675 in t+ t- uçlarından çıkardığımda termokupl kopuk bilgisini alamıyorum.Saçma sapan ısı değerleri okuyorum.Termokupl bağlı iken okuduğum ısı değerini ds1820 ile okuduğum değerle karşılaştırıyorum değerler birbirine uygun.Diğer bir sorunumda şu termokuplun üzeri izolasyonlu bu izolasyonu şaseye bağlamazsam üzerine elimle dokunduğumda değerler çok şaşıyor.Piyasada gördüğüm ısı ölçerlerin hiç birinin izolasyonunu şaseye vermiyorlar.Bu sorunları nasıl aşabilirim neler önerirsiniz.Çalışmalarınızda başarılar...

parda

Merhaba;

Aşağıdaki kod kullandığım bir koddur iki MAX6675 den (secime göre) sıcaklığı okur sensör takılı değilse -1 döndürür. Fikir verebilir.
#define DataBit(dt,x)     ((dt>>x)&0x01)
#define TERMOCLK          PORTA.F2
#define TERMODT           PORTA.F1
..
int ReadTermo(char cS)
{
 unsigned int nTmp,i;
 int err,ham,derece;
 if(cS == 0)//ODAK
 {
   PORTB.F7 = 0;
   PORTB.F6 = 1;
 }else
 {
   PORTB.F7 = 1;
   PORTB.F6 = 0;
 }
 nTmp = 0;
 for(i=0;i<16;i++)
 {
   nTmp <<= 1;
   nTmp |= TERMODT;

   TERMOCLK = 1;
   TERMOCLK = 0;
 }
   PORTB.F7 = 1;
   PORTB.F6 = 1;


 err = DataBit(nTmp,2);
 ham = nTmp >> 3;
 ham &= 0x0fff;
 derece = ham / 4 ;

 if(err)return -1;
 return derece;

}
Bildiğim tek şey, hiç bir şey bilmediğimdir.

fofo

#2
CS=0 
    DELAYMS 1
    SHIN SO,SCK,0,[HAM\16]     
    CS=1
    DELAYMS 250
   IF HAM.2=1 THEN
   CLS
   PRINT $FE,2,"SENSOR ARIZALI  "
  PRINT $FE,$C0,"VEYA SENSOR YOK "
 ENDIF