Busan IT/센서 제어2015. 9. 4. 08:57

==================================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);

}

 

회로구성에 따라 NTCGND로 들어가는 경우는 <<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
Posted by newind2000