==================================Outline====================================
NTC 온도계 저항값 변환
----------------------------------------------------------------------------
NTC의 저항 값을 온도로 변환시키는 공식에 대해서 알아보자.
우선 저항 값을 구하는 공식이다.
<<1>>
float fCalcNtc(short wADCVal) // from ADC
{
float fRntc;
fRntc = 10000 * (float) wADCVal / ( 1023.0 - (float) wADCVal); // 10000 = pullup resistor
return(fRntc);
}
<<2>>
float fCalcNtc(int wADCVal) // from ADC
{
double fRntc;
fRntc = ((SERIESRESISTOR * ( 1023.0 - (float) wADCVal) /(float) wADCVal)); // SERIESRESISTOR = pullup resi stor
return(fRntc);
}
회로구성에 따라 NTC가 GND로 들어가는 경우는 <<1>>, NTC의 회로가 MCU에 직접적으로 들어가는 구성은 <<2>>이다.
저항 값이 나오면 이 값을 Steinhart-Hart equation에 넣어서 값을 구하면 된다.
float fCalcTemp( float fRntc)
{
float fTemp;
fTemp = (1.0 / ( (log(fRntc/THERMISTORNOMINAL))/BCOEFFICIENT + 1.0/298.0)) - 273.0; //log = ln
return( fTemp);
}
이것을 활용하여 온도 값을 통신으로 넘겨주는 프로그래밍을 해보자.
//'--'는 DC(Don't care) 영역
통신으로 받은 값은 UI를 활용하여 표시해 주어야 한다.
무조건 아스키코드로 전송된다.
'Busan IT > 센서 제어' 카테고리의 다른 글
자동차 후진 경고 센서 (0) | 2015.09.14 |
---|---|
온도계 섭씨 화씨 변경, 초음파의 특성 (0) | 2015.09.10 |
C#을 활용한 NTC 온도 센서 (0) | 2015.09.04 |
NTC 센서를 활용한 온도계 (0) | 2015.09.02 |
NTC 온도 센서 (0) | 2015.09.01 |