Cảm biến nhiệt độ giá rẻ với MCU


13

Tôi đang tìm kiếm một giải pháp rẻ tiền để cảm nhận nhiệt độ với MCU. Yêu cầu của tôi là:

  • 2 kênh
  • phạm vi nhiệt độ: 30-35 ° C
  • độ phân giải tạm thời: 1-2 K
  • khoảng cách cáp (MCU -> cảm biến) 10cm - 2m là chấp nhận được
  • nhiệt độ tương đối giữa hai kênh là đủ, không cần nhiệt độ tuyệt đối

Điểm khởi đầu của tôi là hai cặp nhiệt điện với bộ khuếch đại cặp nhiệt điện, nhưng điều này dường như là quá mức cho ứng dụng của tôi. Cặp nhiệt điện chạy ở mức 10 đô la tại Radiospares, ampe ở mức 5 đô la sẽ có giá 30 đô la chỉ để ước tính nhiệt độ.

Một hướng tốt để tìm kiếm một giải pháp rẻ hơn là gì. NTC?


Chỉnh sửa ngày 18 tháng 7 năm 2012

Sau khi stevenvh mở rộng câu trả lời của mình để cho thấy mức độ tuyến tính cao có thể đạt được với NTC, tôi đã đầu tư một thời gian để xem xét lại liệu NTC không phải là một giải pháp tốt hơn.

Tuy nhiên tôi không chắc chắn rằng tôi có thể theo dõi stevenvh với lý do về lỗi có thể xảy ra với NTC với giá rẻ so với chip bán dẫn.

Để có được nhiệt độ với NTC, các chức năng sau đây được sử dụng:

  1. hàm truyền chuyển đổi nhiệt độ môi trường xung quanh để một sức đề khángHTaRNTC(R25,B25/85)
  2. điện áp được tạo bởi bộ chia điện áp HRNTCV(Vexcitation,RNTC,Rlin)
  3. Chuyển đổi AD HVbits(V,Vref,σconversion)
  4. xấp xỉ đường cong tuyến tính: HbitsTest(bits,σapprox)

Do đó, các nguồn lỗi tôi thấy là:

  1. Lỗi giá trị NTC: mỗi lỗi 1% cho các giá trị B 25 - 85 : tổng cộng khoảng 2%R25B2585
  2. 1% cho giá trị điện trở linearisaton và giả sử 0,5% cho nguồn điện áp kích thích
  3. Đối với PIC16F1825, điện áp tham chiếu bên trong được sử dụng cho ADC có độ không đảm bảo 6%. Ngoài ra, bản thân ADC có các lỗi tích phân, vi phân, bù và khuếch đại mỗi thứ tự 1,5 lsb. Tại 10 bit, kết hợp sau nhiều nhất là 0,5%.
  4. Như stevenvh đã chứng minh trong câu trả lời của mình, phép tính gần đúng tuyến tính có sai số chỉ 0,0015% trong phạm vi quan tâm.

Do đó, sai số trong ước tính nhiệt độ sẽ bị chi phối rõ ràng bởi lỗi của tham chiếu điện áp ADV và các lỗi trong các giá trị điện trở. Nó rõ ràng sẽ vượt quá 6%. Lỗi do xấp xỉ tuyến tính là không đáng kể như stevenvh đã chỉ ra.

Độ không đảm bảo 6% ở 300 Kelvin tương đương với sai số nhiệt độ là 18K. Các chip nhiệt độ có lỗi khoảng 1K. Ở mức 300K, điều này tương ứng với độ không đảm bảo là 0,3%.

Tôi nhận ra rằng sẽ không còn vấn đề gì khi đánh bại điều này với NTC mà không cần xác minh hiệu chuẩn và hiệu suất cực kỳ cẩn thận. Sự không chắc chắn trong các điện trở linearisaton, điện áp kích thích hoặc ADC từng được xem trong sự cô lập đẩy sự không chắc chắn của giải pháp NTC lên trên mức này. Hay tôi có một sai lầm lớn trong lý luận của tôi?

Hiện tại tôi tin chắc rằng NTC có thể là một giải pháp cảm biến nhiệt độ có độ chính xác cao nhưng với giá rẻ, tôi thấy rằng hiệu suất của chúng sẽ là một cú đánh trong bóng tối.

Câu trả lời:


12

1-2 độ là một độ phân giải dễ dàng (ngay cả khi bạn có nghĩa là độ chính xác, không giống nhau!). Tôi sẽ xem xét LM75 và nó nhân bản khác nhau, hoặc DS1820 / 18S20 / 18B20 / 1822. Microchip có rất nhiều cảm biến nhiệt độ , bao gồm cả bản sao LM75 với giá <$ 1. Các phiên bản đầu ra điện áp là giá rẻ, nhưng tôi thích một phiên bản kỹ thuật số.


Tất cả các câu trả lời tôi nhận được về câu hỏi này rất hữu ích. Tôi chấp nhận điều này do dễ sử dụng bản sao LM75. Không phải lo lắng về tuyến tính hóa vv là một điểm cộng tuyệt vời trong trường hợp của tôi.
ARF

Chỉ tò mò: Tại sao bạn thích một cảm biến kỹ thuật số?
m.Alin

5
Không phải lo lắng về các tài liệu tham khảo, tuyến tính hóa, cấu hình bộ chuyển đổi A / D và phần cứng là không đáng kể. Nhược điểm là bạn phải đối phó với giao thức.
Wouter van Ooijen

15

Tôi muốn nói NTC, vâng. Đây là cái rẻ nhất tôi có thể tìm thấy ở Digikey. Khoảng nửa đô la, rẻ hơn nhiều so với IC cảm biến nhiệt độ, có cùng độ chính xác. Ưu điểm của NTC là nó chỉ cần một điện trở nối tiếp và đầu vào ADC trên bộ vi điều khiển của bạn, mà hầu hết hiện nay đều có.

Giá thấp cũng có một nhược điểm: NTC là bất cứ thứ gì ngoại trừ tuyến tính. Bạn có thể phải sử dụng chức năng chuyển của nó (có hàm mũ theo hàm mũ, mà bạn có thể không thích hoặc sử dụng bảng tra cứu, trong phạm vi đã cho có thể là giải pháp tốt nhất.

chỉnh sửa dd. 2012/07/13
Bah, bị đánh bại bởi một LM75 khốn khổ. Tôi sẽ không để điều này trôi qua. :-)

Tôi sẽ sử dụng * 103 * MT * từ loạt NTC này . Đầu tiên là chức năng chuyển:

R=10kΩe13.4096+4481.80T150522T2+1877103T3 ,

nơi T là trong Kelvin.

Không có vẻ hứa hẹn, và thực sự trong khoảng từ 0 ° C đến 100 ° C, đường cong trông như thế này:

nhập mô tả hình ảnh ở đây

bất cứ điều gì trừ tuyến tính, như tôi đã nói. Chúng ta có thể cố gắng tuyến tính hóa điều đó, nhưng hãy nhớ rằng chúng ta sẽ tạo một bộ chia điện trở với nó, và chúng cũng không phải là tuyến tính, vì vậy mọi tuyến tính hóa bây giờ sẽ bị phá hủy bởi điện trở loạt. Vì vậy, hãy bắt đầu với điện trở và xem những gì sẽ xảy ra. Tôi có nguồn cung cấp 3,3 V và chọn điện trở 5,6 kΩ cho Vcc, sau đó đầu ra trở thành

nhập mô tả hình ảnh ở đây

Không xấu cả! Đường cong màu tím là tiếp tuyến trong phạm vi quan tâm của chúng tôi: 30 ° C đến 35 ° C. Tôi có thể vẽ đồ thị được phóng to trên đó, nhưng điều đó cho chúng ta hai đường trùng khớp, vì vậy chúng ta hãy xem xét lỗi:

nhập mô tả hình ảnh ở đây

Trông cũng không đẹp, nhưng bạn phải nhìn vào tỷ lệ dọc, điều này đưa ra lỗi tương đối của xấp xỉ tuyến tính so với đặc tính NTC của chúng tôi trong khoảng từ 30 ° C đến 35 ° C. Lỗi nhỏ hơn 15 ppm, hoặc 0,0015% .

Mathematica nói rằng phương trình gần đúng tuyến tính gần như hoàn hảo của chúng tôi là

VÔiBạnT= =-0,0308 T 1V/°C+2.886 V

Điều này sẽ dẫn đến kết quả đọc ADC của 609 và 561, resp. cho một ADC 10 bit. Đó là phạm vi 48 cho chênh lệch 5 ° C, hoặc độ phân giải khoảng 0,1 ° C. Chỉ cần NTC và một điện trở.

Ai cần LM75!?



chỉnh sửa dd. 2012-08-13

Sự thật: giải pháp NTC cần hiệu chuẩn.

Tôi đã hứa với Arik sẽ quay lại tính toán lỗi, nhưng nó phức tạp hơn tôi nghĩ rất nhiều và nó không thể hoàn thành vì dữ liệu không đầy đủ. Chẳng hạn, tôi có các số rất chính xác cho các hệ số trong hàm truyền của NTC (7 số có các chữ số có nghĩa đã được làm tròn!), Nhưng không có thông tin về độ chính xác của chúng. Một vài ý kiến ​​mặc dù.

ββ

±

Tham chiếu ADC của PIC có dung sai 6% khá tệ. Arik cho biết Độ không đảm bảo 6% ở 300 kelvin tương đương với sai số nhiệt độ là 18 K , tất nhiên là vô lý và hoàn toàn vô lý. Tôi đã thực hiện một kiểm tra nhanh: tính toán đầu ra của bộ chia điện áp cho nhiệt độ 20 ° C. Đã thêm 6% vào đó và tính lại giá trị điện trở của NTC và nhiệt độ sẽ có. Lỗi không phải là 18 ° C, mà là 1 ° C, hoặc dưới 0,5%, được gọi là 0 K.

Mặc dù vậy, lỗi 6% là hoàn toàn không liên quan ! Nếu bạn sử dụng điện áp tham chiếu của ADC cho bộ chia điện trở, điện áp đó thậm chí không xuất hiện trong các tính toán. Tôi sẽ không quan tâm nếu lỗi là 50%. Sử dụng một tham chiếu khác nếu tham chiếu nội bộ xấu không có sẵn bên ngoài bộ điều khiển. Giống như nguồn điện 3,3 V, hoặc bất kỳ điện áp DC nào khác mà bạn đặt xung quanh.

Hiệu chuẩn không phải là điều bạn muốn cho một dự án một lần, nhưng đối với sản xuất hàng loạt thì không có gì đáng lo ngại, và đặc biệt là trong các thiết bị điện tử tiêu dùng, nơi mỗi xu đều có thể, bạn sẽ tìm thấy NTC nhiều hơn LM75 đắt tiền.


3
Điều thú vị khi hỏi các chuyên gia là bạn nhận được mọi câu trả lời (tương tự so với kỹ thuật số), bây giờ Arik chỉ cần một chuyên gia để lựa chọn giữa các chuyên gia :)
Wouter van Ooijen

Khoảng nửa đô la? Không phải là này cùng một mục mà bạn đề cập đến? Đó là $ 0,15 / 100. Và MCP9701A có giá khoảng 0,25 USD / 100 chiếc. Ồ, tôi nghĩ rằng những cái kỹ thuật số rất đắt tiền, như $ 2 hoặc $ 3 mỗi cái!
abdullah kahraman

2
@abdullah - mọi thứ đều tương đối. Một kỹ sư tuyệt vời có thể sẽ chỉ ra mức kháng dung sai 1% và hệ số nhiệt độ 100 ppm / ° C của nó. Trong mọi trường hợp nếu chúng tôi có lỗi đọc, nó sẽ không phải là do gần đúng! :-)
stevenvh

1
@stevenvh Câu trả lời mở rộng của bạn đã cho tôi lý do để xem lại đánh giá ban đầu của mình. Tuy nhiên, tôi không chắc chắn tôi hoàn toàn hiểu làm thế nào bạn có thể đạt được một phép đo chính xác cao với NTC với giá rẻ. Tôi sẽ đánh giá cao nếu bạn nhìn vào câu hỏi đã được chỉnh sửa của tôi và cho tôi biết liệu tôi có một lỗ hổng trong lý luận của mình không. Rất cảm ơn vì sự giúp đỡ của bạn!
ARF

1
@Arik - cập nhật câu trả lời của tôi. Tôi cảm thấy đặc biệt là lỗi 18 K bị cáo buộc cần phản hồi :-)
stevenvh

6

Điều này nghe có vẻ như một công việc cho một thermistors, hoặc hai thermistors chính xác hơn. Vì bạn chỉ cần phân biệt ba trạng thái nhiệt độ khác nhau và bạn chỉ tìm kiếm nhiệt độ tương đối, bạn có thể kết nối hai nhiệt điện với nhau để tạo ra một tín hiệu tương tự. Điều đó sau đó có thể được đo bằng A / D được tích hợp trong micro. Hầu hết các micros đều có A / D, vì vậy điều này sẽ không tốn thêm bất kỳ chi phí nào. Có lẽ tôi nên thêm một vài điện trở và tụ điện làm bộ lọc thông thấp để giảm nhiễu.

Một nhiệt điện trở đi từ mặt đất đến tín hiệu tương tự và cái còn lại từ nguồn điện đến tín hiệu tương tự. Bạn có thể cần thực hiện một số hiệu chuẩn, nhưng với phạm vi nhiệt độ hẹp và độ phân giải thấp, bạn không cần phải làm cho lạ mắt. Có lẽ chỉ cần tiết kiệm điện áp chênh lệch bằng 0 và trừ đi từ việc đọc trong tương lai là đủ.


Cảm ơn gợi ý về việc sử dụng hai nhiệt điện trong cấu hình bộ chia điện áp để đo điện áp tương đối. Tôi sẽ không nghĩ về điều đó.
ARF

@Arik - hai thermistors nối tiếp chỉ hoạt động nếu điện trở của chúng thay đổi tuyến tính theo nhiệt độ, vì vậy hãy chắc chắn kiểm tra điều đó. (Tôi đã làm trong câu trả lời của mình.)
stevenvh

@stevenvh: Vâng, bạn đúng, nhưng lưu ý phạm vi nhiệt độ rất hẹp và độ phân giải thấp. Hai nhiệt điện trở một lần được hiệu chỉnh đến trường hợp nhiệt độ bằng nhau ở gần giữa phạm vi sẽ đủ tốt. Một cái sẽ không bao giờ tắt từ cái kia hơn 5 degC.
Olin Lathrop

@Olin - Tất cả đều đúng. Tôi đoán tôi nên đã thêm "trong trường hợp bạn muốn đo trên một phạm vi nhiệt độ rộng hơn nhiều".
stevenvh

5

Nếu bạn không biết về phương pháp đo nhiệt độ delta-volt hiện tại của diode diode và quan tâm đến việc đo nhiệt độ, bạn nên đọc nó - nó có thể biến đổi ý tưởng của bạn về đo nhiệt độ.


Tôi đến bữa tiệc muộn một chút.
Vì câu trả lời sẽ được sử dụng ngay bây giờ, tôi sẽ chỉ phác thảo một phương pháp thay thế có giá trị đáng kể nhưng dường như ít được sử dụng ở dạng rời rạc.

Phương pháp này thường được sử dụng trong các IC đo nhiệt độ IC nhưng dường như vẫn ít được biết đến hơn dự kiến.

Nếu một diode silicon (nói) được cung cấp xen kẽ với hai dòng điện đã biết, thì sự thay đổi điện áp delta với sự thay đổi dòng điện có liên quan đến nhiệt độ tuyệt đối.

Phương pháp này được sử dụng trong (ít nhất) các cảm biến TI LM82, LM83, LM84, LM87 & LTC3880, LTC3883 và LTC2974.

Lưu ý rằng phương pháp này khác với phương pháp thông thường là đo điện áp chuyển tiếp diode tuyệt đối ở một dòng điện nhất định để suy ra nhiệt độ. Phương pháp này thực sự chính xác hơn và không yêu cầu hiệu chuẩn cụ thể của cảm biến.

Độ chính xác khoảng 0,1 độ C (hoặc K) là có thể đạt được.
Độ phân giải phụ thuộc vào phương pháp đo.

Kết quả là hiệu chuẩn thiết bị miễn phí.
Kết quả chỉ phụ thuộc vào loại diode cơ bản (ví dụ silicon, gecmani),
ví dụ: nếu bạn sử dụng diode tín hiệu phụ 1N4148, bạn có thể thay đổi điều này cho 1N4148 khác và có cùng độ chính xác mà không cần hiệu chuẩn lại.

Độ chính xác của việc đặt hai dòng điện được sử dụng rõ ràng ảnh hưởng đến độ chính xác của kết quả nhưng vì chúng có thể được chọn để phù hợp với các tài nguyên có sẵn, kết quả có thể rất tốt.

Phương pháp này được sử dụng bởi một số nhưng không phải tất cả các hệ thống đo nhiệt độ của bộ xử lý chết. Bạn thường sẽ thấy rằng nơi sử dụng hệ thống này, các mô tả kỹ thuật rất nhẹ về chi tiết và hơi khó hiểu - tức là họ dường như muốn giữ bí mật mặc dù phương pháp này có thể bắt đầu hoạt động bởi Widlar vào giữa những năm 1960.

Phương pháp này phù hợp với độ chính xác có thể đạt được với sự chăm sóc hợp lý bằng cách sử dụng nhiệt điện trở NTC hoặc điện trở bạch kim PT100 vv và tương tự, với mức độ phức tạp và khó khăn rất cạnh tranh.


Ghi chú nhựa hóa thiết bị tương tự 199 tuyệt vời này Đo nhiệt độ trên chip máy tính với tốc độ và độ chính xác khẳng định kỹ thuật này là một phương pháp mới. Tôi hoàn toàn không chắc chắn rằng chúng là chính xác - nhưng nó chắc chắn hữu ích và ít được biết đến sẽ được mong đợi.

Từ bài báo trên (viết lại một chút) cho dòng điện I và NI và điện áp diode giảm Cv1 ở dòng 1 và Vd2 ở dòng 2:

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

Vì N, k và q đều là các hằng số đã biết,
T = (Hằng số) (DVd)

_

Ghi chú ứng dụng TI tuyệt vời Nhiều cảm biến nhiệt độ Diode từ xa

Wikipedia - Cảm biến nhiệt độ băng thông silicon

[LT AN137 Cảm biến nhiệt độ chính xác với Giao diện PN bên ngoài] http://cds.linear.com/docs/Application%20Note/an137f.pdf
Được sử dụng trong ví dụ LTC3880, LTC3883 và LTC2974.


3

Đo nhiệt độ rất đơn giản (Celcius) với Thermistor (10K) B25 / 100 = 4300 Tôi lấy cảm hứng từ nhận xét trên đọc trong bài viết này.

Tôi đã mua thermistors từ DigiKey 10K 5% với giá 1 đô la mỗi cái. Tôi muốn có được một phép đo nhiệt độ công bằng mà không cần toán học nổi và phức tạp. Kết nối với Arduino như sau: Vref đến 3.3v; analog-0 A0 qua điện trở 10K và 3,3v. ; Nhiệt điện trở A0 xuống đất. Tôi nhận được nhiệt độ trong Celcius như sau: Mã một phần: analogReference (EXTERNAL);
ADC = analogRead (0);
Th = 10000 / (1023 / ADC) -1; // 10000 là bộ chỉnh sửa được sử dụng trong ước số.
T = (775 - Th) / 10;

Độ tích lũy là: +1 ở 25C, +0 ở 20C, -1 ở 0C, +2 ở -20C. Bạn thay đổi hằng số 775 để gần hơn với phạm vi mong muốn mà bạn muốn. Ví dụ: sử dụng 765 thay vì 775 để nhận lỗi 0 khoảng 25C. Vì đây là toán số nguyên, tôi đã thêm 5 đến 770 trước khi chia cho 10 để làm tròn.

Hiển thị mối quan hệ giữa Thermistor, ADC, Nhiệt độ và kết quả tính toán


1

Tôi đang sử dụng LM35DZ .Nhiệt độ dao động từ 0 độ C đến 100 độ C, đầu ra tuyến tính và trở kháng thấp ; Tôi đã sử dụng nó với kết nối trực tiếp với đầu vào PIC ADC của tôi, hoạt động rất tốt cho đến nay.

Một đơn vị có giá khoảng 3 USD.


3
Và anh ta sẽ cần hai trong số họ. Không giống như một giải pháp rẻ tiền đối với tôi. Không so với NTC tuyệt vời của tôi! :-)
stevenvh

Tôi cũng sử dụng chip LM35 (và tôi thích chúng), nhưng tôi nghĩ chúng hơi quá mức cho câu hỏi này.
Johan

0

Nhiệt độ rất đơn giản (Celcius) với Thermistor ... ở mức 1 đô la mỗi cái.

Làm thế nào về một con chip STM32F0? Mô-đun ADC của nó chứa cảm biến nhiệt độ bên trong các giá trị được hiệu chỉnh ở hai điểm nhiệt độ giá trị hiệu chuẩn cho máy phát Vref bên trong của nó.

Với tất cả những điều đó kết hợp, bạn có thể sử dụng nó như một cảm biến nhiệt độ rất chính xác - adc 12 bit và sigma chỉ hơn 1 lsb - trong phạm vi điện áp rộng.

Nó cũng có thể được lập trình như một cảm biến nhiệt độ chuyên dụng: chủ yếu là trong giấc ngủ và thức dậy để đọc nhiệt độ và truyền dữ liệu và sau đó quay trở lại giấc ngủ.

tất cả điều đó với ít hơn một đô la với số lượng nhỏ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.