NTC 저항 온도 계산법 :: 네이버 블로그
NTC 저항 온도 계산법 :: 네이버 블로그:
몇 분께서 NTC 온도저항 steinhart-hart equation 적용법에 대해 질문을 하시더군요.
그래서 실제 예를 들어 설명해드릴려고 합니다.
우선 이 방법을 적용하려면 미리 3개 이상의 온도-저항값 데이터를 가지고 있어야 합니다.
제조사에서 제공하는 온도-저항값 데이터가 있으면 좋겠지요.
만약 데이터를 도저히 구할 수 없다면, 직접 측정을 해야합니다.
주로 사용하게 될 온도 환경을 갖춘 후에 온도계를 이용해서 온도를 측정하고 그 때의 저항값을 측정하는 겁니다.
다음으로 온도를 어느 정도 변화 시킨 후에 마찬가지로 온도와 저항값을 측정합니다.
그리고 또 온도 변화를 준 후 측정해서, 최소 3개의 데이터를 모으는 겁니다.
그렇게 3개의 온도-저항값 데이터를 가지고, steinhart-hart equation 엑셀 파일을 엽니다.
그러면 아래와 같은 화면을 볼 수 있죠. (첨부한 예제 파일에서 노란셀만 지우고 쓰셔도 됩니다.)
엑셀파일에서 노란색 셀 부분인, T1에 첫번째 온도를.. 그리고 R1에 그 온도에 해당하는 저항값 데이터를 입력합니다.
(온도는 ℃, 저항은 kΩ 단위입니다.)
그리고 마찬가지로 T2, R2에 두번째 온도, 저항값 데이터를.. T3, R3에 세번째 데이터를 넣어줍니다.
그러면 이미 수식이 입력되어 있기 때문에 전부 자동으로 계산이 됩니다.
(저는 0~ 100도씨를 골고루 사용한다고 생각하고, 0, 50, 100도씨에서의 저항 데이터를 입력하였습니다.)
빨간 박스 부분에 C1, C2, C3에 값이 나타나죠?
이 값들이 여러분이 사용하는 온도저항의 steinhart-hart 방정식 특성 상수? 그런거라고 생각하시면 됩니다.
그런데 C1, C2, C3값들은 좌측 하단에 있는 C1a, C2a, C3a의 값을 1000배, 10000배, 10,000,000배 한 값입니다.
따라서 실제로 계산에 사용하려면 다시 나눠줘야되는 번거러움이 있죠.
그래서 C1, C2, C3가 아닌 C1a, C2a, C3a를 사용하면 계산을 조금이라도 줄일 수 있습니다. (추천ㅋ)
이제 C1a, C2a, C3a를 알고 있으므로, 현재 저항값이 R이라고 한다면, 현재온도를 다음 수식으로 구할 수 있습니다.
앞에서도 이야기 했지만, 저항 R은 kΩ 단위이며, 계산 결과인 현재온도는 절대온도 입니다.
그럼 이제 계산해낸 상수를 사용해 저항값을 온도로 계산 해보도록 하겠습니다.
그러면 다음과 같은 계산식을 사용하여 현재 온도를 구할 수 있습니다.
이 값은 절대온도 단위 이므로 -273.15를 해줘서 온도 단위를 ℃로 고칩니다.
그러면 최종적으로 현재온도는 30.34℃가 나오게 됩니다.
제조사 데이터를 참고하면 30도씨에서 평균 4.026kΩ이였으니 거의 흡사하게 나오는 것을 알 수 있습니다.
c언어 등으로 구현할 경우 자연로그 ln이 있으므로 math 라이브러리가 없이는 정확한 계산이 힘들것입니다. 보통 math.h는 다 제공되니 include 하셔서 log 함수로 계산하시면 될겁니다. (보통 log가 자연로그이고, 상용로그는 log10이였던거 같네요. 기억이 가물..;;) 그리고 세제곱 같은 경우는 power 함수를 쓰셔도 될테고, 아니면 그냥 단순히 세번 곱하면 되겠지요.ㅋ
|
댓글