본문 바로가기

[SENSOR]/Sensor

MAX31855 - 써모커플 온도센서 테스트 보드제작

MAX31855 - 써모커플 온도센서 테스트 보드제작

 

 

 

써모커플 온도센서를 간단히 측정할 수 있는 MAX31855 테스트 보드를 제작 했다. 다양한 MCU와 확장 보드에서 테스트 할 수 있도록 표준 핀맵의 SSM TYPE  EVM 보드 형태로 제작 했다.

 

 

MAX31855 특징

- Cold-Junction Compensation

- 14-Bit, 0.25NC Resolution

- Versions Available for K-, J-, N-, T-, S-, R-, and

- Simple SPI-Compatible Interface (Read-Only)

 

 

 

 

 

 

 

MAX31855 블록도

 

 

 

 

MAX31855 레지스터 맵

 

 

 

 

 

MAX31855 레지스터 리드 함수

unsigned long MAX31855_Read32(void)

    int i;

 

    union bytes_to_uint32 {

    unsigned char bytes[4];

    unsigned long integer;

    } buffer;

 

 

    

    MAX31855_CS_LO();

    Delay(1);

 

    for (i=3;i>=0;i--) 

    {

        buffer.bytes[i] = MAX31855_SpiRecvData(0x00);

    }

 

    

    MAX31855_CS_HI();

    

    return buffer.integer;

}

 

 

float MAX31855_readCelsius(void)

{

 

    unsigned long v;

 

    v = MAX31855_Read32();

 

 

    if (v & 0x7)

{

   return 0.0; 

    }

 

    if (v & 0x80000000)

    {

        v = 0xFFFFC000 | ((v >> 18) & 0x00003FFFF);

    }

    else

    {

        v >>= 18;

    }

      

    float centigrade = v;

 

    centigrade *= 0.25;

    

    return centigrade;

}

 

 

온도변환 함수

 

 

 

MAX31855테스트 예제코드

//-----------------------------------------------------------------------------

int main(void)

{

unsigned char flag = 1;

unsigned char rxd = 0;

unsigned char buffer[32];

float temp;

 

//시스템 초기화

SystemInit();

 

//LED포트 초기화

Led1Init();

Led1On();

Delay(900);

 

U0_Init(BAUD_115200);

printf("START\r\n");

 

    MAX31855_SPI_INIT();

 

while(1)

{

if(flag)

{

       temp = MAX31855_readCelsius();

       printf("%.2f\r\n", temp);   

 

Led1On();

Delay(100);

Led1Off();

Delay(900);

}

}

}

//-----------------------------------------------------------------------------

 
 
 
 
MAX31855 써모커플 온도 측정 테스트 동영상
썬모커플 온도 센서의 온도 값을 블루투스를 이용해 스마트폰으로 전송하기
 

 

반응형