실험실 장비에 접근 할 수없는 애호가로서, 내가 가지고있는 서미스터를 교정 할 수는 없습니다.
물론 DS18B20과 같은 캘리브레이션 된 온도 센서가 있지만 Aruino UNO (새로운 MCU와 비교)와 같은 느린 MCU의 서미스터는 더 빠릅니다.
실험실 장비를 사용하지 않고 서미스터를 교정하기 위해 어떤 옵션이 있습니까?
실험실 장비에 접근 할 수없는 애호가로서, 내가 가지고있는 서미스터를 교정 할 수는 없습니다.
물론 DS18B20과 같은 캘리브레이션 된 온도 센서가 있지만 Aruino UNO (새로운 MCU와 비교)와 같은 느린 MCU의 서미스터는 더 빠릅니다.
실험실 장비를 사용하지 않고 서미스터를 교정하기 위해 어떤 옵션이 있습니까?
답변:
서미스터 (또는 대부분 해당 문제에 대한 모든 센서)를 교정하는 것은 2 단계 프로세스입니다.
첫 번째 단계는 가장 어렵고 불행하게도 내가 가장 경험이 적은 단계입니다. 그런 다음 매우 일반적인 용어로만 설명하겠습니다. 두 번째 단계는 대부분 수학입니다.
알려진 온도에서 측정 된 저항 값으로 (T, R) 쌍으로 테이블을 채워야합니다. 교정 데이터는 실제 사용에 필요한 모든 온도 범위를 포괄해야합니다. 이 범위를 벗어난 데이터 포인트는 그다지 유용하지 않습니다. 그렇지 않으면 데이터 포인트가 많을수록 좋습니다.
서미스터의 저항을 측정하기 위해, 나는 당신을 조언 에 대해 저항계 사용하지 않는 것이 좋습니다. 실제 교정 후 측정에 사용할 것과 동일한 설정을 대신 사용하십시오. 이런 식으로 저항 측정의 모든 체계적인 오류 (ADC 오프셋 및 게인 오류 등)가 교정됩니다.
온도를 알기 위해 고정 온도 포인트 (예 : 끓는 물 또는 녹는 얼음)를 사용하거나 이미 보정 된 온도계를 사용하는 두 가지 옵션이 있습니다. 고정 점은 온도 보정의 금본위 제이지만 정확하게 맞추기가 어렵 기 때문에 관심있는 온도 범위 내에서 많은 점을 찾지 못할 수 있습니다.
잘 알려진 온도계를 사용하는 것이 더 쉬울 수 있지만 몇 가지주의 사항이 있습니다.
높은 열 관성 (냉장고 또는 오븐)이있는 인클로저 내에서 두 장치를 가까이두면 도움이 될 수 있습니다.
분명히, 기준 온도계의 정확도는 여기서 매우 중요한 요소입니다. 최종 측정 정확도에 대한 요구 사항이 훨씬 더 정확해야합니다.
이제 데이터에 맞는 수학 함수를 찾아야합니다. 이것을“임시적 적합”이라고합니다. 원칙적으로 모든 법률은 데이터 포인트에 충분히 근접한 한 수행 할 수 있습니다. 다항식은 함수가 계수에 상대적으로 선형이기 때문에 적합이 항상 수렴하고 낮은 마이크로 컨트롤러에서도 평가하기에 저렴하므로 다항식이 선호됩니다. 특별한 경우, 선형 회귀는 가장 간단한 법칙 일 수 있습니다.
그러나 매우 좁은 온도 범위에 관심이 없다면 NTC 서미스터의 응답은 매우 비선형 적이며 낮은 정도의 다항식 피팅에 적합하지 않습니다. 그러나 변수의 전략적 변화는 법칙을 거의 선형적이고 적합하게 만들 수 있습니다. 이를 위해 기본적인 물리학을 통해 기분 전환을 할 것입니다 ...
NTC 서미스터의 전기 전도는 열적으로 활성화되는 프로세스입니다. 그러면 컨덕턴스는 Arrhenius 방정식 으로 모델링 할 수 있습니다 .
G = G ∞ exp (−E a / (k B T))
여기서 G ∞ 는“사전 지수”라고하며 E a 는 활성화 에너지 이고 k B 는 Boltzmann 상수 이고 T는 절대 온도입니다.
이것은 선형 법칙으로 재 배열 될 수 있습니다.
1 / T = A + B 로그 (R)
여기서 B = k B / E a ; A = B 로그 ( G∞ ); log ()는 자연 로그입니다.
교정 데이터를 가져와 log (R)의 함수로 1 / T를 플롯 하면 (기본적으로 Arrhenius 플롯) 축이 교체 ), 거의 직선이 아님을 알 수 있습니다. 선형성에서 벗어난 것은 주로 사전 지수 요소가 약간 온도에 의존한다는 사실에서 비롯됩니다. 그럼에도 불구하고 곡선은 매끄 럽기 때문에 낮은 차수의 다항식에 쉽게 맞출 수 있습니다.
1 / T = c 0 + c 1 log (R) + c 2 log (R) 2 + c 3 log (R) 3 + ...
관심있는 온도 범위가 충분히 짧으면 선형 근사치가 충분할 수 있습니다. 그런 다음 β 계수가 1 / B 인 소위 "β 모델"을 사용합니다. 3 차 다항식을 사용하는 경우 c 2 계수를 무시할 수 있습니다. 이를 무시하면 유명한 Steinhart–Hart 방정식이 있습니다.
일반적으로 다항식의 정도가 높을수록 데이터에 더 적합해야합니다. 그러나 학위가 너무 높으면 과적 합하게 됩니다. 어쨌든 피팅의 자유 매개 변수 수는 데이터 포인트 수를 초과해서는 안됩니다. 이 숫자가 같으면 법이 데이터에 정확히 맞지만 적합도를 평가할 방법이 없습니다. 이 서미스터 계산기 (주석에 링크 됨)는 세 개의 데이터 포인트 만 사용하여 세 개의 계수를 제공합니다. 이것은 예비 근사 교정의 신이지만 정확성이 필요하다면 그것에 의존하지 않을 것입니다.
실제로 적합을 수행하는 방법에 대해서는 여기에서 설명하지 않습니다. 임의의 데이터를 만들기위한 소프트웨어 패키지가 풍부합니다.
서미스터를 읽는 것은 약간 까다 롭습니다. 위의 교정 방법은 오류 감지에 대한 수율을 나타내지 않습니다. 대수 곡선 (서미스터 응답 곡선)의 두 점을 만듭니다.
즉, 0.1 ° C의 온도 변화마다 온도 범위에 따라 해당 저항의 변화가 달라집니다.
처음에는 실제 온도에서 약 2 ~ 5 ° C의 오차가 표시되지만 오차는없고 판독 값이 잘못 될 수 있습니다.
이 서미스터를 읽는 방법에 대한 자세한 내용을 게시하지 마십시오. Arduino May? 일부 라이브러리는 전혀 작동하지 않으므로 특별한 기능을 만들어야합니다.
서미스터를 특성화하고 읽는 방법에 대한 자세한 설명을 게시하십시오. 게시물은 스페인어로되어 있지만 코드 태그에는 모든 설명이 일반 영어로되어 있습니다.
ABC 계수를 얻은 후에는 6m 길이의 LAN 와이어에서도 다른 측정에서 약 0.1 ° C가됩니다.
이 테스트는 동시에 4 개의 서미스터를 읽었으며, 손가락에 잠깐 들고 있던 2 개의 온도와는 약간의 차이가 있습니다.
얼음 조각으로 컵을 채우고 물을 부어 테두리까지 채 웁니다. 가끔 저어주십시오. 얼음이 녹기 시작하면 0 ° C가됩니다. 센서를 물에 집어 넣고 읽습니다.
센서가 견딜 수 있으면 끓는 물 주전자에 떨어 뜨립니다. 해수면에서 100 ° C 기준 판독 값을 제공합니다.
방수를 위해 센서를 열수축해야하는 경우 판독 값이 안정화 될 때까지 약간의 시간이 필요합니다.
이 회로 시뮬레이션 – CircuitLab을 사용하여 작성된 회로도
그림 1. 간단한 선형 교정 곡선.
의견에서 지적했듯이 서미스터를 사용하는 경우 데이터 시트의 선형성을 확인해야합니다. 이 간단한 접근 방식이 충분하지 않으면 마이크로 컨트롤러에서 다항식 계산 또는 조회 테이블을 사용해야합니다.
선형화 된 온도계에는 게인 및 오프셋 오류가 있습니다.
서미스터는 2 개의 변수가있는 특정 감도 곡선으로 25 ° C에서 교정됩니다.
교정하기 위해서는 2 번의 측정 만 필요합니다