첨단 과학기술 속 과학 원리
본문아두이노 같은 작은 컴퓨터에 온도 센서를 연결하면 1초에 수십 번씩 숫자가 들어온다. 그런데 그 숫자는 '23 °C'가 아니라 '512' 같은 값이다. 센서는 온도를 직접 보내지 않고, 온도에 따라 바뀌는 전압을 0에서 1023 사이의 숫자로 바꾸어 보낸다. 이 숫자를 어떻게 온도로 바꿀까? 그리고 그렇게 얻은 온도는 얼마나 믿을 수 있을까?
2.1.1센서와 디지털 값
온도 센서는 온도에 따라 저항이나 전압이 변하는 소자이다. 예를 들어 서미스터는 온도가 오르면 저항이 줄어든다. 마이크로컨트롤러는 그 전압을 아날로그–디지털 변환기로 재어 정수로 바꾼다. 10비트 변환기는 0 V에서 5 V까지를 \(2^{10} = 1024\)단계로 나누므로, 한 단계는 약 5 mV이다. 이 숫자는 전압일 뿐이고, 몇 °C인지는 우리가 정해 주어야 한다.
온도를 정확히 아는 두 상태(예를 들어 0 °C와 100 °C)에서 센서 값 \(x_1\), \(x_2\)를 재면, 그 사이에서 온도와 센서 값이 직선 관계라고 가정하여 \[T = T_1 + (T_2 - T_1)\frac{x - x_1}{x_2 - x_1}\] 로 바꾼다.
그림 1에서 센서 값을 바꾸어 보자. 값 500은 \(\dfrac{500 - 180}{640} \times 100 = 50\) °C이다. 이렇게 기준과 비교하여 측정 기구의 눈금을 정하는 일을 보정이라 한다. 그런데 서미스터의 실제 관계는 정확한 직선이 아니라 곡선이라, 두 점 사이 가운데에서는 몇 °C 어긋날 수 있다. 그래서 정밀하게 재려면 세 점 이상으로 보정하거나 곡선 식을 쓴다.1
2.1.2믿을 수 있는 값인가
센서 값을 믿으려면 몇 가지를 확인해야 한다. 같은 온도에서 값이 얼마나 흔들리는지(정밀도), 참값과 평균이 얼마나 가까운지(정확도), 온도가 바뀐 뒤 값이 따라오기까지 얼마나 걸리는지(응답 시간)이다. 센서가 공기의 온도가 아니라 햇빛에 데워진 자기 몸의 온도를 잴 수도 있으므로, 설치 위치도 중요하다.
2.1.3예제 풀이
그림 1의 센서가 교실에서 값 330을 보냈다. 두 점 보정으로 온도를 구하여라. 센서 값이 1만큼 바뀌면 온도는 몇 °C 바뀌는가? 같은 기준 온도계로 교실을 재니 22.0 °C였다면, 이 센서의 오차는 얼마인가?
\(T = 0 + 100 \times \dfrac{330 - 180}{820 - 180} = 100 \times \dfrac{150}{640} \approx 23.4\) °C이다.
값 1당 \(\dfrac{100}{640} \approx 0.16\) °C이므로, 이 센서로는 0.16 °C보다 작은 변화를 구별할 수 없다. 기준 온도계와 비교하면 오차는 \(23.4 - 22.0 = 1.4\) °C이다. 직선 가정 때문일 수 있으므로, 실온 근처에서 기준 온도계로 한 점을 더 보정하면 이 구간의 오차를 줄일 수 있다. 즉 센서의 숫자를 믿을 만한 온도로 만드는 것은 센서 자체보다 보정과 확인의 과정이다.
아래 탐구 카드에서 온도계가 정말 온도를 재는지, 소리가 숫자가 되는 원리, 센서 값을 온도로 바꾸는 과정을 직접 확인해 보자.
- 물이 끓는 온도는 기압에 따라 달라, 높은 산에서는 100 °C보다 낮다. 그래서 끓는 물로 보정할 때는 그날의 기압을 확인하거나, 정확한 기준 온도계와 함께 잰다.
센서는 온도에 따라 변하는 전압을 디지털 숫자로 보내며, 온도를 아는 두 상태에서 값을 재어 직선으로 바꾸는 두 점 보정으로 온도를 얻는다. 그 값을 믿으려면 정확도, 정밀도, 응답 시간과 설치 위치를 확인해야 한다. 그래서 처음 질문의 센서 숫자는 기준 온도와 비교한 보정식으로 온도가 되고, 기준 온도계와 비교하여 얼마나 믿을지 정한다.