MCU를 통한 저렴한 온도 감지


13

MCU로 온도를 감지하는 저렴한 솔루션을 찾고 있습니다. 내 요구 사항은 다음과 같습니다

  • 2 채널
  • 온도 범위 : 30-35 ° C
  • 온도 해상도 : 1-2 K
  • 케이블 거리 (MCU-> 센서) 10cm-2m 허용
  • 두 채널 사이의 상대 온도는 충분하며 절대 온도는 필요하지 않습니다.

시작점은 열전대 증폭기가있는 두 개의 열전대이지만, 이것은 내 응용 프로그램에 과잉 인 것 같습니다. 열전대는 Radiospares에서 10 $로, 5 $의 amps로 온도를 추정하는 데 30 $가 소요됩니다.

더 저렴한 솔루션을 찾는 좋은 방향은 무엇입니까? NTC?


2012 년 7 월 18 일 수정

stevenvh가 NTC로 얻을 수있는 높은 선형성을 보여주기 위해 그의 대답을 확장 한 후 NTC가 더 나은 솔루션이 아닌지 다시 생각하기 위해 시간을 투자했습니다.

그러나 반도체 칩에 비해 저렴한 가격으로 NTC로 얻을 수있는 오류에 대한 그의 추론에서 stevenvh를 따를 수 있는지 확실하지 않습니다.

NTC로 온도를 얻으려면 다음 기능이 작동합니다.

  1. 전달 함수 H아르 자형(아르 자형25,25/85) 에서 저항에 상온 변환
  2. 분압기에 의해 생성 된 전압 H아르 자형V(V이자형엑스나는나는영형,아르 자형,아르 자형나는)
  3. AD 변환 HV나는에스(V,V아르 자형이자형에프,σ영형V이자형아르 자형에스나는영형)
  4. 선형 곡선 근사치 : H나는에스이자형에스(나는에스,σ아르 자형영형엑스)

내가 본 오류 소스는 다음과 같습니다.

  1. NTC 값 오류 : B 25 85 값에 대해 각각 1 % : 총 약 2 %아르 자형252585
  2. 선형 저항 값의 경우 1 %, 여기 전압 소스의 경우 0.5 %
  3. PIC16F1825의 경우 ADC에 사용되는 내부 기준 전압은 6 %의 불확실성을 갖습니다. 또한 ADC 자체에는 1.5 lsb 정도의 적분, 차동, 오프셋 및 이득 오류가 있습니다. 10 비트에서 후자는 최대 0.5 %입니다.
  4. stevenvh가 그의 답변에서 입증 한 바와 같이, 선형 근사값은 관심 범위에서 단지 0.0015 %의 오차를 갖습니다.

따라서 온도 추정의 오차는 ADV 전압 레퍼런스의 오차와 저항 값의 오차에 의해 명확하게 좌우됩니다. 분명히 6 %를 초과 할 것입니다. stevenvh가 지적했듯이 선형 근사로 인한 오차는 거의 무시할 수 있습니다.

300Kelvin에서 6 %의 불확실성은 18K의 온도 오차와 같습니다. 온도 칩의 오차는 약 1K입니다. 300K에서 이것은 0.3 %의 불확실성에 해당합니다.

캘리브레이션 및 성능 검증을 세 심하게 수행하지 않고 NTC로이 문제를 극복하는 것은 의문의 여지가없는 것 같습니다. 선형 절연 저항, 여기 전압 또는 ADC 각각의 불확실성은 NTC 솔루션의 불확실성을이 이상으로 높입니다. 아니면 추론에 큰 실수가 있습니까?

지금은 NTC가 고정밀 온도 감지 솔루션이 될 수 있다고 생각하지만 값싼 것은 성능이 어두울 때 나타납니다.

답변:


12

1-2 도는 쉬운 해상도입니다 (정확도를 의미하더라도 동일하지 않음). LM75와 다양한 클론 또는 DS1820 / 18S20 / 18B20 / 1822를 고려할 것입니다. Microchip에는 <1 달러 미만의 LM75 클론을 포함 하여 많은 온도 센서가 있습니다. 전압 출력 버전은 저렴하지만 디지털 버전을 선호합니다.


이 질문에 대한 모든 답변은 매우 도움이되었습니다. LM75 클론을 사용하기 쉽기 때문에 이것을 받아 들였습니다. 선형화 등에 대해 걱정할 필요가 없다는 것이 제 경우에는 큰 장점입니다.
ARF

궁금한 점 : 왜 디지털 센서를 선호하십니까?
m.Alin

5
레퍼런스, 선형화, A / D 컨버터 구성 및 하드웨어에 대해 걱정할 필요가 없습니다. 단점은 프로토콜을 처리해야한다는 것입니다.
Wouter van Ooijen

15

NTC라고하겠습니다. 이것은 Digikey에서 가장 저렴한 것입니다. 약 절반 정도는 온도 센서 IC보다 훨씬 저렴합니다. NTC의 장점은 오늘날 대부분의 마이크로 컨트롤러에 직렬 저항과 ADC 입력 만 있으면된다는 것입니다.

저렴한 가격에도 단점이 있습니다. NTC는 선형이 아닙니다. 당신은 그것의 전송 함수를 사용해야합니다 (지수에 지수가 있고, 원하지 않을 수도 있습니다), 또는 주어진 범위에 가장 적합한 룩업 테이블을 사용해야합니다.

dd를 편집하십시오 . 2012-07-13
Bah, 비참한 LM75에 맞았습니다. 나는 이것을 통과시키지 않을 것이다. :-)

이 NTC 시리즈 에서 * 103 * MT *를 사용 하겠습니다 . 먼저 전달 함수 :

,아르 자형=10케이Ω이자형13.4096+4481.801505222+1877103

여기서 는 켈빈입니다.

유망하지 않은 것으로 보이며 실제로 0 ° C와 100 ° C 사이에서 곡선은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

내가 말했듯이 선형 이외의 것. 우리는 이것을 선형화하려고 노력할 수 있지만, 저항 분배기를 사용하고 선형도 아니기 때문에 선형화는 직렬 저항에 의해 파괴 될 것입니다. 저항부터 시작해서 어떻게되는지 봅시다. 3.3V 전원 공급 장치가 있고 Vcc에 5.6kΩ 저항을 선택하면 출력이

여기에 이미지 설명을 입력하십시오

나쁘지 않아! 자주색 곡선은 30 ° C ~ 35 ° C의 관심 범위에서 접합니다. 확대 된 그래프를 그릴 수는 있지만 두 개의 일치하는 선을 제공하므로 오류를 살펴 보겠습니다.

여기에 이미지 설명을 입력하십시오

잘 보이지는 않지만 수직 스케일을보아야합니다.이 스케일링은 30 ° C에서 35 ° C 사이의 NTC 특성과 비교하여 선형 근사치의 상대 오차를 제공합니다. 오차는 15 ppm 또는 0.0015 % 미만 입니다.

Mathematica는 거의 완벽한 선형 근사에 대한 방정식은

V영형=0.0308  1V/°+2.886 V

이로 인해 ADC 판독 값은 609 및 561입니다. 10 비트 ADC 용. 5 ° C 차이 또는 약 0.1 ° C 분해능의 경우 48의 범위입니다. NTC와 저항 만

누가 LM75가 필요합니까?



dd를 편집하십시오 . 2012-08-13

사실 : NTC 솔루션은 교정이 필요합니다.

Arik에게 오류 계산으로 돌아가겠다고 약속했지만 생각보다 훨씬 복잡하며 불완전한 데이터로 인해 완료 할 수 없습니다. 예를 들어, NTC의 전달 함수 (7 개의 유효 숫자는 이미 반올림되었습니다!)의 계수에 대해 매우 정확한 숫자를 가지고 있지만 정확도에 대한 정보는 없습니다. 그래도 몇 가지 의견.

ββ

±

PIC의 ADC 레퍼런스는 6 %의 허용 오차를 가지고있다. Arik에 따르면 300 켈빈에서 6 %의 불확실성은 18K의 온도 오차에 해당하며 당연히 터무니없고 터무니 없다. 나는 빠른 점검을했다 : 20 ° C의 온도에 대한 전압 분배기의 출력을 계산했다. 여기에 6 %를 더하고 NTC의 저항 값과 온도로 다시 계산합니다. 오차는 18 ° C가 아니라 1 ° C 또는 0.5 % 미만이며 0K를 나타냅니다.

그렇더라도 6 % 오류는 전혀 관련이 없습니다 ! 저항 분배기에 ADC의 기준 전압을 사용하면 해당 전압이 계산에 나타나지 않습니다. 오류가 50 %인지 상관하지 않습니다. 컨트롤러 외부에서 잘못된 내부 참조를 사용할 수없는 경우 다른 참조를 사용하십시오. 3.3 V 전원 공급 장치, 또는 단지처럼 어떤 다른 DC 전압 당신은 주위에 누워있다.

캘리브레이션은 일회성 프로젝트에 원하는 것이 아니지만 대량 생산의 경우, 특히 센트 단위로 계산되는 가전 제품에서는 고가의 LM75보다 NTC를 찾을 가능성이 전혀 없습니다.


3
전문가에게 물어 보면 좋은 점은 모든 답변을 얻을 수 있다는 것입니다 (아날로그 대 디지털). 이제 Arik은 전문가 중에서 전문가를 선택해야합니다.)
Wouter van Ooijen

약 반 달러? 아닌가요 이것은 당신이 언급하는 것과 같은 항목? $ 0.15 / 100pcs입니다. 그리고 MCP9701A 는 약 $ 0.25 / 100pcs입니다. 와, 나는 디지털 것들이 각각 $ 2 또는 $ 3와 같이 너무 비싸다고 생각했다!
abdullah kahraman

2
@abdullah-모든 것이 상대적입니다. 훌륭한 엔지니어는 직렬 저항 1 % 공차와 100 ppm / ° C 온도 계수를 가리킬 것입니다. 어쨌든 우리가 읽는 오류가 있다면 근사치 때문이 아닙니다! :-)
stevenvh

1
@stevenvh 귀하의 연장 된 답변으로 본인의 원래 평가를 개정 할 이유가있었습니다. 그러나 저렴한 가격으로 NTC로 고정밀 측정을 수행 할 수있는 방법을 완전히 이해하지 못했습니다. 편집 한 질문을보고 내 추리에 결함이 있는지 말해 주면 감사하겠습니다. 도와 주셔서 감사합니다!
ARF

1
@Arik-내 답변을 업데이트했습니다. 나는 특히 18 K 오류가 응답이 필요하다고 생각했다 :-)
stevenvh

6

이것은 서미스터 또는 두 개의 서미스터가 더 정확한 작업으로 들립니다. 세 가지 온도 상태 만 구별하면되고 상대 온도 만 찾으므로 두 서미스터를 함께 연결하여 단일 아날로그 신호를 만들 수 있습니다. 그런 다음 마이크로에 내장 된 A / D로 측정 할 수 있습니다. 대부분의 마이크로에는 A / D가 있으므로 더 이상 비용이 들지 않습니다. 노이즈를 줄이기 위해 저역 통과 필터로 몇 개의 저항과 커패시터를 추가했을 것입니다.

한 서미스터는 접지에서 아날로그 신호로, 다른 서미스터는 전원에서 아날로그 신호로 이동합니다. 약간의 보정이 필요할 수 있지만 좁은 온도 범위와 낮은 분해능으로 화려할 필요는 없습니다. 아마도 제로 차이 전압을 저장하고 향후 판독에서이를 빼는 것으로 충분합니다.


전압 분배기 구성에서 2 개의 서미스터를 사용하여 상대 전압을 측정하는 것에 대한 힌트를 주셔서 감사합니다. 나는 그것을 생각하지 않았을 것입니다.
ARF

@Arik-직렬로 연결된 두 서미스터는 저항이 온도에 따라 선형 적으로 변하는 경우에만 작동하므로 확인하십시오. (나는 대답했다.)
stevenvh

@ stevenvh : 네, 맞습니다. 그러나 매우 좁은 온도 범위와 낮은 해상도에 유의하십시오. 범위의 중간 부근에서 동일한 온도 케이스로 교정 된 2 개의 서미스터가 충분해야합니다. 하나는 절대로 5도 이상 떨어지지 않을 것입니다.
Olin Lathrop

@Olin-모두 사실입니다. "더 넓은 온도 범위에서 측정하려는 경우"를 추가해야한다고 생각합니다.
stevenvh

5

당신은 온도 측정의 단차 다이오드 현재 델타 전압 방식을 인식하지 못합니다 및 온도 측정에 관심이 있다면 당신은이를 읽어야합니다 - 그것은 온도 측정에 아이디어를 변환.


나는 파티에 조금 늦었다.
대답이 지금까지 활용 될 것이기 때문에 상당한 장점이 있지만 별개의 형태로 놀랍게도 거의 사용되지 않는 대체 방법을 간략하게 설명하겠습니다.

이 방법은 IC 온도 측정 IC에 일반적으로 사용되지만 예상보다 알려지지 않은 것 같습니다.

실리콘 (예를 들어) 다이오드에 2 개의 알려진 전류가 교대로 공급되면 전류 변화에 따른 델타 전압 변화는 절대 온도와 관련이 있습니다.

이 방법은 TI LM82, LM83, LM84, LM87 & LTC3880, LTC3883 및 LTC2974 센서에 사용됩니다.

이 방법은 온도를 추정하기 위해 주어진 전류에서 절대 다이오드 순방향 전압 강하를 측정하는 일반적인 방법과 다릅니다. 이 방법은 훨씬 더 정확하며 센서 별 보정이 필요하지 않습니다.

정도는 약 0.1도 C (또는 K)을 성취 할 수있다.
해상도는 측정 방법에 따라 다릅니다.

결과적으로 장치 교정이 필요하지 않습니다.
결과는 기본 다이오드 유형 (예 : 실리콘, 게르마늄)에만 의존합니다.
예를 들어 1N4148 미만의 신호 다이오드를 사용하는 경우 다른 1N4148에 대해이를 변경하고 재 보정없이 동일한 정확도를 얻을 수 있습니다.

사용 된 두 전류를 설정하는 정확도는 결과 정확도에 명백한 영향을 미치지 만 가용 자원에 맞게 선택할 수 있으므로 결과가 매우 우수 할 수 있습니다.

이 방법은 일부 온다이 프로세서 온도 측정 시스템에서 사용되는 것은 아닙니다. 일반적으로이 시스템이 사용되는 곳에서는 기술적 인 설명이 매우 가볍고 다소 난독 화되어 있습니다. 즉, 1960 년대 중반 Widlar의 작업 방식으로 거슬러 올라갈지라도 비밀로 유지하려는 것 같습니다.

이 방법은 NTC 서미스터 또는 PT100 등의 플래티넘 저항 등을 사용하여 합리적인주의를 기울여 달성 할 수있는 정확성과 경쟁이 치열합니다.


이 우수한 199 아날로그 장치 애플리케이션 노트 속도와 정확도로 컴퓨터 칩의 온도를 측정 하는 것은이 기술이 새로운 기술이라고 주장합니다. 나는 그들이 정확하다고 확신하지는 않지만 기대되는 것은 확실히 유용하고 덜 알려져 있습니다.

I 및 NI의 전류 및 전류 1에서 다이오드 전압 강하 Cv1 및 전류 2에서 Vd2에 대한 위의 논문 (약간 다시 작성)에서

Vd1 – Vd2 = DVd = (kT / q) ln (I / NI) = (kT / q) ln (1 / N)

N, k 및 q는 모두 알려진 상수이므로
T = (Constant) (DVd)

_

탁월한 TI 애플리케이션 노트 다중 원격 다이오드 온도 감지

Wikipedia-실리콘 밴드 갭 온도 센서

[LT AN137 외부 PN 접합을 사용한 정확한 온도 감지] http://cds.linear.com/docs/Application%20Note/an137f.pdf
예를 들어 LTC3880, LTC3883 및 LTC2974에 사용됩니다.


3

Thermistor (10K) B25 / 100 = 4300으로 측정 한 매우 간단한 온도 (섭씨) 측정이 기사에서 읽은 위의 설명에서 영감을 얻었습니다.

DigiKey 10K에서 각각 1 달러 씩 5 %의 서미스터를 구입했습니다. 부동 및 복잡한 수학없이 공정한 온도 측정을 원했습니다. 다음과 같이 Arduino에 연결 : Vref to 3.3v; 10K 저항 및 3.3v를 통한 아날로그 -0 A0. ; 서미스터 A0을 접지합니다. 다음과 같이 섭씨 온도를 얻습니다. 부분 코드 : analogReference (EXTERNAL);
ADC = 아날로그 읽기 (0);
Th = 10000 / (1023 / ADC) -1; // 10000은 제수에 사용되는 수정 저항입니다.
T = (775-Th) / 10;

정확도는 25C에서 +1, 20C에서 +0, 0C에서 -1, -20C에서 +2입니다. 원하는 욕구 범위에 가깝도록 775 상수를 변경합니다. 예를 들어, 775 대신 765를 사용하여 25C 주변에서 0 오류가 발생합니다. 이것은 정수 수학이므로 10으로 나누기 전에 5에서 770을 더하여 반올림합니다.

서미스터, ADC, 온도 및 계산 결과 간의 관계 표시


1

내가 사용하고 LM35DZ을 . 온도 범위는 0 ~ 100 섭씨, 선형 출력 및 낮은 임피던스 ; PIC ADC 입력에 직접 연결하여 사용하고 있으며 지금까지 매우 잘 작동합니다.

한 단위 비용은 약 USD 3입니다.


3
그리고 그는 두 가지가 필요합니다. 저에게 저렴한 솔루션처럼 보이지 않습니다. 내 위대한 NTC와 비교할 수 없습니다! :-)
stevenvh

LM35 칩도 사용하지만 마음에 들지만이 질문에 약간 과도하다고 생각합니다.
Johan

0

서미스터로 매우 간단한 온도 (섭씨) 측정 값 ... 각 $ 1.

STM32F0 칩은 어떻습니까? ADC 모듈에는 내부 온도 센서 2 개의 온도 포인트에서 교정 된 값 내부 Vref 발생기에 대한 교정 된 값이 있습니다.

이 모든 것을 결합하여 12 비트 ADC 및 시그마가 넓은 전압 범위에서 1 lsb 이상인 매우 정확한 온도 센서로 사용할 수 있습니다.

또한 전용 온도 센서로 프로그래밍 할 수 있습니다. 대부분 수면 상태에서 일어나 온도를 읽고 데이터를 전송 한 다음 다시 수면 모드로 돌아갑니다.

적은 비용으로 적은 비용으로이 모든 것을 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.