'MAX31855'에 해당되는 글 1건

  1. 2016.03.27 MAX31855 - 써모커플 온도센서 테스트 보드제작
[SENSOR]/Sensor2016. 3. 27. 12:01

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

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




써모커플 온도센서를 간단히 측정할 수 있는 MAX31855 테스트 보드를 제작 했다. 다양한 MCU와 확장 보드에서 테스트 할 수 있도록 표준 핀맵의 SPI-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 써모커플 온도 측정 테스트 동영상
썬모커플 온도 센서의 온도 값을 블루투스를 이용해 스마트폰으로 전송하기


Posted by nexp
TAG

댓글을 달아 주세요