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 써모커플 온도 측정 테스트 동영상
썬모커플 온도 센서의 온도 값을 블루투스를 이용해 스마트폰으로 전송하기
반응형